Files
myeasycms-v2/apps/web/app/(dashboard)/home/_components/personal-account-dropdown-container.tsx
giancarlo 8dd4b594d2 Update database types and relationships
The commit removes semicolons at the ends of lines and makes updates to the Database object in the `database.types.ts` file. This better aligns the syntax with TypeScript norms. It also affects many database relationships, including but not limited to `Accounts`, `Roles`, and `Subscriptions`.
2024-04-16 22:17:28 +08:00

48 lines
1.2 KiB
TypeScript

'use client';
import type { User } from '@supabase/supabase-js';
import { PersonalAccountDropdown } from '@kit/accounts/personal-account-dropdown';
import { useSignOut } from '@kit/supabase/hooks/use-sign-out';
import { useUser } from '@kit/supabase/hooks/use-user';
import featuresFlagConfig from '~/config/feature-flags.config';
import pathsConfig from '~/config/paths.config';
const paths = {
home: pathsConfig.app.home,
};
const features = {
enableThemeToggle: featuresFlagConfig.enableThemeToggle,
};
export function ProfileAccountDropdownContainer(props: {
collapsed: boolean;
user: User | null;
account?: {
id: string | null;
name: string | null;
picture_url: string | null;
};
}) {
const signOut = useSignOut();
const user = useUser(props.user);
const userData = user.data ?? props.user ?? null;
return (
<div className={props.collapsed ? '' : 'w-full'}>
<PersonalAccountDropdown
className={'w-full'}
paths={paths}
features={features}
showProfileName={!props.collapsed}
user={userData}
account={props.account}
signOutRequested={() => signOut.mutateAsync()}
/>
</div>
);
}