Skip to content

Conversation

@snomiao
Copy link
Member

@snomiao snomiao commented Aug 16, 2025

Summary

  • Set up Storybook 9.1.2 with Vue 3, PrimeVue, and Tailwind CSS support
  • Created comprehensive stories for settings panel components covering all input types and layouts
  • Added TypeScript configuration and ESLint support for Storybook files
  • Provides interactive documentation and testing environment for UI components

Stories Created

Core Components

  • SettingItem: Various input types (boolean, text, number, slider, combo, color) with experimental badges and language tags
  • SettingGroup: Grouped settings with optional dividers and category organization
  • SettingsPanel: Multiple setting groups, empty states, and responsive layouts
  • PanelTemplate: Reusable panel layout template with header/footer slots
  • AboutPanel: System information display and project badges
  • SettingDialogContent: Complete dialog with sidebar navigation and responsive design

Features Demonstrated

  • All setting input types with proper form validation
  • Responsive design across mobile, tablet, and desktop viewports
  • Dark/light theme support
  • Interactive controls and proper state management
  • Accessibility features and proper labeling

Test Plan

  • Run npm run storybook to start the development server
  • Navigate to each story to verify proper rendering
  • Test responsive behavior using viewport controls
  • Verify form inputs work correctly in each story
  • Check that themes and styling are properly applied
  • Ensure all stories load without errors

Technical Notes

  • Uses correct framework import @storybook/vue3-vite instead of renderer package
  • Configured with project's existing Vue plugins (Icons, Components auto-import)
  • Includes mock services for Firebase and internationalization
  • TypeScript configuration updated to include .storybook/ directory

🤖 Generated with Claude Code

┆Issue is synchronized with this Notion page by Unito

@github-actions
Copy link

github-actions bot commented Aug 16, 2025

⚠️ Warnings

⚠️ Warning: E2E Test Coverage Missing

If this PR modifies behavior that can be covered by browser-based E2E tests, those tests are required. PRs lacking applicable test coverage may not be reviewed until added. Please add or update browser tests to ensure code quality and prevent regressions.

⚠️ Warning: Visual Documentation Missing

If this PR changes user-facing behavior, visual proof (screen recording or screenshot) is required. PRs without applicable visual documentation may not be reviewed until provided.
You can add it by:

  • GitHub: Drag & drop media directly into the PR description

  • YouTube: Include a link to a short demo

@snomiao snomiao force-pushed the sno-storybook--settings-panel branch from 6d740ee to 24e4f3b Compare August 16, 2025 08:00
@github-actions
Copy link

github-actions bot commented Aug 16, 2025

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 10/09/2025, 01:02:59 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@snomiao snomiao changed the base branch from main to sno-storybook August 16, 2025 08:01
@snomiao snomiao force-pushed the sno-storybook--settings-panel branch 2 times, most recently from a5d0fa3 to 1750953 Compare August 17, 2025 08:02
@snomiao snomiao self-assigned this Aug 17, 2025
@snomiao snomiao force-pushed the sno-storybook--settings-panel branch from 1750953 to e1613f3 Compare August 17, 2025 19:35
snomiao and others added 19 commits August 19, 2025 01:55
- Install and configure Storybook v9.1.1 for Vue 3
- Set up Storybook configuration with Vite integration
- Add Pinia store support for Storybook environment
- Create comprehensive NodePreview.stories.ts with multiple node examples:
  - KSampler node (complex node with multiple inputs/outputs)
  - CLIP Text Encode node (simple text input node)
  - VAE Decode node (image processing node)
  - Example with long markdown description
- Configure project paths and aliases for Storybook
- Stories demonstrate various ComfyUI node types with realistic mock data
- Update tsconfig.eslint.json to include Storybook files
- Fix ESLint issues with imports and number precision
- Add Storybook ESLint plugin configuration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add comprehensive PrimeVue theme setup with ComfyUI preset
- Configure proper Vue app setup with Pinia stores, i18n, and services
- Remove unused onboarding addon from Storybook dependencies
- Improve Vite configuration with better chunking and alias resolution
- Add proper CSS imports and styling for ComfyUI components

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add README.md explaining Storybook usage, benefits, and comparison with other tools
- Add CLAUDE.md with development guidelines for working with Storybook
- Include best practices, troubleshooting tips, and integration notes
- Address PR review feedback for better developer onboarding

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Fix type mismatches in Load3DScene eventConfig by casting string values to proper enum types (MaterialMode, CameraType, UpDirection)
- Fix Uint8Array vs ArrayBuffer type issues in GLTF test by using .buffer property
- Remove unused @ts-expect-error comment in Rectangle.ts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add automated visual regression testing for Storybook components
- Configure workflow to run on main branch and PRs
- Auto-accept changes on main branch for baseline updates
- Uses build-storybook script for optimized builds

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Document Chromatic visual testing integration
- Add information about automated testing workflow
- Include best practices for visual regression testing
- Explain how to view and manage test results

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Rebase sno-storybook branch onto origin/main with latest changes
- Update .storybook/main.ts with additional plugins and component configuration
- Add icons and component resolvers for Storybook support
- Update .gitignore with new entries
- Regenerate package-lock.json after rebase conflicts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Add proper type validation for subgraph node selection before calling
SubgraphNode-specific methods. This prevents undefined values from being
passed to functions expecting SubgraphNode parameters.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
…proper resolution in the project

refactor(vite.config.mts): adjust templates proxy configuration for better readability and maintainability
…to main.mjs

- Convert .storybook/main.ts to main.mjs to resolve ES module compatibility
- Use dynamic imports instead of static imports to avoid require() errors
- Add .storybook directory to tsconfig.json includes
- Storybook build and dev server now work correctly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
…ety and maintainability

fix(storybook): remove unused import map plugins in Storybook configuration to prevent potential issues
fix(storybook): update color palette store initialization to streamline code and improve readability
- Replace complex GitHub Script actions with edumserrano/find-create-or-update-comment@v3
- Add comprehensive PR comments showing Storybook build progress and results
- Include build metrics: components, stories, visual changes, and errors
- Add direct links to Chromatic builds and Storybook previews
- Reduce workflow complexity by ~60 lines while maintaining functionality
- Use native GitHub Actions expressions for cleaner maintainability

🤖 Generated with Claude Code

Co-Authored-By: Claude <[email protected]>
…deployment job for better organization and clarity
- Use dynamic import for mergeConfig to avoid CJS build warning
- Replace static import with dynamic import in viteFinal function
- Maintain type safety with separate type import
- Fixes "The CJS build of Vite's Node API is deprecated" warning

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
__dirname is not available in all environments. Using process.cwd()
provides better compatibility and resolves path issues in Storybook.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:XXL This PR changes 1000+ lines, ignoring generated files. labels Sep 23, 2025
@snomiao snomiao force-pushed the sno-storybook--settings-panel branch 2 times, most recently from de98cb7 to 3aec59a Compare September 24, 2025 03:54
@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Sep 24, 2025
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:XXL This PR changes 1000+ lines, ignoring generated files. labels Sep 30, 2025
@snomiao snomiao marked this pull request as draft October 9, 2025 01:13
@snomiao
Copy link
Member Author

snomiao commented Oct 20, 2025

unlucky

@snomiao snomiao closed this Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants