Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Canonical documentation: **[README.md](README.md)** (setup, routes, APIs, env, C
| **Client polling** | `app/hooks/use-now-playing.ts` — polls every **10s** (`cache: "no-store"`) |
| **GitHub** | `GET /api/github/contributions` — GraphQL calendar endpoint; hand-maintained course/personal lists merge descriptions, topics, stars, and archive state from GitHub |
| **Weather** | `app/lib/weather.ts` fetches Open-Meteo for home SSR; `GET /api/weather` mirrors it; `berkeley-time.tsx` renders local time |
| **Home UI** | Identity + Email/GitHub/LinkedIn/X links; **Listening** / server-rendered **Location** cards; **PageToc** (Kai T. Chen, Greeting, Contact, Listening, Location) |
| **Home UI** | Identity + Email/GitHub links; **Listening** / server-rendered **Location** cards; **PageToc** (Kai T. Chen, Greeting, Contact, Listening, Location) |
| **Music for Life** | `/music-for-life` — curated Spotify playlists ([`MUSIC_FOR_LIFE_BASE`](lib/spotify-playlists.ts)); `[id]` detail; `/map` Mapbox viewer; old `/playlists` → 301 redirect |
| **Page TOC** | [`page-toc.tsx`](app/components/page-toc.tsx) + [`toc-section.tsx`](app/components/toc-section.tsx) — fixed right rail on `/`, `/about`, `/projects`, `/misc`, `/music-for-life` (not map); auto `.mag-label` + explicit `TocSection` |
| **Course Projects** | `app/lib/course-projects.ts` — Kai Course Notes entry backed by GitHub metadata; Oxford DUL remains at `/projects/oxford-dul-2025` |
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ kaichen.dev/

| Route | What it does |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `/` | Identity; Email, GitHub, LinkedIn, and X social links; **Listening** + server-rendered **Location** cards; **PageToc** (Kai T. Chen, Greeting, Contact, Listening, Location) |
| `/` | Identity; Email and GitHub social links; **Listening** + server-rendered **Location** cards; **PageToc** (Kai T. Chen, Greeting, Contact, Listening, Location) |
| `/about` | Personality, education (incl. Oxford → portfolio link), Focus, experience, volunteering |
| `/projects` | Separate **Course Projects** and **Personal Projects** list cards; descriptions, topics, stars, and archive state merge from GitHub with local fallbacks |
| `/projects/oxford-dul-2025` | Oxford **Deep Unsupervised Learning** landing — overview, learning path, 6 project cards, academic record |
Expand Down Expand Up @@ -612,7 +612,7 @@ kaichen.dev/

| 路由 | 功能 |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/` | 身份;Email、GitHub、LinkedIn、X 社交链接;**Listening** / 服务端渲染的 **Location**;PageToc = Kai T. Chen、Greeting、Contact、Listening、Location |
| `/` | 身份;Email、GitHub 社交链接;**Listening** / 服务端渲染的 **Location**;PageToc = Kai T. Chen、Greeting、Contact、Listening、Location |
| `/about` | 性格、教育(含牛津作品集链接)、Focus、经历、志愿 |
| `/projects` | 独立的 Course Projects 与 Personal Projects 列表卡片;说明、topics、star 与 archived 状态从 GitHub 合并,并保留本地 fallback |
| `/projects/oxford-dul-2025` | 牛津 **Deep Unsupervised Learning** 落地页 |
Expand Down
26 changes: 1 addition & 25 deletions app/components/home-social-links.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import type { ReactNode } from "react";
import HoverTip from "./hover-tip";

type SocialBrand = "email" | "github" | "x" | "linkedin";
type SocialBrand = "email" | "github";

const SOCIAL_LINKS: Array<{
/** Omit to render a non-navigating button (tip-only, e.g. Email) */
Expand Down Expand Up @@ -39,30 +39,6 @@ const SOCIAL_LINKS: Array<{
</svg>
),
},
{
href: "https://linkedin.com/in/kaiiiichen",
label: "LinkedIn",
ariaLabel: "LinkedIn",
brand: "linkedin",
external: true,
icon: (
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden>
<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" />
</svg>
),
},
{
href: "https://x.com/kaichen37",
label: "X",
ariaLabel: "X (Twitter)",
brand: "x",
external: true,
icon: (
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden>
<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24h-6.657l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" />
</svg>
),
},
];

export default function HomeSocialLinks() {
Expand Down
8 changes: 2 additions & 6 deletions app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -501,13 +501,9 @@ button.mag-chip:disabled {
transform: translateY(-2px) rotate(-6deg);
}
.home-social-link--email:hover,
.home-social-link--github:hover,
.home-social-link--x:hover,
.home-social-link--linkedin:hover { color: var(--link-hover-color); }
.home-social-link--github:hover { color: var(--link-hover-color); }
.dark .home-social-link--email:hover,
.dark .home-social-link--github:hover,
.dark .home-social-link--x:hover,
.dark .home-social-link--linkedin:hover { color: var(--link-hover-color); }
.dark .home-social-link--github:hover { color: var(--link-hover-color); }
.home-social-link svg {
width: 1.75rem;
height: 1.75rem;
Expand Down
1 change: 0 additions & 1 deletion app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ const PERSON_JSON_LD = {
],
sameAs: [
"https://github.com/kaiiiichen",
"https://linkedin.com/in/kaiiiichen",
"https://open.spotify.com/user/31xktcnl7hl34lu4windhu5uwji4",
],
} as const;
Expand Down