Ilia Mashkov
961475dea0
refactor(appliedFontsStore): migrate from direct <link> with css towards font-face approach
2026-02-02 12:10:12 +03:00
Ilia Mashkov
b1ce734f19
feat(VirtualList): VirtualList now supports pagination, it loads batches when user scrolls near the end of current batch
2026-01-31 11:48:14 +03:00
Ilia Mashkov
471e186e70
fix: Fix undefined query data and add fallback to Fontshare API
...
- Add gcTime parameter to TanStack Query config
- Add response validation in fetchFn with detailed logging
- Add fallback to Fontshare API when proxy fails
- Add USE_PROXY_API flag for easy switching
- Fix FontVirtualList generic type constraint
- Simplify font registration logic
- Add comprehensive console logging for debugging
Fixes: Query data cannot be undefined error
2026-01-29 15:20:51 +03:00
Ilia Mashkov
07a37af71a
feat(fonts): implement Phase 6 - Cleanup and Removal
...
- Deleted src/entities/Font/model/store/googleFontsStore.svelte.ts
- Deleted src/entities/Font/model/store/fontshareStore.svelte.ts
- Deleted src/entities/Font/model/services/fetchGoogleFonts.svelte.ts
- Deleted src/entities/Font/model/services/fetchFontshareFonts.svelte.ts
- Deleted src/entities/Font/model/services/index.ts
- Updated Font entity exports to remove deprecated stores
- Updated model index exports to remove deprecated services
- Updated store index to only export unified store
Phase 6/7: Proxy API Integration for GlyphDiff
2026-01-29 14:47:03 +03:00
Ilia Mashkov
98eab35615
fix(fonts): remove unused FontCategory import from unifiedFontStore
2026-01-29 14:38:33 +03:00
Ilia Mashkov
7fbeef68e2
feat(fonts): implement Phase 2 - Unified Font Store
...
- Implemented UnifiedFontStore extending BaseFontStore
- Added pagination support with derived metadata
- Added provider-specific shortcuts (setProvider, setCategory, etc.)
- Added pagination methods (nextPage, prevPage, goToPage)
- Added category getter shortcuts (sansSerifFonts, serifFonts, etc.)
- Updated store exports to include unified store
- Fixed typo in googleFontsStore.svelte.ts (createGoogleFontsStore)
Phase 2/7: Proxy API Integration for GlyphDiff
2026-01-29 14:38:07 +03:00
Ilia Mashkov
55a560b785
feat(appliedFontsStore): implement the logic to update font link when font weight changes
2026-01-20 14:17:41 +03:00
Ilia Mashkov
1bd2a4f2f8
fix(fontshareStore): add normalization to reduce amount of requests
2026-01-20 09:36:39 +03:00
Ilia Mashkov
9cbf4fdc48
doc: comments for codebase and updated documentation
2026-01-18 15:55:07 +03:00
Ilia Mashkov
e0e0d929bb
chore: add import shortcuts
2026-01-18 14:53:14 +03:00
Ilia Mashkov
37ab7f795e
feat(selectedFontsStore): create selectedFontsStore to manage selected fonts collection
2026-01-18 14:52:12 +03:00
Ilia Mashkov
4d04761d88
feat(appliedFontsStore): create Applied Fonts Manager to manage fonts download
2026-01-18 12:46:11 +03: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
Ilia Mashkov
955cc66916
feat: new version of unifiedFontStore
2026-01-13 20:10:44 +03:00
Ilia Mashkov
30cb9ada1a
fix(Font): refresh types
2026-01-13 20:06:58 +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
4810c2b228
chore: delete unused code
2026-01-13 19:56:20 +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
ea1f46f780
feat(fontCollection): create font collection state manager
2026-01-09 16:17:49 +03:00