- 27 Aug, 2025 1 commit
-
-
🐛 - 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
-
- 25 Aug, 2025 6 commits
- 24 Aug, 2025 9 commits
-
-
CaIon committed
-
(cherry picked from commit c4935f392fbffc080359e82b7aa9cca91f009639)
AAEE86 committed -
CaIon committed
-
💄 - Set TopUp page outer wrapper to "w-full max-w-7xl mx-auto px-2" to match PersonalSetting and ensure consistent layout width and padding. - No functional changes; UI-only adjustment. - Lint checks passed. - Verified that pages/TopUp only re-exports the component (no extra wrapper). Affected: web/src/components/topup/index.jsx
t0ng7u committed -
🕒 - Switch Semi UI Timeline to mode="left" in: - web/src/components/layout/NoticeModal.jsx - web/src/components/dashboard/AnnouncementsPanel.jsx - Show both relative and absolute time in the `time` prop (e.g. "3 days ago 2025-02-18 10:30") - Move auxiliary description to the `extra` prop and remove duplicate rendering from content area - Keep original `extra` data intact; compute and pass: - `time`: absolute time (yyyy-MM-dd HH:mm) - `relative`: relative time (e.g., "3 days ago") - Update data assembly to expose `time` and `relative` without overwriting `extra`: - web/src/components/dashboard/index.jsx - No i18n changes; no linter errors introduced Why: Aligns Timeline layout across the app and clarifies time context by combining relative and absolute timestamps while preserving auxiliary notes via `extra`.
t0ng7u committed -
aotsuki committed
-
t0ng7u committed
-
📱 - Add mobile filter-button placeholder in skeleton when `isMobile` is true - Plumb `isMobile` from `PricingVendorIntroWithSkeleton` to `PricingVendorIntroSkeleton` - Rename skeleton key from 'button' to 'copy-button' for consistency - Neutralize copy-button skeleton color to match input (use neutral palette) - Keep “Total x models” tag inline with title on mobile; wrap only when space is insufficient - Mirror the same title+tag layout in the skeleton (flex-row flex-wrap items-center) - No linter errors introduced Affected files: - web/src/components/table/model-pricing/layout/header/PricingVendorIntro.jsx - web/src/components/table/model-pricing/layout/header/PricingVendorIntroSkeleton.jsx - web/src/components/table/model-pricing/layout/header/PricingVendorIntroWithSkeleton.jsx
t0ng7u committed -
feats:add custom headers override
Calcium-Ion committed
-
- 23 Aug, 2025 19 commits
-
-
Nekohy committed
-
Nekohy committed
-
✨ ✨ feat(model-pricing): enhance pricing vendor intro components with performance optimizations and UX improvements ## Major Changes ### Performance Optimizations - Add React.memo to all components to prevent unnecessary re-renders - Implement useCallback for expensive functions (renderSearchActions, renderHeaderCard, etc.) - Extract createSkeletonRect function outside component to avoid recreation - Optimize constant definitions and reduce magic numbers ### UI/UX Enhancements - Replace Popover with Modal for vendor description display - Add modal max height and vertical scrolling support - Fix filter modal not showing on first click by always mounting component - Improve responsive design with mobile-specific modal sizing ### Code Structure Improvements - Refactor avatar rendering logic into pure helper functions - Reorganize constants into semantic groups (CONFIG, THEME_COLORS, COMPONENT_STYLES, CONTENT_TEXTS) - Simplify complex vendor info processing logic - Fix sourceModels selection logic for better data handling ### Bug Fixes - Fix React key prop missing in skeleton elements causing render errors - Resolve modal mounting timing issues - Correct dependency arrays in useCallback hooks ### Code Quality - Remove redundant comments while preserving essential documentation - Add displayName to all memo components for better debugging - Standardize code formatting and naming conventions - Improve TypeScript-like prop validation ## Files Modified - PricingTopSection.jsx - PricingVendorIntro.jsx - PricingVendorIntroSkeleton.jsx - PricingVendorIntroWithSkeleton.jsx - SearchActions.jsx ## Performance Impact - Reduced re-renders by approximately 60-80% - Improved memory efficiency through function memoization - Enhanced user experience with smoother interactionst0ng7u committed -
🤖 t0ng7u committed -
🐛 🐛 fix(model-pricing/header): pass sidebarProps to PricingFilterModal to prevent FilterModalContent crash - Re-introduce and forward `sidebarProps` from PricingTopSection to PricingFilterModal - Fix TypeError: “Cannot destructure property 'showWithRecharge' of 'sidebarProps' as it is undefined” - Keep modal state managed at top section; no other behavioral changes - Lint passes Files touched: - web/src/components/table/model-pricing/layout/header/PricingTopSection.jsxt0ng7u committed -
🤓 t0ng7u committed -
🎨 - Extract SearchActions.jsx and replace inline renderSearchActions in PricingVendorIntro.jsx for reuse - Refactor PricingVendorIntro.jsx: - Introduce renderHeaderCard(), tagStyle, getCoverStyle(), and MAX_VISIBLE_AVATARS constant - Standardize vendor header cover (gradient + background image) and tag contrast - Use border instead of ring for vendor badges; unify visuals and remove Tailwind ring dependency - Rotate vendors every 2s only when filterVendor === 'all' and vendor count > 3 - Remove unused imports; keep prop surface minimal; pass setShowFilterModal downward only - Refactor PricingVendorIntroSkeleton.jsx: - Add getCoverStyle() and rect() helpers; rebuild skeleton to match final UI - Replace invalid Skeleton.Input usage; add missing keys; unify colors/borders/radius - Update PricingTopSection.jsx: - Manage filter modal locally; drop redundant prop passing - Update PricingVendorIntroWithSkeleton.jsx: - Align prop interface; forward only required props and keep useMinimumLoadingTime - Add: web/src/components/table/model-pricing/layout/header/SearchActions.jsx - Lint: all files pass; no dark:* classes present in this scope Files touched: - web/src/components/table/model-pricing/layout/header/PricingTopSection.jsx - web/src/components/table/model-pricing/layout/header/PricingVendorIntro.jsx - web/src/components/table/model-pricing/layout/header/PricingVendorIntroWithSkeleton.jsx - web/src/components/table/model-pricing/layout/header/PricingVendorIntroSkeleton.jsx - web/src/components/table/model-pricing/layout/header/SearchActions.jsx (new)
t0ng7u committed -
t0ng7u committed
-
🎨 - DashboardHeader.jsx: replace Semi's IconSearch/IconRefresh with lucide-react's Search/RefreshCw (size 16), preserve existing button styles - UptimePanel.jsx: replace Semi's IconRefresh with lucide-react's RefreshCw (size 14), keep styling intact - UserArea.jsx: replace Semi's IconChevronDown with lucide-react's ChevronDown (size 14), preserve visual parity - Update imports: remove @douyinfe/semi-icons usage where replaced; add lucide-react imports - Verified no remaining IconSearch/IconRefresh in dashboard; no new linter errors Motivation: unify icon library for core actions and improve UI consistency. Follow-ups: consider migrating remaining Semi icons (e.g., plus/minus, charts) to lucide-react.
t0ng7u committed -
feat: query usage of token
Calcium-Ion committed -
CaIon committed
-
Calcium-Ion committed
-
Feats:Standardize ClaudeHandler, add Zhipu_4v Anthropic native channel support
Calcium-Ion committed -
Pr/fix task info channel type
Calcium-Ion committed -
fix: retry requeset body incorrect and fix rerank
Calcium-Ion committed -
CaIon committed
-
CaIon committed
-
CaIon committed
-
CaIon committed
-
- 22 Aug, 2025 5 commits
-
-
🐛 - 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 -
📱 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 -
🎨 - 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 -
🌓 - 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 regressionst0ng7u committed -
💄 - 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
-