201 Commits
Author SHA1 Message Date
ssbg04 a169dc7d7d feat(links): redesign links directory to bryl-minimal aesthetic and add auto theme detection
- Redesign links page to clean 34rem narrow measure bryl-minimal layout
- Add automatic system theme detection (prefers-color-scheme) with live adaptation
- Add interactive theme toggle pill (Auto / Light / Dark) in the top navigation bar
- Display natural color day/night portraits, Geist Pixel typography, and clean bryl-cards
- Update navbar item ordering in Navbar.tsx
2026-10-23 00:57:19 +08:00
ssbg04 b7723b11d9 feat: redesign portfolio to bryl-minimal aesthetic and refine mobile/desktop UX
- Default theme to system mode with live OS color-scheme detection
- Fix custom dot-matrix sprite cursor for light/dark modes
- Preserve natural color portraits across all views
- Improve mobile hero layout with responsive portrait and Geist Pixel typography
- Add subtle color tint to perimeter background dots while keeping reading content clear
- Center certificate modal via createPortal and make verify button theme-responsive
- Make settings controls (magnifier toggle, lens button, zoom levels) theme-responsive
- Remove flagship badge and deep-dive technical sections from TIS-RMS case study
2026-10-23 00:50:38 +08:00
ssbg04 33a3f997e6 fix(seo): add HSTS headers, clean crawler directives, and exclude /links from sitemap 2026-10-22 23:16:44 +08:00
ssbg04 3c0654e030 fix(seo): block gallery from image indexing and remove facebook/tiktok from hero 2026-10-22 02:02:48 +08:00
ssbg04 974863e237 feat: revamp portfolio projects, skills, and nav
Upgrade project case studies to accurate stack, group skills into 5 domains, streamline homepage hierarchy, and fix mobile navigation.
2026-10-22 01:47:35 +08:00
ssbg04 5e5010c06c feat(analytics): add global background visitor geo telemetry to Layout 2026-10-22 01:08:40 +08:00
ssbg04 7852c64a26 fix(routing): eliminate redirect loop on links subdomain rewrite 2026-10-22 01:02:33 +08:00
ssbg04 a628246e0b feat(routing): route links page to links.crischarles.com subdomain 2026-10-22 00:49:38 +08:00
ssbg04 c3f9ab43ab feat(map): generate mathematically accurate 100x50 world dot matrix and align country pinpoint coordinates 2026-10-18 22:12:40 +08:00
ssbg04 eb09f43454 fix(map): add mobile pinch-to-zoom, counter-scale tooltips when zoomed in, and responsive mobile pinpoint card 2026-10-18 21:32:22 +08:00
ssbg04 fe5c4be198 feat(map): match world map fullscreen expand with photo gallery lightbox modal 2026-10-18 21:16:17 +08:00
ssbg04 05ccd4d81f feat(live-chat): enable instant 1-2s Telegram direct sync to eliminate 60s KV delay 2026-10-18 20:55:48 +08:00
ssbg04 316708130f chore(config): add wrangler.jsonc with explicit GEO_KV, SESSION, and IMAGES bindings 2026-10-18 20:42:40 +08:00
ssbg04 1bbff1c85c fix: declare GEO_KV binding in wrangler.json, fix service worker caching of API routes, and eliminate TypeError on blocked analytics 2026-10-18 20:40:00 +08:00
ssbg04 f1ff5e7073 fix(live-chat): enable KV persistence for live chat and auto-register Telegram webhook for instant two-way replies 2026-10-18 20:30:55 +08:00
ssbg04 63fe7eb717 fix(geo): import env from cloudflare:workers for KV binding and add storage telemetry indicator 2026-10-18 20:24:13 +08:00
ssbg04 0f514c3079 fix(geo): enhance GEO_KV resolution for Cloudflare Pages bindings 2026-10-18 20:05:22 +08:00
ssbg04 30b4764d5c fix(world-map): remove mock visitor data, adapt expanded modal to active theme, full viewport expansion, and fix dot hover readability 2026-10-18 19:57:47 +08:00
ssbg04 a0c2ccd1b7 fix: resolve Astro v6 runtime.env error and fix live visitor tracking 2026-10-18 19:47:27 +08:00
ssbg04 6d36b8ed29 feat: enable Cloudflare KV persistent storage support for visitor world map 2026-10-18 19:38:10 +08:00
ssbg04 963e4ac6b4 fix: confine chat auto-scroll to messages container to prevent window jump 2026-10-18 19:34:56 +08:00
ssbg04 b0c10dc389 feat: rebalance contact layout with full-width world map and war-room fullscreen modal 2026-10-18 19:31:54 +08:00
ssbg04 234c52739a feat: refine telemetry skeletons, badge tags, photo album clustering, and mobile FAB layout 2026-10-18 19:24:52 +08:00
ssbg04 20f61a0429 feat: streamline homepage executive dashboard and add interactive architecture diagram for TIS-RMS 2026-10-18 19:12:26 +08:00
ssbg04 f9a5f018c5 feat: complete dot-matrix landmass bitmask and fix telegram reply routing 2026-10-18 19:03:52 +08:00
ssbg04 75617ae49b fix: merge incoming live chat replies using map deduplication and reduce polling interval to 2.5s 2026-10-18 13:31:18 +08:00
ssbg04 7d270a63e3 fix: resolve 500 error by removing Astro.locals.runtime.env and switch to robust HTML parsing for telegram dispatch 2026-10-18 13:22:47 +08:00
ssbg04 21058cc9b2 fix: support cloudflare locals.runtime.env bindings and add telegram error telemetry in live-chat 2026-10-18 13:20:01 +08:00
ssbg04 a73c2aa8e5 feat: add telegram webhook handler to receive phone replies and push to visitor chat 2026-10-18 13:16:49 +08:00
ssbg04 1941064933 feat: add interactive visitor world map and telegram live chat on contact page 2026-10-18 13:05:06 +08:00
ssbg04 a1102a2e4d feat: harmonize mobile drawer active tab design with tech indicator dot and badge 2026-10-18 12:49:19 +08:00
ssbg04 ac2b366fd5 fix: lock background scroll and isolate touch gestures when certification modal is active 2026-10-18 12:47:49 +08:00
ssbg04 e164d80f75 fix: relocate certification modal close button to dedicated header bar to prevent overlap with image preview on mobile 2026-10-18 12:46:20 +08:00
ssbg04 17af7449ec feat: update desktop sidebar active tab with tech indicator dot and replace duplicate contact button with CV CTA 2026-10-18 12:42:45 +08:00
ssbg04 242864bd66 fix: improve light mode scrollbar visibility and hide custom cursor on text inputs 2026-10-18 12:39:17 +08:00
ssbg04 f9863e156a fix: sync emnapi dependencies in package.json and lockfile for cloudflare npm ci 2026-10-18 12:24:53 +08:00
ssbg04 81d58814f7 fix(deps): sync @emnapi/runtime dependency in package-lock for Cloudflare Pages npm ci 2026-10-18 12:17:05 +08:00
ssbg04 c1edea07ce feat(deploy): migrate to Cloudflare Pages, integrate Resend email API, and optimize contact form 2026-10-18 12:10:16 +08:00
ssbg04 c3ad31f28b perf(core): self-host fonts, eliminate Google Fonts CDN, defer API fetches, and convert utility islands to zero-JS 2026-10-18 11:15:58 +08:00
ssbg04 19b4f11fc9 refactor(links,tech-stack): pure fontawesome svg icons and streamline links directory 2026-10-18 10:48:32 +08:00
ssbg04 585b76137e feat: integrate FontAwesome React SVG v7 for techstack icons
- Install @fortawesome/react-fontawesome, @fortawesome/fontawesome-svg-core, @fortawesome/free-brands-svg-icons, and @fortawesome/free-solid-svg-icons
- Map Sanity IO skills and FontAwesome classes to tree-shaken <FontAwesomeIcon /> SVGs
- Fix icon precedence ensuring Tailwind CSS renders official faTailwindCss
- Support official vector fallbacks for modern platforms (Vercel, Netlify, Render, GCP)
2026-10-18 10:27:53 +08:00
ssbg04 c4caf4c13d perf: optimize page speed, accessibility, and activity chart
- Replace FontAwesome CDN with lightweight SVG TechIcon component (-317 KiB payload)
- Load Google Fonts asynchronously with preload and media=print to unblock render
- Add cdn.sanity.io preconnect for faster LCP image discovery
- Convert Hero to static server-rendered HTML and balance CTA button size
- Replace 480-node DOM contribution grid with lightweight SVG Activity Sparkline
- Use GPU-composited scaleY for Footer sound wave bars to prevent layout thrashing
- Fix accessibility: viewport zooming, ARIA list/listitem, link labels, and color contrast
- Cache and defer weather API calls using requestIdleCallback
2026-10-18 09:39:54 +08:00
ssbg04 5f3604bd2a perf: optimize mobile LCP, image delivery, font loading, and client hydration 2026-10-17 06:47:44 +08:00
ssbg04 383161ce78 feat: add dot matrix cursor, optimize theme switching, and fix hover performance 2026-10-16 20:04:28 +08:00
ssbg04 ce1135dd65 feat: optimize performance, add AMOLED theme, dot-matrix font, and fix tis-rms 301 redirect 2026-10-16 16:45:26 +08:00
ssbg04 afe834317b fix(seo): resolve Google Search Console indexing, canonical, heading, and redirect issues 2026-10-16 12:29:32 +08:00
ssbg04 39677e0e88 feat(seo): add SiteNavigationElement schema and optimize Google Sitelinks metadata 2026-09-27 02:27:21 +08:00
Cris Charles e12839f8a0 Update projects.astro 2026-09-24 06:04:47 +08:00
Cris Charles 2fd31e973d Add sitemap link to Layout.astro 2026-09-24 05:48:13 +08:00
Cris Charles ac92336803 Delete public/sitemap.xml 2026-09-24 05:16:00 +08:00