This commit is contained in:
Iliyan Angelov
2025-12-06 03:27:35 +02:00
parent 7667eb5eda
commit 5a8ca3c475
2211 changed files with 28086 additions and 37066 deletions

View File

@@ -13,6 +13,8 @@ import {
Star,
Users,
AlertCircle,
Bell,
Shield,
} from 'lucide-react';
import { useClickOutside } from '../hooks/useClickOutside';
import { useCompanySettings } from '../contexts/CompanySettingsContext';
@@ -137,6 +139,21 @@ const Header: React.FC<HeaderProps> = ({
</Link>
{userInfo?.role !== 'admin' && userInfo?.role !== 'staff' && userInfo?.role !== 'accountant' && userInfo?.role !== 'housekeeping' && (
<>
<Link
to="/dashboard"
onClick={() =>
setIsMobileMenuOpen(false)
}
className="flex items-center
space-x-2 px-4 py-3 text-white/90
hover:bg-[#d4af37]/10 hover:text-[#d4af37]
rounded-sm transition-all duration-300
border-l-2 border-transparent
hover:border-[#d4af37] font-light tracking-wide"
>
<Calendar className="w-4 h-4" />
<span>Dashboard</span>
</Link>
<Link
to="/favorites"
onClick={() =>
@@ -212,6 +229,36 @@ const Header: React.FC<HeaderProps> = ({
<AlertCircle className="w-4 h-4" />
<span>Complaints</span>
</Link>
<Link
to="/guest-requests"
onClick={() =>
setIsMobileMenuOpen(false)
}
className="flex items-center
space-x-2 px-4 py-3 text-white/90
hover:bg-[#d4af37]/10 hover:text-[#d4af37]
rounded-sm transition-all duration-300
border-l-2 border-transparent
hover:border-[#d4af37] font-light tracking-wide"
>
<Bell className="w-4 h-4" />
<span>Guest Requests</span>
</Link>
<Link
to="/gdpr"
onClick={() =>
setIsMobileMenuOpen(false)
}
className="flex items-center
space-x-2 px-4 py-3 text-white/90
hover:bg-[#d4af37]/10 hover:text-[#d4af37]
rounded-sm transition-all duration-300
border-l-2 border-transparent
hover:border-[#d4af37] font-light tracking-wide"
>
<Shield className="w-4 h-4" />
<span>Privacy & Data</span>
</Link>
</>
)}
{userInfo?.role === 'admin' && (
@@ -265,6 +312,23 @@ const Header: React.FC<HeaderProps> = ({
<span>Accountant Dashboard</span>
</Link>
)}
{userInfo?.role === 'housekeeping' && (
<Link
to="/housekeeping"
onClick={() =>
setIsMobileMenuOpen(false)
}
className="flex items-center
space-x-2 px-4 py-3 text-white/90
hover:bg-[#d4af37]/10 hover:text-[#d4af37]
rounded-sm transition-all duration-300
border-l-2 border-transparent
hover:border-[#d4af37] font-light tracking-wide"
>
<User className="w-4 h-4" />
<span>Housekeeping Dashboard</span>
</Link>
)}
<div className="border-t border-[#d4af37]/20 my-2"></div>
<button
onClick={handleLogout}
@@ -429,6 +493,18 @@ const Header: React.FC<HeaderProps> = ({
</Link>
{userInfo?.role !== 'admin' && userInfo?.role !== 'staff' && userInfo?.role !== 'accountant' && userInfo?.role !== 'housekeeping' && (
<>
<Link
to="/dashboard"
onClick={() => setIsUserMenuOpen(false)}
className="flex items-center space-x-3
px-4 py-2.5 text-white/90
hover:bg-[#d4af37]/10 hover:text-[#d4af37]
transition-all duration-300 border-l-2 border-transparent
hover:border-[#d4af37]"
>
<Calendar className="w-4 h-4" />
<span className="font-light tracking-wide">Dashboard</span>
</Link>
<Link
to="/favorites"
onClick={() => setIsUserMenuOpen(false)}
@@ -489,6 +565,30 @@ const Header: React.FC<HeaderProps> = ({
<AlertCircle className="w-4 h-4" />
<span className="font-light tracking-wide">Complaints</span>
</Link>
<Link
to="/guest-requests"
onClick={() => setIsUserMenuOpen(false)}
className="flex items-center space-x-3
px-4 py-2.5 text-white/90
hover:bg-[#d4af37]/10 hover:text-[#d4af37]
transition-all duration-300 border-l-2 border-transparent
hover:border-[#d4af37]"
>
<Bell className="w-4 h-4" />
<span className="font-light tracking-wide">Guest Requests</span>
</Link>
<Link
to="/gdpr"
onClick={() => setIsUserMenuOpen(false)}
className="flex items-center space-x-3
px-4 py-2.5 text-white/90
hover:bg-[#d4af37]/10 hover:text-[#d4af37]
transition-all duration-300 border-l-2 border-transparent
hover:border-[#d4af37]"
>
<Shield className="w-4 h-4" />
<span className="font-light tracking-wide">Privacy & Data</span>
</Link>
</>
)}
{userInfo?.role === 'admin' && (
@@ -539,6 +639,22 @@ const Header: React.FC<HeaderProps> = ({
<span className="font-light tracking-wide">Accountant Dashboard</span>
</Link>
)}
{userInfo?.role === 'housekeeping' && (
<Link
to="/housekeeping"
onClick={() =>
setIsUserMenuOpen(false)
}
className="flex items-center
space-x-3 px-4 py-2.5 text-white/90
hover:bg-[#d4af37]/10 hover:text-[#d4af37]
transition-all duration-300 border-l-2 border-transparent
hover:border-[#d4af37]"
>
<User className="w-4 h-4" />
<span className="font-light tracking-wide">Housekeeping Dashboard</span>
</Link>
)}
<div className="border-t border-[#d4af37]/20 my-1"></div>
<button
onClick={handleLogout}