|
|
@@ -1,4 +1,3 @@
|
|
|
-
|
|
|
import { Button } from '@/components/ui/button';
|
|
|
import { Input } from '@/components/ui/input';
|
|
|
import { Badge } from '@/components/ui/badge';
|
|
|
@@ -6,14 +5,12 @@ import { Search, Plus, Settings, User, Rss, List, LogOut, Shield } from 'lucide-
|
|
|
import { Link } from 'react-router-dom';
|
|
|
import { useAuth } from '@/hooks/useAuth';
|
|
|
import { useSuperUser } from '@/hooks/useSuperUser';
|
|
|
-
|
|
|
interface HeaderProps {
|
|
|
searchQuery: string;
|
|
|
onSearchChange: (query: string) => void;
|
|
|
pinnedCount: number;
|
|
|
onAddFeedClick: () => void;
|
|
|
}
|
|
|
-
|
|
|
const Header = ({
|
|
|
searchQuery,
|
|
|
onSearchChange,
|
|
|
@@ -27,44 +24,33 @@ const Header = ({
|
|
|
const {
|
|
|
isSuperUser
|
|
|
} = useSuperUser();
|
|
|
-
|
|
|
const handleSignOut = async () => {
|
|
|
await signOut();
|
|
|
};
|
|
|
-
|
|
|
- return (
|
|
|
- <header className="border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60 sticky top-0 z-50">
|
|
|
+ return <header className="border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60 sticky top-0 z-50">
|
|
|
<div className="container mx-auto px-4 py-4">
|
|
|
<div className="flex items-center justify-between gap-4">
|
|
|
<div className="flex items-center gap-3">
|
|
|
<div className="flex items-center gap-2">
|
|
|
<Rss className="h-6 w-6 text-primary" />
|
|
|
<h1 className="text-xl font-bold">Feeds.Duhaz.fr</h1>
|
|
|
- {isSuperUser && (
|
|
|
- <Badge variant="destructive" className="gap-1">
|
|
|
+ {isSuperUser && <Badge variant="destructive" className="gap-1">
|
|
|
<Shield className="h-3 w-3" />
|
|
|
Admin
|
|
|
- </Badge>
|
|
|
- )}
|
|
|
+ </Badge>}
|
|
|
</div>
|
|
|
<div className="hidden sm:flex items-center gap-2 text-sm text-muted-foreground">
|
|
|
- <span>•</span>
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div className="flex items-center gap-3">
|
|
|
<div className="relative">
|
|
|
<Search className="absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground" />
|
|
|
- <Input
|
|
|
- placeholder="Rechercher..."
|
|
|
- value={searchQuery}
|
|
|
- onChange={e => onSearchChange(e.target.value)}
|
|
|
- className="pl-10 w-64"
|
|
|
- />
|
|
|
+ <Input placeholder="Rechercher..." value={searchQuery} onChange={e => onSearchChange(e.target.value)} className="pl-10 w-64" />
|
|
|
</div>
|
|
|
|
|
|
- {user ? (
|
|
|
- <>
|
|
|
+ {user ? <>
|
|
|
<Link to="/feeds">
|
|
|
<Button variant="outline" size="sm" className="gap-2">
|
|
|
<List className="h-4 w-4" />
|
|
|
@@ -87,20 +73,15 @@ const Header = ({
|
|
|
<LogOut className="h-4 w-4" />
|
|
|
</Button>
|
|
|
</div>
|
|
|
- </>
|
|
|
- ) : (
|
|
|
- <Link to="/auth">
|
|
|
+ </> : <Link to="/auth">
|
|
|
<Button variant="default" size="sm" className="gap-2">
|
|
|
<User className="h-4 w-4" />
|
|
|
Se connecter
|
|
|
</Button>
|
|
|
- </Link>
|
|
|
- )}
|
|
|
+ </Link>}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </header>
|
|
|
- );
|
|
|
+ </header>;
|
|
|
};
|
|
|
-
|
|
|
-export default Header;
|
|
|
+export default Header;
|