Files
myeasycms-v2/apps/web/app/home/[account]/settings/page.tsx
Giancarlo Buomprisco ba6e649461 Refactored Supabase Clients using the new recommended approach by Supabase by centralizing all clients around one single implementation. (#51)
The previous clients have been marked as deprecated and will be removed at some point.
2024-08-14 17:13:59 +08:00

72 lines
1.9 KiB
TypeScript

import { getSupabaseServerClient } from '@kit/supabase/server-client';
import { createTeamAccountsApi } from '@kit/team-accounts/api';
import { TeamAccountSettingsContainer } from '@kit/team-accounts/components';
import { AppBreadcrumbs } from '@kit/ui/app-breadcrumbs';
import { PageBody } from '@kit/ui/page';
import { Trans } from '@kit/ui/trans';
import featuresFlagConfig from '~/config/feature-flags.config';
import pathsConfig from '~/config/paths.config';
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
// local imports
import { TeamAccountLayoutPageHeader } from '../_components/team-account-layout-page-header';
export const generateMetadata = async () => {
const i18n = await createI18nServerInstance();
const title = i18n.t('teams:settings:pageTitle');
return {
title,
};
};
interface Props {
params: {
account: string;
};
}
const paths = {
teamAccountSettings: pathsConfig.app.accountSettings,
};
async function TeamAccountSettingsPage(props: Props) {
const api = createTeamAccountsApi(getSupabaseServerClient());
const data = await api.getTeamAccount(props.params.account);
const account = {
id: data.id,
name: data.name,
pictureUrl: data.picture_url,
slug: data.slug as string,
primaryOwnerUserId: data.primary_owner_user_id,
};
const features = {
enableTeamDeletion: featuresFlagConfig.enableTeamDeletion,
};
return (
<>
<TeamAccountLayoutPageHeader
account={account.slug}
title={<Trans i18nKey={'teams:settings.pageTitle'} />}
description={<AppBreadcrumbs />}
/>
<PageBody>
<div className={'flex max-w-2xl flex-1 flex-col'}>
<TeamAccountSettingsContainer
account={account}
paths={paths}
features={features}
/>
</div>
</PageBody>
</>
);
}
export default TeamAccountSettingsPage;