diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e19b4029b..0a4577c16 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -328,8 +328,6 @@ importers: specifier: ^5.9.3 version: 5.9.3 - dist: {} - packages: '@ampproject/remapping@2.3.0': diff --git a/src/app/page.tsx b/src/app/page.tsx index 6f0033dff..38eda1dea 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -2,7 +2,7 @@ import { redirect } from 'next/navigation'; import { useEffect } from 'react'; import { LAST_TEAM_CONFIG } from '@/lib/constants'; -import { getItem } from '@/lib/storage'; +import { getItem, removeItem } from '@/lib/storage'; export default function RootPage() { useEffect(() => { @@ -11,6 +11,8 @@ export default function RootPage() { if (lastTeam) { redirect(`/teams/${lastTeam}/websites`); } else { + removeItem(LAST_TEAM_CONFIG); + redirect(`/websites`); } }, []); diff --git a/src/components/input/NavButton.tsx b/src/components/input/NavButton.tsx index ab77ef062..7ea966cc9 100644 --- a/src/components/input/NavButton.tsx +++ b/src/components/input/NavButton.tsx @@ -14,7 +14,6 @@ import { Text, } from '@umami/react-zen'; import { ArrowRight } from 'lucide-react'; -import type { Key } from 'react'; import { useConfig, useLoginQuery, @@ -34,8 +33,7 @@ import { Users, } from '@/components/icons'; import { Switch } from '@/components/svg'; -import { DOCS_URL, LAST_TEAM_CONFIG } from '@/lib/constants'; -import { removeItem } from '@/lib/storage'; +import { DOCS_URL } from '@/lib/constants'; export interface TeamsButtonProps { showText?: boolean; @@ -46,7 +44,7 @@ export function NavButton({ showText = true }: TeamsButtonProps) { const { user } = useLoginQuery(); const { cloudMode } = useConfig(); const { formatMessage, labels } = useMessages(); - const { teamId, router } = useNavigation(); + const { teamId } = useNavigation(); const { isMobile } = useMobile(); const team = user?.teams?.find(({ id }) => id === teamId); const selectedKeys = new Set([teamId || 'user']); @@ -56,16 +54,7 @@ export function NavButton({ showText = true }: TeamsButtonProps) { return cloudMode ? `${process.env.cloudUrl}${url}` : url; }; - const handleAction = async (key: Key) => { - if (key === 'user') { - removeItem(LAST_TEAM_CONFIG); - if (cloudMode) { - window.location.href = '/'; - } else { - router.push('/'); - } - } - }; + const handleAction = async () => {}; return ( @@ -95,16 +84,16 @@ export function NavButton({ showText = true }: TeamsButtonProps) { - + } label={formatMessage(labels.switchAccount)} /> - + - + } label={user.username} /> diff --git a/src/lib/crypto.ts b/src/lib/crypto.ts index a6d912b82..9911ef7f0 100644 --- a/src/lib/crypto.ts +++ b/src/lib/crypto.ts @@ -1,5 +1,5 @@ import crypto from 'node:crypto'; -import { v4, v5, v7 } from 'uuid'; +import { v4, v5 } from 'uuid'; const ALGORITHM = 'aes-256-gcm'; const IV_LENGTH = 16; @@ -57,9 +57,7 @@ export function secret() { } export function uuid(...args: any) { - if (args.length) { - return v5(hash(...args, secret()), v5.DNS); - } + if (!args.length) return v4(); - return process.env.USE_UUIDV7 ? v7() : v4(); + return v5(hash(...args, secret()), v5.DNS); }