Skip to content

Mobile app#40

Closed
jhr-debug wants to merge 5 commits intomainfrom
mobile-app
Closed

Mobile app#40
jhr-debug wants to merge 5 commits intomainfrom
mobile-app

Conversation

@jhr-debug
Copy link
Contributor

Smart Playground + MaskEditor Mobile Adaptation

Summary

  • Smart Playground: Replace the old "click variant → standard Playground" flow with a unified Smart Playground per model family.
    Users see one merged form; the system auto-resolves which variant API to call based on filled fields and toggle values.
  • MaskEditor Mobile: Add touch drawing support and responsive layout to the shared MaskEditor component, benefiting all current
    and future models that use mask input.

Smart Playground — 7 Families
┌──────────────────────────┬───────────────────────────┬────────────────────────────────────────────┐
│ Family │ Toggle │ Auto-detect │
├──────────────────────────┼───────────────────────────┼────────────────────────────────────────────┤
│ Seedream 4.5 │ Mode (Normal/Sequential) │ Image → edit variant │
├──────────────────────────┼───────────────────────────┼────────────────────────────────────────────┤
│ Seedance 1.5 Pro │ Speed (Normal/Fast) │ Video > Image > Text │
├──────────────────────────┼───────────────────────────┼────────────────────────────────────────────┤
│ Wan Spicy │ — │ Lora + Video/Image │
├──────────────────────────┼───────────────────────────┼────────────────────────────────────────────┤
│ Wan Animate │ — │ Single variant │
├──────────────────────────┼───────────────────────────┼────────────────────────────────────────────┤
│ InfiniteTalk │ Speed (Normal/Fast) │ Video > Both audios (multi) > Single audio │
├──────────────────────────┼───────────────────────────┼────────────────────────────────────────────┤
│ Kling 2.6 Motion Control │ Quality (Pro/Std) │ Toggle only │
├──────────────────────────┼───────────────────────────┼────────────────────────────────────────────┤
│ Nano Banana Pro │ Quality (Std/Ultra/Multi) │ Image → edit variant │
└──────────────────────────┴───────────────────────────┴────────────────────────────────────────────┘
Smart Playground — Key Features

  • Dynamic field visibility: only shows resolved variant's fields + trigger fields (file/loras) for variant switching
  • Batch mode: sequential runs with seed randomization via Run button dropdown
  • Last-uploaded-media priority: when both image and video are uploaded, last one wins
  • Auto-clean select values: switching variant removes invalid options (e.g. 480p unavailable in fast mode)
  • InfiniteTalk audio mapping: single left/right audio auto-maps to audio field; excludeFields hides redundant upload
  • FeaturedModelsPage: removed per-variant list from cards (Smart Playground handles switching internally)

MaskEditor Mobile Adaptation

  • Touch events: added onTouchStart/onTouchMove/onTouchEnd handlers sharing unified pointer logic with mouse events
  • Responsive canvas: container uses width: 100% + maxWidth + aspectRatio instead of fixed pixel dimensions — scales to any screen
    size while maintaining correct proportions
  • Scroll support: dialog uses flex layout with overflow-auto content area, shrink-0 toolbar/footer always visible
  • No-scroll-while-drawing: touch-action: none on canvas prevents page scrolling during drawing
  • Global impact: all models using mask_image field (current and future) automatically benefit from this fix on both desktop and
    mobile

Other Fixes

  • FileUpload: fallback preview based on accept type when URL has no standard extension (e.g. last_image field)
  • schemaToForm: broader lora field detection (includes('lora') instead of exact match)
  • OutputDisplay: grid layout support for batch/multi outputs

Files Changed

  • New: smartFormConfig.ts, SmartPlaygroundPage.tsx
  • Modified: App routes (desktop + mobile), FeaturedModelsPage, MaskEditor, OutputDisplay, FileUpload, schemaToForm, 23 locale
    files

Test Plan

  • Smart Playground: all 7 families tested (variant switching, toggles, field visibility)
  • MaskEditor: mobile touch drawing, responsive canvas, correct aspect ratio
  • MaskEditor: desktop unchanged (mouse events still work)
  • Lora detection: Wan Spicy lora add/remove triggers variant switch
  • Mobile build: vite build + cap sync android + Android emulator verified
  • End-to-end API runs (pricing, output display, error handling)

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>
@jhr-debug jhr-debug closed this Feb 13, 2026
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.

1 participant