Skip to content

Conversation

@derianrddev
Copy link
Contributor

@derianrddev derianrddev commented Jan 16, 2026

📖 Description

🚧 Work in Progress

Implements a comprehensive Logo Generation wizard integrated with the Brand Kit system, enabling users to create professional wordmark and symbol logos through a guided AI-powered process. This PR introduces the foundation for a 4-step logo creation workflow with a fully functional interactive wordmark designer featuring 11 typography presets, live preview, and dynamic controls. Additional steps (Direction, Refine, Confirm) are currently in development.

✅ Changes Made

Logo Generation Wizard Architecture:

  • Create LogoGenerationWizard with 4-step flow (Style → Direction → Refine → Confirm)
  • Integrate as separate wizard accessible from Brand Kit checkpoint
  • Update BrandKitDialog to manage three views: entry, brandKit, and logoGeneration
  • Implement seamless navigation between Brand Kit and Logo Generation wizards
  • Wire up "Generate Logo" button transition with proper state management

Wizard Stepper Enhancement:

  • Add dual variant support: brandKit and logoGeneration
  • Implement decorative "Checkpoint" prefix with FlagTriangleRight icon
  • Add Goal icon for final step in logo generation flow
  • Improve responsive layout with fixed-width containers and proper spacing

Logo Style Step (Wordmark Designer) - ✅ Complete:

  • Implement LogoStyleStep with 11 wordmark preset templates
  • Create WordmarkPreview component with auto-scaling typography using canvas measurements
  • Add SnapSlider component for discrete value selection with keyboard navigation
  • Build interactive controls for casing, tracking (-10% to +14%), and font weight
  • Integrate primary/secondary font switching with RadioGroup component
  • Implement preset carousel with rules engine (fixed/free casing, weight constraints, tracking ranges)
  • Add live preview with organization name and auto-scaling
  • Include comprehensive tooltips and preset validation

Wordmark System & Typography:

  • Define 11 wordmark presets: All caps (tight/wide), Title case, Lowercase, Heavy/Light weight, Condensed, Extended, Small caps, Custom tweak, Accent touch
  • Create preset configuration with casing modes, tracking ranges, and allowed weights
  • Implement casing transformation logic for all modes including small-caps rendering
  • Add font weight helpers: getAvailableWordmarkWeights, getFallbackWeight

Google Fonts Refactoring:

  • Reorganize from lib/constants/google-fonts.ts to lib/constants/brand-kit/google-fonts.ts
  • Expand font weight support from single weight to full ranges (200-900) for 86 font families
  • Define FONT_WEIGHTS_BY_FAMILY constant with available weights per font
  • Add WordmarkFontWeight type with semantic names (extra light to black)
  • Create weight-to-numeric mapping utilities for canvas rendering

Additional Wizard Steps - 🚧 In Progress:

  • Add LogoDirectionStep placeholder (style selection interface)
  • Add RefineLogoStep placeholder (reference assets system)
  • Add LogoConfirmStep placeholder (download assets)

Brand Kit Reference Assets (102 images):

  • Add 71 font preview images in /public/brand-kit/fonts/
  • Add 8 palette preview images in /public/brand-kit/palettes/
  • Add 12 symbol style previews in /public/brand-kit/symbol/
  • Add 11 wordmark style previews in /public/brand-kit/wordmark/

State Management Extensions:

  • Add logo generation state to useWorkspaceMedia:
    • selectedLogoStyle, selectedSymbolStyle, selectedWordmarkStyle
    • wordmarkName, logoReferenceAssets (4-slot array)
    • wordmarkPreset, wordmarkCasing, wordmarkTracking, wordmarkFontWeight
  • Add actions: setSelectedLogoStyle, setWordmarkName, addLogoReferenceAsset, removeLogoReferenceAsset, setWordmarkPreset, etc.
  • Export font weight helpers for convenience

Type Definitions:

  • Define SymbolStyle (12 options), WordmarkStyle (11 presets), WordmarkCasing (4 modes), WordmarkFontWeight (7 weights)
  • Create WordmarkPreset, CasingOption, LogoStyle, LogoReferenceAsset interfaces

UI Components:

  • Add RadioGroup and RadioGroupItem from Radix UI
  • Update WizardStepProps to include optional onGenerateLogo callback

