Skip to content

Commit 1bb353c

Browse files
message for no projects
1 parent ef02609 commit 1bb353c

File tree

4 files changed

+41
-33
lines changed

4 files changed

+41
-33
lines changed

.env.template

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ VITE_GH_OAUTH_CLIENT_ID=
33
VITE_REGISTRATIONS_OPEN=true
44
VITE_MID_EVALS_ENDED=false
55
VITE_END_EVALS_ENDED=false
6-
VITE_REPORT_SUBMISSION_OPEN=false
6+
VITE_REPORT_SUBMISSION_OPEN=false
7+
VITE_PROJECTS_STARTED=false

src/components/Navbar.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ const Navbar = () => {
5858
const location = useLocation();
5959
const [LINKS, setLINKS] = useState([
6060
{ name: "Home", link: ROUTER_PATHS.HOME, isActive: false },
61-
// { name: "Projects", link: ROUTER_PATHS.PROJECTS_LIST, isActive: false },
61+
{ name: "Projects", link: ROUTER_PATHS.PROJECTS_LIST, isActive: false },
6262
{ name: "FAQs", link: ROUTER_PATHS.FAQ, isActive: false },
6363
]);
6464
const [isOpen, setIsOpen] = useState(false);

src/pages/Projects.tsx

+37-31
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import Fuse from "fuse.js";
88
import SpinnerLoader from "../components/SpinnerLoader";
99
import { IconContext } from "react-icons";
1010
import "../styles/Projects.css";
11+
import { PROJECTS_STARTED } from "../util/constants";
1112

1213
function Projects() {
1314
const [projects, setProjects] = useState<
@@ -49,39 +50,44 @@ function Projects() {
4950
return (
5051
<div className="projects-container">
5152
<h1 className="projects-title">Projects</h1>
52-
<div className="search-container">
53-
<div className="search-bar">
54-
<input
55-
className="search-input"
56-
type="text"
57-
placeholder="Search for projects by name or topic"
58-
onChange={onQueryChangeHandler}
59-
value={query}
60-
/>
61-
{query !== "" && (
62-
<button onClick={() => setQuery("")} className="search-cancel">
63-
<IconContext.Provider value={{ size: "1.6rem" }}>
64-
<MdCancel />
65-
</IconContext.Provider>
66-
</button>
53+
{PROJECTS_STARTED ? (
54+
<>
55+
<div className="search-container">
56+
<div className="search-bar">
57+
<input
58+
className="search-input"
59+
type="text"
60+
placeholder="Search for projects by name or topic"
61+
onChange={onQueryChangeHandler}
62+
value={query}
63+
/>
64+
{query !== "" && (
65+
<button onClick={() => setQuery("")} className="search-cancel">
66+
<IconContext.Provider value={{ size: "1.6rem" }}>
67+
<MdCancel />
68+
</IconContext.Provider>
69+
</button>
70+
)}
71+
</div>
72+
</div>
73+
{error !== null ? (
74+
<p className="error-message">{error}</p>
75+
) : projects.length > 0 ? (
76+
<div className="projects-grid">
77+
{searchResults.map((project, i) => (
78+
<ProjectCard
79+
key={i}
80+
project={project}
81+
setQuery={(query) => setQuery(query)}
82+
/>
83+
))}
84+
</div>
85+
) : (
86+
<SpinnerLoader />
6787
)}
68-
</div>
69-
</div>
70-
71-
{error !== null ? (
72-
<p className="error-message">{error}</p>
73-
) : projects.length > 0 ? (
74-
<div className="projects-grid">
75-
{searchResults.map((project, i) => (
76-
<ProjectCard
77-
key={i}
78-
project={project}
79-
setQuery={(query) => setQuery(query)}
80-
/>
81-
))}
82-
</div>
88+
</>
8389
) : (
84-
<SpinnerLoader />
90+
<h2>Stay Tuned!</h2>
8591
)}
8692
</div>
8793
);

src/util/constants.ts

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export const MID_EVALS_ENDED = import.meta.env.VITE_MID_EVALS_ENDED == "true";
55
export const END_EVALS_ENDED = import.meta.env.VITE_END_EVALS_ENDED == "true";
66
export const REPORT_SUBMISSION_OPEN =
77
import.meta.env.VITE_REPORT_SUBMISSION_OPEN == "true";
8+
export const PROJECTS_STARTED = import.meta.env.VITE_PROJECTS_STARTED == "true";
89

910
export enum ROUTER_PATHS {
1011
HOME = "/",

0 commit comments

Comments
 (0)