summaryrefslogtreecommitdiff
path: root/src/app/layout.client.tsx
blob: 35726ba067f35c0f4167e49cc9bd8c2a4c19a40a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use client';

import { cn } from '@/lib/utils';
import { useParams } from 'next/navigation';
import type { ReactNode } from 'react';

export function Body({
  children,
}: {
  children: ReactNode;
}): React.ReactElement {
  const mode = useMode();

  return (
    <body
      className={cn(mode, 'relative flex min-h-svh flex-col overflow-x-hidden')}
    >
      {children}
    </body>
  );
}

export function useMode(): string | undefined {
  const { slug } = useParams();
  return Array.isArray(slug) && slug.length > 0 ? slug[0] : undefined;
}