🖼️ Media (screenshots/videos)

https://www.loom.com/share/a2026741139a459eb31b8c1b95b25fe2

Summary by Sourcery

Introduce a multi-step AI-assisted logo generation flow integrated with the Brand Kit, including a completed wordmark style step, foundational direction/refinement/confirmation steps, and supporting typography and asset infrastructure.

New Features:

  • Add a dedicated Logo Generation wizard with a four-step flow (style, direction, refine, confirm) accessible from the Brand Kit dialog.
  • Implement a wordmark logo style designer with live preview, typography presets, casing/tracking/weight controls, and font role selection.
  • Enable logo refinement using preloaded brand kit reference assets, prompt generation helpers, and image generation wiring.
  • Add symbol and wordmark style selection screens backed by typed style enums and preset configurations.
  • Provide an image preview modal and logo reference slots for managing and previewing logo reference imagery.

Enhancements:

  • Extend the shared wizard stepper with a logo-generation variant, decorative checkpoint step, and improved responsive layout.
  • Augment workspace media state and actions to track logo generation choices, wordmark presets, and reference assets, and re-export font weight helpers for consumers.
  • Refactor Google Fonts configuration into a brand-kit–specific module with expanded weight support and utilities for mapping semantic wordmark weights.
  • Define strong brand-kit types for symbol/wordmark styles, casing, font weights, and presets, plus wordmark preset and casing option constants.
  • Improve Brand Kit dialog navigation to support switching between the Brand Kit wizard and the Logo Generation wizard entry point.

Build:

  • Add @radix-ui/react-radio-group as a UI dependency for font selection controls.

…igation

- Add LogoGenerationWizard component with 4-step flow (Style, Direction, Refine, Confirm)
- Implement dual-wizard navigation between Brand Kit and Logo Generation
- Update WizardStepper to support 'brandKit' and 'logoGeneration' variants
- Add checkpoint navigation indicator with FlagTriangleRight and Goal icons
- Refactor BrandKitDialog to manage three views: entry, brandKit, and logoGeneration
- Move Google Fonts constants to brand-kit folder for better organization
- Add onGenerateLogo callback prop to WizardStepProps interface
- Update CheckpointStep to transition to logo generation wizard instead of closing
- Implement proper step tracking and navigation between wizards
- Add variant-specific stepper styling with checkpoint prefix for logo flow
…view

- Add SnapSlider component for discrete value selection with visual feedback
- Implement WordmarkPreview component with auto-scaling and canvas-based measurement
- Create 11 wordmark presets with typography rules (casing, tracking, weight constraints)
- Add interactive controls for casing, tracking, and font weight selection
- Integrate RadioGroup component for font family switching (primary/secondary)
- Add wordmark state management to useWorkspaceMedia hook
- Define brand-kit types: WordmarkStyle, WordmarkCasing, WordmarkFontWeight
- Add font weight validation helpers (getAvailableWordmarkWeights, getFallbackWeight)
- Implement LogoStyleStep with carousel-based preset selection
- Create constants for wordmark presets and casing options with icons
…ction

- Add LogoDirectionStep component with style selection interface
- Define 12 symbol style options (monogram, geometric badge, abstract, etc.)
- Define 11 wordmark style options (all caps tight/wide, title case, etc.)
- Implement responsive grid layout with preview images for each style
- Add conditional rendering based on selected logo style (wordmark vs symbol)
- Integrate style selection with useWorkspaceMedia state management
- Add navigation controls with back/continue/cancel actions
- Include hover states and selected state visual feedback
…generation

- Add RefineLogoStep component with 4-slot reference asset system
- Create LogoReferenceSlot component for managing reference images
- Implement ImagePreviewModal for full-screen image viewing
- Add brand-kit checksums for fonts, palettes, and style previews
- Create logo-prompt helper for building AI-ready generation prompts
- Add logo-reference-assets helper for converting brand kit to reference images
- Include 71 font preview images
- Include 8 palette preview images
- Include 12 symbol style preview images
- Include 11 wordmark style preview images
- Support reference upload, brand kit auto-population, and manual selection
- Integrate with image generation system for logo refinement
@derianrddev derianrddev self-assigned this Jan 16, 2026
@vercel
Copy link

