Skip to content

Mobile app#41

Merged
linqiquan merged 5 commits intomainfrom
mobile-app
Feb 13, 2026
Merged

Mobile app#41
linqiquan merged 5 commits intomainfrom
mobile-app

Conversation

@jhr-debug
Copy link
Contributor

PR Title: feat: Smart Playground, theme-aware logo, mobile improvements

PR Body:

Summary

  • Smart Playground for 7 Featured Model families — one unified form per family that auto-detects the correct variant based on
    user input (text-only → T2I, add image → edit variant, etc.)
    • Seedream 4.5, Seedance 1.5 Pro, Wan Spicy, Wan Animate, InfiniteTalk, Kling 2.6 Motion Control, Nano Banana Pro
    • Schema merging across all variants per family, live variant indicator, toggle controls (speed/mode/quality)
  • Theme-aware logo — new AppLogo component switches between light/dark PNG logos; "WaveSpeed" text gradient matches logo colors
  • Free Tools cover images — added cover images for Video/Audio/Image Converter, Media Trimmer, Media Merger (both desktop &
    mobile), Face Enhancer (mobile only)
  • PageResetContext extraction — moved PageResetContext to its own file to break transitive import chain (Layout → WorkflowPage →
    @google/model-viewer) that caused mobile build failures
  • MaskEditor mobile touch — touch event support for mask drawing on mobile devices
  • Bug fixes:
    • Template params not filling into playground form
    • Toast notifications not auto-dismissing
    • VideoEnhancer and ProcessingProgress mobile-friendly layout
    • FileUpload component responsiveness

Changed Files (57 files, +1657 / -140)
Area: Smart Playground
Files: src/lib/smartFormConfig.ts (new), src/pages/SmartPlaygroundPage.tsx (new), src/pages/FeaturedModelsPage.tsx, src/App.tsx,
mobile/src/App.tsx
────────────────────────────────────────
Area: Theme Logo
Files: src/components/layout/AppLogo.tsx (new), src/assets/logo-.png (new), src/components/layout/Sidebar.tsx,
mobile/src/components/layout/MobileHeader.tsx
────────────────────────────────────────
Area: Free Tools Images
Files: build/images/
.png (6 new), src/pages/FreeToolsPage.tsx, mobile/src/pages/MobileFreeToolsPage.tsx
────────────────────────────────────────
Area: PageResetContext
Files: src/components/layout/PageResetContext.ts (new), src/components/layout/Layout.tsx, 12 free tool pages
────────────────────────────────────────
Area: Mobile Fixes
Files: src/components/playground/MaskEditor.tsx, src/components/playground/FileUpload.tsx,
src/components/playground/OutputDisplay.tsx, src/components/shared/ProcessingProgress.tsx, src/pages/VideoEnhancerPage.tsx,
mobile/srPR Title: feat: Smart Playground, theme-aware logo, mobile improvements

PR Body:

Summary

  • Smart Playground for 7 Featured Model families — one unified form per family that auto-detects the correct variant based on
    user input (text-only → T2I, add image → edit variant, etc.)
    • Seedream 4.5, Seedance 1.5 Pro, Wan Spicy, Wan Animate, InfiniteTalk, Kling 2.6 Motion Control, Nano Banana Pro
    • Schema merging across all variants per family, live variant indicator, toggle controls (speed/mode/quality)
  • Theme-aware logo — new AppLogo component switches between light/dark PNG logos; "WaveSpeed" text gradient matches logo colors
  • Free Tools cover images — added cover images for Video/Audio/Image Converter, Media Trimmer, Media Merger (both desktop &
    mobile), Face Enhancer (mobile only)
  • PageResetContext extraction — moved PageResetContext to its own file to break transitive import chain (Layout → WorkflowPage →
    @google/model-viewer) that caused mobile build failures
  • MaskEditor mobile touch — touch event support for mask drawing on mobile devices
  • Bug fixes:
    • Template params not filling into playground form
    • Toast notifications not auto-dismissing
    • VideoEnhancer and ProcessingProgress mobile-friendly layout
    • FileUpload component responsiveness

