100 Commits
Author SHA1 Message Date
tmshv 976170c391 Merge branch 'master' of github.com:tmshv/hudozka
Build Frontend and Deploy / Build Image (push) Failing after 12s
2026-09-25 16:08:01 +03:00
tmshv 45a6d7513b vitest 5
Build Frontend and Deploy / Build Image (push) Failing after 4m17s
2026-09-25 16:07:12 +03:00
tmshv a9c811969a biome 2.5 2026-09-25 16:05:00 +03:00
tmshv 87c413863c pb039 (#300) 2026-05-29 16:49:31 +03:00
tmshv 7b33d7d0a9 tags title layout improved 2026-04-26 01:18:47 +03:00
tmshv d9cf3a1536 Merge branch 'master' of github.com:tmshv/hudozka 2026-04-26 01:18:09 +03:00
tmshv 285527f43c Tags page (#298)
* Add spec for tag pages and tags index

* button no underscore

* Add implementation plan for tag pages and tags index

* Add TagListing type

* Extract createTag factory

* Add createTagPageCards factory

* Add getAllTagSlugs API

* Add getPagesByTag API

* Add getAllTagsWithCounts API

* Parallelize tag and page fetches in getAllTagsWithCounts

* Add Pagination component

* Use cx for Pagination class composition

* Add TagsIndex component

* Add /tags/[slug] route

* Parallelize params/searchParams awaits in /tags/[slug]

* Add /tags index route

* Activate tag buttons

* Add tag URLs to sitemap

* Mark PageGrid and Overlay as client components

* Filter zero-count tags from getAllTagSlugs

* Fix tag filter operator and draft filter for nullable field
2026-04-25 17:16:46 +03:00
tmshv 55e887aeec Add implementation plan for tag pages and tags index 2026-04-25 04:13:03 +03:00
tmshv 2a485fb0c2 button no underscore 2026-04-25 04:04:57 +03:00
tmshv 99885038fd Add spec for tag pages and tags index 2026-04-25 04:03:47 +03:00
tmshv 467a218d00 move to biome (#297)
* switch to biome

* writer format

* migrate format

* packages format

* hudozka format

* writer fix

* biome config updated

* migrate fix

* packages fix

* hudozka fix

* claude updated
2026-04-25 03:25:15 +03:00
tmshv 98dcaaa237 Breadcrumbs (#296)
* add breadcrumbs

* rm space

* move breadcrumbs to ui
2026-04-25 03:15:25 +03:00
tmshv 29dfdc4d7c fix dockerfile 2026-04-25 01:55:02 +03:00
tmshv 7a6005461b fix card hover 2026-04-25 01:49:51 +03:00
tmshv 35e1d762ad Merge branch 'master' of github.com:tmshv/hudozka 2026-04-25 01:34:14 +03:00
tmshv f874b58dd9 Migrate to npm-workspaces monorepo (#294)
* spec update

* update md files

* add plan: monorepo

* feat: add empty apps and packages directories

* Add shared tsconfig.base.json

* feat add workspaces

* feat: move hudozka-writer into apps/

* feat: move migrate-to-pocketbase into apps/

* feat: split package.json for apps/hudozka workspace

* feat: extend tsconfig.base.json in apps/hudozka

* add dockerfile path

* feat: verify Phase 3 monorepo migration of Next app

* feat: scaffold @hudozka/utils package

* feat: add utils barrel export

* feat: extract utilities into hudozka-utils package

* feat: extract hooks into hudozka-hooks package

* Extract Box/Button/Panel/Title/Overlay into @hudozka/ui

* Scope Next ESLint rules to apps/hudozka in root flat config

* Update README and CLAUDE.md for monorepo layout

* disable image optimisation
2026-04-25 01:33:06 +03:00
tmshv 168d782a26 update md files 2026-04-24 21:41:05 +03:00
tmshv 8d1c212a00 spec update 2026-04-24 21:24:46 +03:00
tmshv 0665fa7ae7 rm strapi 2026-04-24 20:55:10 +03:00
tmshv 41fbb72216 rm sync 2026-04-24 20:54:41 +03:00
tmshv 53a822f503 next-env chage 2026-04-24 20:36:15 +03:00
tmshv 8bd52cabd6 move app to src 2026-04-24 20:36:06 +03:00
tmshv ef80f5366c move contacts to const 2026-04-24 20:31:34 +03:00
tmshv 1348eab71f rm hudozka-api 2026-04-24 20:26:30 +03:00
tmshv bc4e11d538 rm .vercelignore 2026-04-24 20:25:34 +03:00
tmshv 607f19bca4 update packages 2026-04-24 20:20:45 +03:00
tmshv 481676922f bump pb 2026-04-24 19:48:33 +03:00
tmshv 54b142d531 rm cources from menu 2026-04-18 14:46:29 +03:00
tmshv 3172e9c91e menu moved to const 2026-04-13 02:14:31 +03:00
tmshv c7fb1a7fbe change image doamin 2026-04-12 23:14:16 +03:00
tmshv f3a7eddcd8 fix page migration 2026-04-12 23:14:16 +03:00
tmshv 5397615322 move pocketbase to dir 2026-04-12 19:13:24 +03:00
tmshv ed3f93de53 PB + Writer (#287)
* add pb models

* api rules has updated to view public

* pb setup is completed

* add migrate script

* add pb migrations

* ignore storage

* add pocketbase SDK dependency

* change Tag.id and PageCardDto.id to string for PocketBase

* add DocV1 content block types

* add PB client singleton and PB record types

* rewrite factory for PocketBase record types

* rewrite api.ts for PocketBase SDK

* remove unused Strapi files, add PB to config

* mark Task 7 complete in plan

* feat: verify build, tests, and lint pass with PocketBase API layer

* move completed plan: 2026-04-06-pocketbase-api-layer.md

* scaffold hudozka-writer with Vite 8, React 19, TS 5.9, Tiptap

* add PocketBase client and DocV1 types to writer

* add Login component for PocketBase superuser auth

* add App shell with auth gate and page loader

* add DocV1 <-> Tiptap serialization layer

* mark Task 5 complete in writer redesign plan

* add custom Tiptap nodes for DocV1 block types

* add Tiptap editor with toolbar and save to PocketBase

* add image picker with browse and upload

* feat: verify writer build and complete integration task

* move completed plan: 2026-04-06-hudozka-writer-redesign.md

* add local env

* rm textblock from writer

* add writer editor improvements design spec

* add writer editor improvements implementation plan

* feat: use @tiptap/markdown for text block serialization

* feat: add global markdown/rendered toggle

* feat: add BlockMenu component for block type selection

* feat: add hover + button for block insertion

* feat: add slash commands for block insertion

* feat: add interactive file block editor with FilePicker

* feat: show resolved page titles in card grid block

* move completed plan: 2026-04-07-writer-editor-improvements.md

* writer ui improved

* pages migration

* spec: draft/publish workflow for hudozka-writer

* spec: rename draft_doc to draft in spec

* plan: writer draft/publish implementation

* plan has moved

* gitignores

* plans upd

* feat(writer): update PbPage type for draft/publish workflow

* feat(writer): add save/publish/discard handlers with dirty tracking

* feat(writer): add DraftBanner component

* feat(writer): add Publish button and update toolbar layout

* feat(writer): add published toggle and update duplicate for new schema

* docs: mark manual verification steps as skipped in writer draft/publish plan

* move completed plan: 20260407-writer-draft-publish.md

* feat(writer): add BlockActions component for inline block menus

* feat(writer): add draggable NodeViews for text blocks

* feat(writer): use BlockActions in custom block NodeViews

* feat(writer): replace floating BlockInsert with inline BlockActions

* fix(writer): ensure all block wrappers have position: relative for BlockActions

* chore: mark manual verification tasks as skipped in writer block actions plan

* move completed plan: 20260408-writer-block-actions.md

* writer update

* refactor(writer): simplify BlockActions to always-visible delete + drag handle

* feat(writer): add BlockInsert component for inserting blocks between nodes

* feat(writer): redesign block sidebar with always-visible actions and insert button

* move completed plan: 20260408-writer-block-actions-redesign.md

* add spec: textblock container redesign for writer editor

* feat(writer): add TextBlock container node definition

* feat(writer): replace DraggableXxx wrappers with TextBlock container

* feat(writer): update Editor extensions for TextBlock container

* feat(writer): add split button to BlockActions for text blocks

* feat(writer): update serialization for TextBlock container

* feat(writer): update BlockMenu and SlashCommands for TextBlock

* fix(writer): use Fragment.from() for replaceWith calls in BlockActions and SlashCommands

* move completed plan: 20260408-textblock-container.md

* add air
2026-04-12 19:02:03 +03:00
tmshv dddc8fc0d0 hide instagram 2026-04-05 15:33:07 +03:00
tmshv 5df43844f5 use es2020 2026-02-10 00:37:21 +07:00
tmshv a1e51e78f0 Pages -> App (#265)
* pages -> app

* add meta test

* fix gosuslugi
2026-02-09 00:25:06 +07:00
tmshv 0c8d74b21d node 24 2026-02-08 23:46:31 +07:00
tmshv 699c4f9c69 Update outdated dependencies (#264)
* update packages

* update next-seo to 7.1
2026-02-08 23:43:58 +07:00
tmshv 3df47621a2 next 16; react 19; node 24 (#263)
* next 16; react 19

* fix build errors

* add typecheck to workflow

* use node 24

* claude update
2026-02-08 23:07:25 +07:00
tmshv 60fb98ddeb git upd next conf (#262) 2026-02-08 22:27:10 +07:00
tmshv 05f7d4d13d Migrate sitemap to Next.js native app/sitemap.ts (#258)
* sitemap migration to next

* robots.txt migration

* rss refactoring

* claude upd

* add test
2026-02-08 21:46:57 +07:00
tmshv 0fd75a3b9a App refactoring (#257)
* add cache

* update Panel

* next app refacoring

* app style refactoring

* years refactroing
2026-02-08 16:34:08 +07:00
tmshv 9ee9bce197 Normalize interface naming — remove I prefix convention (#255)
* update pr workflow

* interface to types

* use consistent import

* import type syntax

* test plan note
2026-02-08 15:57:11 +07:00
tmshv 7ab9147183 fix any (#254) 2026-02-08 15:22:49 +07:00
tmshv 9f5f721bd0 update (#253) 2026-02-08 15:13:03 +07:00
tmshv dd9058b798 rm two packages for hooks (#251)
* rm two packages for hooks

* fix navigation
2026-02-08 13:31:58 +07:00
tmshv f4c5132d7c Move clamp function to lib directory (#250)
* clamp refactoring

* pr template
2026-02-08 12:34:25 +07:00
tmshv 562b4f6408 solve any problem (#248) 2026-02-08 12:22:52 +07:00
tmshv 6da5a7a07b fix docker build 2026-02-08 04:34:58 +07:00
tmshv 7eab9326e5 Remove unnecessary @types packages (#247)
* update dep in claude file

* update classnames and sharp to version that has own types
2026-02-08 04:11:01 +07:00
tmshv 820c1b3a29 Standalone setup (#208)
* init docker integration

* fix rights

* add github workflows
2026-02-08 03:51:33 +07:00
tmshv 79ab798f12 UI Tests (#246)
* adds components test setup

* add some ui tests
2026-02-08 03:49:06 +07:00
tmshv 8c57976663 Ymetrika update (#245)
* update claude with message about components

* yandex metrika to ts

* rm env

* add .env example

* use account from env

* add tests
2026-02-08 03:29:28 +07:00
tmshv df50dfa02f date-fns 4 (#243) 2026-02-08 02:53:27 +07:00
tmshv e4b7998a72 update README.md 2026-02-08 02:35:55 +07:00
tmshv 08a9a4b2d2 add claude file 2026-02-08 02:33:40 +07:00
tmshvandClaude Opus 4.6 f5a95f57c8 Add Vitest and unit tests for src/lib/ (#242)
* Add Vitest and unit tests for src/lib/ utilities

Closes #241

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* update node types

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 02:32:06 +07:00
tmshv a5bd82eb3c Upgrade TypeScript 4.9 → 5.9 (#240)
* update ts

* upd ts to 5.9; upd gitignore; other
2026-02-08 02:05:51 +07:00
tmshv a4b3068850 Migrate to ESLint 9 flat config (#239)
* eslint 9

* fix lint errors

* update package-lock.json
2026-02-08 01:29:39 +07:00
tmshv d9d8bbebe1 fix npm run build command 2026-02-08 01:23:20 +07:00
tmshv d645cec124 lock file updated 2026-02-08 01:14:38 +07:00
tmshv 0562bd559f Merge branch 'master' of github.com:tmshv/hudozka 2026-02-08 01:14:06 +07:00
tmshv a48577140a npm audit fix 2026-02-08 01:13:39 +07:00
tmshv 894d688fa6 Merge pull request #199 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/sha.js-2.4.12
Bump sha.js from 2.4.11 to 2.4.12 in /modules/hudozka-strapi-api
2025-10-24 19:15:38 +03:00
tmshv ece908bd39 Merge pull request #209 from tmshv/dependabot/npm_and_yarn/multi-c30bf1d5d2
Bump tar-fs
2025-10-24 19:15:06 +03:00
tmshv b55da97848 Merge pull request #210 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/lodash-es-4.17.21
Bump lodash-es from 4.17.20 to 4.17.21 in /modules/hudozka-strapi-api
2025-10-24 19:14:32 +03:00
tmshv cf625f3e25 Merge pull request #198 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/cipher-base-1.0.6
Bump cipher-base from 1.0.4 to 1.0.6 in /modules/hudozka-strapi-api
2025-10-24 19:14:07 +03:00
tmshv 0dad1a472c Merge pull request #197 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/multi-96c788614a
Bump on-headers and compression in /modules/hudozka-strapi-api
2025-10-24 19:13:37 +03:00
tmshv e7688f22d8 Merge pull request #196 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/brace-expansion-1.1.12
Bump brace-expansion from 1.1.11 to 1.1.12 in /modules/hudozka-strapi-api
2025-10-24 19:13:05 +03:00
tmshv a56f2078c5 Merge pull request #192 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/tar-fs-2.1.3
Bump tar-fs from 2.1.1 to 2.1.3 in /modules/hudozka-strapi-api
2025-10-24 19:10:21 +03:00
tmshv 95b8fbfa11 Merge pull request #212 from tmshv/issue-211
Issue 211
2025-10-24 14:54:13 +03:00
tmshv 6503405c85 fix html 2 2025-10-24 14:52:36 +03:00
tmshv 0dbf3547f1 fix html 2025-10-24 14:49:23 +03:00
tmshv f1cafcd7d7 rm qr files 2025-10-24 14:49:09 +03:00
tmshv 7c0cc6b35b rm qr files 2025-10-24 14:45:53 +03:00
tmshv d5a80377a4 qr -> link; add one more link 2025-10-24 14:44:45 +03:00
tmshv 0d68d9a6e6 Merge pull request #190 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/koa-2.16.1
Bump koa from 2.13.1 to 2.16.1 in /modules/hudozka-strapi-api
2025-10-24 14:42:16 +03:00
tmshv 2ad849ca0e Merge pull request #193 from tmshv/dependabot/pip/modules/sync/requests-2.32.4
Bump requests from 2.32.0 to 2.32.4 in /modules/sync
2025-09-15 00:21:25 +03:00
tmshv 5bf69fc449 color text hsl to oklch 2025-08-26 02:17:01 +03:00
tmshv e4aa681400 format 2025-08-26 02:16:50 +03:00
tmshv 89716a05c6 Merge pull request #188 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/babel/runtime-7.26.10
Bump @babel/runtime from 7.15.3 to 7.26.10 in /modules/hudozka-strapi-api
2025-08-26 02:01:16 +03:00
tmshv ff6515d010 Merge pull request #186 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/babel/helpers-7.26.10
Bump @babel/helpers from 7.15.3 to 7.26.10 in /modules/hudozka-strapi-api
2025-08-26 02:00:52 +03:00
tmshv fcc12c1630 Merge pull request #205 from tmshv/issue-204
logo native dark style
2025-08-26 02:00:27 +03:00
tmshv 37e2fc9ea5 rewrit HudozkaLogo to use dark style natively 2025-08-26 01:52:03 +03:00
tmshv 73c02d34c4 format 2025-08-26 01:47:22 +03:00
tmshv 9dee686cfd Merge pull request #185 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/elliptic-6.6.1
Bump elliptic from 6.6.0 to 6.6.1 in /modules/hudozka-strapi-api
2025-08-26 00:09:42 +03:00
tmshv 9ed81634da Merge pull request #181 from tmshv/dependabot/npm_and_yarn/modules/hudozka-api/multi-6bc014718a
Bump path-to-regexp and express in /modules/hudozka-api
2025-08-26 00:09:03 +03:00
tmshv 52045044de Merge pull request #180 from tmshv/dependabot/npm_and_yarn/modules/hudozka-strapi-api/multi-e981fcb12d
Bump path-to-regexp and express in /modules/hudozka-strapi-api
2025-08-26 00:08:41 +03:00
tmshv 15bf1c195e Merge pull request #203 from tmshv/issue-202
Split Config and Menu
2025-08-26 00:08:16 +03:00
tmshv 9c50460296 rm unused imports 2025-08-25 23:59:58 +03:00
tmshv 2b09d224d1 404 fix 2025-08-25 23:57:47 +03:00
tmshv 945947aa22 rename config context to menu context; move config to state 2025-08-25 23:56:35 +03:00
tmshv 20c59affd7 add type module to package json 2025-08-25 23:53:28 +03:00
tmshv 516a4617c4 add wrap option to fix layout on mobile 2025-08-25 23:09:20 +03:00
tmshv c28e3f74ae Merge pull request #201 from tmshv/issue-200
Accessibility Panel
2025-08-25 22:04:05 +03:00
tmshv 08b87afb12 semi 2025-08-25 21:59:39 +03:00
tmshv e5023e7709 add play all button 2025-08-25 21:57:31 +03:00
tmshv e0a6ddcafc update accessibility panel 2025-08-25 21:14:00 +03:00
tmshv 85c0d8c4ab add initial accessibility panel 2025-08-25 19:05:44 +03:00
tmshv 605ff872e8 move from next lint to eslint 2025-08-20 18:38:40 +03:00