Ilia Mashkov
|
1d5af5ea70
|
feat(Layout): add footer to layout
Workflow / build (pull_request) Successful in 4m27s
Workflow / publish (pull_request) Has been skipped
|
2026-04-22 13:01:46 +03:00 |
|
Ilia Mashkov
|
2221ecad4c
|
feat(Footer): create Footer widget with project name and portfolio link
|
2026-04-22 13:01:16 +03:00 |
|
Ilia Mashkov
|
cd8599d5b5
|
feat(Layout): add new favicon
|
2026-04-22 13:00:29 +03:00 |
|
Ilia Mashkov
|
6c91d570ec
|
chore: remove usused code
|
2026-04-22 12:31:35 +03:00 |
|
Ilia Mashkov
|
91b80a5ada
|
feat(ui): add FooterLink component
|
2026-04-22 12:31:02 +03:00 |
|
Ilia Mashkov
|
84ac886c33
|
chore: fix TS alias resolution and SVG mocking for test setup
|
2026-04-22 09:45:51 +03:00 |
|
Ilia Mashkov
|
a60dbcfa51
|
test: track missing component test configuration
|
2026-04-22 09:42:59 +03:00 |
|
Ilia Mashkov
|
8fc8a7ee6f
|
test: fix component tests by adding localStorage mock and resolving store interference
|
2026-04-22 09:42:00 +03:00 |
|
Ilia Mashkov
|
cbc978df6d
|
chore(ci): add unit and component tests to lefthook and gitea workflow
|
2026-04-22 09:09:21 +03:00 |
|
Ilia Mashkov
|
6664beec25
|
feat(FontList): unified skeleton — rows stay skeletal until font file loaded
|
2026-04-22 09:02:32 +03:00 |
|
Ilia Mashkov
|
a801903fd3
|
feat(FontList): use getSkeletonWidth utility for skeleton row widths
|
2026-04-22 09:02:32 +03:00 |
|
Ilia Mashkov
|
ecdb1e016d
|
feat(FontApplicator): add skeleton snippet prop to replace blur loading state
|
2026-04-22 09:02:32 +03:00 |
|
Ilia Mashkov
|
092b58e651
|
feat(FontVirtualList): suppress font loading during jump scroll catch-up
|
2026-04-22 09:02:32 +03:00 |
|
Ilia Mashkov
|
d6914f8179
|
feat(FontStore): add fetchAllPagesTo for parallel batch page loading
|
2026-04-22 09:01:45 +03:00 |
|
Ilia Mashkov
|
b831861662
|
feat(VirtualList): add onJump callback for scroll-beyond-loaded detection
|
2026-04-22 09:01:45 +03:00 |
|
Ilia Mashkov
|
67fc9dee72
|
fix(FontList): address the bug with selected font transition animations
|
2026-04-20 13:36:05 +03:00 |
|
Ilia Mashkov
|
a73bd75947
|
refactor(ComparisonView): unify pretext font string generation with a utility function
|
2026-04-20 11:13:54 +03:00 |
|
Ilia Mashkov
|
836b83f75d
|
style: apply new dprint rules to CharacterComparisonEngine
|
2026-04-20 11:06:54 +03:00 |
|
Ilia Mashkov
|
07e4a0b9d9
|
chore: forbid one-line and braceless cycles in dprint config
|
2026-04-20 11:06:45 +03:00 |
|
Ilia Mashkov
|
141126530d
|
fix(ComparisonView): fix character morphing thresholds and add tracking support
|
2026-04-20 10:52:28 +03:00 |
|
Ilia Mashkov
|
f9f96e2797
|
fix(ComparisonView): add correct line-height calculation
|
2026-04-20 10:51:41 +03:00 |
|
Ilia Mashkov
|
3e11821814
|
feat: add meta description
|
2026-04-19 19:15:46 +03:00 |
|
Ilia Mashkov
|
ee3f773ca5
|
chore: replace section with main tag
|
2026-04-19 19:15:03 +03:00 |
|
Ilia Mashkov
|
2a51f031cc
|
chore: add missing aria labels
|
2026-04-19 19:14:49 +03:00 |
|
Ilia Mashkov
|
b792dde7cb
|
fix(FontList): overwrite css rule
|
2026-04-19 19:14:15 +03:00 |
|
Ilia Mashkov
|
66dcffa448
|
chore(storybook): replace viewport with defaultViewport
|
2026-04-18 11:04:10 +03:00 |
|
Ilia Mashkov
|
cca00fccaa
|
chore(storybook): remove mobile stories and initialWidth prop from stories. The mobile view available throught viewport selector in the header
|
2026-04-18 11:03:43 +03:00 |
|
Ilia Mashkov
|
af05443763
|
chore(storybook): purge unused Providers props
|
2026-04-18 11:02:34 +03:00 |
|
Ilia Mashkov
|
99d92d487f
|
feat(storybook): replace width with maxWidth for StoryStage
|
2026-04-18 11:01:36 +03:00 |
|
Ilia Mashkov
|
4a907619cc
|
chore(storybook): purge custom viewports from storybook preview
|
2026-04-18 11:00:32 +03:00 |
|
Ilia Mashkov
|
6c69d7a5b3
|
test(ComparisonView): cover parts of the widget with tests
|
2026-04-18 01:19:01 +03:00 |
|
Ilia Mashkov
|
993812de0a
|
test(GetFonts): add tests for Filters component behavior
|
2026-04-18 01:18:02 +03:00 |
|
Ilia Mashkov
|
67c16530af
|
test(ChangeAppTheme): cover theme switcher component with tests
|
2026-04-18 01:17:25 +03:00 |
|
Ilia Mashkov
|
fbbb439023
|
test(Breadcrumb): add test for BreadcrumbHeader component
|
2026-04-18 01:16:45 +03:00 |
|
Ilia Mashkov
|
c2046770ef
|
test(SampleList): add test coverage for LayoutSwitch component
|
2026-04-18 01:16:09 +03:00 |
|
Ilia Mashkov
|
adfba38063
|
test: exclude lucide from dependency optimization
|
2026-04-18 01:15:25 +03:00 |
|
Ilia Mashkov
|
dfb304d436
|
test: remove legacy tests and add new ones
|
2026-04-17 22:16:44 +03:00 |
|
Ilia Mashkov
|
f55043a1e7
|
test(Badge): cover Baddge with tests
|
2026-04-17 20:26:46 +03:00 |
|
Ilia Mashkov
|
409dd1b229
|
test(Divider): cover Divider with tests
|
2026-04-17 20:26:46 +03:00 |
|
Ilia Mashkov
|
9fbce095b2
|
test(Footnote): cover Footnote with tests
|
2026-04-17 20:26:46 +03:00 |
|
Ilia Mashkov
|
171627e0ea
|
test(Input): cover Input with tests
|
2026-04-17 20:26:46 +03:00 |
|
Ilia Mashkov
|
d07fb1a3af
|
test(Label): cover Label with tests
|
2026-04-17 20:26:46 +03:00 |
|
Ilia Mashkov
|
6f84644ecb
|
test(Loader): cover Loader with tests
|
2026-04-17 20:26:46 +03:00 |
|
Ilia Mashkov
|
5ab5cda611
|
test(SearchBar): cover SearchBar with tests
|
2026-04-17 20:26:46 +03:00 |
|
Ilia Mashkov
|
7975d9aeee
|
test(Skeleton): cover Skeleton with tests
|
2026-04-17 20:26:46 +03:00 |
|
Ilia Mashkov
|
2ba5fc0e3e
|
test(Slider): cover Slider with tests
|
2026-04-17 20:24:09 +03:00 |
|
Ilia Mashkov
|
1947d7731e
|
test(Stat): cover Stat with tests
|
2026-04-17 20:09:59 +03:00 |
|
Ilia Mashkov
|
38bfc4ba4b
|
test(TechTech): cover TextTech with tests
|
2026-04-17 20:09:41 +03:00 |
|
Ilia Mashkov
|
6cf3047b74
|
test(Button): cover Button with tests
|
2026-04-17 19:20:13 +03:00 |
|
Ilia Mashkov
|
81363156d7
|
feat: set up vitest browser config for svelte components tests
|
2026-04-17 18:52:37 +03:00 |
|
Ilia Mashkov
|
bb65f1c8d6
|
feat: add missing storybook files and type template arguments properly
|
2026-04-17 18:01:24 +03:00 |
|
Ilia Mashkov
|
5eb9584797
|
feat(TypographyMenu): add bindable "open" prop to close popover from outside
|
2026-04-17 16:30:41 +03:00 |
|
Ilia Mashkov
|
bb5c3667b4
|
feat(SliderArea): utilize responsive breakpoints for TypographyMenu positioning
|
2026-04-17 14:39:25 +03:00 |
|
Ilia Mashkov
|
3711616a91
|
feat(TypograpyMenu): change custom button for existed Button component
|
2026-04-17 14:31:57 +03:00 |
|
Ilia Mashkov
|
6905c54040
|
chore: edit comments
|
2026-04-17 14:30:30 +03:00 |
|
Ilia Mashkov
|
1e8e22e2eb
|
fix: edit tailwind variable name
|
2026-04-17 13:56:43 +03:00 |
|
Ilia Mashkov
|
8a93c7b545
|
chore: purge shadcn from codebase. Replace with bits-ui components and other tools
|
2026-04-17 13:37:44 +03:00 |
|
Ilia Mashkov
|
0004b81e40
|
chore(ComboControl): replace shadcn tooltip with the one from bits-ui
|
2026-04-17 13:20:47 +03:00 |
|
Ilia Mashkov
|
fb1d2765d0
|
chore: purge TooltipProvider
|
2026-04-17 13:20:01 +03:00 |
|
Ilia Mashkov
|
12e8bc0a89
|
chore: enforce brackets for if clause and for/while loops
|
2026-04-17 13:05:36 +03:00 |
|
Ilia Mashkov
|
cfaff46d59
|
chore: follow the general comments style
|
2026-04-17 12:14:55 +03:00 |
|
Ilia Mashkov
|
0ebf75b24e
|
refactor: replace arbitrary text sizes in FontSampler, TypographyMenu; fix font token in SectionTitle
|
2026-04-17 09:42:24 +03:00 |
|
Ilia Mashkov
|
7b46e06f8b
|
refactor: replace arbitrary text sizes in ComboControl, ControlGroup, Input, Slider, SectionHeader
|
2026-04-17 09:41:55 +03:00 |
|
Ilia Mashkov
|
0737db69a9
|
refactor: replace px text sizes in Button, Loader, Footnote with named tokens
|
2026-04-17 09:41:14 +03:00 |
|
Ilia Mashkov
|
64b4a65e7b
|
refactor: replace arbitrary sizes in labelSizeConfig with named tokens
|
2026-04-17 09:40:53 +03:00 |
|
Ilia Mashkov
|
7f0d2b54e0
|
feat: add micro type scale and tracking-wider-mono tokens to @theme
|
2026-04-17 09:40:42 +03:00 |
|
Ilia Mashkov
|
5b1a1d0b0a
|
fix: use Button's size prop instead of direct font-size class
|
2026-04-17 08:56:46 +03:00 |
|
Ilia Mashkov
|
0562b94b03
|
feat(Label): add font prop to purge custom classes
|
2026-04-17 08:55:38 +03:00 |
|
Ilia Mashkov
|
ef08512986
|
feat(Badge): add nowrap prop to purge custom classes
|
2026-04-17 08:54:29 +03:00 |
|
Ilia Mashkov
|
816d4b89ce
|
refactor: tailwind tier 1 — border-subtle/text-secondary/focus-ring utilities + Input config extraction
|
2026-04-16 16:32:41 +03:00 |
|
Ilia Mashkov
|
aa1379c15b
|
chore: remove unused code
|
2026-04-16 15:59:58 +03:00 |
|
Ilia Mashkov
|
33e589f041
|
feat: remove widgets from page
|
2026-04-16 15:58:33 +03:00 |
|
Ilia Mashkov
|
b12dc6257d
|
feat(ComparisonView): add wrapper for search bar
|
2026-04-16 15:58:10 +03:00 |
|
Ilia Mashkov
|
35e0f06a77
|
feat(ComparisonView): add color transition for each character
|
2026-04-16 15:55:57 +03:00 |
|
Ilia Mashkov
|
dde187e0b2
|
chore: move ControlId type to the entities/Font layer
|
2026-04-16 11:19:17 +03:00 |
|
Ilia Mashkov
|
5a7c61ade7
|
feat(FontVirtualList): re-touch on weight change and pin visible fonts
|
2026-04-16 11:05:09 +03:00 |
|
Ilia Mashkov
|
d2bce85f9c
|
feat(ComparisonStore): pin fontA/fontB to prevent eviction while on-screen
|
2026-04-16 10:55:41 +03:00 |
|
Ilia Mashkov
|
e509463911
|
chore: remove unused
|
2026-04-16 09:07:46 +03:00 |
|
Ilia Mashkov
|
db08f523f6
|
chore: move typography constants to the entity/Font layer
|
2026-04-16 09:05:34 +03:00 |
|
Ilia Mashkov
|
c5fa159c14
|
fix(FontList): remove weight prop, use default weight for FontList
|
2026-04-16 08:51:18 +03:00 |
|
Ilia Mashkov
|
8645c7dcc8
|
feat: use typographySettingsStore everywhere for the typography settings
|
2026-04-16 08:44:49 +03:00 |
|
Ilia Mashkov
|
fbeb84270b
|
feat(Layout): remove breadcrumbs
|
2026-04-16 08:40:16 +03:00 |
|
Ilia Mashkov
|
c1ac9b5bc4
|
chore(SetupFont): rename controlManager to typographySettingsStore for better semantic
|
2026-04-16 08:22:08 +03:00 |
|