40 lines
842 B
TypeScript
40 lines
842 B
TypeScript
import { useQuery } from "@tanstack/react-query";
|
|
|
|
const BASE_URL = process.env.REACT_APP_ARCAST_SERVER_BASE_URL ?? ""
|
|
|
|
export interface AppInfos {
|
|
defaultApp: string;
|
|
apps: App[];
|
|
}
|
|
|
|
export interface App {
|
|
id: string;
|
|
title: { [lang: string]: string };
|
|
description: { [lang: string]: string };
|
|
icon: string;
|
|
hidden: boolean;
|
|
}
|
|
|
|
export const useAppInfos = () => {
|
|
return useQuery({
|
|
queryKey: ["appsInfos"],
|
|
queryFn: getAppInfos,
|
|
select: (appInfos) => appInfos ?? { apps: [], defaultApp: "main" }
|
|
})
|
|
}
|
|
|
|
export async function getAppInfos() {
|
|
const response = await fetch(`${BASE_URL}/api/v1/apps`);
|
|
const result = await response.json();
|
|
const appInfos = result.data as AppInfos;
|
|
return appInfos;
|
|
}
|
|
|
|
|
|
export interface Status {
|
|
|
|
}
|
|
|
|
export async function getStatus() {
|
|
|
|
} |