1. 27 Aug, 2025 1 commit
    • 🐛 fix(playground): set Chat error text color to white to match Semi UI · 943e36eb
      - Update error-state rendering to use white text in the playground chat
      - Remove Typography.Text `type="danger"` and the red background for consistency with official behavior
      - Preserve layout and other message states (loading/success/system) unchanged
      - No linter issues introduced
      
      Files touched:
      - web/src/components/playground/MessageContent.jsx
      t0ng7u committed
  2. 25 Aug, 2025 6 commits
  3. 24 Aug, 2025 9 commits
  4. 23 Aug, 2025 19 commits
  5. 22 Aug, 2025 5 commits
    • 🐛 fix(header): prevent NotificationButton from shrinking when unread badge appears · 54e03c42
      - Remove `size='small'` when the button is wrapped by `Badge`
      - Keep button dimensions consistent with/without badge
      - Preserve 18px icon size and existing styles/accessibility
      - Lint check passed with no issues
      
      Files: web/src/components/layout/HeaderBar/NotificationButton.jsx
      t0ng7u committed
    • 📱 fix(ui/topup): make stats numbers responsive on mobile · 82e87b84
      Reduce KPI font size on small screens to prevent overlapping of large
      numbers while preserving the desktop layout.
      
      Changes:
      - InvitationCard.jsx: use `text-base sm:text-2xl` for
        pending earnings, total earnings, and invite count.
      - RechargeCard.jsx: use `text-base sm:text-2xl` for
        current balance, historical usage, and request count.
      
      Impact:
      - Visual-only; no behavioral changes.
      - Desktop/tablet unchanged.
      - Lint passes.
      
      Files:
      - web/src/components/topup/InvitationCard.jsx
      - web/src/components/topup/RechargeCard.jsx
      t0ng7u committed
    • 🎨 refactor(ui): harden iframe messaging · 1dff565b
      - useHeaderBar.js
        - Wrap handlers with useCallback (logout, language/theme toggle, mobile menu)
        - Add null checks and try/catch around iframe postMessage (theme & language)
        - Keep minimal effect deps; remove unused StatusContext dispatch
        - Logo preload effect safe and scoped to `logo`
      
      - index.jsx
        - No functional changes; locale memoization remains stable
      
      Chore:
      - Lint clean; no runtime warnings
      - Verified no render loops or performance regressions
      t0ng7u committed
    • 🌓 feat(ui): add auto theme mode, refactor ThemeToggle, optimize header theme handling · 30fc4d30
      - Feature: Introduce 'auto' theme mode
        - Detect system preference via matchMedia('(prefers-color-scheme: dark)')
        - Add useActualTheme context to expose the effective theme ('light'|'dark')
        - Persist selected mode in localStorage ('theme-mode') with 'auto' as default
        - Apply/remove `dark` class on <html> and sync `theme-mode` on <body>
        - Broadcast effective theme to iframes
      
      - UI: Redesign ThemeToggle with Dropdown items and custom highlight
        - Replace non-existent IconMonitor with IconRefresh
        - Use Dropdown.Menu + Dropdown.Item with built-in icon prop
        - Selected state uses custom background highlight; hover state preserved
        - Remove checkmark; selection relies on background styling
        - Current button icon reflects selected mode
      
      - Performance: reduce re-renders and unnecessary effects
        - Memoize theme options and current button icon (useMemo)
        - Simplify handleThemeToggle to accept only explicit modes ('light'|'dark'|'auto')
        - Minimize useEffect dependencies; remove unrelated deps
      
      - Header: streamline useHeaderBar
        - Use useActualTheme for iframe theme messaging
        - Remove unused statusDispatch
        - Remove isNewYear from theme effect dependencies
      
      - Home: send effective theme (useActualTheme) to external content iframes
      
      - i18n: add/enhance theme-related copy in locales (en/zh)
      
      - Chore: minor code cleanup and consistency
        - Improve readability and maintainability
        - Lint clean; no functional regressions
      t0ng7u committed
    • 💄 style(ui): enhance table scroll card scrollbar visibility and appearance · 96740654
      - Make Y-axis scrollbar visible for .table-scroll-card .semi-card-body
      - Reduce scrollbar width from 6px to 4px for a more subtle appearance
      - Decrease scrollbar opacity from 0.3 to 0.2 for lighter color
      - Adjust hover opacity from 0.5 to 0.35 for consistent lighter theme
      - Remove previous scrollbar hiding styles to improve user experience
      
      This change improves the usability of table scroll cards by providing
      visual feedback for scrollable content while maintaining a clean,
      unobtrusive design aesthetic.
      t0ng7u committed