Ilia Mashkov
9cbf4fdc48
doc: comments for codebase and updated documentation
2026-01-18 15:55:07 +03:00
Ilia Mashkov
8356e99382
chore: add import shortcuts
2026-01-18 15:53:44 +03:00
Ilia Mashkov
7ca45c2e63
chore: add import shortcuts
2026-01-18 15:53:16 +03:00
Ilia Mashkov
c04518300b
chore: remove unused code
2026-01-18 15:00:54 +03:00
Ilia Mashkov
b7ce100407
fix(FontSearch): edit component to render suggested fonts
2026-01-18 14:58:05 +03:00
Ilia Mashkov
96b26fb055
feat(FontDisplay): create a FontDisplay component to show selected font samples
2026-01-18 14:57:15 +03:00
Ilia Mashkov
5ef8d609ab
feat(SuggestedFonts): create a component for Suggested Virtualized Font List
2026-01-18 14:56:25 +03:00
Ilia Mashkov
f457e5116f
feat(displayedFontsStore): create store to manage displayed fonts sample and its content
2026-01-18 14:55:00 +03:00
Ilia Mashkov
af2ef77c30
feat(FontSampler): edit FontSampler to applt font-family through FontApplicator component
2026-01-18 14:48:36 +03:00
Ilia Mashkov
7e62acce49
fix(ContentEditable): change logic to support controlled state
2026-01-18 14:35:35 +03:00
Ilia Mashkov
71c068bad2
feat(FontView): create a FontView component that adds a link to the head tag and applies font-family to the children
2026-01-17 09:20:58 +03:00
Ilia Mashkov
247b683c87
chore(FontSearch): documentation change
2026-01-17 09:19:47 +03:00
Ilia Mashkov
a9cdd15787
feat(GetFonts): separated types for filters
2026-01-13 20:10:20 +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
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
e098da2dbb
feat(filterManager): add debouced state support and move manager
2026-01-13 19:52: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
43175fd52a
feat(FontSearch): create FontSearch component with SearchBar and FontList with list virtualization
2026-01-09 16:20:00 +03:00
Ilia Mashkov
bdb67157fd
fix: rename file
2026-01-09 16:17:09 +03:00
Ilia Mashkov
e198e967ab
fix: minor changes in shadcn components import
2026-01-09 16:16:32 +03:00
Ilia Mashkov
e1af950442
chore: create index files for better import/export api
2026-01-09 16:14:38 +03:00
Ilia Mashkov
13509a4145
chore: add comments for types and constants
2026-01-09 16:13:47 +03:00
Ilia Mashkov
b13c0d268b
fix: import/export
2026-01-09 16:12:51 +03:00
Ilia Mashkov
1990860717
feat: add generic type for property value
2026-01-09 16:11:35 +03:00
Ilia Mashkov
6f7e863b13
fix: use proper types for fetching fonts
2026-01-09 16:09:56 +03:00
Ilia Mashkov
fc00717359
feat: test coverage of ComboControl and CheckboxFilter
2026-01-08 13:14:04 +03:00
Ilia Mashkov
614d6b0673
fix: imports path
2026-01-07 16:54:12 +03:00
Ilia Mashkov
76f27a64b2
refactor(createTypographyControl): createControlStore rewrote to runes
2026-01-07 16:53:17 +03:00
Ilia Mashkov
baff3b9e27
refactor(createFilter): createFilterStore rewrote to runes
2026-01-07 16:52:17 +03:00
Ilia Mashkov
9fd98aca5d
refactor(createFilterStore): move from store pattern to svelte 5 runes usage
2026-01-07 14:26:37 +03:00
Ilia Mashkov
1f19e964ca
fix: import/export paths
2026-01-06 21:36:29 +03:00
Ilia Mashkov
bea3f7ae7f
chore: move store creators to separate directories
2026-01-06 21:33:30 +03:00
Ilia Mashkov
2c666646cb
style(font): fix lint warnings - remove unused imports and variables
...
- Removed unused FontFeatures, FontMetadata, FontProvider from normalize.ts imports
- Removed unused UnifiedFont from normalize.test.ts imports
- Removed unused FontSubset from store.ts imports
- Changed unused queryClient variables to void calls to suppress warnings
2026-01-06 15:24:34 +03:00
Ilia Mashkov
be14a62e83
refactor(font): split types into separate files for better maintainability
2026-01-06 15:23:08 +03:00
Ilia Mashkov
29d1cc0cdc
refactor(shared): rename fontCache to collectionCache
...
- Rename fontCache.ts to collectionCache.ts
- Rename FontCacheManager interface to CollectionCacheManager
- Make implementation fully generic (already was, just renamed interface)
- Update exports in shared/fetch/index.ts
- Fix getStats() to return derived store value for accurate statistics
- Add comprehensive test coverage for collection cache manager
- 41 test cases covering all functionality
- Tests for caching, deduplication, state tracking
- Tests for statistics, reactivity, and edge cases
Closes task-1 of Phase 1 refactoring
2026-01-06 14:38:55 +03:00
Ilia Mashkov
aa087c5c3e
fix: move Item component from feature to Widget for FontMenu may be used in different places of the app
Lint / Lint Code (push) Failing after 7m9s
Test / Svelte Checks (push) Failing after 7m12s
Build / build (pull_request) Failing after 7m14s
Lint / Lint Code (pull_request) Failing after 7m20s
Test / Svelte Checks (pull_request) Failing after 7m14s
2026-01-06 12:23:50 +03:00
Ilia Mashkov
3d35f1901d
feature(ComboControl):
...
Lint / Lint Code (push) Failing after 7m14s
Test / Svelte Checks (push) Failing after 7m20s
Build / build (pull_request) Failing after 7m6s
Lint / Lint Code (pull_request) Failing after 7m14s
Test / Svelte Checks (pull_request) Failing after 7m16s
- create ComboControl component for typography settings (font size, font
weight, line height)
- integrate it to TypographyMenu and integrate it to Layout
2026-01-05 09:03:31 +03:00
Ilia Mashkov
d8e5f5a0b5
fix(SetupFont): correct line height increase handler
...
- Fixed copy-paste error in SetupFontMenu.svelte line 43
- Changed onIncrease from fontSizeStore.increase to lineHeightStore.increase
- Line height control now correctly modifies line height instead of font size
Closes #?
2026-01-04 10:27:46 +03:00
Ilia Mashkov
e01a746460
feat(FilterFonts): join all the filters in one feature
2026-01-03 13:54:27 +03:00
Ilia Mashkov
23f3a5b803
feature: change filterStore model
Lint / Lint Code (push) Failing after 7m17s
Test / Svelte Checks (push) Failing after 7m16s
2026-01-02 21:17:16 +03:00
Ilia Mashkov
d439e97729
feature: change filterStore model
2026-01-02 21:16:07 +03:00
Ilia Mashkov
ff665e1d26
feature: add filters for providers and font subsets
Lint / Lint Code (push) Has been cancelled
Test / Svelte Checks (push) Has been cancelled
2026-01-02 20:06:35 +03:00
Ilia Mashkov
949c7c1b48
feat: delete unnecessary components
2026-01-02 20:03:20 +03:00
Ilia Mashkov
90899c0b3b
fix(CategoryFilter): fix toggle behavior
2026-01-02 17:19:53 +03:00
Ilia Mashkov
4ba02b5933
fix: new dprint import format settings
Lint / Lint Code (push) Failing after 7m9s
Test / Svelte Checks (push) Failing after 7m20s
2026-01-02 17:01:59 +03:00
Ilia Mashkov
82d36ad156
feat: create single export file for CategoryFIlter feature
2026-01-02 16:10:17 +03:00
Ilia Mashkov
7bc0a690cb
feat(CategoryFilter): create CategoryFilter component
2026-01-02 11:15:02 +03:00
Ilia Mashkov
fdb8c38b7f
feature: Create template for CategoryFilter store
2026-01-01 13:11:38 +03:00