No description
  • Astro 69.2%
  • TypeScript 18.3%
  • CSS 11.7%
  • JavaScript 0.8%
Find a file
imnyang 96a43a9a3c feat(ui/ux): add timeline, hero, and NeoFetch components + data/hooks
- Add timeline route helper
  - src/app/timeline/route.ts
  - simple helper to navigate to #timeline

- Add NeoFetch component (client)
  - src/components/NeoFetch.tsx
  - Displays avatar iframe, uptime calculation, experience count, WakaTime stats, terminal/ip, locale and colour palette
  - Uses custom hooks useIpData and useWakaTimeData, and events data

- Add Top (hero) component (client)
  - src/components/Top.tsx
  - Full-screen hero with randomized background, parallax on mouse, device orientation & motion handlers, requestPermission trigger on image click
  - Includes Sidebar import and optimized Image usage

- Add Timeline UI component (client)
  - src/components/timeline.tsx
  - Year selector + filtered event list with links and icons
  - Handles initial selection and rendering grouped by year

- Add reusable Timeline primitives (client)
  - src/components/ui/timeline.tsx
  - Timeline context and composable parts: Timeline, TimelineItem, Indicator, Separator, Date, Title, Content, Header
  - Orientation support and controlled/uncontrolled API

- Add data & hooks
  - src/lib/events.ts
    - Seeded events array (education/awards/conference entries) used by timeline and NeoFetch
  - src/hooks/use-ip-data.ts
    - Fetches terminal/ip info from https://api.imnya.ng/ip
  - src/hooks/use-wakatime-data.ts
    - Fetches WakaTime summary from https://api.imnya.ng/wakatime

Notes:
- All new components are client-side ("use client")
- Adds device motion/orientation listeners with cleanup
- Provides basic error handling for network hooks
- Improves homepage/UX with interactive hero and timeline data visualization
2025-10-22 22:33:40 +09:00
public feat(ui/ux): add timeline, hero, and NeoFetch components + data/hooks 2025-10-22 22:33:40 +09:00
src feat(ui/ux): add timeline, hero, and NeoFetch components + data/hooks 2025-10-22 22:33:40 +09:00
.148 Update and rename .162 to .148 2025-03-31 17:01:07 +09:00
.gitignore feat(ui/ux): add timeline, hero, and NeoFetch components + data/hooks 2025-10-22 22:33:40 +09:00
biome.json Init NextJS 2025-09-28 14:52:22 +09:00
bun.lock feat(ui/ux): add timeline, hero, and NeoFetch components + data/hooks 2025-10-22 22:33:40 +09:00
components.json Init shadcn, Make Sidebar 2025-10-09 01:43:14 +09:00
next.config.ts feat(ui/ux): add timeline, hero, and NeoFetch components + data/hooks 2025-10-22 22:33:40 +09:00
package.json feat(ui/ux): add timeline, hero, and NeoFetch components + data/hooks 2025-10-22 22:33:40 +09:00
postcss.config.mjs Init NextJS 2025-09-28 14:52:22 +09:00
README.md Init NextJS 2025-09-28 14:52:22 +09:00
tsconfig.json Init NextJS 2025-09-28 14:52:22 +09:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.