diff --git a/index.html b/index.html
index 081bb18..7e6cf27 100644
--- a/index.html
+++ b/index.html
@@ -35,9 +35,7 @@
-
-
-
+
@@ -49,8 +47,8 @@
-
-
+
+
diff --git a/public/manifest.json b/public/manifest.json
index 123917b..2e5a9e7 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -21,25 +21,9 @@
},
{
"src": "/vspec-logo-official.svg",
- "sizes": "192x192 512x512",
+ "sizes": "any",
"type": "image/svg+xml",
"purpose": "maskable"
- },
- {
- "src": "/apple-touch-icon.png",
- "sizes": "180x180",
- "type": "image/png",
- "purpose": "any"
- },
- {
- "src": "/favicon-32x32.png",
- "sizes": "32x32",
- "type": "image/png"
- },
- {
- "src": "/favicon-16x16.png",
- "sizes": "16x16",
- "type": "image/png"
}
],
"shortcuts": [
diff --git a/src/app/App.tsx b/src/app/App.tsx
index 397806e..7fea65c 100644
--- a/src/app/App.tsx
+++ b/src/app/App.tsx
@@ -135,7 +135,7 @@ export default function App() {
{/* Protected Routes */}
} />
- } />
+ } />
} />
} />
diff --git a/src/app/components/LusionNav.tsx b/src/app/components/LusionNav.tsx
index 8091720..217470d 100644
--- a/src/app/components/LusionNav.tsx
+++ b/src/app/components/LusionNav.tsx
@@ -11,6 +11,7 @@ import VspecLogo from './VspecLogo';
import { DefaultAvatar, getDisplayName, type UserForAvatar } from './DefaultAvatar';
import LanguageSelector from './LanguageSelector';
import { useTranslation } from '../stores/i18nStore';
+import { clearAllUserData } from '../utils/security';
interface LusionNavProps {
variant?: 'light' | 'dark' | 'transparent';
@@ -100,11 +101,8 @@ export function LusionNav({ variant = 'transparent' }: LusionNavProps) {
return () => { document.body.style.overflow = ''; };
}, [isMenuOpen]);
- const handleLogout = useCallback(() => {
- localStorage.removeItem('vdid_user');
- localStorage.removeItem('auth_method');
- localStorage.removeItem('vspec_subscription');
- localStorage.removeItem('vspec_user_profile');
+ const handleLogout = useCallback(async () => {
+ await clearAllUserData();
setIsLoggedIn(false);
setUser(null);
setIsMenuOpen(false);
diff --git a/src/app/pages/LandingPageNew.tsx b/src/app/pages/LandingPageNew.tsx
index b8493ed..123c90d 100644
--- a/src/app/pages/LandingPageNew.tsx
+++ b/src/app/pages/LandingPageNew.tsx
@@ -1,7 +1,7 @@
import { useState, useEffect } from 'react';
import { Link, useNavigate } from 'react-router-dom';
import { motion } from 'motion/react';
-import { Menu, X, Sparkles, FileText, GitBranch, Users, Lock, Zap, Check, Network, XCircle, LayoutDashboard, Settings, LogOut } from 'lucide-react';
+import { Sparkles, FileText, GitBranch, Users, Lock, Zap, Check, Network, XCircle } from 'lucide-react';
import Group from '../../imports/Group-115-1581';
import Group1000006259 from '../../imports/Group1000006259';
import VspecGradientBackground from '../components/VspecGradientBackground';
@@ -47,7 +47,6 @@ export default function LandingPageNew() {
// Authentication state
const [isLoggedIn, setIsLoggedIn] = useState(false);
const [user, setUser] = useState(null);
- const [showUserMenu, setShowUserMenu] = useState(false);
// Check authentication state
useEffect(() => {
@@ -114,15 +113,6 @@ export default function LandingPageNew() {
}
}, [isLoggedIn, navigate]);
- const handleLogout = () => {
- localStorage.removeItem('vdid_user');
- localStorage.removeItem('auth_method');
- localStorage.removeItem('vspec_subscription');
- setIsLoggedIn(false);
- setUser(null);
- setShowUserMenu(false);
- };
-
useEffect(() => {
const interval = setInterval(() => {
setCurrentWordIndex((prev) => (prev + 1) % words.length);