Ilia Mashkov
87c4e04458
feat(controlManager): add getter for letter spacing value
2026-01-30 00:48:29 +03:00
Ilia Mashkov
fb843c87af
chore: add import/export for letter spacing constant
2026-01-30 00:48:07 +03:00
Ilia Mashkov
b2af3683bc
chore: change default font size
2026-01-30 00:47:44 +03:00
Ilia Mashkov
d6607e5705
feat(fonts): implement Phase 4 - Update UI Components
...
- Replaced fontshareStore with unifiedFontStore in FontSearch.svelte
- Replaced fontshareStore with unifiedFontStore in SuggestedFonts.svelte
- Updated Font entity exports to include unifiedFontStore
- Updated model exports to include unified store exports
- Kept fontshareStore exports as deprecated for backward compatibility
Phase 4/7: Proxy API Integration for GlyphDiff
2026-01-29 14:43:07 +03:00
Ilia Mashkov
10801a641a
feat(fonts): implement Phase 3 - Update Filter Mapper
...
- Changed return type to Partial<ProxyFontsParams>
- Map providers array to single provider value (or undefined)
- Map categories array to single category value (or undefined)
- Map subsets array to single subset value (or undefined)
- Added type assertions for proper TypeScript compatibility
Phase 3/7: Proxy API Integration for GlyphDiff
2026-01-29 14:40:31 +03:00
Ilia Mashkov
2022213921
feat(displayedFontsStore): fix store to work with fontA and fontB to compare
2026-01-26 12:56:35 +03:00
Ilia Mashkov
2eddb656a9
chore(FontComparer): delete unused code
2026-01-26 12:55:27 +03:00
Ilia Mashkov
c07800cc96
chore: add export
2026-01-25 00:00:13 +03:00
Ilia Mashkov
3dce409034
feat(SetupFontMenu): add props
2026-01-24 15:36:13 +03:00
Ilia Mashkov
cf08f7adfa
chore(FontSearch): move to widgets layer
2026-01-24 15:35:26 +03:00
Ilia Mashkov
ecb4bea642
feat(FlterControls): enhance control with ux effects
2026-01-24 15:33:12 +03:00
Ilia Mashkov
80efa49ad0
feat(SuggestedFonts): add proximity and isVisible props
2026-01-22 15:40:17 +03:00
Ilia Mashkov
ac979c816c
feat(FontComparer): add apperance animation for ComparisonSlider
2026-01-22 15:37:49 +03:00
Ilia Mashkov
a9e2898945
feat(typographyControl): add letter spacing control
2026-01-22 15:36:30 +03:00
Ilia Mashkov
1d0ca31262
chore: input path change
2026-01-21 21:57:04 +03:00
Ilia Mashkov
2ee66316f7
chore(controlManager): rewrite controlManager to classes
2026-01-21 21:51:22 +03:00
Ilia Mashkov
d4d2d68d9a
feat(appliedFontsStore): incorporate implemented font weight logic
2026-01-20 14:21:07 +03:00
Ilia Mashkov
c2542026a4
feat(FontComparer): create FontComparer component that loads fonts and displays ComparisonSlider
2026-01-20 09:40:42 +03:00
Ilia Mashkov
3f8fd357d8
feat(displayedFontStore): add logic for font pairs calculation
2026-01-20 09:39:30 +03:00
Ilia Mashkov
1b76284237
feat(PairSelector): implement PairSelector component that allows to choose the pair of fonts to compare
2026-01-20 09:33:57 +03:00
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