vercel bot commented Jan 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
masterbots-pro Ready Ready Preview, Comment Jan 16, 2026 4:58pm
1 Skipped Deployment
Project Deployment Review Updated (UTC)
masterbots Skipped Skipped Jan 16, 2026 4:58pm

Request Review

@sourcery-ai
Copy link

sourcery-ai bot commented Jan 16, 2026

Reviewer's Guide

Implements a new multi-step Logo Generation wizard integrated with the existing Brand Kit flow, adds a full wordmark/logo-typography system (presets, casing, weights, auto-scaling preview), extends workspace media state/actions for logo data, and introduces precomputed Google Fonts and reference-asset helpers for AI logo generation.

Sequence diagram for Brand Kit checkpoint to Logo Generation wizard transition

sequenceDiagram
  actor User
  participant BrandKitDialog
  participant BrandKitWizard
  participant CheckpointStep
  participant WorkspaceMedia
  participant LogoGenerationWizard

  User->>BrandKitDialog: open Brand_Kit_dialog
  BrandKitDialog->>BrandKitWizard: render view brandKit

  User->>BrandKitWizard: complete previous_steps
  BrandKitWizard->>CheckpointStep: render CheckpointStep

  User->>CheckpointStep: click Generate_Logo
  CheckpointStep->>WorkspaceMedia: buildBrandKitData
  alt activeOrganization_exists
    CheckpointStep->>WorkspaceMedia: saveBrandKit
    WorkspaceMedia-->>CheckpointStep: save_success
    CheckpointStep->>WorkspaceMedia: clearBrandKitStep
  else no_activeOrganization
    Note over CheckpointStep,WorkspaceMedia: Skip_saving_brand_kit
  end

  CheckpointStep->>BrandKitWizard: onGenerateLogo_callback
  BrandKitWizard->>BrandKitDialog: onGenerateLogo
  BrandKitDialog->>BrandKitDialog: setCurrentView logoGeneration
  BrandKitDialog->>LogoGenerationWizard: render LogoGenerationWizard
  LogoGenerationWizard->>LogoGenerationWizard: initialize steps Logo_Style,Direction,Refine,Confirm
Loading

Sequence diagram for Refine Logo step AI generation with reference assets

sequenceDiagram
  actor User
  participant RefineLogoStep
  participant WorkspaceMedia
  participant LogoPromptHelper as logo-prompt
  participant LogoRefAssetsHelper as logo-reference-assets
  participant ImageGen as useImageGeneration

  RefineLogoStep->>WorkspaceMedia: get selectedLogoStyle
  RefineLogoStep->>WorkspaceMedia: get selectedSymbolStyle
  RefineLogoStep->>WorkspaceMedia: get selectedWordmarkStyle
  RefineLogoStep->>WorkspaceMedia: get wordmarkName
  RefineLogoStep->>WorkspaceMedia: get selectedVibes
  RefineLogoStep->>WorkspaceMedia: get selectedPalette
  RefineLogoStep->>WorkspaceMedia: get selectedFonts

  RefineLogoStep->>LogoRefAssetsHelper: preloadLogoReferenceAssets selectedFonts,selectedPalette,selectedLogoStyle,selectedWordmarkStyle,selectedSymbolStyle
  LogoRefAssetsHelper-->>RefineLogoStep: logoReferenceAssets[4]
  RefineLogoStep->>WorkspaceMedia: setLogoReferenceAssets logoReferenceAssets

  RefineLogoStep->>LogoPromptHelper: buildLogoPrompt selectedLogoStyle,selectedSymbolStyle,selectedWordmarkStyle,wordmarkName,selectedVibes,selectedPalette,selectedFonts
  LogoPromptHelper-->>RefineLogoStep: generatedPrompt
  RefineLogoStep->>RefineLogoStep: set prompt_if_not_dirty

  User->>RefineLogoStep: edit_prompt_optional
  User->>RefineLogoStep: click Generate_logo

  RefineLogoStep->>LogoRefAssetsHelper: getLogoReferenceChecksums selectedFonts,selectedPalette,selectedLogoStyle,selectedWordmarkStyle,selectedSymbolStyle
  LogoRefAssetsHelper-->>RefineLogoStep: referenceImageChecksums[]

  RefineLogoStep->>ImageGen: generateImage prompt,gemini-3-pro-image-preview,referenceImageChecksums,aspectRatio_1_1
  ImageGen-->>RefineLogoStep: generatedImage_or_error
  RefineLogoStep->>WorkspaceMedia: handlePromptSubmit prompt
  RefineLogoStep-->>User: show generated_logo_preview_or_error_state
