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
7078cb6f8c
feat(fonts): implement Phase 1 - Create Proxy API Client
...
- Created src/entities/Font/api/proxy/proxyFonts.ts
- Implemented fetchProxyFonts function with full pagination support
- Implemented fetchProxyFontById convenience function
- Added TypeScript interfaces: ProxyFontsParams, ProxyFontsResponse
- Added comprehensive JSDoc documentation
- Updated src/entities/Font/api/index.ts to export proxy API
Phase 1/7: Proxy API Integration for GlyphDiff
2026-01-29 14:33:12 +03:00
Ilia Mashkov
0b0489fa26
chore(ExpandableWrapper): add ts-ignore to stories
2026-01-26 13:08:56 +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
6725a3b391
feat(Layout): increase container width
2026-01-26 12:55:52 +03:00
Ilia Mashkov
2eddb656a9
chore(FontComparer): delete unused code
2026-01-26 12:55:27 +03:00
Ilia Mashkov
5973d241aa
feat(Page): render ComparisonSlider directly
2026-01-26 12:54:40 +03:00
Ilia Mashkov
75a9c16070
feat(ComparisonWrapper): remove props and add checks for fonts absence
2026-01-26 12:54:01 +03:00
Ilia Mashkov
31e4c64193
chore(ComparisonSlider): add comments
2026-01-26 12:52:40 +03:00
Ilia Mashkov
48e25fffa7
feat(ExpandableWrapper): fix keyboard support, tweak styles and animation
2026-01-26 12:52:23 +03:00
Ilia Mashkov
407c741349
feat(ComparisonSlider): add blur background to controls
2026-01-26 12:49:15 +03:00
Ilia Mashkov
13e114fafe
feat(TypographyMenu): add appearance/disappearance animation
2026-01-26 12:47:10 +03:00
Ilia Mashkov
1484ea024e
chore(ComparisonSlider): add comments and remove unused code
2026-01-26 12:46:12 +03:00
Ilia Mashkov
67db6e22a7
feat(ComparisonSlider): rewrite slider labels to include selects for compared fonts
2026-01-26 12:45:30 +03:00
Ilia Mashkov
192ce2d34a
feat(select): add shadcn select component
2026-01-26 12:43:25 +03:00
Ilia Mashkov
2b820230bc
feat(createCharacterComparison): add generic for font type and checks for the absence of the fonts
2026-01-26 12:34:27 +03:00
Ilia Mashkov
9b8ebed1c3
fix(breakIntoLines): add word break for long words
2026-01-25 11:42:05 +03:00
Ilia Mashkov
3d11f7317d
feat(ExpandableWrapper): add stories
2026-01-25 08:23:11 +03:00
Ilia Mashkov
c07800cc96
chore: add export
2026-01-25 00:00:13 +03:00
Ilia Mashkov
b49bf0d397
feat(ScrollArea): add shadcn scroll area to layout
2026-01-24 23:58:10 +03:00
Ilia Mashkov
ed4ee8bb44
chore(ControlsWrapper): use new reusable wrapper
2026-01-24 23:57:16 +03:00
Ilia Mashkov
8a2059ac4a
feat(ExtendableWrapper): create reusable extendable wrapper with animations
2026-01-24 23:56:26 +03:00
Ilia Mashkov
7ffc5d6a34
feat(Page): move search to page
2026-01-24 15:39:38 +03:00
Ilia Mashkov
08cccc5ede
chore: add export
2026-01-24 15:39:10 +03:00
Ilia Mashkov
71266f8b22
chore(TypographyMenu): remove search from typography menu
2026-01-24 15:38:50 +03:00
Ilia Mashkov
d5221ad449
feat(SearchBar): improve styling
2026-01-24 15:38:01 +03:00
Ilia Mashkov
873b697e8c
feat(ComboControl): Add tooltips and enhance intraction effects
2026-01-24 15:37:06 +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
4b01b1592d
feat(ControlsWrapper): close ControlsWrapper on escape click
2026-01-24 15:34:17 +03:00
Ilia Mashkov
ecb4bea642
feat(FlterControls): enhance control with ux effects
2026-01-24 15:33:12 +03:00
Ilia Mashkov
e89c6369cb
feat(Layout): add tooltip provider
2026-01-24 15:32:01 +03:00
Ilia Mashkov
18a311c6b1
chore: delete filters sidebar
2026-01-24 15:30:02 +03:00
Ilia Mashkov
732f77f504
feat(CheckboxFilter): use new transition function springySlideFade
2026-01-24 15:25:56 +03:00
Ilia Mashkov
b7992ca138
feat(app): add common animaition for ux elements that can interact with
2026-01-24 15:22:57 +03:00
Ilia Mashkov
32b1367877
feat(springySliderFade): add custom transition function for slide+fade
2026-01-24 15:16:04 +03:00
Ilia Mashkov
59b0d9c620
feat(FontListItem): refactor component to enhance UX with animations and move away from checkboxes to avoid scroll problems
2026-01-22 15:41:55 +03:00
Ilia Mashkov
be13a5c8a0
feat(VirtualList): add proximity and isVisible props
2026-01-22 15:40:37 +03:00
Ilia Mashkov
80efa49ad0
feat(SuggestedFonts): add proximity and isVisible props
2026-01-22 15:40:17 +03:00
Ilia Mashkov
7e9675be80
feat(createVirtualizer): add isVisible and proximity properties to VirtualItem, add filckering prevention check
2026-01-22 15:39:29 +03:00
Ilia Mashkov
ac979c816c
feat(FontComparer): add apperance animation for ComparisonSlider
2026-01-22 15:37:49 +03:00
Ilia Mashkov
272c2c2d22
chore: delete unused code
2026-01-22 15:37:03 +03:00
Ilia Mashkov
a9e2898945
feat(typographyControl): add letter spacing control
2026-01-22 15:36:30 +03:00
Ilia Mashkov
1712134f64
feat(SearchBar): enhance searchbar styling
2026-01-22 15:35:18 +03:00
Ilia Mashkov
52111ee941
fix(ControlsWrapper): slight tweak in styles
2026-01-22 15:34:14 +03:00
Ilia Mashkov
e4970e43ba
chore: switch to use of svelte native prefersReducedMotion media
2026-01-22 15:33:38 +03:00
Ilia Mashkov
b41c48da67
feat(app): change main font
2026-01-22 15:31:59 +03:00
Ilia Mashkov
1d0ca31262
chore: input path change
2026-01-21 21:57:04 +03:00
Ilia Mashkov
a5380333eb
feat(createCharacterComparison): add support for font size change
2026-01-21 21:56:34 +03:00
Ilia Mashkov
46de3c6e87
chore(createTypographyControl): make some props optional
2026-01-21 21:54:48 +03:00
Ilia Mashkov
91300bdc25
feat(ComparisonSlider): Massively improve the slider and move it to the widgets layer
2026-01-21 21:52:55 +03:00
Ilia Mashkov
2ee66316f7
chore(controlManager): rewrite controlManager to classes
2026-01-21 21:51:22 +03:00
Ilia Mashkov
c6d20aae3d
feat(ComboControlV2): crete ComboControlV2 - without increase/decrease buttons. Refresh styling of the original one
2026-01-21 21:50:30 +03:00
Ilia Mashkov
a0f184665d
feat(ComparisonSlider): Improve Comparison slider's readability, incapsulate some code into separate components and snippets
2026-01-20 14:23:58 +03:00
Ilia Mashkov
d4d2d68d9a
feat(appliedFontsStore): incorporate implemented font weight logic
2026-01-20 14:21: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
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
1bd2a4f2f8
fix(fontshareStore): add normalization to reduce amount of requests
2026-01-20 09:36:39 +03:00
Ilia Mashkov
746a377038
feat(FontVirtualList): add font pairs support
2026-01-20 09:35:44 +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
b5ad3249ae
feat(ComparisonSlider): create reusable comparison slider that compare two fonts for the same text. Line breaking is supported
2026-01-20 09:32:12 +03:00
Ilia Mashkov
c0eed67618
chore(shared/ui): enhance stories with cases, controls and documentation
Workflow / build (pull_request) Successful in 52s
2026-01-18 20:55:36 +03:00
Ilia Mashkov
e7f4304391
chore(storybook): increase height of autodoc stories window
2026-01-18 20:54:48 +03:00
Ilia Mashkov
488857e0ec
chore: basic storybook coverage for shared/ui components
2026-01-18 20:08:13 +03:00
Ilia Mashkov
cca69a73ce
fix(SearchBar): make id prop unnecessary
2026-01-18 20:07:37 +03:00
Ilia Mashkov
2444e05bb7
chore(storybook): align items inside decorator
2026-01-18 20:06:48 +03:00
Ilia Mashkov
72cc441c6f
chore(CheckboxFilter): add stories for CheckboxFilter
2026-01-18 19:25:34 +03:00
Ilia Mashkov
06cb155b47
feat(storybook): add a global decorator for stories
2026-01-18 19:25:07 +03:00
Ilia Mashkov
50c7511698
fix(storybook): add aliases from vite config to storybook
2026-01-18 19:24:11 +03:00
Ilia Mashkov
8591985f62
feat(FontApplicator): implement an appearance animation based on existed intersection observer logic and add a reduced motion check
Workflow / build (pull_request) Successful in 50s
2026-01-18 16:56:53 +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
20f6e193f2
chore: minor changes
2026-01-18 15:01:19 +03:00
Ilia Mashkov
c04518300b
chore: remove unused code
2026-01-18 15:00:54 +03:00
Ilia Mashkov
ee074036f6
chore: add import shortcuts
2026-01-18 15:00:26 +03:00
Ilia Mashkov
ba883ef9a8
fix(motion): edit MotionPreference to avoid errors
2026-01-18 15:00:07 +03:00
Ilia Mashkov
28a71452d1
fix(FontListItem): edit FontListItem to work with selectedFontsStore
2026-01-18 14:59:00 +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
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
af2ef77c30
feat(FontSampler): edit FontSampler to applt font-family through FontApplicator component
2026-01-18 14:48:36 +03:00
Ilia Mashkov
ad18a19c4b
chore(FontSampler): delete unused prop
2026-01-18 14:47:31 +03:00
Ilia Mashkov
ef259c6fce
chore: add import shortcuts
2026-01-18 14:39:38 +03:00
Ilia Mashkov
5d23a2af55
feat(EntityStore): create a helper for creation of an Entity Store to store and operate over values that have ids
2026-01-18 14:38:58 +03:00
Ilia Mashkov
df8eca6ef2
feat(splitArray): create a util to split an array based on a boolean resulting callback
2026-01-18 14:37:23 +03:00
Ilia Mashkov
7e62acce49
fix(ContentEditable): change logic to support controlled state
2026-01-18 14:35:35 +03:00
Ilia Mashkov
86e7b2c1ec
feat(FontListItem): create FontListItem component that visualize selection of a certain font
2026-01-18 12:59:12 +03:00
Ilia Mashkov
da0612942c
feat(FontApplicator): create FontApplicator component that register certain font and applies it to the children
2026-01-18 12:57:56 +03:00
Ilia Mashkov
0444f8c114
chore(FontVirtualList): transform FontList into reusable FontVirtualList component with appliedFontsManager support
2026-01-18 12:55:25 +03:00
Ilia Mashkov
6b4e0dbbd0
feat(ContentEditable): create ContentEditable shared component that displays text and allows editing
2026-01-18 12:51:55 +03:00
Ilia Mashkov
7389ec779d
feat:(VirtualList) add onVisibleItemsChange prop that triggers when visibleItems list changes
2026-01-18 12:50:17 +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
32da012b26
feat(MotionPreference): Create common logic to store information about prefers-reduced-motion
2026-01-17 14:29:10 +03:00
Ilia Mashkov
71d320535e
feat(FontView): integrate FontView into FontList
2026-01-17 09:21:34 +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