CoolFace
Apppublic

huggingface/ai-deadlines

sourceHugging Faceupdated 3d agoView on Hugging Face
781likes
Header.tsx124 linesDownload Raw Back to components
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