Loading

Updated class diagram for workspace media state and brand kit logo types

classDiagram
  class WorkspaceMediaProvider {
    +generatedImage
    +selectedVibes
    +selectedFonts
    +selectedPalette
    +brandKitCurrentStep
    +isSavingBrandKit
    +selectedLogoStyle LogoStyle
    +selectedSymbolStyle SymbolStyle
    +selectedWordmarkStyle WordmarkStyle
    +wordmarkName string
    +logoReferenceAssets LogoReferenceAsset[]
    +wordmarkPreset WordmarkStyle
    +wordmarkCasing WordmarkCasing
    +wordmarkTracking number
    +wordmarkFontWeight WordmarkFontWeight
    +setSelectedLogoStyle(style)
    +setSelectedSymbolStyle(style)
    +setSelectedWordmarkStyle(style)
    +setWordmarkName(name)
    +setLogoReferenceAssets(assets)
    +addLogoReferenceAsset(asset,index)
    +removeLogoReferenceAsset(index)
    +setWordmarkPreset(preset)
    +setWordmarkCasing(casing)
    +setWordmarkTracking(tracking)
    +setWordmarkFontWeight(weight)
  }

  class LogoStyle {
    <<enumeration>>
    +wordmark
    +symbol
  }

  class LogoReferenceAsset {
    +type
    +previewUrl string
    +label string
    +metadata Record
  }

  class SymbolStyle {
    <<enumeration>>
    +monogram
    +geometric-badge
    +soft-blob
    +sharp-crest
    +abstract-symbol
    +literal-pictogram
    +negative-space
    +line-grid
    +emblem-seal
    +motion-arrow
    +mascot-head
    +pattern-tile
  }

  class WordmarkStyle {
    <<enumeration>>
    +all-caps-tight
    +all-caps-wide
    +title-case-neutral
    +lowercase-soft
    +heavy-weight
    +light-weight
    +condensed
    +extended-wide
    +small-caps
    +custom-letter-tweak
    +accent-touch
    +color-system-set
  }

  class WordmarkCasing {
    <<enumeration>>
    +all-caps
    +title-case
    +lowercase
    +small-caps
  }

  class WordmarkFontWeight {
    <<enumeration>>
    +extra_light
    +light
    +regular
    +medium
    +semibold
    +bold
    +black
  }

  class WordmarkPreset {
    +id WordmarkStyle
    +title string
    +subtitle string
    +casingMode
    +fixedCasing WordmarkCasing
    +trackingMin number
    +trackingMax number
    +defaultTracking number
    +allowedWeights WordmarkFontWeight[]
    +defaultWeight WordmarkFontWeight
    +notes string
  }

  class CasingOption {
    +id WordmarkCasing
    +label string
    +icon LucideIcon
  }

  WorkspaceMediaProvider "1" --> "*" LogoReferenceAsset : manages
  WorkspaceMediaProvider --> LogoStyle
  WorkspaceMediaProvider --> SymbolStyle
  WorkspaceMediaProvider --> WordmarkStyle
  WorkspaceMediaProvider --> WordmarkCasing
  WorkspaceMediaProvider --> WordmarkFontWeight
  WordmarkPreset --> WordmarkStyle
  WordmarkPreset --> WordmarkCasing
  WordmarkPreset --> WordmarkFontWeight
  CasingOption --> WordmarkCasing
Loading

Flow diagram for logo reference assets and AI generation

