-
Notifications
You must be signed in to change notification settings - Fork 1
refactor: improve performance for common use cases #307
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
vitonsky
merged 99 commits into
master
from
306-improve-performance-for-common-use-cases
Jun 8, 2026
Merged
Changes from all commits
Commits
Show all changes
99 commits
Select commit
Hold shift + click to select a range
ce79351
feat: let app to run in browser
vitonsky 9fdb367
perf: vault component
vitonsky 2b9955c
perf: note content component
vitonsky ac44bdb
perf: render menu when user click it
vitonsky 5bdf1d2
perf: inline redux selector
vitonsky 37f1505
perf: simplify notes container
vitonsky 42aa83d
perf: memoize note tabs
vitonsky 7394eb1
chore: support run in browser
vitonsky e889ce2
chore: serve bundle via webpack
vitonsky 77ee828
perf: memoize workspaces list selector
vitonsky a205cbc
perf: prevent re-render note content
vitonsky a356954
perf: prevent re-render whole tab content
vitonsky 9750329
perf: memoize items in notes list
vitonsky af1ce6d
perf: do not render closed menu
vitonsky b805edc
refactor: move to Charka UI v3
vitonsky 8506ef7
fix: design tokens
vitonsky b3aef90
refactor: sync chakra theme
vitonsky 0835f7b
feat: generate chakra types
vitonsky 4fb38b3
refactor: update tooltip styles
vitonsky c909586
refactor: tune buttons and inputs
vitonsky e26eb78
refactor: consistent styles use
vitonsky 7f4c69a
chore: ingore electron API in browser
vitonsky 2b66040
chore: increase size
vitonsky 222ff7a
chore: improve switch
vitonsky 066060c
refactor: tooltips and alerts
vitonsky 984a08f
fix: slider
vitonsky c1afdcc
fix: modal dialog header and close button
vitonsky 20f887b
fix: modal text size
vitonsky ef30a6b
fix: properties form style
vitonsky 711edda
fix: note preview
vitonsky 5eddeee
fix: update vault creator code
vitonsky c2796be
fix: set secondary color
vitonsky f6c9544
fix: link style
vitonsky 6e56a0f
fix: input with text
vitonsky e815b5a
chore: ensure type
vitonsky 6551541
fix: skeletons
vitonsky adb8e72
fix: font sizes
vitonsky 3aab995
chore: remove .base usage
vitonsky 8cb68c1
fix: scroll colors
vitonsky 9a06250
fix: menu small size
vitonsky 2b54fe3
fix: tabs styles
vitonsky 06918d0
fix: surface panel styles
vitonsky 9727849
fix: add margin
vitonsky 57f2db5
fix: input styles
vitonsky 6585758
feat: update zen theme
vitonsky 30d2b7f
fix: resizable panels usage
vitonsky 712e193
chore: use small buttons in history list
vitonsky 2a22fe8
chore: introduce statusbar button view
vitonsky af52d01
chore: note sidebar buttons
vitonsky 921d196
chore: improve skeleton view
vitonsky fb03343
perf: use virtual list in suggested tags
vitonsky 0056eab
perf: use fuse for suggests list
vitonsky 68ea9a0
chore: delete unused utils
vitonsky 23e5837
chore: update disabled bg
vitonsky e9e7120
fix: set state while rendering
vitonsky 9dbaffb
chore: remove unused tokens
vitonsky 6391cda
chore: sync color schemes
vitonsky 76d882f
fix: monaco editor
vitonsky bcd71c8
fix: prevent re-render rich text container
vitonsky 7ee54ac
perf: run search only in active note
vitonsky 2405c54
refactor: use chakra menu for editor mode picker
vitonsky 384ac21
perf: use virtualized tags tree
vitonsky ed71224
refactor: create tags tree recipe
vitonsky 630f0a1
chore: normalize recipe use
vitonsky ed6afa3
chore: clean tags list
vitonsky 5af8a06
chore: toggle menu by press ctrl
vitonsky d9a39c7
refactor: split tags tree component into files
vitonsky 7659fd1
fix: tag creation
vitonsky 5ca6b30
chore: simplify sorting
vitonsky 05a783b
fix: rebuild tags tree by changes
vitonsky 8614e8b
chore: use proxied instance
vitonsky b69f266
perf: use non-reactive selectors for useUpdateNotes hook
vitonsky 0633790
chore: add memo wrapper
vitonsky ae32178
perf: do not render notes that has not been touched
vitonsky 63f4448
fix: restore scroll after change tab
vitonsky 03aa289
feat: introduce ListBox
vitonsky c6a2163
refactor: remove NestedList component
vitonsky 60505ba
chore: remove cast to any
vitonsky 2f0a89b
fix: show toaster
vitonsky 26c7b72
chore: add session flags
vitonsky e182c25
chore: prevent form submit
vitonsky 98d7719
chore: render button
vitonsky ddcf2c0
chore: ensure correct type in state
vitonsky f1b4835
chore: add comment
vitonsky 6355883
chore: update menu item values
vitonsky d282446
refactor: simplify promise
vitonsky 9984bca
chore: minimize deps interface
vitonsky 6df3e89
chore: add guard
vitonsky 1447d48
fix: order tags in selector
vitonsky 8e8347b
chore: create objects lazy
vitonsky 90c47f1
chore: add todo
vitonsky 5a1879a
fix: clear stale callbacks
vitonsky 5a425ef
chore: remove unnecessary memo
vitonsky 605fc7c
chore: fix CSS
vitonsky 4e7223a
chore: avoid type cast
vitonsky dadfebb
chore: remove unused components
vitonsky 6636d5e
chore: remove unused components
vitonsky 1c12e3c
chore: fix CSS
vitonsky eb951a0
chore: add memoization
vitonsky 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
Large diffs are not rendered by default.
Oops, something went wrong.
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,2 @@ | ||
| .transly | ||
| .transly | ||
| chakra-config.json |
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
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 was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,34 +1,37 @@ | ||
| import React, { forwardRef } from 'react'; | ||
| import React, { forwardRef, memo, ReactNode } from 'react'; | ||
| import { | ||
| IconButton as BaseIconButton, | ||
| IconButtonProps as BaseIconButtonProps, | ||
| Tooltip, | ||
| TooltipProps, | ||
| } from '@chakra-ui/react'; | ||
| import { Tooltip, type TooltipProps } from '@components/ui/tooltip'; | ||
|
|
||
| export type IconButtonProps = Omit<BaseIconButtonProps, 'icon' | 'aria-label'> & { | ||
| icon: Exclude<BaseIconButtonProps['icon'], void>; | ||
| export type IconButtonProps = Omit<BaseIconButtonProps, 'aria-label'> & { | ||
| icon: ReactNode; | ||
| title: string; | ||
| tooltipPlacement?: TooltipProps['placement']; | ||
| tooltipPlacement?: string; | ||
| tooltipProps?: Omit<TooltipProps, 'children'>; | ||
| }; | ||
|
|
||
| export const IconButton = forwardRef<HTMLDivElement, IconButtonProps>( | ||
| ({ icon, title, tooltipPlacement, tooltipProps, ...buttonProps }, ref) => { | ||
| return ( | ||
| <Tooltip | ||
| label={title} | ||
| hasArrow | ||
| placement={tooltipPlacement} | ||
| {...tooltipProps} | ||
| > | ||
| <BaseIconButton | ||
| ref={ref} | ||
| icon={icon} | ||
| aria-label={title} | ||
| {...buttonProps} | ||
| /> | ||
| </Tooltip> | ||
| ); | ||
| }, | ||
| export const IconButton = memo( | ||
| forwardRef<HTMLButtonElement, IconButtonProps>( | ||
| ({ icon, title, tooltipPlacement, tooltipProps, ...buttonProps }, ref) => { | ||
| return ( | ||
| <Tooltip | ||
| showArrow | ||
| {...(tooltipProps ?? {})} | ||
| content={title} | ||
| positioning={{ | ||
| placement: tooltipPlacement as any, | ||
| ...(tooltipProps?.positioning ?? {}), | ||
| }} | ||
| > | ||
| <BaseIconButton ref={ref} aria-label={title} {...buttonProps}> | ||
| {icon} | ||
| </BaseIconButton> | ||
| </Tooltip> | ||
| ); | ||
| }, | ||
| ), | ||
| ); | ||
|
|
||
| IconButton.displayName = 'IconButton'; |
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.
Uh oh!
There was an error while loading. Please reload this page.