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
ssbg04
ba2f24b6f7
fix featured for projects and certifications at their pages
2026-09-23 12:34:40 +08:00
ssbg04
f26959a77f
fix featured for projects and certifications
2026-09-23 12:11:43 +08:00
ssbg04
aabbe7e98d
removed: todo and agent md
2026-09-22 21:54:18 +08:00
ssbg04
ec8b9da1ea
removed: todo and agent md
2026-09-22 21:52:55 +08:00
ssbg04
bbb392576a
update: from SSR to Hybrid SSR/SSG
2026-09-22 19:33:58 +08:00
ssbg04
cc876b9159
Merge branch 'main' of https://github.com/ssbg04/Portfolioo
2026-09-22 19:05:09 +08:00
ssbg04
422fd9fd25
fix fontawesome icons
2026-09-22 19:03:51 +08:00
ssbg04
6dd8fb8703
Stop tracking sripts folder
2026-09-22 18:16:08 +08:00
ssbg04
d723fe1854
improve SEO
2026-09-22 18:04:34 +08:00
ssbg04
89a1752f1f
improve SEO
2026-09-22 17:59:30 +08:00
ssbg04
825a74f795
improve SEO
2026-09-22 17:40:56 +08:00
ssbg04
e3a646e3d0
add: bingapi
2026-09-22 17:08:57 +08:00
ssbg04
c228fff265
Fix mobile navbar disappearing issue and optimize image loading across all pages
...
- Fix: Removed undefined checkLite function in ControlsDropdown causing navbar to crash on menu close
- Fix: Add justClosedDrawerRef to prevent navbar auto-hide after closing mobile menu
- Optimize: Add loading and fetchPriority attributes to all images across components
- Optimize: Eagerly load above-the-fold images (gallery first 3, certifications first 1+2 badges)
- Optimize: Lazy load below-the-fold images with proper decoding async
- Improve: Better LCP performance and bandwidth usage across gallery, projects, and certifications pages
2026-09-20 20:04:44 +08:00
ssbg04
b1af4331fe
feat: redesign portfolio into neo-brutalism design system
...
- adopt authentic neo-brutalist typography (Space Grotesk, Plus Jakarta Sans, Space Mono)
- default theme to light mode and remove lite mode/data saver
- redesign certification preview and fullscreen lightbox modals with frosted backdrop blur
- redesign photo gallery preview modal and grid into neo-brutalism
- update scroll animations to trigger at 1/4 bottom of viewport
- add spring pop-up entry and sticker slap animations to hero profile image
- overhaul section backgrounds and components into neo-brutalist cards and shadows
2026-09-20 00:52:16 +08:00
ssbg04
f24ba80cd0
feat(mobile): hide navbar and portfolio assistant button on scroll down, reveal on scroll up
...
- Mobile navbar slides out of view on scroll down and reveals on scroll up
- Portfolio assistant FAB slides down on mobile scroll down and reveals on scroll up
- Keep elements visible when drawer or chat window is open
- Reset visibility on ClientRouter page transitions
2026-09-13 22:50:10 +08:00
ssbg04
000a45f0f9
feat(ui): redesign navbar & footer glassmorphism, center spotify modal, and polish responsive layouts
...
- Redesign navbar and footer with modern glassmorphism styling
- Remove icons and monogram avatars from navigation links for clean typography
- Render Spotify modal via portal to ensure centered viewport positioning
- Fix navbar background handling at top scroll positions
- Optimize responsive spacing across all pages and update documentation
2026-09-13 22:37:09 +08:00
ssbg04
29017e84ba
feat(nav): smooth page transitions, icon-free navigation, cross-page ultra-fast persistence, and optimized glassmorphism
2026-09-13 17:16:56 +08:00
ssbg04
164e3a6bbc
fix(ui): tighten projects title spacing, improve gallery description readability, and make cert modal responsive
2026-09-13 15:37:28 +08:00
ssbg04
52cb837c28
feat(ui): update mobile nav full-screen drawer, links responsive layout, and gallery modal controls
2026-09-13 15:19:02 +08:00
ssbg04
6365b59a14
feat(mobile): hide 3D background objects and auto-activate gyroscope tilt without background tap
...
- Hide 3D floating section objects on mobile viewport to prevent clutter behind cards
- Immediately attach deviceorientation on mount for Android (0 taps needed)
- Capture iOS device orientation permission on any touch/scroll/click with capture: true
2026-09-13 14:49:40 +08:00
ssbg04
5a46a00827
feat(mobile): add gyroscope background parallax tilt and tighten hero top spacing
...
- Add DeviceOrientationEvent tilt to 3D wave mesh, section models, and dot grid on mobile
- Adjust mobile hero layout to eliminate excessive top whitespace below navbar
2026-09-13 14:09:21 +08:00
ssbg04
2b729fb213
feat(skills): update preview limit to 12 and deduplicate count label
...
- Set homepage skills limit to 12 for balanced grid rows across all viewports
- Remove redundant count from header when limited, showing count once in card footer
- Update TODO.md
2026-09-13 13:58:44 +08:00
ssbg04
1724aab396
feat(ui): refine navbar, settings modal, section headers, and mobile responsiveness
...
- Remove section numbering prefixes and duplicate title tags across all sections
- Update Navbar brand to name only and animate hamburger button to 'X' icon
- Refactor settings modal to body portal with system theme detection
- Compact mobile badge cards into 2-column grid and simplify active nav indicators
2026-09-13 13:44:43 +08:00
ssbg04
b6d26fcc42
feat(contact): implement Zoho SMTP with Nodemailer and 2 emails/day rate limit
2026-09-13 10:48:49 +08:00
ssbg04
39e2e6514f
feat(ui): remove duplicate project action buttons and calibrate 3d wave background
2026-09-12 22:07:40 +08:00
ssbg04
64cc41e919
feat(projects): update project links to showcase page and redesign dedicated project layout
2026-09-12 20:41:36 +08:00
ssbg04
363fa64faf
feat(cv): add simple in-page modal, fix cross-origin download, and resolve hydration warnings
2026-09-12 15:41:52 +08:00
ssbg04
b2a5ef1a31
feat(ui): simplify skills display and fix contact heading and static labels
2026-09-12 13:38:54 +08:00
ssbg04
5f2593db2a
feat(ui): implement ultra-fast retro standard css design mode
2026-09-12 13:20:23 +08:00
ssbg04
325bddb528
feat(github): make contributions matrix responsive full width with mobile horizontal scroll
2026-09-12 10:42:16 +08:00
ssbg04
43293f2284
feat(ui): redesign cursor to single fluid ring and default magnifier off
2026-09-08 09:39:15 +08:00
ssbg04
ae76389178
feat(about): add local time/weather and remove unused components
2026-09-08 09:26:56 +08:00
ssbg04
286ec847fc
feat(about): move github contributions from footer to about section
2026-09-08 09:07:34 +08:00
ssbg04
d30e15f3b9
feat: polish sections, optimize widgets, and fix chat assistant
2026-09-08 08:59:00 +08:00
ssbg04
bb98eabbde
feat: fix lite mode reload blank sections, align mobile glass UI with PC, and add stutter/lag detection prompt
2026-09-08 00:02:27 +08:00
ssbg04
988d3089f0
fix(background): resolve WebGL shader crash and implement section-linked 3D reveal with static hero
2026-09-07 23:34:05 +08:00
ssbg04
1ec00327ac
feat(background): add 3D Blender-style cybernetic constellation with scroll-down zoom animation
2026-09-07 22:53:21 +08:00
ssbg04
ec1fa185df
feat(home): reorder sections and remove skill proficiency percentages
2026-09-07 20:49:52 +08:00
ssbg04
dd3bfac6f0
fix(certifications): fix mobile picture zoom/drag review modal and remove dummy credentials
2026-09-07 01:03:48 +08:00
ssbg04
ee7652ff09
feat: redesign spotify vinyl sleeve widget, add cert zoom modal & github contributions api
2026-09-06 23:34:39 +08:00
ssbg04
d5f5d96565
feat: default lite mode off, mobile magnifier, assistant anti-spam & footer github contributions with spotify modal
2026-09-06 23:15:40 +08:00
ssbg04
c97e37cdad
Update & Commented: sitemap.xml
2026-09-05 11:22:15 +08:00
ssbg04
020221349e
feat(testimonials): remove mock testimonials and add empty state note
2026-09-05 10:59:36 +08:00
ssbg04
92cff2878e
feat(projects): redesign projects section with split modal & 5-item homepage limit
2026-09-05 10:49:37 +08:00
ssbg04
5824716e9c
chore: untrack sanity-studio
2026-09-04 00:56:32 +08:00
ssbg04
ef5d35dbf4
feat(pwa): add offline support, network-first service worker, web manifest & e-business card mode
2026-09-04 00:49:17 +08:00
ssbg04
d8bc9f9f52
feat: implement ultra-fast alternate design for save-data, slow internet & manual lite mode
2026-09-04 00:40:00 +08:00
ssbg04
5d90407a41
fix(background): resolve landscape right-side collision, tailor portrait layout & increase mouse travel
2026-09-04 00:32:11 +08:00
ssbg04
3b7425c5b6
fix: resolve certifications visibility with referrerPolicy, merge sanity certs, and refine non-colliding zoom parallax
2026-09-04 00:18:01 +08:00
ssbg04
408f968e96
fix: use named createImageUrlBuilder from @sanity/image-url, make background parallax vibrant and clearly visible
2026-09-03 23:47:49 +08:00
ssbg04
a38e3b3e98
feat: implement multi-layer background parallax and mobile haptic vibration feedback
2026-09-03 23:41:08 +08:00
ssbg04
fc0e320532
del: lightrays
2026-09-03 23:33:14 +08:00
ssbg04
83aef0ec24
chore: update brand logo & favicon, remove unused favicon.svg, sync TODO.md
2026-09-03 23:26:57 +08:00