flowchart LR
  subgraph Brand_Kit_state
    A_selectedFonts["Selected fonts in WorkspaceMedia"]
    B_selectedPalette["Selected palette in WorkspaceMedia"]
    C_logoStyle["selectedLogoStyle"]
    D_wordmarkStyle["selectedWordmarkStyle"]
    E_symbolStyle["selectedSymbolStyle"]
  end

  subgraph Refine_Logo_step
    F_preload["preloadLogoReferenceAssets"]
    G_assets["logoReferenceAssets[4]"]
    H_slot["LogoReferenceSlot components"]
    I_checksums["getLogoReferenceChecksums"]
  end

  subgraph Image_generation
    J_generate["useImageGeneration.generateImage"]
    K_model["Gemini image model"]
  end

  A_selectedFonts --> F_preload
  B_selectedPalette --> F_preload
  C_logoStyle --> F_preload
  D_wordmarkStyle --> F_preload
  E_symbolStyle --> F_preload

  F_preload --> G_assets
  G_assets --> H_slot
  H_slot --> I_checksums

  A_selectedFonts --> I_checksums
  B_selectedPalette --> I_checksums
  C_logoStyle --> I_checksums
  D_wordmarkStyle --> I_checksums
  E_symbolStyle --> I_checksums

  I_checksums --> J_generate
  J_generate --> K_model

  subgraph Checksum_lookup
    L_fonts["BRAND_KIT_CHECKSUMS.fonts"]
    M_palettes["BRAND_KIT_CHECKSUMS.palettes"]
    N_wordmark["BRAND_KIT_CHECKSUMS.wordmark"]
    O_symbol["BRAND_KIT_CHECKSUMS.symbol"]
  end

  I_checksums --> L_fonts
  I_checksums --> M_palettes
  I_checksums --> N_wordmark
  I_checksums --> O_symbol
Loading

File-Level Changes

Change Details Files
Extend wizard stepper to support logo generation variant with decorative checkpoint and goal icons plus improved responsive layout.
  • Add a variant prop to distinguish brand kit vs logo generation stepper behavior and visuals
  • Insert a decorative non-clickable "Checkpoint" step for logo generation flows while preserving index mapping
  • Use Goal icon for the final logo-generation step and FlagTriangleRight for the checkpoint/brand kit final step
  • Rework layout with fixed-width step containers, connector lines, and better spacing and accessibility
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/wizard/wizard-stepper.tsx
Add logo generation state and actions to workspace media context, including wordmark preset configuration and reference asset management.
  • Introduce LogoStyle and LogoReferenceAsset types and wire them into MediaWorkspaceState
  • Track selected logo style, symbol/wordmark styles, wordmark name, reference assets, and wordmark typography parameters (preset, casing, tracking, weight)
  • Expose setters plus helpers to add/remove reference assets and update wordmark configuration
  • Initialize sensible defaults for logo-related state and re-export font weight helpers for use in UI components
apps/pro-web/lib/hooks/use-workspace-media.tsx
Refactor BrandKit dialog into separate Brand Kit and Logo Generation wizards with navigation between entry, checkpoint, and logo flows.
  • Expand BrandKitDialog view state to include distinct brandKit and logoGeneration views and adjust subtitle logic
  • Route "New Brand" into the BrandKitWizard and "Generate Logo" into the LogoGenerationWizard
  • Change checkpoint step to call an onGenerateLogo callback instead of advancing the generic wizard, saving brand kit first when possible
  • Simplify BrandKitWizard to always advance internally while delegating logo-generation transition to its parent
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/brand-kit-dialog.tsx
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/wizard/steps/checkpoint-step.tsx
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/wizard/brand-kit-wizard.tsx
apps/pro-web/components/ui/wizard/index.tsx
Introduce a Logo Generation wizard with four steps and shared stepper integration.
  • Create LogoGenerationWizard wrapper that uses useWizard, plugs into the shared WizardStepper with logoGeneration variant, and handles finish/cancel behavior
  • Wire steps for style selection, direction, refinement, and confirmation into a single flow
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/logo-generation/logo-generation-wizard.tsx
Implement a full-featured Logo Style step with wordmark presets, live preview, typography controls, and font-weight availability logic.
  • Build LogoStyleStep UI with main preview card, name input, font-role radio selection, casing controls, tracking slider, and weight slider
  • Integrate WORDMARK_PRESETS and CASING_OPTIONS to drive presets, enforce fixed/free casing rules, and apply preset-specific tracking/weight defaults
  • Use getAvailableWordmarkWeights and getFallbackWeight to constrain weights to those supported by the chosen Google font family
  • Persist selections into workspace media state (logo style, name, preset, casing, tracking, weight) and advance the wizard once a valid name is set
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/logo-generation/steps/logo-style-step.tsx
apps/pro-web/lib/constants/brand-kit/wordmark.ts
apps/pro-web/types/brand-kit.types.ts
Add reusable wordmark preview, snap-slider, and radio-group UI primitives to support interactive logo-typography editing.
  • Create WordmarkPreview component that applies casing (including small-caps), tracking, weight, and auto-scales font size using canvas measurement and ResizeObserver
  • Add SnapSlider component for discrete option selection with keyboard support, drag interaction, and labeled extremes/icons
  • Introduce a Radix-based RadioGroup and RadioGroupItem wrapper for choosing between primary and secondary fonts
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/logo-generation/wordmark-preview.tsx
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/logo-generation/snap-slider.tsx
apps/pro-web/components/ui/radio-group.tsx
Add Google Fonts constants and helpers for wordmark typography, including per-family weight availability and semantic-to-numeric weight mapping.
  • Move and significantly expand Google Fonts definitions into a brand-kit–scoped module with 80+ families and full weight ranges
  • Expose FONT_WEIGHTS_BY_FAMILY, a GOOGLE_FONTS map, and type aliases for font family/weights
  • Map semantic WordmarkFontWeight values to numeric CSS weights and back
  • Provide getAvailableWordmarkWeights and getFallbackWeight helpers for filtering and choosing valid weights per family
  • Remove the old google-fonts constants file in favor of the new brand-kit namespace
