huggingface/ai-deadlines
781
1import { Search } from "lucide-react";2import { Input } from "@/components/ui/input";3import { Link } from "react-router-dom";4import { CalendarDays } from "lucide-react";5 6interface HeaderProps {7 onSearch: (query: string) => void;8 showEmptyMessage?: boolean;9}10 11const Header = ({ onSearch, showEmptyMessage = false }: HeaderProps) => {12 return (13 <header className="bg-white border-b border-neutral-200">14 <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">15 <div className="flex flex-col md:flex-row md:items-center md:justify-between md:h-16 py-4 md:py-0 gap-4 md:gap-0">16 <div className="flex items-center justify-center md:justify-start w-full md:w-auto gap-8">17 <Link to="/" className="flex items-center gap-2">18 <img 19 src="https://huggingface.co/front/assets/huggingface_logo.svg" 20 alt="Hugging Face Logo" 21 className="h-8 w-8"22 />23 <span className="text-2xl font-bold text-primary">24 <span className="hidden md:inline">AI Conference Deadlines</span>25 <span className="md:hidden">AI Deadlines</span>26 </span>27 </Link>28 <nav className="hidden md:flex space-x-4">29 <Link30 to="/calendar"31 className="text-neutral-600 hover:text-primary flex items-center gap-2"32 >33 <CalendarDays className="h-5 w-5" />34 Calendar35 </Link>36 </nav>37 </div>38 <div className="w-full md:max-w-lg lg:max-w-xs">39 <div className="relative">40 <div className="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">41 <Search className="h-5 w-5 text-neutral-400" />42 </div>43 <Input44 type="search"45 placeholder="Search conferences..."46 className="pl-10 w-full"47 onChange={(e) => onSearch(e.target.value)}48 />49 </div>50 </div>51 </div>52 {showEmptyMessage && (53 <div className="max-w-4xl mx-auto mt-2 mb-0 text-center">54 <p className="text-sm bg-amber-50 text-amber-800 py-2 px-4 rounded-md inline-block">55 There are no upcoming conferences for the selected categories - enable "Show past conferences" to see previous ones56 </p>57 </div>58 )}59 <div className="max-w-4xl mx-auto text-center">60 <p className="text-sm text-neutral-600 py-4">61 Countdowns to top CV/NLP/ML/Robotics/AI conference deadlines. To add/edit a conference, send in a{' '}62 <a 63 href="https://github.com/huggingface/ai-deadlines"64 target="_blank"65 rel="noopener noreferrer"66 className="text-primary hover:underline"67 >68 pull request69 </a>.70 <br />71 P.S. Is your paper already on Arxiv? Feel free to{' '}72 <a73 href="https://hf.co/papers/submit"74 target="_blank"75 rel="noopener noreferrer"76 className="text-primary hover:underline"77 >78 submit79 </a>80 {' '}it to{' '}81 <a82 href="https://hf.co/papers"83 target="_blank"84 rel="noopener noreferrer"85 className="text-primary hover:underline"86 >87 hf.co/papers88 </a>89 {' '}and upload your artifacts such as{' '}90 <a91 href="https://huggingface.co/docs/hub/en/models-uploading"92 target="_blank"93 rel="noopener noreferrer"94 className="text-primary hover:underline"95 >96 models97 </a>98 {', '}99 <a100 href="https://huggingface.co/docs/datasets/loading"101 target="_blank"102 rel="noopener noreferrer"103 className="text-primary hover:underline"104 >105 datasets106 </a>107 {' '}and{' '}108 <a109 href="https://huggingface.co/docs/hub/en/spaces-sdks-gradio"110 target="_blank"111 rel="noopener noreferrer"112 className="text-primary hover:underline"113 >114 demos115 </a>116 </p>117 </div>118 </div>119 </header>120 );121};122 123export default Header;124 