-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathHome.jsx
More file actions
61 lines (58 loc) · 2.53 KB
/
Home.jsx
File metadata and controls
61 lines (58 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
* HOME DASHBOARD TODOs (Contribution Guide Snippet)
* -------------------------------------------------
* Easy:
* - [ ] Add welcome hero section with project intro & quick links
* - [ ] Add badges (Hacktoberfest, License, PRs welcome)
* - [ ] Animate cards on hover / entrance
* - [ ] Add search/filter field to quickly find dashboards
* - [ ] Add a footer with API attribution links
* Medium:
* - [ ] Convert dashboard list into data-driven config (shared file) and reuse across nav
* - [ ] Add category tags and filter by tag
* - [ ] Implement keyboard navigation & focus outlines
* - [ ] Add i18n foundation (e.g., en.json) + language switch placeholder
* - [ ] Persist recently visited dashboards (localStorage)
* Advanced:
* - [ ] Add analytics (open-source, self-hosted suggestion in docs only) for page views
* - [ ] Lazy-load pages (React.lazy + Suspense) with skeleton states
* - [ ] Implement global search across dashboards (typeahead)
* - [ ] Add offline cache for dashboard list
*/
import Card from '../components/Card.jsx';
import { Link } from 'react-router-dom';
import Header from './Header.jsx';
const dashboards = [
{ path: '/weather', title: 'Weather', desc: 'Current weather & forecast' },
{ path: '/crypto', title: 'Cryptocurrency', desc: 'Top coins & market data' },
{ path: '/space', title: 'Space & Astronomy', desc: 'ISS location & astronauts' },
{ path: '/movies', title: 'Movies', desc: 'Studio Ghibli films' },
{ path: '/recipes', title: 'Recipes', desc: 'Find meals & random ideas' },
{ path: '/trivia', title: 'Trivia Quiz', desc: 'Answer questions & score' },
{ path: '/jokes-quotes', title: 'Jokes & Quotes', desc: 'Random jokes & inspiration' },
{ path: '/pets', title: 'Pets Images', desc: 'Random dog & cat images' },
{ path: '/covid', title: 'COVID-19 Stats', desc: 'Global & country data' },
{ path: '/pokedex', title: 'Pokédex', desc: 'Explore Pokémon species' },
{ path: '/contributors', title: 'Contributor Wall', desc: 'Our Contributors' },
{ path: '/github-analyzer', title: 'GitHub Analyzer', desc: 'Analyze GitHub profiles with advanced stats' },
];
export default function Home() {
return (
<>
<Header/>
<div className="home-page">
<div className="grid">
{dashboards.map(d => (
<Card
key={d.path}
title={d.title}
footer={<Link to={d.path} className="card-link-button">Open →</Link>}
>
<p>{d.desc}</p>
</Card>
))}
</div>
</div>
</>
);
}