apps/pro-web/lib/constants/brand-kit/google-fonts.ts
apps/pro-web/lib/constants/google-fonts.ts
Add reference-asset infrastructure (checksums, preload helpers, and UI slots) to feed logo generation with precomputed image references.
  • Introduce BRAND_KIT_CHECKSUMS and getBrandKitChecksum to map static font/palette/wordmark/symbol images to precomputed checksums
  • Add helpers to preload LogoReferenceAsset instances from current brand-kit selections and to derive reference checksums without uploads
  • Create LogoReferenceSlot UI for dropzone/file-input based logo reference tiles with thumbnail preview/removal and drag-and-drop handling
  • Implement an ImagePreviewModal that overlays a large preview on top of Radix dialogs while carefully intercepting events
apps/pro-web/lib/constants/brand-kit/brand-kit-checksums.ts
apps/pro-web/lib/helpers/logo-reference-assets.ts
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/logo-generation/logo-reference-slot.tsx
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/logo-generation/image-preview-modal.tsx
Implement a Refine Logo step that builds an AI prompt from brand-kit selections, wires in reference assets/checksums, and triggers image generation.
  • Preload logo reference assets into workspace media when the step mounts based on selected fonts, palette, logo style, and style variants
  • Auto-generate a prompt via buildLogoPrompt while allowing users to edit it (tracked via a dirty flag)
  • Use getLogoReferenceChecksums and useImageGeneration to generate a new logo image with reference checksums and a fixed 1:1 aspect ratio, handling loading and error states
  • Render four LogoReferenceSlot tiles, a preview pane for the generated image, and a prompt textarea with submit button
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/logo-generation/steps/refine-logo-step.tsx
apps/pro-web/lib/helpers/logo-prompt.ts
Implement a Logo Direction step and a stub Confirm step for selecting high-level logo layout and finalizing generation.
  • Add LogoDirectionStep that conditionally displays symbol or wordmark style options backed by static preview images and persists the selected style in workspace media
  • Include LogoConfirmStep placeholder that provides basic confirmation UI and a stubbed generate handler
  • Define SymbolStyle and WordmarkStyle enumerations consistent with available preview assets
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/logo-generation/steps/logo-direction-step.tsx
apps/pro-web/components/routes/workspace/media-tab/ui/brand-kit/logo-generation/steps/logo-confirm-step.tsx
apps/pro-web/types/brand-kit.types.ts
Wire Radix radio-group dependency for new typography controls.
  • Add @radix-ui/react-radio-group to the pro-web app dependencies
apps/pro-web/package.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 16, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

- Create SelectableCarousel generic component for item selection with pagination
- Extract carousel logic from ColorsStep to shared component
- Extract carousel logic from LogoStyleStep to shared component
- Remove duplicate carousel state management (carouselApi, currentPage, totalPages)
- Simplify palette and preset selection with declarative API
- Support generic items with getKey, isSelected, and onSelect callbacks
- Reduce code duplication across brand kit wizard steps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants