mirror of
https://github.com/coaidev/coai.git
synced 2025-05-20 21:40:15 +09:00
66 lines
1.3 KiB
TypeScript
66 lines
1.3 KiB
TypeScript
import axios from "axios";
|
|
import {
|
|
setAnnouncement,
|
|
setAppLogo,
|
|
setAppName,
|
|
setBlobEndpoint,
|
|
setBuyLink,
|
|
setDocsUrl,
|
|
} from "@/conf/env.ts";
|
|
import { infoEvent, InfoForm } from "@/events/info.ts";
|
|
|
|
export type SiteInfo = {
|
|
title: string;
|
|
logo: string;
|
|
docs: string;
|
|
file: string;
|
|
announcement: string;
|
|
buy_link: string;
|
|
mail: boolean;
|
|
contact: string;
|
|
footer: string;
|
|
auth_footer: boolean;
|
|
article: string[];
|
|
generation: string[];
|
|
relay_plan: boolean;
|
|
};
|
|
|
|
export async function getSiteInfo(): Promise<SiteInfo> {
|
|
try {
|
|
const response = await axios.get("/info");
|
|
return response.data as SiteInfo;
|
|
} catch (e) {
|
|
console.warn(e);
|
|
return {
|
|
title: "",
|
|
logo: "",
|
|
docs: "",
|
|
file: "",
|
|
announcement: "",
|
|
buy_link: "",
|
|
contact: "",
|
|
footer: "",
|
|
auth_footer: false,
|
|
mail: false,
|
|
article: [],
|
|
generation: [],
|
|
relay_plan: false,
|
|
};
|
|
}
|
|
}
|
|
|
|
export function syncSiteInfo() {
|
|
setTimeout(async () => {
|
|
const info = await getSiteInfo();
|
|
|
|
setAppName(info.title);
|
|
setAppLogo(info.logo);
|
|
setDocsUrl(info.docs);
|
|
setBlobEndpoint(info.file);
|
|
setAnnouncement(info.announcement);
|
|
setBuyLink(info.buy_link);
|
|
|
|
infoEvent.emit(info as InfoForm);
|
|
}, 25);
|
|
}
|