nielsr HF staff commited on
Commit
918ac24
·
1 Parent(s): d763431

Improve mobile UI

Browse files
Files changed (3) hide show
  1. Dockerfile +3 -3
  2. README.md +13 -2
  3. src/components/Header.tsx +6 -5
Dockerfile CHANGED
@@ -19,8 +19,8 @@ RUN npm run build
19
  # Install serve
20
  RUN npm install -g serve
21
 
22
- # Expose port 7860 (default for Hugging Face Spaces)
23
- EXPOSE 7860
24
 
25
  # Start server
26
- CMD ["serve", "-s", "dist", "-l", "7860"]
 
19
  # Install serve
20
  RUN npm install -g serve
21
 
22
+ # Expose port 8080
23
+ EXPOSE 8080
24
 
25
  # Start server
26
+ CMD ["serve", "-s", "dist", "-l", "8080"]
README.md CHANGED
@@ -5,6 +5,7 @@ colorFrom: gray
5
  colorTo: blue
6
  sdk: docker
7
  pinned: false
 
8
  ---
9
 
10
  # AI Conference Deadlines
@@ -100,10 +101,10 @@ docker build -t ai-deadlines .
100
  Next it can be run as follows:
101
 
102
  ```bash
103
- docker run -it -p 7860:7860 ai-deadlines
104
  ```
105
 
106
- You can see it in your web browser at http://localhost:7860/.
107
 
108
  ## Technologies used
109
 
@@ -115,6 +116,16 @@ This project is built with:
115
  - shadcn-ui
116
  - Tailwind CSS
117
 
 
 
 
 
 
 
 
 
 
 
118
  ## License
119
 
120
  This project is licensed under [MIT](LICENSE).
 
5
  colorTo: blue
6
  sdk: docker
7
  pinned: false
8
+ app_port: 8080
9
  ---
10
 
11
  # AI Conference Deadlines
 
101
  Next it can be run as follows:
102
 
103
  ```bash
104
+ docker run -it -p 8080:8080 ai-deadlines
105
  ```
106
 
107
+ You can see it in your web browser at http://localhost:8080/.
108
 
109
  ## Technologies used
110
 
 
116
  - shadcn-ui
117
  - Tailwind CSS
118
 
119
+ ## Deploy on the cloud
120
+
121
+ One way to deploy this on a cloud is by using [Artifact Registry](https://cloud.google.com/artifact-registry/docs) (for hosting the Docker image) and [Cloud Run](https://cloud.google.com/run?hl=en) (a serverless service by Google to run Docker containers). Make sure to have the [gcloud SDK installed](https://cloud.google.com/sdk/docs/install). To deploy, simply run:
122
+
123
+ ```bash
124
+ gcloud auth login
125
+ gcloud auth application-default login
126
+ gcloud run deploy --source .
127
+ ```
128
+
129
  ## License
130
 
131
  This project is licensed under [MIT](LICENSE).
src/components/Header.tsx CHANGED
@@ -12,8 +12,8 @@ const 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 items-center justify-between h-16">
16
- <div className="flex items-center gap-8">
17
  <Link to="/" className="flex items-center gap-2">
18
  <img
19
  src="https://huggingface.co/front/assets/huggingface_logo.svg"
@@ -21,7 +21,8 @@ const Header = ({ onSearch, showEmptyMessage = false }: HeaderProps) => {
21
  className="h-8 w-8"
22
  />
23
  <span className="text-2xl font-bold text-primary">
24
- AI Conference Deadlines
 
25
  </span>
26
  </Link>
27
  <nav className="hidden md:flex space-x-4">
@@ -34,7 +35,7 @@ const Header = ({ onSearch, showEmptyMessage = false }: HeaderProps) => {
34
  </Link>
35
  </nav>
36
  </div>
37
- <div className="max-w-lg w-full lg:max-w-xs">
38
  <div className="relative">
39
  <div className="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
40
  <Search className="h-5 w-5 text-neutral-400" />
@@ -42,7 +43,7 @@ const Header = ({ onSearch, showEmptyMessage = false }: HeaderProps) => {
42
  <Input
43
  type="search"
44
  placeholder="Search conferences..."
45
- className="pl-10"
46
  onChange={(e) => onSearch(e.target.value)}
47
  />
48
  </div>
 
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"
 
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">
 
35
  </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" />
 
43
  <Input
44
  type="search"
45
  placeholder="Search conferences..."
46
+ className="pl-10 w-full"
47
  onChange={(e) => onSearch(e.target.value)}
48
  />
49
  </div>