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