fix(pages): restore doc-download icon color for Docs page (#256)

* feat(pages): redesign landing page UI with i18n support

- Redesign all sections based on design file: Navbar, Hero, Highlights, UseCases, Features, Benchmark, QuickStart, Footer
- Add scroll fade-in animation with IntersectionObserver
- Implement full i18n (English/Chinese) with language toggle button
- Add SVG icons and image assets
- Style refinements: table borders, step containers, button styles, spacing

* feat(pages): redesign Docs page with i18n, responsive sidebar, and aligned copy interaction

- Redesign DocsPage UI based on reference HTML design
- Add i18n support for all Docs content (en/zh/ja)
- Fix right sidebar CONTENTS nav with fixed positioning
- Add container backgrounds (4% opacity, 16% border)
- Hide CONTENTS sidebar on mobile instead of alternative UI
- Align copy icon and toast interaction with QuickStart section
- Add new SVG icon assets for docs page
- Add Japanese language support
- Add ColorBends animated background component
- Add responsive hooks and FadeInSection animation
- Add Benchmark, Features, QuickStart standalone pages
- Update Navbar, Footer, and LandingPage components

* refactor: cleanup design drafts, rename Chinese assets, UI improvements

- Remove unused design draft folders (html-files, html-files (1), inpt, doc)
- Rename Chinese-named image files (容器-4_*.svg → provider-*.svg)
- Add language switcher icon to Navbar with dynamic character display
- Align Footer padding with Navbar (32px desktop, 16px mobile)
- Fix CONTENTS sidebar position on wide screens
- Add i18n support for Docs CONTENTS title
- Fix clipboard copy fallback for HTTP/LAN environments
- Adjust Toast padding, benchmark medal sizes
- Swap highlight stats positions (Adoption Rate ↔ Active Users)
- Update stat4 value to 25.10% and stat5 caption to Battle-tested
- Unify Hero buttons size with Navbar Get Started button

* refactor: rename icon assets with semantic English names and cleanup unused files

- Rename all svg_*.svg icons to semantic names based on usage context:
  - icon-feature-*.svg for feature section icons
  - icon-usecase-*.svg for use case section icons
  - icon-chevron-*.svg, icon-copy.svg, icon-play.svg for UI controls
  - icon-github.svg, icon-language.svg, icon-sort.svg, icon-terminal-prompt.svg
- Remove unused assets: 5 unreferenced svg icons, image_9e7821.png, provider-8.svg
- Remove debug screenshots: debug-screenshot.png, debug-wide.png
- Remove .vsix build artifact and add *.vsix to .gitignore
- Update all import paths in components accordingly

* fix: address PR review feedback - bugs and improvements

- Fix copy-paste bug: step3Label1 had wrong text in all 3 languages
  - en: 'Interactive Setup (Recommended)' → 'Review Commands'
  - zh: '交互式设置(推荐)' → '运行审查命令'
  - ja: '対話式セットアップ(推奨)' → 'レビュー実行'
- Fix inconsistent indentation (4 spaces → 2 spaces) in i18n files
- Add .catch() handler for navigator.clipboard.writeText() in QuickStartSection
- Check document.execCommand('copy') return value before showing toast
- Extract fallbackCopy helper to deduplicate clipboard logic
- Remove unused useCallback import from HighlightsSection
- Move @types/three from dependencies to devDependencies
- Add i18n key 'hero.terminal' for hardcoded Terminal label

* fix: revert vscode .gitignore change and remove duplicate root SVGs

- Revert extensions/vscode/.gitignore to upstream state (remove *.vsix rule)
- Remove root-level brandicon.svg, claude code icon.svg, codex icon.svg
  (identical copies already exist in pages/src/assets/images/ with proper names)

* fix: reorder highlights stats to match design reference

- Reorder stats: 20K+ Active Users → > 30% Adoption Rate → 1M+ Tasks → 1/9 Token Cost → 25.10% AACR-BENCH
- Update stat1 value from 30K+ to 20K+
- Sync all three languages (en/zh/ja)

* chore: remove unused debug screenshots

* chore: remove unused image_9e7821.png

* feat(pages): consolidate icons, add scroll-to-top, responsive titles

- Merge provider-1~7.svg into single icon-ocr-source.svg
- Add ScrollToTop component for tab navigation reset
- Add tablet breakpoint (36px) to section titles for responsive scaling

* refactor(pages): extract shared responsive title hook, fix indentation

- Create useSectionTitleStyle hook to eliminate nested ternaries
- Replace duplicated responsive logic in 4 section components
- Fix fragment children indentation in App.tsx

Addresses code review feedback from PR #241

* feat(pages): add install badge with shimmer effect and copy functionality

- Add install badge above hero title with download/copy icons
- Implement text shimmer animation (left-to-right, 5s cycle)
- Add clipboard copy with secure context check and fallback
- Set download icon color to #2bde5e
- Set badge background to rgba(0,0,0,0.8)
- Fix mobile responsive width for badge

* fix(pages): address PR #254 code review feedback

- Add prefers-reduced-motion media query for shimmer animation
- Extract install command to INSTALL_CMD constant (DRY)
- Use t() i18n function for toast messages (hero.copied/hero.copyFailed)
- Show error feedback when copy operation fails
- Refactor handleCopy to use async/await instead of .then/.catch

* fix(pages): align hero install badge toast style with QuickStart section

- Use consistent toast visual: rgba(255,255,255,0.1) bg, 0.2 border, 0.85 text
- Match padding (5px 14px), borderRadius (6px), fontSize (12px)
- Position at top: 88px (below navbar)

* fix(pages): separate green download icon for hero badge, restore docs icon

- Restore doc-download.svg to original white (#FFFFFF, opacity 0.8) for Docs page
- Create doc-download-green.svg (#2bde5e) for Hero install badge
- Update HeroSection import to use green variant

* fix(pages): restore doc-download.svg to white for Docs page

- Restore doc-download.svg fill to #FFFFFF with opacity 0.8
- Hero badge uses separate doc-download-green.svg (#2bde5e)
This commit is contained in:
hezheng.lsw 2026-07-01 17:05:54 +08:00 committed by GitHub
parent 2a5c894635
commit b2a6f9bf2b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 3 additions and 2 deletions

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_6_23920"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_6_23920)"><path d="M7.997250093896485,2.4749999046325684C8.273400293896485,2.4749999046325684,8.497249593896484,2.6988499146325684,8.497249593896484,2.9749999046325684L8.497249593896484,8.795542704632568L9.346340193896484,7.946420704632568C9.541659393896484,7.7514181046325685,9.858038893896484,7.751551604632568,10.053192093896484,7.946718704632568C10.248346293896486,8.141886204632568,10.248456993896484,8.458265804632568,10.053440093896484,8.653570604632568L8.353440293896483,10.353570504632568C8.158190693896485,10.548820004632569,7.841590393896484,10.548820004632569,7.646340393896485,10.353570504632568L5.946340593896484,8.653570604632568C5.752546293896485,8.458060704632569,5.753241493896484,8.142679704632569,5.9478954938964845,7.948025704632569C6.142549493896484,7.753371704632569,6.457930593896484,7.752676504632569,6.653440493896484,7.946470704632568L7.497249593896484,8.790279904632568L7.497249593896484,2.9749999046325684C7.497249593896484,2.6988499146325684,7.721099393896484,2.4749999046325684,7.997250093896485,2.4749999046325684ZM13.599843493896485,12.100024704632569L13.599843493896485,8.000024304632568C13.599843493896485,7.723874104632569,13.375992493896485,7.500024304632569,13.099843493896485,7.500024304632569C12.823693493896485,7.500024304632569,12.599843493896485,7.723874604632568,12.599843493896485,8.000024304632568L12.599843493896485,12.100024704632569C12.600081493896484,12.166818104632569,12.586780493896484,12.232965904632568,12.560743493896485,12.294475104632568C12.535655493896485,12.353990104632569,12.499190493896485,12.408034804632567,12.453392493896484,12.453574704632569C12.359847993896484,12.547675904632568,12.232527693896484,12.600415904632568,12.099842993896484,12.60002490463257L3.899842493896484,12.60002490463257C3.833049993896484,12.600262904632569,3.766901993896484,12.586961904632568,3.7053925938964847,12.560924904632568C3.6458782938964847,12.535836904632568,3.5918342938964845,12.499370904632569,3.5462924938964844,12.453574704632569C3.4522094938964845,12.360018204632569,3.399473193896484,12.232705604632569,3.3998422938964845,12.100024704632569L3.3998422938964845,8.002374204632568C3.3998422938964845,7.726223904632568,3.1759924838964846,7.502374204632568,2.8998422638964843,7.502374204632568C2.623692513896484,7.502374204632568,2.399842262268084,7.7262244046325685,2.399842262268084,8.002374204632568L2.399842262268084,12.100024704632569C2.399326324466484,12.300674004632569,2.4395027158964844,12.499342904632568,2.5179424238964843,12.684023904632568C2.5930128138964843,12.862284904632569,2.7021336538964844,13.024190904632569,2.8391923938964845,13.160674904632568C2.9756808238964845,13.297724904632569,3.137585643896484,13.406845904632569,3.315842623896484,13.481924904632569C3.5019423938964844,13.560674904632569,3.696642393896484,13.60002490463257,3.899842493896484,13.60002490463257L12.099842993896484,13.60002490463257C12.300493193896484,13.600556904632569,12.499166493896483,13.560380904632568,12.683842493896485,13.481924904632569C12.862101493896484,13.406848904632568,13.024006493896485,13.297727904632568,13.160492493896484,13.160674904632568C13.297546493896485,13.024188904632569,13.406666493896484,12.862282904632568,13.481742493896485,12.684023904632568C13.560493493896484,12.497923904632568,13.599843493896485,12.303274604632568,13.599843493896485,12.100024704632569Z" fill-rule="evenodd" fill="#2bde5e"/></g></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_6_23920"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_6_23920)"><path d="M7.997250093896485,2.4749999046325684C8.273400293896485,2.4749999046325684,8.497249593896484,2.6988499146325684,8.497249593896484,2.9749999046325684L8.497249593896484,8.795542704632568L9.346340193896484,7.946420704632568C9.541659393896484,7.7514181046325685,9.858038893896484,7.751551604632568,10.053192093896484,7.946718704632568C10.248346293896486,8.141886204632568,10.248456993896484,8.458265804632568,10.053440093896484,8.653570604632568L8.353440293896483,10.353570504632568C8.158190693896485,10.548820004632569,7.841590393896484,10.548820004632569,7.646340393896485,10.353570504632568L5.946340593896484,8.653570604632568C5.752546293896485,8.458060704632569,5.753241493896484,8.142679704632569,5.9478954938964845,7.948025704632569C6.142549493896484,7.753371704632569,6.457930593896484,7.752676504632569,6.653440493896484,7.946470704632568L7.497249593896484,8.790279904632568L7.497249593896484,2.9749999046325684C7.497249593896484,2.6988499146325684,7.721099393896484,2.4749999046325684,7.997250093896485,2.4749999046325684ZM13.599843493896485,12.100024704632569L13.599843493896485,8.000024304632568C13.599843493896485,7.723874104632569,13.375992493896485,7.500024304632569,13.099843493896485,7.500024304632569C12.823693493896485,7.500024304632569,12.599843493896485,7.723874604632568,12.599843493896485,8.000024304632568L12.599843493896485,12.100024704632569C12.600081493896484,12.166818104632569,12.586780493896484,12.232965904632568,12.560743493896485,12.294475104632568C12.535655493896485,12.353990104632569,12.499190493896485,12.408034804632567,12.453392493896484,12.453574704632569C12.359847993896484,12.547675904632568,12.232527693896484,12.600415904632568,12.099842993896484,12.60002490463257L3.899842493896484,12.60002490463257C3.833049993896484,12.600262904632569,3.766901993896484,12.586961904632568,3.7053925938964847,12.560924904632568C3.6458782938964847,12.535836904632568,3.5918342938964845,12.499370904632569,3.5462924938964844,12.453574704632569C3.4522094938964845,12.360018204632569,3.399473193896484,12.232705604632569,3.3998422938964845,12.100024704632569L3.3998422938964845,8.002374204632568C3.3998422938964845,7.726223904632568,3.1759924838964846,7.502374204632568,2.8998422638964843,7.502374204632568C2.623692513896484,7.502374204632568,2.399842262268084,7.7262244046325685,2.399842262268084,8.002374204632568L2.399842262268084,12.100024704632569C2.399326324466484,12.300674004632569,2.4395027158964844,12.499342904632568,2.5179424238964843,12.684023904632568C2.5930128138964843,12.862284904632569,2.7021336538964844,13.024190904632569,2.8391923938964845,13.160674904632568C2.9756808238964845,13.297724904632569,3.137585643896484,13.406845904632569,3.315842623896484,13.481924904632569C3.5019423938964844,13.560674904632569,3.696642393896484,13.60002490463257,3.899842493896484,13.60002490463257L12.099842993896484,13.60002490463257C12.300493193896484,13.600556904632569,12.499166493896483,13.560380904632568,12.683842493896485,13.481924904632569C12.862101493896484,13.406848904632568,13.024006493896485,13.297727904632568,13.160492493896484,13.160674904632568C13.297546493896485,13.024188904632569,13.406666493896484,12.862282904632568,13.481742493896485,12.684023904632568C13.560493493896484,12.497923904632568,13.599843493896485,12.303274604632568,13.599843493896485,12.100024704632569Z" fill-rule="evenodd" fill="#2bde5e"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_6_23920"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_6_23920)"><path d="M7.997250093896485,2.4749999046325684C8.273400293896485,2.4749999046325684,8.497249593896484,2.6988499146325684,8.497249593896484,2.9749999046325684L8.497249593896484,8.795542704632568L9.346340193896484,7.946420704632568C9.541659393896484,7.7514181046325685,9.858038893896484,7.751551604632568,10.053192093896484,7.946718704632568C10.248346293896486,8.141886204632568,10.248456993896484,8.458265804632568,10.053440093896484,8.653570604632568L8.353440293896483,10.353570504632568C8.158190693896485,10.548820004632569,7.841590393896484,10.548820004632569,7.646340393896485,10.353570504632568L5.946340593896484,8.653570604632568C5.752546293896485,8.458060704632569,5.753241493896484,8.142679704632569,5.9478954938964845,7.948025704632569C6.142549493896484,7.753371704632569,6.457930593896484,7.752676504632569,6.653440493896484,7.946470704632568L7.497249593896484,8.790279904632568L7.497249593896484,2.9749999046325684C7.497249593896484,2.6988499146325684,7.721099393896484,2.4749999046325684,7.997250093896485,2.4749999046325684ZM13.599843493896485,12.100024704632569L13.599843493896485,8.000024304632568C13.599843493896485,7.723874104632569,13.375992493896485,7.500024304632569,13.099843493896485,7.500024304632569C12.823693493896485,7.500024304632569,12.599843493896485,7.723874604632568,12.599843493896485,8.000024304632568L12.599843493896485,12.100024704632569C12.600081493896484,12.166818104632569,12.586780493896484,12.232965904632568,12.560743493896485,12.294475104632568C12.535655493896485,12.353990104632569,12.499190493896485,12.408034804632567,12.453392493896484,12.453574704632569C12.359847993896484,12.547675904632568,12.232527693896484,12.600415904632568,12.099842993896484,12.60002490463257L3.899842493896484,12.60002490463257C3.833049993896484,12.600262904632569,3.766901993896484,12.586961904632568,3.7053925938964847,12.560924904632568C3.6458782938964847,12.535836904632568,3.5918342938964845,12.499370904632569,3.5462924938964844,12.453574704632569C3.4522094938964845,12.360018204632569,3.399473193896484,12.232705604632569,3.3998422938964845,12.100024704632569L3.3998422938964845,8.002374204632568C3.3998422938964845,7.726223904632568,3.1759924838964846,7.502374204632568,2.8998422638964843,7.502374204632568C2.623692513896484,7.502374204632568,2.399842262268084,7.7262244046325685,2.399842262268084,8.002374204632568L2.399842262268084,12.100024704632569C2.399326324466484,12.300674004632569,2.4395027158964844,12.499342904632568,2.5179424238964843,12.684023904632568C2.5930128138964843,12.862284904632569,2.7021336538964844,13.024190904632569,2.8391923938964845,13.160674904632568C2.9756808238964845,13.297724904632569,3.137585643896484,13.406845904632569,3.315842623896484,13.481924904632569C3.5019423938964844,13.560674904632569,3.696642393896484,13.60002490463257,3.899842493896484,13.60002490463257L12.099842993896484,13.60002490463257C12.300493193896484,13.600556904632569,12.499166493896483,13.560380904632568,12.683842493896485,13.481924904632569C12.862101493896484,13.406848904632568,13.024006493896485,13.297727904632568,13.160492493896484,13.160674904632568C13.297546493896485,13.024188904632569,13.406666493896484,12.862282904632568,13.481742493896485,12.684023904632568C13.560493493896484,12.497923904632568,13.599843493896485,12.303274604632568,13.599843493896485,12.100024704632569Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="0.800000011920929"/></g></svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Before After
Before After

View file

@ -3,7 +3,7 @@ import ReactDOM from 'react-dom';
import { useTranslation } from '../i18n';
import { useResponsive } from '../hooks/useResponsive';
import ColorBends from './ColorBends';
import docDownloadIcon from '../assets/icons/doc-download.svg';
import docDownloadIcon from '../assets/icons/doc-download-green.svg';
import copyIcon from '../assets/icons/icon-copy.svg';