metis-desk/apps/web/src/app.tsx

47 lines
1.5 KiB
TypeScript
Raw Normal View History

import { CompaniesWorkspace } from "@metis/companies/client";
import { IdentityWorkspace, identityApi, identityKeys } from "@metis/identity/client";
import { DialogHelpLabelsContext } from "@repo/rdx-ui/lib/dialog-help-context";
import { useQuery } from "@tanstack/react-query";
import { useTranslation } from "react-i18next";
2026-10-08 12:14:01 +00:00
import { LanguageSwitcher } from "./language-switcher";
2026-10-09 08:18:00 +00:00
import { useAppNavigation } from "./navigation/use-app-navigation";
export function App() {
const { t } = useTranslation("core");
const session = useQuery({
queryKey: identityKeys.session,
queryFn: identityApi.session,
retry: false,
});
2026-10-10 10:01:58 +00:00
2026-10-09 08:18:00 +00:00
useAppNavigation(session.data);
2026-10-10 10:01:58 +00:00
return (
<DialogHelpLabelsContext.Provider
value={{
help: t("dialogHelp.help"),
closeHelp: t("dialogHelp.closeHelp"),
backToForm: t("dialogHelp.backToForm"),
closeDialog: t("dialogHelp.closeDialog"),
}}
>
<div className="min-h-dvh bg-shell-content">
<IdentityWorkspace
renderWorkspace={(snapshot, accountNavigation, administrationContent) => (
<CompaniesWorkspace
accountNavigation={accountNavigation}
administrationContent={administrationContent}
canManageUsers={snapshot.user?.isInitialAdmin ?? false}
languageSwitcher={<LanguageSwitcher />}
userName={snapshot.user?.name ?? ""}
/>
)}
>
{null}
</IdentityWorkspace>
</div>
</DialogHelpLabelsContext.Provider>
);
}