-
Notifications
You must be signed in to change notification settings - Fork 1
fix/export grid backgrounds #32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
05337c8
feat(shared): add board theme types and utilities
Kripu77 c05e91e
feat(theme): add CSS variables for all board themes
Kripu77 0c7bcca
feat(theme): add surface tokens and update design system constants
Kripu77 7ab2b7c
feat(storage): add theme field to board data model
Kripu77 d63924f
feat(board): add element theme sync utilities and mind theme colors
Kripu77 2a5e2b8
refactor(grid): use shared theme utilities for grid colors
Kripu77 bf0e7b9
feat(board): integrate theme into BoardCanvas and page shell
Kripu77 bf36617
feat(toolbar): add theme picker to app menu
Kripu77 c8bc99e
feat(ui): update toolbar and control styles for board theming
Kripu77 1a99ac1
feat(collab): sync board theme over collaboration protocol
Kripu77 09357ca
feat(agent): apply board theme to agent pane and previews
Kripu77 696c5ac
feat(dialogs): apply board theme to mindmap and mermaid dialogs
Kripu77 a110a8f
feat(storage): persist board theme in auto-save
Kripu77 119dea8
feat(export): render grid backgrounds in board exports
Kripu77 b2f819d
test(collab): update collaboration test page for theme support
Kripu77 f2561b6
test: update tests for theme and grid background features
Kripu77 2346de5
test: stabilize undo move e2e
Kripu77 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid forcing the default theme before board hydration.
On the first render
currentBoardis stillnull, so this computes the default theme and immediately writes it todocument.documentElement. Persisted dark/starry boards will flash the wrong shell colors untilinitialize()finishes. Gate the root mutation until the board store is hydrated.💡 Minimal guard
useLayoutEffect(() => { + if (isLoading || !currentBoard) return; + const root = document.documentElement; const previousTheme = root.getAttribute('data-board-theme'); const previousDark = root.classList.contains('dark'); @@ - }, [boardThemeMode, boardUsesDarkShell]); + }, [boardThemeMode, boardUsesDarkShell, currentBoard, isLoading]);📝 Committable suggestion
🤖 Prompt for AI Agents