Spaces:
Running
Running
Improve mobile UI
Browse files- Dockerfile +3 -3
- README.md +13 -2
- 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
|
| 23 |
-
EXPOSE
|
| 24 |
|
| 25 |
# Start server
|
| 26 |
-
CMD ["serve", "-s", "dist", "-l", "
|
|
|
|
| 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
|
| 104 |
```
|
| 105 |
|
| 106 |
-
You can see it in your web browser at http://localhost:
|
| 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
|
| 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>
|