Changed Files (57 files, +1657 / -140)
Area: Smart Playground
Files: src/lib/smartFormConfig.ts (new), src/pages/SmartPlaygroundPage.tsx (new), src/pages/FeaturedModelsPage.tsx, src/App.tsx,
mobile/src/App.tsx
────────────────────────────────────────
Area: Theme Logo
Files: src/components/layout/AppLogo.tsx (new), src/assets/logo-.png (new), src/components/layout/Sidebar.tsx,
mobile/src/components/layout/MobileHeader.tsx
────────────────────────────────────────
Area: Free Tools Images
Files: build/images/
.png (6 new), src/pages/FreeToolsPage.tsx, mobile/src/pages/MobileFreeToolsPage.tsx
────────────────────────────────────────
Area: PageResetContext
Files: src/components/layout/PageResetContext.ts (new), src/components/layout/Layout.tsx, 12 free tool pages
────────────────────────────────────────
Area: Mobile Fixes
Files: src/components/playground/MaskEditor.tsx, src/components/playground/FileUpload.tsx,
src/components/playground/OutputDisplay.tsx, src/components/shared/ProcessingProgress.tsx, src/pages/VideoEnhancerPage.tsx,
mobile/src/pages/MobilePlaygroundPage.tsx
────────────────────────────────────────
Area: i18n
Files: 18 locale files (smartPlayground.* keys)
────────────────────────────────────────
Area: Bug Fixes
Files: src/lib/schemaToForm.ts, src/components/ui/toaster.tsx
Test Plan

  • Desktop: Featured Models → click any family → Smart Playground opens, auto-detects variant correctly

  • Desktop: Toggle speed/mode/quality controls → variant indicator updates

  • Desktop: Run prediction → correct variant called, output displayed

  • Desktop: Logo switches between light/dark themes

  • Desktop: Free Tools page shows all cover images

  • Mobile: Smart Playground responsive layout with Input/Output tab switcher

  • Mobile: MaskEditor touch drawing works on Android

  • Mobile: Free Tools page shows cover images including Face Enhancer

  • Mobile: Header shows AppLogo on home page, Home icon on other pages

  • Mobile build: cd mobile && npx vite build passes without errors

  • Existing Playground functionality unchangedc/pages/MobilePlaygroundPage.tsx
    ────────────────────────────────────────
    Area: i18n
    Files: 18 locale files (smartPlayground.* keys)
    ────────────────────────────────────────
    Area: Bug Fixes
    Files: src/lib/schemaToForm.ts, src/components/ui/toaster.tsx
    Test Plan

  • Desktop: Featured Models → click any family → Smart Playground opens, auto-detects variant correctly

  • Desktop: Toggle speed/mode/quality controls → variant indicator updates

  • Desktop: Run prediction → correct variant called, output displayed

  • Desktop: Logo switches between light/dark themes

  • Desktop: Free Tools page shows all cover images

  • Mobile: Smart Playground responsive layout with Input/Output tab switcher

  • Mobile: MaskEditor touch drawing works on Android

  • Mobile: Free Tools page shows cover images including Face Enhancer

  • Mobile: Header shows AppLogo on home page, Home icon on other pages

  • Mobile build: cd mobile && npx vite build passes without errors

  • Existing Playground functionality unchanged

Haorui Jiang and others added 5 commits February 12, 2026 14:47
- VideoEnhancerPage: reduce padding on mobile (p-4 md:p-8), hide duplicate
  header (MobileHeader already shows title), tighter spacing
- ProcessingProgress: split into two rows (info + progress bar) so percentage
  and ETA are never cut off on narrow screens, label truncates if needed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- MobilePlaygroundPage: fix race condition where DynamicForm defaults
  overwrite template values. Use pendingTemplateRef to defer template
  application until after model schema defaults are set.
- toaster: add explicit duration={5000} to ToastProvider so toasts
  auto-dismiss after 5 seconds (fixes stuck toast on mobile WebView)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the old "click variant → standard Playground" flow with a unified
Smart Playground per model family. Users see one merged form with all
parameters; the system auto-resolves which variant to call based on
filled fields and toggle values.

- 7 families: Seedream 4.5, Seedance 1.5 Pro, Wan Spicy, Wan Animate,
  InfiniteTalk, Kling 2.6 MC, Nano Banana Pro
- Dynamic field visibility: only show resolved variant's fields + trigger
  fields (file/loras) for switching
- Batch mode with seed randomization
- Last-uploaded-media-type priority for image/video conflict
- Auto-clean invalid select values on variant change
- InfiniteTalk: left/right audio → single audio mapping, excludeFields
- MaskEditor: add touch support + responsive mobile layout
- FileUpload: fallback preview based on accept type
- schemaToForm: broader lora field detection
- Remove variant list from FeaturedModelsPage cards
- i18n keys added to all 23 locales

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Merge origin/main (workflow module + UI updates) into mobile-app
- Extract PageResetContext to fix mobile build (break workflow import chain)
- Add theme-aware AppLogo component (dark/light PNG swap via CSS)
- Update Sidebar and MobileHeader to use new logo with matching gradient text
- Add cover images for 5 free tools (video/audio/image converter, media trimmer/merger)
- Add face enhancer cover image for mobile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@linqiquan linqiquan merged commit 0a7b268 into main Feb 13, 2026
18 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants