Skip to content

feat: add formatting toolbar reorder and visibility settings#66

Merged
j4rviscmd merged 2 commits intomainfrom
feat/toolbar-reorder
Mar 26, 2026
Merged

feat: add formatting toolbar reorder and visibility settings#66
j4rviscmd merged 2 commits intomainfrom
feat/toolbar-reorder

Conversation

@j4rviscmd
Copy link
Copy Markdown
Owner

Summary

Add a new settings section that allows users to customize the FormattingToolbar (BubbleMenu) by reordering items via drag-and-drop and toggling their visibility.

Changes

New Files

  • src/app/providers/toolbar-config-provider.tsx — Context Provider with persistence via tauri-plugin-store
  • src/features/settings/lib/toolbarConfig.ts — Type definitions, defaults (13 items), validation for schema evolution
  • src/features/settings/ui/ToolbarOption.tsx — Settings UI with @dnd-kit sortable list, visibility toggles, and matching BubbleMenu icons

Modified Files

  • src/App.tsx — Wrap AppContent with ToolbarConfigProvider
  • src/app/providers/store-provider.tsx — Add toolbarConfig to configDefaults and pre-fetch
  • src/features/editor/ui/Editor.tsx — Replace static toolbar builder with Provider-driven useMemo
  • src/features/settings/ui/SettingsDialog.tsx — Add Toolbar section
  • src/features/settings/index.ts — Export new types and constants

Features

  • Drag-and-drop reorder of 13 toolbar items (Bold, Italic, Underline, etc.)
  • Show/hide toggle per item with Switch component
  • Each item displays its actual BubbleMenu icon for intuitive identification
  • Reset to default button when configuration is customized
  • Persists to tauri-plugin-store (config.json)
  • Schema evolution support via validateToolbarConfig()
  • Context-dependent items (blockTypeSelect, file operations, etc.) are always shown and not configurable

j4rviscmd and others added 2 commits March 27, 2026 00:15
Add a new settings section that allows users to reorder and toggle
visibility of FormattingToolbar (BubbleMenu) items via drag-and-drop.

- Create ToolbarConfigProvider with persist to tauri-plugin-store
- Add ToolbarOption settings UI with @dnd-kit sortable list
- Display matching BubbleMenu icons next to each item label
- Integrate toolbar config into Editor.tsx with useMemo
- Support schema evolution via validateToolbarConfig
- Include reset-to-default functionality

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@j4rviscmd j4rviscmd added the enhancement New feature or request label Mar 26, 2026
@j4rviscmd j4rviscmd merged commit 292213d into main Mar 26, 2026
2 checks passed
@j4rviscmd j4rviscmd deleted the feat/toolbar-reorder branch March 26, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant