- Add BatchState management in taskStore with progress tracking - Implement batch processing service with concurrency control - Direct Track: max 5 parallel tasks - OCR Track: sequential processing (GPU VRAM limit) - Refactor ProcessingPage to support batch mode with BatchProcessingPanel - Update UploadPage to initialize batch state for multi-file uploads - Add i18n translations for batch processing (zh-TW, en-US) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
6.4 KiB
frontend-ui Specification
Purpose
TBD - created by archiving change refactor-frontend-ux-i18n. Update Purpose after archive.
Requirements
Requirement: Minimal Login Page Design
The login page SHALL use a professional minimal design style that is consistent with the rest of the application.
The login page SHALL NOT include:
- Animated gradient backgrounds
- Floating decorative elements (orbs, particles)
- Pulsing or floating animations
- Marketing claims or statistics
- Feature promotion sections
The login page SHALL include:
- Centered login form with clean white card
- Application logo and name
- Username and password input fields
- Login button with loading state
- Error message display area
- Simple solid color background
Scenario: Login page renders with minimal design
- WHEN user navigates to the login page
- THEN the page displays a centered login form
- AND no animated decorative elements are visible
- AND no marketing content is displayed
Scenario: Login form visual consistency
- WHEN comparing login page to internal pages
- THEN the visual style (colors, typography, spacing) is consistent
Requirement: Multi-language Support
The application SHALL support multiple languages with user-selectable language preference.
Supported languages:
- Traditional Chinese (zh-TW) - Default
- English (en-US)
The language selection SHALL be persisted in localStorage and restored on page reload.
Scenario: Language switcher available
- WHEN user is logged in and viewing any page
- THEN a language switcher component is visible in the top navigation bar
Scenario: Switch to English
- WHEN user selects English from the language switcher
- THEN all UI text immediately changes to English
- AND the preference is saved to localStorage
Scenario: Switch to Traditional Chinese
- WHEN user selects Traditional Chinese from the language switcher
- THEN all UI text immediately changes to Traditional Chinese
- AND the preference is saved to localStorage
Scenario: Language preference persistence
- WHEN user has previously selected a language preference
- AND user reloads the page or returns later
- THEN the application displays in the previously selected language
Requirement: Accurate Product Description
All user-facing text SHALL accurately describe the product capabilities without exaggeration.
The application SHALL NOT display:
- Unverified accuracy percentages (e.g., "99% accuracy")
- Superlative marketing claims (e.g., "lightning fast", "enterprise-grade")
- Unsubstantiated statistics
- Comparative claims without evidence
The application MAY display:
- Factual feature descriptions
- Supported file formats
- Authentication method information
Scenario: Login page displays factual information
- WHEN user views the login page
- THEN only factual product information is displayed
- AND no unverified claims are present
Scenario: Feature descriptions are accurate
- WHEN any page describes product features
- THEN the descriptions are factual and verifiable
Requirement: Batch Processing Support
The system SHALL support batch processing of multiple uploaded files with a single configuration.
After uploading multiple files, the user SHALL be able to:
- Configure processing settings once for all files
- Start processing all files with one action
- Monitor progress of all files in a unified view
Scenario: Multiple files uploaded
- WHEN user uploads multiple files
- AND navigates to processing page
- THEN the system displays batch processing mode
- AND shows all pending tasks in a list
Scenario: Batch configuration
- WHEN user is in batch processing mode
- THEN user can select a processing strategy (auto/OCR/Direct)
- AND user can configure layout model for OCR tasks
- AND user can configure preprocessing for OCR tasks
- AND settings apply to all applicable tasks
Requirement: Batch Processing Strategy
The system SHALL support three batch processing strategies:
- Auto Detection (default): System analyzes each file and selects optimal track
- Force OCR: All files processed with OCR track
- Force Direct: All PDF files processed with Direct track
Scenario: Auto detection strategy
- WHEN user selects auto detection strategy
- THEN the system analyzes each file before processing
- AND assigns OCR or Direct track based on file characteristics
Scenario: Force OCR strategy
- WHEN user selects force OCR strategy
- THEN all files are processed using OCR track
- AND layout model and preprocessing settings are applied
Scenario: Force Direct strategy
- WHEN user selects force Direct strategy
- AND file is a PDF
- THEN the file is processed using Direct track
Requirement: Parallel Processing Limits
The system SHALL enforce different parallelism limits based on processing track:
- Direct Track: Maximum 5 concurrent tasks (CPU-based)
- OCR Track: Maximum 1 concurrent task (GPU VRAM constraint)
Direct and OCR tasks MAY run simultaneously as they use different resources.
Scenario: Direct track parallelism
- WHEN batch contains multiple Direct track tasks
- THEN up to 5 tasks process concurrently
- AND remaining tasks wait in queue
Scenario: OCR track serialization
- WHEN batch contains multiple OCR track tasks
- THEN only 1 task processes at a time
- AND remaining tasks wait in queue
Scenario: Mixed track processing
- WHEN batch contains both Direct and OCR tasks
- THEN Direct tasks run in parallel pool (max 5)
- AND OCR tasks run in serial queue (max 1)
- AND both pools operate simultaneously
Requirement: Batch Progress Display
The system SHALL display unified progress for batch processing.
Progress display SHALL include:
- Overall progress (completed / total)
- Count by status (processing, completed, failed)
- Individual task status list
- Estimated time remaining (optional)
Scenario: Batch progress monitoring
- WHEN batch processing is in progress
- THEN user sees overall completion percentage
- AND user sees count of tasks in each status
- AND user sees status of each individual task
Scenario: Batch completion
- WHEN all tasks in batch are completed or failed
- THEN user sees final summary
- AND user can navigate to results page