3ef012eb43
test(UnifiedFontStore): add pagination state tests
Ilia Mashkov
2026-04-06 11:34:03 +03:00
5df60b236c
test(UnifiedFontStore): cover fetchFn typed error paths and error getter
Ilia Mashkov
2026-04-05 14:59:17 +03:00
df3c694909
feat(UnifiedFontStore): throw FontNetworkError and FontResponseError in fetchFn
Ilia Mashkov
2026-04-05 14:06:32 +03:00
a1a1fcf39d
feat(BaseFontStore): expose error getter
Ilia Mashkov
2026-04-05 11:03:00 +03:00
b40e651be4
refactor(Font/model): move baseFontStore and unifiedFontStore to subdirectories, rename errors/index to errors/errors
Ilia Mashkov
2026-04-05 11:02:42 +03:00
9427f4e50f
feat(Font): re-export FontNetworkError and FontResponseError from entity barrel
Ilia Mashkov
2026-04-05 09:33:58 +03:00
ed9791c176
feat(Font/lib): add FontNetworkError and FontResponseError
Ilia Mashkov
2026-04-05 09:04:47 +03:00
c6dabafd93
chore(appliedFontsStore): move FontBufferCache, FontEvicionPolicy and FontLoadQueue to appliedFontsStore/utils
Ilia Mashkov
2026-04-05 08:24:11 +03:00
e88cca9289
test(FontBufferCache): change mock fetcher type
Ilia Mashkov
2026-04-04 16:43:54 +03:00
d4cf6764b4
test(appliedFontsStore): rewrite tests with describe grouping and full coverage
Ilia Mashkov
2026-04-04 10:38:20 +03:00
5a065ae5a1
refactor: extract #fetchChunk, replace Promise.allSettled with self-describing results
Ilia Mashkov
2026-04-04 09:58:41 +03:00
20110168f2
refactor: extract #processFont and #scheduleProcessing from touch and #processQueue
Ilia Mashkov
2026-04-04 09:52:45 +03:00
f88729cc77
fix: guard AbortError from retry counting; eviction policy removes stale keys
Ilia Mashkov
2026-04-04 09:40:21 +03:00
d21de1bf78
chore(appliedFontsStore): use created collaborators classes
Ilia Mashkov
2026-04-03 16:09:10 +03:00
bc4ab58644
fix(buildQueryString): change the way the searchParams built
Ilia Mashkov
2026-04-03 16:08:15 +03:00
37e0c29788
refactor: loadFont throws FontParseError instead of re-throwing raw error
Ilia Mashkov
2026-04-03 15:42:08 +03:00
46ce0f7aab
feat: extract FontBufferCache with injectable fetcher
Ilia Mashkov
2026-04-03 15:24:14 +03:00
128f341399
feat: extract FontEvictionPolicy with TTL and pin/unpin
Ilia Mashkov
2026-04-03 15:06:01 +03:00
64b97794a6
feat: extract FontLoadQueue with retry tracking
Ilia Mashkov
2026-04-03 15:01:36 +03:00
d6eb02bb28
feat: add FontFetchError and FontParseError typed errors
Ilia Mashkov
2026-04-03 14:44:06 +03:00
a711e4e12a
chore(appliedFontsStore): move generateFontKey into separate function and cover it with tests
Ilia Mashkov
2026-04-03 12:50:50 +03:00
05e4c082ed
feat(appliedFontsStore): move font loading logic into loadFont function and cover it with tests
Ilia Mashkov
2026-04-03 12:26:23 +03:00
b602b5022b
chore(appliedFontsStore): move the FontLoadRequestConfig type and other types from appliedFontsStore into types directory
Ilia Mashkov
2026-04-03 12:25:38 +03:00
5249d88df7
feat(appliedFontsStore): create separate yieldToMainThread function with proper tests
Ilia Mashkov
2026-04-03 11:05:29 +03:00
e553cf1f10
feat(appliedFontsStore): create separate getEffectiveConcurrency function with proper tests
Ilia Mashkov
2026-04-03 11:03:48 +03:00
0fdded79d7
test: change globals to true to use vitest tools without importing them
Ilia Mashkov
2026-04-03 11:02:17 +03:00
8dbfde882f
Merge pull request 'fix(appliedFontsStore): solve ttl based fonts purge by adding cache for on-screen fonts' (#30) from fix/ttl-based-purge into main
ilia2026-04-03 06:38:00 +00:00
a6c8b50cea
fix(appliedFontsStore): solve ttl based fonts purge by adding cache for on-screen fonts
Ilia Mashkov
2026-04-03 09:35:16 +03:00
11c4750d0e
chore: update gitignore
Ilia Mashkov
2026-03-04 16:53:53 +03:00
03917cf947
Merge pull request 'chore: change hex colors to tailwind bariables' (#29) from chore/color-variables into main
ilia2026-03-04 13:52:53 +00:00
9b90080c57
chore: change hex colors to tailwind bariables
Ilia Mashkov
2026-03-04 16:51:49 +03:00
9c6ff3859a
Merge pull request 'feature/project-redesign' (#28) from feature/project-redesign into main
ilia2026-03-02 19:46:38 +00:00
6f65aa207e
fix: stories errors
Ilia Mashkov
2026-03-02 22:45:29 +03:00
87bba388dc
chore(app): update config, dependencies, storybook, and app shell
Ilia Mashkov
2026-03-02 22:21:19 +03:00
55e2efc222
refactor(features, widgets): update ThemeManager, FontSampler, FontSearch, and SampleList
Ilia Mashkov
2026-03-02 22:20:48 +03:00
0fa3437661
refactor(SetupFont): reorganize TypographyMenu and add control tests
Ilia Mashkov
2026-03-02 22:20:29 +03:00
efe1b4f9df
refactor(GetFonts): restructure filter API and add sort store
Ilia Mashkov
2026-03-02 22:19:59 +03:00
0dd08874bc
refactor(ui): update shared components and add ControlGroup, SidebarContainer
Ilia Mashkov
2026-03-02 22:19:35 +03:00
13818d5844
refactor(shared): update utilities, API layer, and types
Ilia Mashkov
2026-03-02 22:19:13 +03:00
ac73fd5044
refactor(helpers): modernize reactive helpers and add tests
Ilia Mashkov
2026-03-02 22:18:59 +03:00
594af924c7
refactor(Breadcrumb): simplify entity structure and add tests
Ilia Mashkov
2026-03-02 22:18:41 +03:00
af4137f47f
refactor(Font): consolidate API layer and update type structure
Ilia Mashkov
2026-03-02 22:18:21 +03:00
ba186d00a1
feat(ComparisonView): add redesigned font comparison widget
Ilia Mashkov
2026-03-02 22:18:05 +03:00
6cd325ce38
chore(ComparisonSlider): remove widget in favor of ComparisonView
Ilia Mashkov
2026-03-02 22:17:46 +03:00
0d38a2dc9b
fix(filters): remove unused import
Ilia Mashkov
2026-03-02 15:06:43 +03:00
ba20d6d264
fix(filters): use proxy fetch function
Ilia Mashkov
2026-03-02 15:06:06 +03:00
6d06f9f877
fix(filters): remove hardcoded fallback
Ilia Mashkov
2026-03-02 14:53:54 +03:00
db7ffd3246
feat(filters): support multiple values
Ilia Mashkov
2026-03-02 14:12:55 +03:00
37a528f0aa
feat(filters): add dynamic filters store
Ilia Mashkov
2026-03-02 14:12:47 +03:00
85b14cd89b
feat(SampleListSection): add LayoutSwitch to the header
Ilia Mashkov
2026-02-27 19:08:34 +03:00
8fbd6f5935
feat(SampleList): remove unused code
Ilia Mashkov
2026-02-27 19:07:53 +03:00
80a9802c42
fix(VirtualList): don't render top spacer if topPad is bellow 0
Ilia Mashkov
2026-02-27 19:07:13 +03:00
fe5940adbf
chore: add exports
Ilia Mashkov
2026-02-27 18:44:07 +03:00
f7fe71f8e3
feat(Badge): rewrite Badge component to new design
Ilia Mashkov
2026-02-27 18:43:56 +03:00
db518a6469
feat(Divider): adjust colors
Ilia Mashkov
2026-02-27 18:42:54 +03:00
5946f66e69
chore(FontSamler): rewrite component to use existed shared ui label wrappers
Ilia Mashkov
2026-02-27 18:42:20 +03:00
2046394906
chore: add exports
Ilia Mashkov
2026-02-27 18:41:20 +03:00
887ca6e5e1
feat(LayoutSwitch): create a ui component to switch SampleList layout
Ilia Mashkov
2026-02-27 18:40:46 +03:00
c86b5f5db8
feat(LayoutManager): create layout manager with persistent store support to manage SampleList items layout
Ilia Mashkov
2026-02-27 18:40:08 +03:00
f0aa89097e
feat(TypographyMenu): rewrite from hidden class to if based rendering
Ilia Mashkov
2026-02-27 18:39:09 +03:00
80feda41a3
feat(createResponsiveManager): rewrote ifs to switch case
Ilia Mashkov
2026-02-27 18:35:40 +03:00
3a813b019b
chore: rename
Ilia Mashkov
2026-02-27 13:00:58 +03:00
fb6cd495d3
feat(VirtualList): add different layout support
Ilia Mashkov
2026-02-27 13:00:03 +03:00
44bbac4695
feat(Section) add headerContent snippet
Ilia Mashkov
2026-02-27 12:50:16 +03:00
8fa376ef94
feat(handleTitleStatusChanged): create reusable handler for sections title status management
Ilia Mashkov
2026-02-27 12:49:13 +03:00
9f84769fba
chore: add/delete imports/exports
Ilia Mashkov
2026-02-27 12:48:14 +03:00
1b0451faff
chore: delete unused code
Ilia Mashkov
2026-02-27 12:46:52 +03:00
338f4e106c
feat(FontSearch): create a component that wraps SampleList with Section
Ilia Mashkov
2026-02-27 12:45:07 +03:00
fbf6f3dcb4
feat(SampleList): create a component that wraps SampleList with Section
Ilia Mashkov
2026-02-27 12:44:57 +03:00
d516a383e1
chore(IconButon): delete unusual code
Ilia Mashkov
2026-02-27 12:43:21 +03:00
12718593e3
feat(FontSampler): refactor component to align it with new design
Ilia Mashkov
2026-02-27 12:42:18 +03:00
9983be650a
feat(TypographyMenu): refactor component to align it with new design
Ilia Mashkov
2026-02-27 12:41:58 +03:00
e85f6639ff
feat(FilterControls): refactor component to align it with new design
Ilia Mashkov
2026-02-27 12:41:05 +03:00
3a9bd0c465
chore: fix imports
Ilia Mashkov
2026-02-27 12:40:37 +03:00
9af81c3f17
feat(FontSearch): refactor component to align it with new design
Ilia Mashkov
2026-02-27 12:40:09 +03:00
248ca7d818
fix(SearchBar): change component variant according to redesign
Ilia Mashkov
2026-02-27 12:39:20 +03:00
38f4243739
feat(FilterGroup): refactor CheckboxFilter component to FilterGroup
Ilia Mashkov
2026-02-27 12:38:19 +03:00
0ca5115d10
feat(Button): add tertiary variant
Ilia Mashkov
2026-02-27 12:25:25 +03:00
f8f295e5a0
feat(Button): add tertiary variant and change ghost variant styles
Ilia Mashkov
2026-02-27 12:25:16 +03:00
bf79cbb26f
feat(storybook): create ThemeDecorator to support themeManager logic in storybook
Ilia Mashkov
2026-02-27 12:24:16 +03:00
661f3f0ae3
feat(Layout): add ThemeManager support
Ilia Mashkov
2026-02-27 12:23:31 +03:00
7b8b41021c
feat(ThemeSwitch): create ThemeSwitch component that uses ThemeMager toggle to switch theme
Ilia Mashkov
2026-02-27 12:22:37 +03:00
c4daf47628
feat(ThemeManager): create ThemeManager that uses persistent storage to store preferred user theme
Ilia Mashkov
2026-02-27 12:21:44 +03:00
4f4afaebdf
fix(app.css): delete unused theme, move font variables, fix dark theme behavior
Ilia Mashkov
2026-02-27 12:20:12 +03:00
ea858dfdda
feat(Section): component redesign
Ilia Mashkov
2026-02-25 10:04:25 +03:00
629dd15628
feat(SearchBar): component redesign
Ilia Mashkov
2026-02-25 10:03:34 +03:00
81d228290b
feat(app): change font variables
Ilia Mashkov
2026-02-25 10:02:41 +03:00
ff39299499
feat(Layout): change fonts link for a new one
Ilia Mashkov
2026-02-25 10:02:18 +03:00
750b8ae7b8
chore: replace font-name with variable
Ilia Mashkov
2026-02-25 10:01:26 +03:00
7aa1ddd405
chore: replace font-name with variable
Ilia Mashkov
2026-02-25 10:01:00 +03:00
121eab54d9
chore(Label): add separate file for Label types
Ilia Mashkov
2026-02-25 10:00:36 +03:00
f134a343be
chore(Import): add separate files for Import types
Ilia Mashkov
2026-02-25 10:00:18 +03:00
b891f4c64b
chore(Button): add separate files for Button types and export
Ilia Mashkov
2026-02-25 09:59:52 +03:00