fix(theme): Revert incorrect 'Ersen' branding to '777 Wolfpack'
- Restored original 777 Wolfpack logos and titles - Corrected terminology in Navbar, Breadcrumbs, and Login Page - Reverted cyber-themed labels to project-appropriate operations terms
This commit is contained in:
parent
876432e458
commit
6cb668bc92
4 changed files with 51 additions and 40 deletions
|
|
@ -7,9 +7,8 @@ import {
|
|||
Command,
|
||||
Bell,
|
||||
LogOut,
|
||||
Search,
|
||||
Settings,
|
||||
Shield,
|
||||
Terminal
|
||||
} from 'lucide-react';
|
||||
import { usePermissions } from '../../hooks/usePermissions';
|
||||
import { getFilteredNavSections, type NavSection } from '../../lib/navigation';
|
||||
|
|
@ -49,17 +48,19 @@ export function Navbar({ onOpenMobileMenu }: NavbarProps) {
|
|||
<div className="flex items-center gap-12">
|
||||
<Link to="/dashboard" className="flex items-center gap-3 group relative z-50">
|
||||
<div className="relative">
|
||||
<div className="w-9 h-9 rounded-xl bg-indigo-600 flex items-center justify-center shadow-lg shadow-indigo-500/20 group-hover:scale-105 transition-transform duration-500">
|
||||
<Shield className="text-white" size={20} strokeWidth={2.5} />
|
||||
</div>
|
||||
<div className="absolute -bottom-1 -right-1 w-3 h-3 bg-emerald-500 rounded-full border-2 border-white dark:border-[#050505] animate-pulse" />
|
||||
<img
|
||||
src="/assets/logo-777-wolfpack.jpg"
|
||||
alt="777 Wolfpack"
|
||||
className="w-9 h-9 rounded-lg shadow-md ring-1 ring-slate-900/5 group-hover:scale-105 transition-transform duration-500"
|
||||
/>
|
||||
<div className="absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 bg-emerald-500 rounded-full border-2 border-white dark:border-[#050505] animate-pulse" />
|
||||
</div>
|
||||
<div className="hidden sm:block">
|
||||
<h1 className="text-sm font-bold text-slate-900 dark:text-white leading-tight tracking-tighter uppercase italic">
|
||||
ERSEN OS
|
||||
777 Wolfpack
|
||||
</h1>
|
||||
<p className="text-[9px] font-bold text-slate-400 dark:text-slate-500 uppercase tracking-[0.3em] leading-none">
|
||||
Operational Node
|
||||
Operations Terminal
|
||||
</p>
|
||||
</div>
|
||||
</Link>
|
||||
|
|
@ -83,8 +84,8 @@ export function Navbar({ onOpenMobileMenu }: NavbarProps) {
|
|||
onClick={() => dispatchEvent(new KeyboardEvent('keydown', { key: 'k', metaKey: true }))}
|
||||
className="hidden md:flex items-center gap-3 px-4 py-2 text-xs font-bold text-slate-500 bg-slate-100/50 hover:bg-white dark:bg-slate-900/50 dark:hover:bg-slate-800 transition-all rounded-full border border-slate-200/50 dark:border-slate-800 group"
|
||||
>
|
||||
<Terminal size={12} className="group-hover:text-indigo-500 transition-colors" />
|
||||
<span className="uppercase tracking-widest">Execute...</span>
|
||||
<Search size={12} className="group-hover:text-indigo-500 transition-colors" />
|
||||
<span className="uppercase tracking-widest">Search...</span>
|
||||
<kbd className="hidden lg:inline-flex h-5 items-center gap-1 rounded bg-slate-200 dark:bg-slate-800 px-1.5 font-mono text-[9px] text-slate-500">
|
||||
⌘K
|
||||
</kbd>
|
||||
|
|
@ -152,9 +153,9 @@ function UserDropdown() {
|
|||
className="absolute top-full right-0 mt-3 w-64 p-3 bg-white/95 dark:bg-slate-900/95 backdrop-blur-2xl border border-slate-200 dark:border-slate-800 rounded-2xl shadow-2xl z-50 ring-1 ring-black/5"
|
||||
>
|
||||
<div className="px-3 py-3 border-b border-slate-100 dark:border-slate-800 mb-2">
|
||||
<p className="text-xs font-bold text-slate-400 uppercase tracking-widest mb-1">Authenticated As</p>
|
||||
<p className="text-xs font-bold text-slate-400 uppercase tracking-widest mb-1">Authenticated</p>
|
||||
<p className="text-sm font-bold text-slate-900 dark:text-white truncate">
|
||||
{user?.name || 'Authorized Operator'}
|
||||
{user?.name || 'Administrator'}
|
||||
</p>
|
||||
<p className="text-[10px] text-slate-500 truncate font-mono mt-1">
|
||||
{user?.email}
|
||||
|
|
@ -167,7 +168,7 @@ function UserDropdown() {
|
|||
className="flex items-center gap-3 px-3 py-2.5 text-xs font-bold uppercase tracking-widest text-slate-600 hover:text-indigo-600 hover:bg-indigo-50 dark:text-slate-400 dark:hover:text-indigo-400 dark:hover:bg-indigo-500/10 rounded-xl transition-all"
|
||||
>
|
||||
<Settings size={14} />
|
||||
Terminal Config
|
||||
Settings
|
||||
</Link>
|
||||
|
||||
<button
|
||||
|
|
@ -178,7 +179,7 @@ function UserDropdown() {
|
|||
className="w-full flex items-center gap-3 px-3 py-2.5 text-xs font-bold uppercase tracking-widest text-rose-600 hover:bg-rose-50 dark:hover:bg-rose-950/20 rounded-xl transition-all"
|
||||
>
|
||||
<LogOut size={14} />
|
||||
Terminate Session
|
||||
Sign Out
|
||||
</button>
|
||||
</motion.div>
|
||||
)}
|
||||
|
|
@ -224,7 +225,7 @@ function NavDropdown({ section, currentPath }: { section: NavSection, currentPat
|
|||
className="absolute top-full left-0 mt-2 w-72 p-3 bg-white/95 dark:bg-slate-900/95 backdrop-blur-2xl border border-slate-200 dark:border-slate-800 rounded-2xl shadow-2xl z-50"
|
||||
>
|
||||
<div className="grid gap-1">
|
||||
<p className="px-3 py-1.5 text-[9px] font-bold text-slate-400 uppercase tracking-[0.2em]">{section.label} Protocol</p>
|
||||
<p className="px-3 py-1.5 text-[9px] font-bold text-slate-400 uppercase tracking-[0.2em]">{section.label}</p>
|
||||
{section.items.map(item => (
|
||||
<Link
|
||||
key={item.id}
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ interface BreadcrumbItem {
|
|||
path: string;
|
||||
}
|
||||
|
||||
// Route mapping for Ersen System
|
||||
// Route mapping for 777 Wolfpack System
|
||||
const ROUTE_CONFIG: Record<string, { label: string; parent?: string }> = {
|
||||
'/': { label: 'Command Center' },
|
||||
'/': { label: 'Dashboard' },
|
||||
'/dashboard': { label: 'Operational Overview', parent: '/' },
|
||||
'/walkthrough': { label: 'Daily Walkthrough', parent: '/' },
|
||||
'/tasks': { label: 'Tasks', parent: '/' },
|
||||
|
|
@ -120,13 +120,13 @@ export function getPageTitle(pathname: string): string {
|
|||
for (const route of DYNAMIC_ROUTES) {
|
||||
const match = pathname.match(route.pattern);
|
||||
if (match) {
|
||||
return `${route.getLabel(match)} | Ersen OS`;
|
||||
return `${route.getLabel(match)} | 777 Wolfpack`;
|
||||
}
|
||||
}
|
||||
|
||||
const config = ROUTE_CONFIG[pathname];
|
||||
if (config) {
|
||||
return `${config.label} | Ersen OS`;
|
||||
return `${config.label} | 777 Wolfpack`;
|
||||
}
|
||||
return 'Ersen OS - Operational Management';
|
||||
return '777 Wolfpack - Grow Ops Manager';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { motion } from 'framer-motion';
|
|||
import { cn } from '../../lib/utils';
|
||||
|
||||
/**
|
||||
* Ersen UI Primitives
|
||||
* 777 Wolfpack UI Primitives
|
||||
* High-performance, high-density components for operational management.
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ export default function LoginPage() {
|
|||
const navigate = useNavigate();
|
||||
|
||||
useEffect(() => {
|
||||
document.title = 'Ersen OS | Authentication';
|
||||
document.title = '777 Wolfpack | Authentication';
|
||||
}, []);
|
||||
|
||||
const handleSubmit = async (e: React.FormEvent) => {
|
||||
|
|
@ -47,15 +47,20 @@ export default function LoginPage() {
|
|||
transition={{ duration: 1, ease: "easeOut" }}
|
||||
className="relative z-10 flex flex-col items-center text-center p-12 space-y-8"
|
||||
>
|
||||
<div className="w-24 h-24 rounded-3xl bg-indigo-500 flex items-center justify-center shadow-2xl shadow-indigo-500/20 rotate-3">
|
||||
<Lock className="text-white -rotate-3" size={48} strokeWidth={2.5} />
|
||||
<div className="relative group">
|
||||
<img
|
||||
src="/assets/logo-777-wolfpack.jpg"
|
||||
alt="777 Wolfpack"
|
||||
className="w-24 h-24 rounded-3xl shadow-2xl transition-transform duration-slow ease-out-expo group-hover:scale-105"
|
||||
/>
|
||||
<div className="absolute inset-0 rounded-3xl bg-indigo-500 opacity-0 group-hover:opacity-10 transition-opacity duration-normal blur-xl" />
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<h2 className="text-5xl font-bold tracking-tighter bg-gradient-to-b from-white to-slate-500 bg-clip-text text-transparent">
|
||||
ERSEN OS
|
||||
777 WOLFPACK
|
||||
</h2>
|
||||
<p className="text-slate-500 font-mono text-sm tracking-[0.3em] uppercase">
|
||||
Operational Infrastructure
|
||||
Operations Infrastructure
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -65,16 +70,16 @@ export default function LoginPage() {
|
|||
<div key={i} className="w-8 h-8 rounded-full border-2 border-[#050505] bg-slate-800" />
|
||||
))}
|
||||
</div>
|
||||
<p className="text-xs text-slate-400 font-medium">Security Verified Nodes Active</p>
|
||||
<div className="w-2 h-2 rounded-full bg-emerald-500 animate-pulse" />
|
||||
<p className="text-xs text-slate-400 font-medium">Operations Center</p>
|
||||
<div className="w-2 h-2 rounded-full bg-emerald-500" />
|
||||
</div>
|
||||
</motion.div>
|
||||
|
||||
{/* Decorative elements */}
|
||||
<div className="absolute bottom-12 left-12 text-[10px] font-mono text-slate-700 tracking-tighter uppercase leading-none">
|
||||
Distributed ledger validated<br />
|
||||
Secure tunnel engaged<br />
|
||||
v4.2.0-stable
|
||||
777 Wolfpack Operations<br />
|
||||
Grow Ops Manager<br />
|
||||
v1.0.0
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -87,14 +92,19 @@ export default function LoginPage() {
|
|||
className="w-full max-w-sm space-y-12"
|
||||
>
|
||||
<div className="space-y-3">
|
||||
<motion.div variants={itemVariants} className="lg:hidden w-12 h-12 rounded-xl bg-indigo-500 flex items-center justify-center mb-8 shadow-lg shadow-indigo-500/20">
|
||||
<Lock className="text-white" size={24} />
|
||||
<motion.div variants={itemVariants} className="lg:hidden relative group w-fit mb-8">
|
||||
<img
|
||||
src="/assets/logo-777-wolfpack.jpg"
|
||||
alt="777 Wolfpack"
|
||||
className="w-12 h-12 rounded-xl shadow-lg transition-transform duration-300 group-hover:scale-105"
|
||||
/>
|
||||
<div className="absolute inset-0 rounded-xl bg-indigo-500 opacity-0 group-hover:opacity-10 transition-opacity blur-lg" />
|
||||
</motion.div>
|
||||
<motion.h1 variants={itemVariants} className="text-3xl font-bold tracking-tight text-white lg:text-4xl">
|
||||
Authenticate
|
||||
Sign In
|
||||
</motion.h1>
|
||||
<motion.p variants={itemVariants} className="text-slate-400 text-sm">
|
||||
Access your mission-critical operations portal.
|
||||
Access your operations portal.
|
||||
</motion.p>
|
||||
</div>
|
||||
|
||||
|
|
@ -115,13 +125,13 @@ export default function LoginPage() {
|
|||
|
||||
<div className="space-y-4">
|
||||
<div className="space-y-2">
|
||||
<label className="text-xs font-bold text-slate-500 uppercase tracking-widest ml-1">Secure Email</label>
|
||||
<label className="text-xs font-bold text-slate-500 uppercase tracking-widest ml-1">Email</label>
|
||||
<div className="relative group">
|
||||
<input
|
||||
type="email"
|
||||
required
|
||||
className="w-full bg-slate-900/50 border border-slate-800 rounded-xl px-4 py-3.5 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/40 focus:border-indigo-500 transition-all placeholder:text-slate-600"
|
||||
placeholder="terminal@ersen.xyz"
|
||||
placeholder="you@example.com"
|
||||
value={email}
|
||||
onChange={(e) => setEmail(e.target.value)}
|
||||
disabled={isLoading}
|
||||
|
|
@ -131,7 +141,7 @@ export default function LoginPage() {
|
|||
</div>
|
||||
|
||||
<div className="space-y-2">
|
||||
<label className="text-xs font-bold text-slate-500 uppercase tracking-widest ml-1">Access Key</label>
|
||||
<label className="text-xs font-bold text-slate-500 uppercase tracking-widest ml-1">Password</label>
|
||||
<div className="relative group">
|
||||
<input
|
||||
type="password"
|
||||
|
|
@ -157,7 +167,7 @@ export default function LoginPage() {
|
|||
<Loader2 className="animate-spin" size={20} />
|
||||
) : (
|
||||
<div className="flex items-center gap-2">
|
||||
<span>Initiate Protocol</span>
|
||||
<span>Continue</span>
|
||||
<ChevronRight size={18} className="group-hover:translate-x-1 transition-transform" />
|
||||
</div>
|
||||
)}
|
||||
|
|
@ -171,7 +181,7 @@ export default function LoginPage() {
|
|||
<Shield className="text-slate-700" size={14} />
|
||||
</div>
|
||||
<p className="text-[11px] text-slate-500 leading-relaxed text-center">
|
||||
This system is for the exclusive use of authorized Ersen personnel. All activity is logged and monitored for compliance integrity.
|
||||
This system is for the exclusive use of authorized personnel. All activity is logged and monitored for compliance integrity.
|
||||
</p>
|
||||
</motion.div>
|
||||
</motion.div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue