* Update Next.js and React versions in all packages * Replace onRedirect function with next/link in BillingSessionStatus, since it's no longer cached by default * Remove unused revalidatePath import in billing return page, since it's no longer cached by default * Add Turbopack module aliases to improve development server speed * Converted new Dynamic APIs to be Promise-based * Adjust mobile layout * Use ENABLE_REACT_COMPILER to enable the React Compiler in Next.js 15 * Report Errors using the new onRequestError hook
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
'use client';
|
|
|
|
import { useContext } from 'react';
|
|
|
|
import { useRouter } from 'next/navigation';
|
|
|
|
import { AccountSelector } from '@kit/accounts/account-selector';
|
|
import { SidebarContext } from '@kit/ui/sidebar';
|
|
|
|
import featureFlagsConfig from '~/config/feature-flags.config';
|
|
import pathsConfig from '~/config/paths.config';
|
|
|
|
const features = {
|
|
enableTeamCreation: featureFlagsConfig.enableTeamCreation,
|
|
};
|
|
|
|
export function HomeAccountSelector(props: {
|
|
accounts: Array<{
|
|
label: string | null;
|
|
value: string | null;
|
|
image: string | null;
|
|
}>;
|
|
|
|
userId: string;
|
|
collisionPadding?: number;
|
|
}) {
|
|
const router = useRouter();
|
|
const { collapsed } = useContext(SidebarContext);
|
|
|
|
return (
|
|
<AccountSelector
|
|
collapsed={collapsed}
|
|
collisionPadding={props.collisionPadding ?? 20}
|
|
accounts={props.accounts}
|
|
features={features}
|
|
userId={props.userId}
|
|
onAccountChange={(value) => {
|
|
if (value) {
|
|
const path = pathsConfig.app.accountHome.replace('[account]', value);
|
|
router.replace(path);
|
|
}
|
|
}}
|
|
/>
|
|
);
|
|
}
|