FPSMS-frontend
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

​
​
​
7 месяцев назад
​
7 месяцев назад
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
7 месяцев назад
123456789101112131415161718192021222324252627
  1. import { I18nProvider } from "@/i18n";
  2. import { authOptions } from "@/config/authConfig";
  3. import { AUTH, hasAbility } from "@/authorities";
  4. import { getServerSession } from "next-auth";
  5. import { redirect } from "next/navigation";
  6. /** FP-MTMS Version Checklist | Functions Ref. No. 67 | v1.0.0 | 2026-08-13 */
  7. export default async function M18SyncLayout({
  8. children,
  9. }: {
  10. children: React.ReactNode;
  11. }) {
  12. const session = await getServerSession(authOptions);
  13. const abilities = session?.user?.abilities ?? [];
  14. const canAccess =
  15. hasAbility(abilities, AUTH.M18_SYNC) || hasAbility(abilities, AUTH.ADMIN);
  16. if (!canAccess) {
  17. redirect("/dashboard");
  18. }
  19. return (
  20. <I18nProvider namespaces={["m18Sync", "navigation", "common"]}>
  21. {children}
  22. </I18nProvider>
  23. );
  24. }