Ilia Mashkov
|
6f231999e0
|
chore: add export/import and remove unused ones
|
2026-02-02 12:19:05 +03:00 |
|
Ilia Mashkov
|
f90f1e39e0
|
feat(createVirtualizer): refine virtualizer logic, add useWindowScroll flag to use window scroll
|
2026-02-02 12:04:19 +03:00 |
|
Ilia Mashkov
|
d43c873dc9
|
feat(createPersistentStore): add a solution to keep user info between sections using browser storage
|
2026-02-02 11:57:00 +03:00 |
|
Ilia Mashkov
|
59b85eead0
|
chore: remove unnecessary comments
|
2026-02-01 11:52:58 +03:00 |
|
Ilia Mashkov
|
fbaf596fef
|
fix(createCharacterComparison): improve characters measurment for better magnifying presicion
|
2026-01-30 00:54:40 +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
|
32b1367877
|
feat(springySliderFade): add custom transition function for slide+fade
|
2026-01-24 15:16:04 +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
|
272c2c2d22
|
chore: delete unused code
|
2026-01-22 15:37:03 +03:00 |
|
Ilia Mashkov
|
e4970e43ba
|
chore: switch to use of svelte native prefersReducedMotion media
|
2026-01-22 15:33:38 +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
|
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
|
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
|
9cbf4fdc48
|
doc: comments for codebase and updated documentation
|
2026-01-18 15:55:07 +03:00 |
|
Ilia Mashkov
|
20f6e193f2
|
chore: minor changes
|
2026-01-18 15:01:19 +03:00 |
|
Ilia Mashkov
|
ba883ef9a8
|
fix(motion): edit MotionPreference to avoid errors
|
2026-01-18 15:00:07 +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
|
32da012b26
|
feat(MotionPreference): Create common logic to store information about prefers-reduced-motion
|
2026-01-17 14:29:10 +03:00 |
|
Ilia Mashkov
|
8c0c91deb7
|
feat(createVirtualizer): enhance logic with binary search and requestAnimationFrame
|
2026-01-16 17:48:33 +03:00 |
|
Ilia Mashkov
|
f02b19eff5
|
chore(createFilter): change format
|
2026-01-16 17:45:11 +03:00 |
|
Ilia Mashkov
|
14f9b87680
|
test(createDebouncedState): create test coverage for createDebouncedState
|
2026-01-16 14:00:20 +03:00 |
|
Ilia Mashkov
|
3cd9b36411
|
fix(createFilter): remove dirived from selectedProperties compute
|
2026-01-16 13:59:39 +03:00 |
|
Ilia Mashkov
|
62ae0799cc
|
chore(lib): add export
|
2026-01-16 13:15:10 +03:00 |
|
Ilia Mashkov
|
f3de6c49a3
|
chore: delete unused code
|
2026-01-16 12:41:30 +03:00 |
|
Ilia Mashkov
|
42e941083a
|
doc(createDeboucnedState): add JSDoc for createDebouncedState
|
2026-01-16 12:38:57 +03:00 |
|
Ilia Mashkov
|
86adec01a0
|
doc(createVirtualizer): add JSDoc for createVirtualizer
|
2026-01-16 12:27:14 +03:00 |
|
Ilia Mashkov
|
b0812ff606
|
chore: delete unused code
|
2026-01-16 12:24:30 +03:00 |
|
Ilia Mashkov
|
56e6e450e8
|
fix(createVirtualizer): add correct type to offset array
Workflow / build (pull_request) Successful in 49s
|
2026-01-15 20:10:44 +03:00 |
|
Ilia Mashkov
|
824581551f
|
fix(createVirtualizer): change the way array is created
|
2026-01-15 20:07:58 +03:00 |
|
Ilia Mashkov
|
f97904f165
|
fix: minor changes
|
2026-01-15 20:06:51 +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
|
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
|
52ecb9e304
|
fix: remove searchQuery from FilterModel
|
2026-01-13 20:07:42 +03:00 |
|
Ilia Mashkov
|
91451f7886
|
chore: import/export fixes due to code move
|
2026-01-13 20:00: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
|
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
|
13509a4145
|
chore: add comments for types and constants
|
2026-01-09 16:13:47 +03:00 |
|
Ilia Mashkov
|
1990860717
|
feat: add generic type for property value
|
2026-01-09 16:11:35 +03:00 |
|
Ilia Mashkov
|
fc00717359
|
feat: test coverage of ComboControl and CheckboxFilter
|
2026-01-08 13:14:04 +03:00 |
|
Ilia Mashkov
|
36a326817d
|
feat: test coverage for utils
Lint / Lint Code (push) Failing after 7m20s
Test / Svelte Checks (push) Failing after 7m20s
|
2026-01-07 17:26:59 +03:00 |
|
Ilia Mashkov
|
f4c2a38873
|
fix: imports path
|
2026-01-07 16:54:19 +03:00 |
|
Ilia Mashkov
|
614d6b0673
|
fix: imports path
|
2026-01-07 16:54:12 +03:00 |
|
Ilia Mashkov
|
f26f56ddef
|
chore: move createVirtualizer
|
2026-01-07 16:53:44 +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 |
|