Ilia Mashkov
f97904f165
fix: minor changes
2026-01-15 20:06:51 +03:00
Ilia Mashkov
6129ad61f4
fix: minor changes
2026-01-15 20:05:55 +03:00
Ilia Mashkov
462abdd2bc
chore: add README
2026-01-15 20:05:37 +03:00
Ilia Mashkov
429a9a0877
feature(VirtualList): remove tanstack virtual list solution, add self written one
2026-01-15 13:33:59 +03:00
Ilia Mashkov
925d2eec3e
chore(workflow): delete comments
2026-01-14 16:06:02 +03:00
Ilia Mashkov
211ed073e6
chore: specify yarn version
Workflow / build (push) Successful in 44s
2026-01-14 16:02:45 +03:00
Ilia Mashkov
976672ce5e
fix(workflow): turn cache on
2026-01-14 16:02:24 +03:00
Ilia Mashkov
83397f3786
fix(workflow): remove cache
Workflow / build (push) Successful in 38s
2026-01-14 15:54:19 +03:00
Ilia Mashkov
a72c0e8136
fix(workflow): remove cache
Workflow / build (push) Failing after 40s
2026-01-14 15:47:56 +03:00
Ilia Mashkov
61dd62af2d
feat(workflow): simplify workflow
Workflow / build (push) Failing after 46s
2026-01-14 15:44:30 +03:00
Ilia Mashkov
147ddd226a
feat(workflow): simplify workflow
Workflow / build (push) Failing after 44s
2026-01-14 15:32:24 +03:00
Ilia Mashkov
c6b18f6dd3
fix: svelte check
Build / build (push) Failing after 37s
Deploy Pipeline / pipeline (push) Failing after 34s
Lint / Lint Code (push) Failing after 28s
Test / Svelte Checks (push) Failing after 35s
2026-01-14 15:27:41 +03:00
c10bbb681a
Merge pull request 'fix: lint warnings' ( #15 ) from fixex/lint into main
...
Build / build (push) Failing after 37s
Deploy Pipeline / pipeline (push) Failing after 35s
Lint / Lint Code (push) Failing after 28s
Test / Svelte Checks (push) Failing after 35s
Reviewed-on: #15
2026-01-14 12:15:53 +00:00
Ilia Mashkov
7678ab271d
fix: lint warnings
Build / build (pull_request) Failing after 49s
Lint / Lint Code (pull_request) Failing after 38s
Test / Svelte Checks (pull_request) Failing after 44s
2026-01-14 15:14:58 +03:00
3302e4a012
Merge pull request 'feature/fetch-fonts' ( #14 ) from feature/fetch-fonts into main
...
Build / build (push) Failing after 38s
Deploy Pipeline / pipeline (push) Failing after 39s
Lint / Lint Code (push) Failing after 30s
Test / Svelte Checks (push) Failing after 36s
Reviewed-on: #14
2026-01-14 11:01:43 +00:00
Ilia Mashkov
f730dbc782
fix(workflow): change scripts
Lint / Lint Code (push) Failing after 30s
Test / Svelte Checks (push) Failing after 35s
Build / build (pull_request) Failing after 1m28s
Lint / Lint Code (pull_request) Failing after 39s
Test / Svelte Checks (pull_request) Failing after 44s
2026-01-14 12:58:52 +03:00
Ilia Mashkov
8b704f1f82
fix(workflow): change the yarn install flags
Test / Svelte Checks (push) Failing after 33s
Lint / Lint Code (push) Failing after 29s
2026-01-14 12:40:56 +03:00
Ilia Mashkov
36ed19e195
fix(workflow): yarn cache path
2026-01-14 12:39:30 +03:00
Ilia Mashkov
b209e051e5
fix(workflow): yarn cache path
Lint / Lint Code (push) Failing after 11s
Test / Svelte Checks (push) Failing after 11s
2026-01-14 12:34:10 +03:00
Ilia Mashkov
f49e116408
fix(workflow): change node version
Lint / Lint Code (push) Failing after 18s
Test / Svelte Checks (push) Failing after 11s
2026-01-14 12:25:14 +03:00
Ilia Mashkov
8d1d1cd60f
chore: import/export changes due to code move
Test / Svelte Checks (push) Failing after 5s
Lint / Lint Code (push) Failing after 1m48s
2026-01-13 20:11:58 +03:00
Ilia Mashkov
fb5c15ec32
fix: minor changes
2026-01-13 20:11:18 +03:00
Ilia Mashkov
955cc66916
feat: new version of unifiedFontStore
2026-01-13 20:10:44 +03:00
Ilia Mashkov
a9cdd15787
feat(GetFonts): separated types for filters
2026-01-13 20:10:20 +03:00
Ilia Mashkov
76172aaa6b
fix: minor changes
2026-01-13 20:09:30 +03:00
Ilia Mashkov
7146328982
feat(mapManagerToParams): create mapper to transform filter values to query param values
2026-01-13 20:08:46 +03:00
Ilia Mashkov
52ecb9e304
fix: remove searchQuery from FilterModel
2026-01-13 20:07:42 +03:00
Ilia Mashkov
30cb9ada1a
fix(Font): refresh types
2026-01-13 20:06:58 +03:00
Ilia Mashkov
4eeb43fa34
chore: delete unused code
2026-01-13 20:05:33 +03:00
Ilia Mashkov
ad6ba4f0a0
feat: add query provider to App.svelte
2026-01-13 20:04:39 +03:00
Ilia Mashkov
170c8546d3
chore: import/export changes due to code move
2026-01-13 20:04:02 +03:00
Ilia Mashkov
2f15148cdb
feat(VirtualList): add overscan support
2026-01-13 20:02:50 +03:00
Ilia Mashkov
a29b80efbb
feature: Create BaseFontStore class with Tanstack query logic and FontshareStore, GoogleFontsStore based on it
2026-01-13 20:02:20 +03:00
Ilia Mashkov
91451f7886
chore: import/export fixes due to code move
2026-01-13 20:00:36 +03:00
Ilia Mashkov
99d4b4e29a
chore: rename FetchFonts to GetFonts
2026-01-13 19:59:07 +03:00
Ilia Mashkov
d9d45bf9fb
chore: move Filters and Controls to GetFont feature
2026-01-13 19:57:22 +03:00
Ilia Mashkov
4810c2b228
chore: delete unused code
2026-01-13 19:56:20 +03:00
Ilia Mashkov
4c9b9f631f
fix: minor type changes for fonts
2026-01-13 19:54:56 +03:00
Ilia Mashkov
5fcb381b11
chore(normalize): move font api responce normalization functions to lib
2026-01-13 19:53:26 +03:00
Ilia Mashkov
e098da2dbb
feat(filterManager): add debouced state support and move manager
2026-01-13 19:52:36 +03:00
Ilia Mashkov
1a76e9387a
feat(createDebouncedState): create helper for managing state with debounce
2026-01-13 19:51:41 +03:00
Ilia Mashkov
0f1eb489ed
feat: add query provider for Tanstack
2026-01-13 19:49:51 +03:00
Ilia Mashkov
6e8376b8fc
fix(arch): move unifiedFontStore context creation to Layout.svelte
...
- Moved unifiedFontStore creation from Page.svelte to Layout.svelte
- Layout now creates store instance and provides it via setContext()
- Page.svelte now receives store via getContext() instead of creating it
- Fixes context accessibility issue where FiltersSidebar and FontSearch
(siblings of Page) could not access the store
- All child components now share the same store instance at Layout level
This resolves the architectural issue where context only flows downward,
not sideways. All components (FiltersSidebar, FontSearch, Page) are now
children of Layout and can access the unifiedFontStore context.
2026-01-12 08:51:36 +03:00
Ilia Mashkov
d81af0a77b
feat: implement P0/P1 performance and code quality optimizations
...
P0 Performance Optimizations:
- Add debounced search (300ms) to reduce re-renders during typing
- Implement single-pass filter function for O(n) complexity
- Add TanStack Query cancellation before new requests
P1 Code Quality Optimizations:
- Add runtime type guards for filter validation
- Implement two derived values (filteredFonts + sortedFilteredFonts)
- Remove all 'as any[]' casts from filter bridge
- Add fast-path for default sorting (skip unnecessary operations)
New Utilities:
- debounce utility with 4 tests (all pass)
- filterUtils with 15 tests (all pass)
- typeGuards with 20 tests (all pass)
- Total: 39 new tests
Modified Files:
- unifiedFontStore.svelte.ts: Add debouncing, use filter/sort utilities
- filterBridge.svelte.ts: Type-safe validation with type guards
- unifiedFontStore.test.ts: Fix pre-existing bugs (missing async, duplicate imports)
Code Quality:
- 0 linting warnings/errors (oxlint)
- FSD compliant architecture (entity lib layer)
- Backward compatible store API
2026-01-11 14:49:21 +03:00
Ilia Mashkov
77de829b04
fix: types
2026-01-09 16:48:26 +03:00
Ilia Mashkov
7630802363
fix: minor changes in types
2026-01-09 16:20:25 +03:00
Ilia Mashkov
43175fd52a
feat(FontSearch): create FontSearch component with SearchBar and FontList with list virtualization
2026-01-09 16:20:00 +03:00
Ilia Mashkov
9598d8c3e4
feat(SearchBar): create SearchBar component with input and popover that contains search results
2026-01-09 16:19:22 +03:00
Ilia Mashkov
c863bea2dc
feat: create FontList component with use of VirtualList
2026-01-09 16:18:16 +03:00
Ilia Mashkov
ea1f46f780
feat(fontCollection): create font collection state manager
2026-01-09 16:17:49 +03:00