mirror of
https://github.com/umami-software/umami.git
synced 2026-02-13 00:55:37 +01:00
Fixed 'use client' usage.
This commit is contained in:
parent
be5592446a
commit
f7151a880e
208 changed files with 323 additions and 385 deletions
|
|
@ -1,9 +1,9 @@
|
|||
'use client';
|
||||
import { ReactNode } from 'react';
|
||||
import { useLogin, useMessages } from 'components/hooks';
|
||||
import SettingsLayout from 'components/layout/SettingsLayout';
|
||||
import MenuLayout from 'components/layout/MenuLayout';
|
||||
|
||||
export default function Settings({ children }: { children: ReactNode }) {
|
||||
export default function SettingsLayout({ children }: { children: ReactNode }) {
|
||||
const { user } = useLogin();
|
||||
const { formatMessage, labels } = useMessages();
|
||||
|
||||
|
|
@ -21,5 +21,5 @@ export default function Settings({ children }: { children: ReactNode }) {
|
|||
},
|
||||
].filter(n => n);
|
||||
|
||||
return <SettingsLayout items={items}>{children}</SettingsLayout>;
|
||||
return <MenuLayout items={items}>{children}</MenuLayout>;
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import Settings from './Settings';
|
||||
import SettingsLayout from './SettingsLayout';
|
||||
|
||||
export default function ({ children }) {
|
||||
return <Settings>{children}</Settings>;
|
||||
return <SettingsLayout>{children}</SettingsLayout>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import {
|
||||
Form,
|
||||
FormRow,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useRef } from 'react';
|
||||
import {
|
||||
Form,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics';
|
||||
import { useMessages, useLocale, useLogin } from 'components/hooks';
|
||||
import TeamDeleteForm from './TeamLeaveForm';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useApi, useMessages } from 'components/hooks';
|
||||
import { touch } from 'store/modified';
|
||||
import ConfirmationForm from 'components/common/ConfirmationForm';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Button, Icon, Modal, ModalTrigger, Text } from 'react-basics';
|
||||
import Icons from 'components/icons';
|
||||
import { useMessages } from 'components/hooks';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import DataTable from 'components/common/DataTable';
|
||||
import TeamsTable from 'app/(main)/settings/teams/TeamsTable';
|
||||
import { useTeams } from 'components/hooks';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Flexbox } from 'react-basics';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
import { ROLES } from 'lib/constants';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Button, Icon, Modal, ModalTrigger, Text, useToasts } from 'react-basics';
|
||||
import Icons from 'components/icons';
|
||||
import { useMessages } from 'components/hooks';
|
||||
|
|
|
|||
12
src/app/(main)/settings/teams/TeamsPage.tsx
Normal file
12
src/app/(main)/settings/teams/TeamsPage.tsx
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
'use client';
|
||||
import TeamsDataTable from './TeamsDataTable';
|
||||
import TeamsHeader from './TeamsHeader';
|
||||
|
||||
export default function TeamsPage() {
|
||||
return (
|
||||
<>
|
||||
<TeamsHeader />
|
||||
<TeamsDataTable />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { GridColumn, GridTable, Icon, Text, useBreakpoint } from 'react-basics';
|
||||
import { useMessages } from 'components/hooks';
|
||||
import Icons from 'components/icons';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Button, Icon, Icons, Text } from 'react-basics';
|
||||
import styles from './WebsiteTags.module.css';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useApi, useMessages } from 'components/hooks';
|
||||
import { Icon, Icons, LoadingButton, Text } from 'react-basics';
|
||||
import { touch } from 'store/modified';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import DataTable from 'components/common/DataTable';
|
||||
import TeamMembersTable from './TeamMembersTable';
|
||||
import { useTeamMembers } from 'components/hooks';
|
||||
|
|
|
|||
|
|
@ -1,17 +1,18 @@
|
|||
'use client';
|
||||
import TeamProvider from 'app/(main)/teams/[teamId]/TeamProvider';
|
||||
import TeamMembersDataTable from './TeamMembersDataTable';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
import { useMessages } from 'components/hooks';
|
||||
|
||||
export function TeamMembers({ teamId }: { teamId: string }) {
|
||||
export function TeamMembersPage({ teamId }: { teamId: string }) {
|
||||
const { formatMessage, labels } = useMessages();
|
||||
|
||||
return (
|
||||
<>
|
||||
<TeamProvider teamId={teamId}>
|
||||
<PageHeader title={formatMessage(labels.members)} />
|
||||
<TeamMembersDataTable teamId={teamId} allowEdit={true} />
|
||||
</>
|
||||
</TeamProvider>
|
||||
);
|
||||
}
|
||||
|
||||
export default TeamMembers;
|
||||
export default TeamMembersPage;
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { GridColumn, GridTable, useBreakpoint } from 'react-basics';
|
||||
import { useMessages, useLogin } from 'components/hooks';
|
||||
import { ROLES } from 'lib/constants';
|
||||
|
|
|
|||
|
|
@ -1,13 +1,8 @@
|
|||
import TeamMembers from './TeamMembers';
|
||||
import TeamProvider from 'app/(main)/teams/[teamId]/TeamProvider';
|
||||
import TeamMembersPage from './TeamMembersPage';
|
||||
import { Metadata } from 'next';
|
||||
|
||||
export default function ({ params: { teamId } }) {
|
||||
return (
|
||||
<TeamProvider teamId={teamId}>
|
||||
<TeamMembers teamId={teamId} />
|
||||
</TeamProvider>
|
||||
);
|
||||
return <TeamMembersPage teamId={teamId} />;
|
||||
}
|
||||
|
||||
export const metadata: Metadata = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { ActionForm, Button, Modal, ModalTrigger } from 'react-basics';
|
||||
import { useMessages } from 'components/hooks';
|
||||
import TeamDeleteForm from './TeamDeleteForm';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useApi, useMessages } from 'components/hooks';
|
||||
import { touch } from 'store/modified';
|
||||
import TypeConfirmationForm from 'components/common/TypeConfirmationForm';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useContext, useState } from 'react';
|
||||
import { Item, Tabs, Flexbox, Text, Icon } from 'react-basics';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
|
|
@ -10,7 +9,7 @@ import TeamAdmin from './TeamAdmin';
|
|||
import LinkButton from 'components/common/LinkButton';
|
||||
import { TeamContext } from 'app/(main)/teams/[teamId]/TeamProvider';
|
||||
|
||||
export function Team({ teamId }: { teamId: string }) {
|
||||
export function TeamDetails({ teamId }: { teamId: string }) {
|
||||
const team = useContext(TeamContext);
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const { user } = useLogin();
|
||||
|
|
@ -42,4 +41,4 @@ export function Team({ teamId }: { teamId: string }) {
|
|||
);
|
||||
}
|
||||
|
||||
export default Team;
|
||||
export default TeamDetails;
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import {
|
||||
SubmitButton,
|
||||
Form,
|
||||
|
|
|
|||
13
src/app/(main)/settings/teams/[teamId]/team/TeamPage.tsx
Normal file
13
src/app/(main)/settings/teams/[teamId]/team/TeamPage.tsx
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
'use client';
|
||||
import TeamProvider from 'app/(main)/teams/[teamId]/TeamProvider';
|
||||
import TeamDetails from './TeamDetails';
|
||||
|
||||
export function TeamMembersPage({ teamId }: { teamId: string }) {
|
||||
return (
|
||||
<TeamProvider teamId={teamId}>
|
||||
<TeamDetails teamId={teamId} />
|
||||
</TeamProvider>
|
||||
);
|
||||
}
|
||||
|
||||
export default TeamMembersPage;
|
||||
|
|
@ -1,13 +1,8 @@
|
|||
import Team from './Team';
|
||||
import TeamProvider from 'app/(main)/teams/[teamId]/TeamProvider';
|
||||
import { Metadata } from 'next';
|
||||
import TeamPage from './TeamPage';
|
||||
|
||||
export default function ({ params: { teamId } }) {
|
||||
return (
|
||||
<TeamProvider teamId={teamId}>
|
||||
<Team teamId={teamId} />
|
||||
</TeamProvider>
|
||||
);
|
||||
return <TeamPage teamId={teamId} />;
|
||||
}
|
||||
|
||||
export const metadata: Metadata = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useApi, useMessages } from 'components/hooks';
|
||||
import { Icon, Icons, LoadingButton, Text } from 'react-basics';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import DataTable from 'components/common/DataTable';
|
||||
import { useTeamWebsites } from 'components/hooks';
|
||||
import TeamWebsitesTable from './TeamWebsitesTable';
|
||||
|
|
|
|||
|
|
@ -1,17 +1,18 @@
|
|||
'use client';
|
||||
import TeamProvider from 'app/(main)/teams/[teamId]/TeamProvider';
|
||||
import TeamWebsitesDataTable from './TeamWebsitesDataTable';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
import { useMessages } from 'components/hooks';
|
||||
|
||||
export function TeamWebsites({ teamId }: { teamId: string }) {
|
||||
export function TeamWebsitesPage({ teamId }: { teamId: string }) {
|
||||
const { formatMessage, labels } = useMessages();
|
||||
|
||||
return (
|
||||
<>
|
||||
<TeamProvider teamId={teamId}>
|
||||
<PageHeader title={formatMessage(labels.websites)} />
|
||||
<TeamWebsitesDataTable teamId={teamId} allowEdit={true} />
|
||||
</>
|
||||
</TeamProvider>
|
||||
);
|
||||
}
|
||||
|
||||
export default TeamWebsites;
|
||||
export default TeamWebsitesPage;
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { GridColumn, GridTable, Icon, Text } from 'react-basics';
|
||||
import { useLogin, useMessages } from 'components/hooks';
|
||||
import Icons from 'components/icons';
|
||||
|
|
|
|||
|
|
@ -1,15 +1,10 @@
|
|||
import TeamWebsites from './TeamWebsites';
|
||||
import TeamProvider from 'app/(main)/teams/[teamId]/TeamProvider';
|
||||
import TeamWebsitesPage from './TeamWebsitesPage';
|
||||
import { Metadata } from 'next';
|
||||
|
||||
export default function ({ params: { teamId } }) {
|
||||
return (
|
||||
<TeamProvider teamId={teamId}>
|
||||
<TeamWebsites teamId={teamId} />
|
||||
</TeamProvider>
|
||||
);
|
||||
return <TeamWebsitesPage teamId={teamId} />;
|
||||
}
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Teams websites - Umami',
|
||||
title: 'Teams Websites - Umami',
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,14 +1,8 @@
|
|||
import { Metadata } from 'next';
|
||||
import TeamsDataTable from './TeamsDataTable';
|
||||
import TeamsHeader from './TeamsHeader';
|
||||
import TeamsPage from './TeamsPage';
|
||||
|
||||
export default function () {
|
||||
return (
|
||||
<>
|
||||
<TeamsHeader />
|
||||
<TeamsDataTable />
|
||||
</>
|
||||
);
|
||||
return <TeamsPage />;
|
||||
}
|
||||
|
||||
export const metadata: Metadata = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Button, Icon, Text, Modal, Icons, ModalTrigger, useToasts } from 'react-basics';
|
||||
import UserAddForm from './UserAddForm';
|
||||
import { useMessages } from 'components/hooks';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import {
|
||||
Dropdown,
|
||||
Item,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics';
|
||||
import { useMessages, useLogin } from 'components/hooks';
|
||||
import UserDeleteForm from './UserDeleteForm';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useApi, useMessages } from 'components/hooks';
|
||||
import ConfirmationForm from 'components/common/ConfirmationForm';
|
||||
import { touch } from 'store/modified';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import {
|
||||
Dropdown,
|
||||
Item,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import DataTable from 'components/common/DataTable';
|
||||
import { useUsers } from 'components/hooks';
|
||||
import UsersTable from './UsersTable';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
import { useMessages } from 'components/hooks';
|
||||
import UserAddButton from './UserAddButton';
|
||||
|
|
|
|||
12
src/app/(main)/settings/users/UsersPage.tsx
Normal file
12
src/app/(main)/settings/users/UsersPage.tsx
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
'use client';
|
||||
import UsersDataTable from './UsersDataTable';
|
||||
import UsersHeader from './UsersHeader';
|
||||
|
||||
export default function UsersPage() {
|
||||
return (
|
||||
<>
|
||||
<UsersHeader />
|
||||
<UsersDataTable />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Text, Icon, Icons, GridTable, GridColumn, useBreakpoint } from 'react-basics';
|
||||
import { formatDistance } from 'date-fns';
|
||||
import { ROLES } from 'lib/constants';
|
||||
|
|
|
|||
6
src/app/(main)/settings/users/[userId]/UserPage.tsx
Normal file
6
src/app/(main)/settings/users/[userId]/UserPage.tsx
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
'use client';
|
||||
import UserSettings from './UserSettings';
|
||||
|
||||
export default function ({ userId }: { userId: string }) {
|
||||
return <UserSettings userId={userId} />;
|
||||
}
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Key, useState } from 'react';
|
||||
import { Item, Loading, Tabs } from 'react-basics';
|
||||
import Icons from 'components/icons';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import WebsitesTable from 'app/(main)/settings/websites/WebsitesTable';
|
||||
import DataTable from 'components/common/DataTable';
|
||||
import { useWebsites } from 'components/hooks';
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
import UserSettings from './UserSettings';
|
||||
import UserPage from './UserPage';
|
||||
import { Metadata } from 'next';
|
||||
|
||||
export default function ({ params: { userId } }) {
|
||||
return <UserSettings userId={userId} />;
|
||||
return <UserPage userId={userId} />;
|
||||
}
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'User Settings - Umami',
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,14 +1,8 @@
|
|||
import { Metadata } from 'next';
|
||||
import UsersDataTable from './UsersDataTable';
|
||||
import UsersHeader from './UsersHeader';
|
||||
import UsersPage from './UsersPage';
|
||||
|
||||
export default function () {
|
||||
return (
|
||||
<>
|
||||
<UsersHeader />
|
||||
<UsersDataTable />
|
||||
</>
|
||||
);
|
||||
return <UsersPage />;
|
||||
}
|
||||
export const metadata: Metadata = {
|
||||
title: 'Users | Umami',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Button, Icon, Icons, Modal, ModalTrigger, Text, useToasts } from 'react-basics';
|
||||
import WebsiteAddForm from './WebsiteAddForm';
|
||||
import { useMessages } from 'components/hooks';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import {
|
||||
Form,
|
||||
FormRow,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { ReactNode } from 'react';
|
||||
import WebsitesTable from 'app/(main)/settings/websites/WebsitesTable';
|
||||
import DataTable from 'components/common/DataTable';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useMessages } from 'components/hooks';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
import WebsiteAddButton from './WebsiteAddButton';
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ import { useLogin } from 'components/hooks';
|
|||
import WebsitesDataTable from './WebsitesDataTable';
|
||||
import WebsitesHeader from './WebsitesHeader';
|
||||
|
||||
export default function Websites({ teamId }: { teamId: string }) {
|
||||
export default function WebsitesPage({ teamId }: { teamId: string }) {
|
||||
const { user } = useLogin();
|
||||
|
||||
return (
|
||||
<>
|
||||
<WebsitesHeader teamId={teamId} showActions={user.role !== 'view-only'} />
|
||||
<WebsitesHeader teamId={teamId} allowCreate={user.role !== 'view-only'} />
|
||||
<WebsitesDataTable teamId={teamId} userId={user.id} allowEdit={true} />
|
||||
</>
|
||||
);
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { ReactNode } from 'react';
|
||||
import { Text, Icon, Icons, GridTable, GridColumn, useBreakpoint } from 'react-basics';
|
||||
import { useMessages, useTeamUrl } from 'components/hooks';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import {
|
||||
Form,
|
||||
FormRow,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { TextArea } from 'react-basics';
|
||||
import { useMessages, useConfig } from 'components/hooks';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { Button, Modal, ModalTrigger, ActionForm, useToasts } from 'react-basics';
|
||||
import { useRouter } from 'next/navigation';
|
||||
import { useMessages } from 'components/hooks';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useApi, useMessages } from 'components/hooks';
|
||||
import TypeConfirmationForm from 'components/common/TypeConfirmationForm';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useContext, useRef } from 'react';
|
||||
import {
|
||||
SubmitButton,
|
||||
|
|
|
|||
11
src/app/(main)/settings/websites/[websiteId]/WebsitePage.tsx
Normal file
11
src/app/(main)/settings/websites/[websiteId]/WebsitePage.tsx
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
'use client';
|
||||
import WebsiteProvider from 'app/(main)/websites/[websiteId]/WebsiteProvider';
|
||||
import WebsiteSettings from './WebsiteSettings';
|
||||
|
||||
export default function WebsitePage({ websiteId }: { websiteId: string }) {
|
||||
return (
|
||||
<WebsiteProvider websiteId={websiteId}>
|
||||
<WebsiteSettings websiteId={websiteId} />
|
||||
</WebsiteProvider>
|
||||
);
|
||||
}
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useApi, useMessages } from 'components/hooks';
|
||||
import TypeConfirmationForm from 'components/common/TypeConfirmationForm';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
'use client';
|
||||
import { useState, Key, useContext } from 'react';
|
||||
import { Item, Tabs, Button, Text, Icon } from 'react-basics';
|
||||
import Link from 'next/link';
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import WebsiteProvider from 'app/(main)/websites/[websiteId]/WebsiteProvider';
|
||||
import WebsiteSettings from './WebsiteSettings';
|
||||
import WebsitePage from './WebsitePage';
|
||||
import { Metadata } from 'next';
|
||||
|
||||
export default async function WebsiteSettingsPage({ params: { websiteId } }) {
|
||||
return (
|
||||
<WebsiteProvider websiteId={websiteId}>
|
||||
<WebsiteSettings websiteId={websiteId} />
|
||||
</WebsiteProvider>
|
||||
);
|
||||
export default async function ({ params: { websiteId } }) {
|
||||
return <WebsitePage websiteId={websiteId} />;
|
||||
}
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Website settings - Umami',
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { Metadata } from 'next';
|
||||
import Websites from './Websites';
|
||||
import WebsitesPage from './WebsitesPage';
|
||||
|
||||
export default function ({ params: { teamId } }: { params: { teamId: string } }) {
|
||||
return <Websites teamId={teamId} />;
|
||||
return <WebsitesPage teamId={teamId} />;
|
||||
}
|
||||
|
||||
export const metadata: Metadata = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue