@taskmark/ui 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -5
- package/app/board/actions.ts +62 -0
- package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/app → app}/board/page.tsx +13 -0
- package/app/layout.tsx +87 -0
- package/{dist/standalone/dist/standalone/dist/standalone/app → app}/page.tsx +4 -0
- package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/app → app}/setup/page.tsx +5 -0
- package/bin/taskmark.js +59 -13
- package/{dist/standalone/dist/standalone/components → components}/board/project-status-metrics-strip.tsx +4 -2
- package/{dist/standalone/dist/standalone/app/board/page.tsx → components/board/static-board-app.tsx} +35 -104
- package/{dist/standalone/dist/standalone/dist/standalone/components → components}/board/work-item-sheet.tsx +37 -4
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/build-manifest.json +8 -7
- package/dist/standalone/.next/required-server-files.json +6 -0
- package/dist/standalone/.next/server/app/_global-error/page/build-manifest.json +5 -4
- package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found/page/build-manifest.json +5 -4
- package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/standalone/.next/server/app/_not-found.rsc +4 -4
- package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/board/page/build-manifest.json +5 -4
- package/dist/standalone/.next/server/app/board/page/server-reference-manifest.json +6 -6
- package/dist/standalone/.next/server/app/board/page.js +3 -3
- package/dist/standalone/.next/server/app/board/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/page/build-manifest.json +5 -4
- package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/setup/page/build-manifest.json +5 -4
- package/dist/standalone/.next/server/app/setup/page.js +1 -1
- package/dist/standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__056osos._.js +3 -0
- package/dist/standalone/.next/server/chunks/ssr/{[root-of-the-server]__03_ho7w._.js → [root-of-the-server]__09zm1qv._.js} +5 -5
- package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gn-ti0._.js +1 -1
- package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__0op8wkj._.js +1 -1
- package/dist/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ptadz9._.js → [root-of-the-server]__0srwu25._.js} +3 -3
- package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zq2v_u._.js +1 -1
- package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__12ufd6u._.js +6 -0
- package/dist/standalone/.next/server/chunks/ssr/{[root-of-the-server]__10pik1x._.js → [root-of-the-server]__18cyjiz._.js} +2 -2
- package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ig72i1._.js +2 -2
- package/dist/standalone/.next/server/chunks/ssr/_05k6qx-._.js +3 -0
- package/dist/standalone/.next/server/chunks/ssr/_0aho3h6._.js +1 -1
- package/dist/standalone/.next/server/chunks/ssr/_0xl0vrn._.js +3 -0
- package/dist/standalone/.next/server/chunks/ssr/_17p0g27._.js +3 -0
- package/dist/standalone/.next/server/chunks/ssr/_1ln4p7u._.js +1 -1
- package/dist/standalone/.next/server/chunks/ssr/_1nr_jtr._.js +3 -0
- package/dist/standalone/.next/server/chunks/ssr/_1qgmrdc._.js +3 -0
- package/dist/standalone/.next/server/chunks/ssr/{_1u3jg4m._.js → _1yb3kog._.js} +1 -1
- package/dist/standalone/.next/server/chunks/ssr/app_board_actions_ts_0f5ys15._.js +3 -0
- package/dist/standalone/.next/server/chunks/ssr/node_modules_0h91jdk._.js +1 -1
- package/dist/standalone/.next/server/middleware-build-manifest.js +8 -7
- package/dist/standalone/.next/server/pages/404.html +1 -1
- package/dist/standalone/.next/server/pages/500.html +1 -1
- package/dist/standalone/.next/server/server-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/server-reference-manifest.json +6 -6
- package/dist/standalone/.next/static/chunks/018wh8zp6bjth.js +1 -0
- package/dist/standalone/.next/static/chunks/{3-2jy1bmsuo5l.js → 01fxdzfqp-khv.js} +1 -1
- package/dist/standalone/.next/static/chunks/06t7fr3j7axc1.js +1 -0
- package/dist/standalone/.next/static/chunks/0g8oss7mvdgy2.js +1 -0
- package/dist/standalone/.next/static/chunks/{42tcxcpa-z9hi.js → 0tckbkthn_lz5.js} +1 -1
- package/dist/standalone/.next/static/chunks/1b4b87nf50pwj.js +1 -0
- package/dist/standalone/.next/static/chunks/1etzx8zdgoji7.js +2 -0
- package/dist/standalone/.next/static/chunks/1ob9-gyputghy.js +1 -0
- package/dist/standalone/.next/static/chunks/{3w2ohvdljvkpj.js → 2r5ngr5zaimmw.js} +1 -1
- package/dist/standalone/.next/static/chunks/2z9l0n877if48.css +1 -0
- package/dist/standalone/.next/static/chunks/40bad20ki94w3.js +1 -0
- package/dist/standalone/.next/static/chunks/turbopack-3ekz2izuoc92r.js +1 -0
- package/dist/standalone/README.md +17 -5
- package/dist/standalone/app/board/actions.ts +24 -173
- package/dist/standalone/app/board/page.tsx +13 -0
- package/dist/standalone/app/layout.tsx +50 -5
- package/dist/standalone/app/page.tsx +4 -0
- package/dist/standalone/app/setup/page.tsx +5 -0
- package/dist/standalone/bin/taskmark.js +59 -13
- package/dist/standalone/components/board/project-status-metrics-strip.tsx +4 -2
- package/dist/standalone/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/board/page.tsx → components/board/static-board-app.tsx} +35 -104
- package/dist/standalone/components/board/work-item-sheet.tsx +37 -4
- package/dist/standalone/lib/site.ts +8 -0
- package/dist/standalone/lib/taskmark/build-snapshot.ts +198 -0
- package/dist/standalone/lib/taskmark/cookies.ts +16 -0
- package/dist/standalone/{dist/standalone/dist/standalone/dist/standalone/app/board/actions.ts → lib/taskmark/detail-load.ts} +59 -90
- package/dist/standalone/lib/taskmark/load-snapshot-server.ts +11 -0
- package/dist/standalone/lib/taskmark/project-metrics-shared.ts +21 -0
- package/dist/standalone/lib/taskmark/project-metrics.ts +6 -18
- package/dist/standalone/lib/taskmark/snapshot-client.ts +67 -0
- package/dist/standalone/lib/taskmark/snapshot-types.ts +37 -0
- package/dist/standalone/lib/taskmark/static-mode.ts +15 -0
- package/dist/standalone/next.config.ts +13 -2
- package/dist/standalone/package-lock.json +541 -232
- package/dist/standalone/package.json +25 -11
- package/dist/standalone/public/apple-touch-icon.png +0 -0
- package/dist/standalone/public/favicon-96x96.png +0 -0
- package/dist/standalone/public/favicon.ico +0 -0
- package/dist/standalone/public/favicon.svg +1 -0
- package/dist/standalone/public/og/og-default.png +0 -0
- package/dist/standalone/public/site.webmanifest +21 -0
- package/dist/standalone/public/taskmark-snapshot.json +1 -0
- package/dist/standalone/public/web-app-manifest-192x192.png +0 -0
- package/dist/standalone/public/web-app-manifest-512x512.png +0 -0
- package/dist/standalone/scripts/build-static.mjs +182 -0
- package/dist/standalone/scripts/write-board-snapshot.ts +20 -0
- package/dist/standalone/server.js +1 -1
- package/dist/standalone/tsconfig.json +1 -1
- package/dist/standalone/tsconfig.tsbuildinfo +1 -1
- package/dist/standalone/yarn.lock +56 -0
- package/lib/site.ts +8 -0
- package/lib/taskmark/build-snapshot.ts +198 -0
- package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/cookies.ts +16 -0
- package/{dist/standalone/dist/standalone/dist/standalone/app/board/actions.ts → lib/taskmark/detail-load.ts} +59 -90
- package/lib/taskmark/load-snapshot-server.ts +11 -0
- package/lib/taskmark/project-metrics-shared.ts +21 -0
- package/{dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/project-metrics.ts +6 -18
- package/lib/taskmark/snapshot-client.ts +67 -0
- package/lib/taskmark/snapshot-types.ts +37 -0
- package/lib/taskmark/static-mode.ts +15 -0
- package/next.config.ts +19 -0
- package/package.json +25 -11
- package/public/apple-touch-icon.png +0 -0
- package/public/favicon-96x96.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/favicon.svg +1 -0
- package/public/og/og-default.png +0 -0
- package/public/site.webmanifest +21 -0
- package/public/taskmark-snapshot.json +1 -0
- package/public/web-app-manifest-192x192.png +0 -0
- package/public/web-app-manifest-512x512.png +0 -0
- package/scripts/build-static.mjs +182 -0
- package/scripts/write-board-snapshot.ts +20 -0
- package/{dist/standalone/dist/standalone/dist/standalone/tsconfig.json → tsconfig.json} +1 -1
- package/dist/standalone/.next/server/chunks/ssr/[externals]_node_path_1pmhwj3._.js +0 -3
- package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ahb350._.js +0 -6
- package/dist/standalone/.next/server/chunks/ssr/_0d5ymu2._.js +0 -3
- package/dist/standalone/.next/server/chunks/ssr/_0ltlf7m._.js +0 -3
- package/dist/standalone/.next/server/chunks/ssr/_1ewgzdg._.js +0 -3
- package/dist/standalone/.next/server/chunks/ssr/_1y1lrmo._.js +0 -3
- package/dist/standalone/.next/server/chunks/ssr/components_setup_setup-wizard_tsx_19mu5ru._.js +0 -3
- package/dist/standalone/.next/static/chunks/12kmjf-wk-m-0.js +0 -2
- package/dist/standalone/.next/static/chunks/15g-piqywkucg.css +0 -1
- package/dist/standalone/.next/static/chunks/2ao0tkrplrup7.js +0 -1
- package/dist/standalone/.next/static/chunks/3a8w_qvn2gpqt.js +0 -1
- package/dist/standalone/.next/static/chunks/3sz1w0ssobbwn.js +0 -1
- package/dist/standalone/.next/static/chunks/turbopack-0xo65f5j55qxe.js +0 -1
- package/dist/standalone/dist/standalone/AGENTS.md +0 -5
- package/dist/standalone/dist/standalone/CLAUDE.md +0 -1
- package/dist/standalone/dist/standalone/README.md +0 -74
- package/dist/standalone/dist/standalone/app/board/actions.ts +0 -211
- package/dist/standalone/dist/standalone/app/layout.tsx +0 -42
- package/dist/standalone/dist/standalone/app/page.tsx +0 -13
- package/dist/standalone/dist/standalone/app/setup/page.tsx +0 -62
- package/dist/standalone/dist/standalone/bin/lib/resolve-board.mjs +0 -108
- package/dist/standalone/dist/standalone/bin/taskmark.js +0 -232
- package/dist/standalone/dist/standalone/components/board/work-item-sheet.tsx +0 -604
- package/dist/standalone/dist/standalone/dist/standalone/AGENTS.md +0 -5
- package/dist/standalone/dist/standalone/dist/standalone/CLAUDE.md +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/README.md +0 -74
- package/dist/standalone/dist/standalone/dist/standalone/app/board/page.tsx +0 -271
- package/dist/standalone/dist/standalone/dist/standalone/app/favicon.ico +0 -0
- package/dist/standalone/dist/standalone/dist/standalone/app/globals.css +0 -128
- package/dist/standalone/dist/standalone/dist/standalone/app/layout.tsx +0 -42
- package/dist/standalone/dist/standalone/dist/standalone/app/setup/actions.ts +0 -113
- package/dist/standalone/dist/standalone/dist/standalone/app/setup/page.tsx +0 -62
- package/dist/standalone/dist/standalone/dist/standalone/bin/lib/resolve-board.mjs +0 -108
- package/dist/standalone/dist/standalone/dist/standalone/bin/taskmark.js +0 -232
- package/dist/standalone/dist/standalone/dist/standalone/components/board/app-bar.tsx +0 -99
- package/dist/standalone/dist/standalone/dist/standalone/components/board/attribution-avatars.tsx +0 -176
- package/dist/standalone/dist/standalone/dist/standalone/components/board/child-progress-bar.tsx +0 -40
- package/dist/standalone/dist/standalone/dist/standalone/components/board/date-tooltip.tsx +0 -93
- package/dist/standalone/dist/standalone/dist/standalone/components/board/detail-children-list.tsx +0 -70
- package/dist/standalone/dist/standalone/dist/standalone/components/board/epic-list.tsx +0 -363
- package/dist/standalone/dist/standalone/dist/standalone/components/board/hide-completed-toggle.tsx +0 -39
- package/dist/standalone/dist/standalone/dist/standalone/components/board/list-filters-bar.tsx +0 -78
- package/dist/standalone/dist/standalone/dist/standalone/components/board/list-pagination.tsx +0 -124
- package/dist/standalone/dist/standalone/dist/standalone/components/board/list-search-box.tsx +0 -59
- package/dist/standalone/dist/standalone/dist/standalone/components/board/list-view-switcher.tsx +0 -74
- package/dist/standalone/dist/standalone/dist/standalone/components/board/markdown-content.tsx +0 -91
- package/dist/standalone/dist/standalone/dist/standalone/components/board/metric-stat-card.tsx +0 -55
- package/dist/standalone/dist/standalone/dist/standalone/components/board/overall-work-items-list.tsx +0 -356
- package/dist/standalone/dist/standalone/dist/standalone/components/board/parent-filter-combobox.tsx +0 -89
- package/dist/standalone/dist/standalone/dist/standalone/components/board/parent-tag-badge.tsx +0 -46
- package/dist/standalone/dist/standalone/dist/standalone/components/board/project-contributors-panel.tsx +0 -86
- package/dist/standalone/dist/standalone/dist/standalone/components/board/project-status-metrics-strip.tsx +0 -88
- package/dist/standalone/dist/standalone/dist/standalone/components/board/sortable-table-head.tsx +0 -69
- package/dist/standalone/dist/standalone/dist/standalone/components/board/status-badge.tsx +0 -82
- package/dist/standalone/dist/standalone/dist/standalone/components/board/story-list.tsx +0 -336
- package/dist/standalone/dist/standalone/dist/standalone/components/board/tags-multiselect-filter.tsx +0 -70
- package/dist/standalone/dist/standalone/dist/standalone/components/board/task-list.tsx +0 -307
- package/dist/standalone/dist/standalone/dist/standalone/components/board/timeframe-filter.tsx +0 -676
- package/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-detail-body.tsx +0 -392
- package/dist/standalone/dist/standalone/dist/standalone/components/board/work-items-list.tsx +0 -372
- package/dist/standalone/dist/standalone/dist/standalone/components/brand-logo.tsx +0 -39
- package/dist/standalone/dist/standalone/dist/standalone/components/setup/setup-wizard.tsx +0 -180
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/alert-dialog.tsx +0 -187
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/alert.tsx +0 -101
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/avatar.tsx +0 -109
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/badge.tsx +0 -52
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/breadcrumb.tsx +0 -122
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/button.tsx +0 -64
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/calendar.tsx +0 -237
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/card.tsx +0 -103
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/combobox.tsx +0 -297
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/dialog.tsx +0 -159
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/field.tsx +0 -238
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/input-group.tsx +0 -158
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/input.tsx +0 -20
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/item.tsx +0 -201
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/label.tsx +0 -20
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/pagination.tsx +0 -133
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/popover.tsx +0 -90
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/progress.tsx +0 -83
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/resizable.tsx +0 -55
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/select.tsx +0 -199
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/separator.tsx +0 -25
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/sheet.tsx +0 -137
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/sidebar.tsx +0 -723
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/skeleton.tsx +0 -13
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/slider.tsx +0 -56
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/sonner.tsx +0 -54
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/spinner.tsx +0 -17
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/switch.tsx +0 -32
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/table.tsx +0 -116
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/tabs.tsx +0 -82
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/textarea.tsx +0 -18
- package/dist/standalone/dist/standalone/dist/standalone/components/ui/tooltip.tsx +0 -66
- package/dist/standalone/dist/standalone/dist/standalone/components.json +0 -28
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/AGENTS.md +0 -5
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/CLAUDE.md +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/README.md +0 -74
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/favicon.ico +0 -0
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/globals.css +0 -128
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/layout.tsx +0 -42
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/page.tsx +0 -13
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/setup/actions.ts +0 -113
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/bin/lib/resolve-board.mjs +0 -108
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/bin/taskmark.js +0 -232
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/app-bar.tsx +0 -99
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/attribution-avatars.tsx +0 -176
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/child-progress-bar.tsx +0 -40
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/date-tooltip.tsx +0 -93
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/detail-children-list.tsx +0 -70
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/epic-list.tsx +0 -363
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/hide-completed-toggle.tsx +0 -39
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-filters-bar.tsx +0 -78
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-pagination.tsx +0 -124
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-search-box.tsx +0 -59
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-view-switcher.tsx +0 -74
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/markdown-content.tsx +0 -91
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/metric-stat-card.tsx +0 -55
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/overall-work-items-list.tsx +0 -356
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/parent-filter-combobox.tsx +0 -89
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/parent-tag-badge.tsx +0 -46
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/project-contributors-panel.tsx +0 -86
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/project-status-metrics-strip.tsx +0 -88
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/sortable-table-head.tsx +0 -69
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/status-badge.tsx +0 -82
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/story-list.tsx +0 -336
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/tags-multiselect-filter.tsx +0 -70
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/task-list.tsx +0 -307
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/timeframe-filter.tsx +0 -676
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-detail-body.tsx +0 -392
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-sheet.tsx +0 -604
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-items-list.tsx +0 -372
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/brand-logo.tsx +0 -39
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/setup/setup-wizard.tsx +0 -180
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/alert-dialog.tsx +0 -187
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/alert.tsx +0 -101
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/avatar.tsx +0 -109
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/badge.tsx +0 -52
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/breadcrumb.tsx +0 -122
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/button.tsx +0 -64
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/calendar.tsx +0 -237
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/card.tsx +0 -103
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/combobox.tsx +0 -297
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/dialog.tsx +0 -159
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/field.tsx +0 -238
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/input-group.tsx +0 -158
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/input.tsx +0 -20
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/item.tsx +0 -201
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/label.tsx +0 -20
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/pagination.tsx +0 -133
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/popover.tsx +0 -90
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/progress.tsx +0 -83
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/resizable.tsx +0 -55
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/select.tsx +0 -199
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/separator.tsx +0 -25
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sheet.tsx +0 -137
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sidebar.tsx +0 -723
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/skeleton.tsx +0 -13
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/slider.tsx +0 -56
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sonner.tsx +0 -54
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/spinner.tsx +0 -17
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/switch.tsx +0 -32
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/table.tsx +0 -116
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/tabs.tsx +0 -82
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/textarea.tsx +0 -18
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/tooltip.tsx +0 -66
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -28
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/AGENTS.md +0 -5
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/CLAUDE.md +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/README.md +0 -97
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/board/actions.ts +0 -211
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/favicon.ico +0 -0
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/globals.css +0 -128
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/layout.tsx +0 -42
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/page.tsx +0 -13
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/setup/actions.ts +0 -113
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/setup/page.tsx +0 -62
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/bin/lib/resolve-board.mjs +0 -108
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/bin/taskmark.js +0 -230
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/app-bar.tsx +0 -99
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/attribution-avatars.tsx +0 -176
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/child-progress-bar.tsx +0 -40
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/date-tooltip.tsx +0 -93
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/detail-children-list.tsx +0 -70
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/epic-list.tsx +0 -363
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/hide-completed-toggle.tsx +0 -39
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-filters-bar.tsx +0 -78
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-pagination.tsx +0 -124
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-search-box.tsx +0 -59
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/list-view-switcher.tsx +0 -74
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/markdown-content.tsx +0 -91
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/metric-stat-card.tsx +0 -55
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/overall-work-items-list.tsx +0 -356
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/parent-filter-combobox.tsx +0 -89
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/parent-tag-badge.tsx +0 -46
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/project-contributors-panel.tsx +0 -86
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/project-status-metrics-strip.tsx +0 -88
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/sortable-table-head.tsx +0 -69
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/status-badge.tsx +0 -82
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/story-list.tsx +0 -336
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/tags-multiselect-filter.tsx +0 -70
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/task-list.tsx +0 -307
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/timeframe-filter.tsx +0 -676
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-detail-body.tsx +0 -392
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-item-sheet.tsx +0 -604
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/board/work-items-list.tsx +0 -372
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/brand-logo.tsx +0 -39
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/setup/setup-wizard.tsx +0 -180
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/alert-dialog.tsx +0 -187
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/alert.tsx +0 -101
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/avatar.tsx +0 -109
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/badge.tsx +0 -52
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/breadcrumb.tsx +0 -122
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/button.tsx +0 -64
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/calendar.tsx +0 -237
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/card.tsx +0 -103
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/combobox.tsx +0 -297
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/dialog.tsx +0 -159
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/field.tsx +0 -238
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/input-group.tsx +0 -158
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/input.tsx +0 -20
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/item.tsx +0 -201
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/label.tsx +0 -20
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/pagination.tsx +0 -133
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/popover.tsx +0 -90
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/progress.tsx +0 -83
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/resizable.tsx +0 -55
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/select.tsx +0 -199
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/separator.tsx +0 -25
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sheet.tsx +0 -137
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sidebar.tsx +0 -723
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/skeleton.tsx +0 -13
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/slider.tsx +0 -56
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/sonner.tsx +0 -54
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/spinner.tsx +0 -17
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/switch.tsx +0 -32
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/table.tsx +0 -116
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/tabs.tsx +0 -82
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/textarea.tsx +0 -18
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/ui/tooltip.tsx +0 -66
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +0 -28
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/eslint.config.mjs +0 -18
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/project-metrics.ts +0 -296
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/next.config.ts +0 -8
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package-lock.json +0 -11201
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -58
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/server.js +0 -44
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.tsbuildinfo +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/yarn.lock +0 -5265
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/eslint.config.mjs +0 -18
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks/use-mobile.ts +0 -19
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks/use-paginated-rows.ts +0 -54
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks/use-persisted-hide-completed.ts +0 -29
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks/use-table-sort.ts +0 -22
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/format-date.ts +0 -75
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/format-duration.ts +0 -72
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/format-list-date.ts +0 -2
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/active-project.ts +0 -16
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/autoconfig.ts +0 -118
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/constants.ts +0 -43
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/cookies.ts +0 -153
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/count-leaves.ts +0 -204
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/detail-types.ts +0 -131
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/discover.ts +0 -153
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/epic-types.ts +0 -41
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/flat-work-item-types.ts +0 -122
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/frontmatter.ts +0 -45
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/general-epic.ts +0 -25
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/hide-completed-cookie.ts +0 -40
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/identity.ts +0 -182
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/item-types.ts +0 -46
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/list-filters.ts +0 -327
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/list-view-mode.ts +0 -137
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/pagination.ts +0 -51
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-detail.ts +0 -227
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-epics.ts +0 -153
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-flat-lists.ts +0 -353
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-items.ts +0 -318
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-sections.ts +0 -135
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-stories.ts +0 -237
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/pick-folder.ts +0 -141
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/project-label.ts +0 -11
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/project-metrics.ts +0 -296
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/projects.ts +0 -55
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/resolve-work-item.ts +0 -219
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/story-types.ts +0 -46
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/table-sort.ts +0 -344
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/timeframe-filters.ts +0 -258
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/timing.ts +0 -32
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/types.ts +0 -28
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/validate.ts +0 -72
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/workspace.ts +0 -53
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib/utils.ts +0 -6
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/next.config.ts +0 -8
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package-lock.json +0 -11682
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +0 -60
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/postcss.config.mjs +0 -7
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/file.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/globe.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/next.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/tm_dark.png +0 -0
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/tm_light.png +0 -0
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/vercel.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public/window.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/scripts/prepare-standalone.mjs +0 -50
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/server.js +0 -44
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +0 -34
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.tsbuildinfo +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/yarn.lock +0 -5265
- package/dist/standalone/dist/standalone/dist/standalone/eslint.config.mjs +0 -18
- package/dist/standalone/dist/standalone/dist/standalone/hooks/use-mobile.ts +0 -19
- package/dist/standalone/dist/standalone/dist/standalone/hooks/use-paginated-rows.ts +0 -54
- package/dist/standalone/dist/standalone/dist/standalone/hooks/use-persisted-hide-completed.ts +0 -29
- package/dist/standalone/dist/standalone/dist/standalone/hooks/use-table-sort.ts +0 -22
- package/dist/standalone/dist/standalone/dist/standalone/lib/format-date.ts +0 -75
- package/dist/standalone/dist/standalone/dist/standalone/lib/format-duration.ts +0 -72
- package/dist/standalone/dist/standalone/dist/standalone/lib/format-list-date.ts +0 -2
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/active-project.ts +0 -16
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/autoconfig.ts +0 -118
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/constants.ts +0 -43
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/cookies.ts +0 -153
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/count-leaves.ts +0 -204
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/detail-types.ts +0 -131
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/discover.ts +0 -153
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/epic-types.ts +0 -41
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/flat-work-item-types.ts +0 -122
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/frontmatter.ts +0 -45
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/general-epic.ts +0 -25
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/hide-completed-cookie.ts +0 -40
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/identity.ts +0 -182
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/item-types.ts +0 -46
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/list-filters.ts +0 -327
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/list-view-mode.ts +0 -137
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/pagination.ts +0 -51
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-detail.ts +0 -227
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-epics.ts +0 -153
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-flat-lists.ts +0 -353
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-items.ts +0 -318
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-sections.ts +0 -135
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/parse-stories.ts +0 -237
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/pick-folder.ts +0 -141
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/project-label.ts +0 -11
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/projects.ts +0 -55
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/resolve-work-item.ts +0 -219
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/story-types.ts +0 -46
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/table-sort.ts +0 -344
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/timeframe-filters.ts +0 -258
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/timing.ts +0 -32
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/types.ts +0 -28
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/validate.ts +0 -72
- package/dist/standalone/dist/standalone/dist/standalone/lib/taskmark/workspace.ts +0 -53
- package/dist/standalone/dist/standalone/dist/standalone/lib/utils.ts +0 -6
- package/dist/standalone/dist/standalone/dist/standalone/next.config.ts +0 -8
- package/dist/standalone/dist/standalone/dist/standalone/package-lock.json +0 -11682
- package/dist/standalone/dist/standalone/dist/standalone/package.json +0 -60
- package/dist/standalone/dist/standalone/dist/standalone/postcss.config.mjs +0 -7
- package/dist/standalone/dist/standalone/dist/standalone/public/file.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/public/globe.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/public/next.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/public/tm_dark.png +0 -0
- package/dist/standalone/dist/standalone/dist/standalone/public/tm_light.png +0 -0
- package/dist/standalone/dist/standalone/dist/standalone/public/vercel.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/public/window.svg +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/scripts/prepare-standalone.mjs +0 -50
- package/dist/standalone/dist/standalone/dist/standalone/server.js +0 -44
- package/dist/standalone/dist/standalone/dist/standalone/tsconfig.tsbuildinfo +0 -1
- package/dist/standalone/dist/standalone/dist/standalone/yarn.lock +0 -5265
- package/dist/standalone/dist/standalone/eslint.config.mjs +0 -18
- package/dist/standalone/dist/standalone/hooks/use-mobile.ts +0 -19
- package/dist/standalone/dist/standalone/hooks/use-paginated-rows.ts +0 -54
- package/dist/standalone/dist/standalone/hooks/use-persisted-hide-completed.ts +0 -29
- package/dist/standalone/dist/standalone/hooks/use-table-sort.ts +0 -22
- package/dist/standalone/dist/standalone/lib/format-date.ts +0 -75
- package/dist/standalone/dist/standalone/lib/format-duration.ts +0 -72
- package/dist/standalone/dist/standalone/lib/format-list-date.ts +0 -2
- package/dist/standalone/dist/standalone/lib/taskmark/active-project.ts +0 -16
- package/dist/standalone/dist/standalone/lib/taskmark/autoconfig.ts +0 -118
- package/dist/standalone/dist/standalone/lib/taskmark/constants.ts +0 -43
- package/dist/standalone/dist/standalone/lib/taskmark/cookies.ts +0 -153
- package/dist/standalone/dist/standalone/lib/taskmark/count-leaves.ts +0 -204
- package/dist/standalone/dist/standalone/lib/taskmark/detail-types.ts +0 -131
- package/dist/standalone/dist/standalone/lib/taskmark/discover.ts +0 -153
- package/dist/standalone/dist/standalone/lib/taskmark/epic-types.ts +0 -41
- package/dist/standalone/dist/standalone/lib/taskmark/flat-work-item-types.ts +0 -122
- package/dist/standalone/dist/standalone/lib/taskmark/frontmatter.ts +0 -45
- package/dist/standalone/dist/standalone/lib/taskmark/general-epic.ts +0 -25
- package/dist/standalone/dist/standalone/lib/taskmark/hide-completed-cookie.ts +0 -40
- package/dist/standalone/dist/standalone/lib/taskmark/identity.ts +0 -182
- package/dist/standalone/dist/standalone/lib/taskmark/item-types.ts +0 -46
- package/dist/standalone/dist/standalone/lib/taskmark/list-filters.ts +0 -327
- package/dist/standalone/dist/standalone/lib/taskmark/list-view-mode.ts +0 -137
- package/dist/standalone/dist/standalone/lib/taskmark/pagination.ts +0 -51
- package/dist/standalone/dist/standalone/lib/taskmark/parse-detail.ts +0 -227
- package/dist/standalone/dist/standalone/lib/taskmark/parse-epics.ts +0 -153
- package/dist/standalone/dist/standalone/lib/taskmark/parse-flat-lists.ts +0 -353
- package/dist/standalone/dist/standalone/lib/taskmark/parse-items.ts +0 -318
- package/dist/standalone/dist/standalone/lib/taskmark/parse-sections.ts +0 -135
- package/dist/standalone/dist/standalone/lib/taskmark/parse-stories.ts +0 -237
- package/dist/standalone/dist/standalone/lib/taskmark/pick-folder.ts +0 -141
- package/dist/standalone/dist/standalone/lib/taskmark/project-label.ts +0 -11
- package/dist/standalone/dist/standalone/lib/taskmark/project-metrics.ts +0 -296
- package/dist/standalone/dist/standalone/lib/taskmark/projects.ts +0 -55
- package/dist/standalone/dist/standalone/lib/taskmark/resolve-work-item.ts +0 -219
- package/dist/standalone/dist/standalone/lib/taskmark/story-types.ts +0 -46
- package/dist/standalone/dist/standalone/lib/taskmark/table-sort.ts +0 -344
- package/dist/standalone/dist/standalone/lib/taskmark/timeframe-filters.ts +0 -258
- package/dist/standalone/dist/standalone/lib/taskmark/timing.ts +0 -32
- package/dist/standalone/dist/standalone/lib/taskmark/types.ts +0 -28
- package/dist/standalone/dist/standalone/lib/taskmark/validate.ts +0 -72
- package/dist/standalone/dist/standalone/lib/taskmark/workspace.ts +0 -53
- package/dist/standalone/dist/standalone/lib/utils.ts +0 -6
- package/dist/standalone/dist/standalone/next.config.ts +0 -8
- package/dist/standalone/dist/standalone/package-lock.json +0 -11682
- package/dist/standalone/dist/standalone/package.json +0 -60
- package/dist/standalone/dist/standalone/postcss.config.mjs +0 -7
- package/dist/standalone/dist/standalone/public/file.svg +0 -1
- package/dist/standalone/dist/standalone/public/globe.svg +0 -1
- package/dist/standalone/dist/standalone/public/next.svg +0 -1
- package/dist/standalone/dist/standalone/public/tm_dark.png +0 -0
- package/dist/standalone/dist/standalone/public/tm_light.png +0 -0
- package/dist/standalone/dist/standalone/public/vercel.svg +0 -1
- package/dist/standalone/dist/standalone/public/window.svg +0 -1
- package/dist/standalone/dist/standalone/scripts/prepare-standalone.mjs +0 -50
- package/dist/standalone/dist/standalone/server.js +0 -44
- package/dist/standalone/dist/standalone/tsconfig.json +0 -34
- package/dist/standalone/dist/standalone/tsconfig.tsbuildinfo +0 -1
- package/dist/standalone/dist/standalone/yarn.lock +0 -5265
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +0 -6
- package/dist/standalone/node_modules/react/cjs/react.development.js +0 -1284
- /package/{dist/standalone/dist/standalone/app → app}/favicon.ico +0 -0
- /package/{dist/standalone/dist/standalone/app → app}/globals.css +0 -0
- /package/{dist/standalone/dist/standalone/app → app}/setup/actions.ts +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/app-bar.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/attribution-avatars.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/child-progress-bar.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/date-tooltip.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/detail-children-list.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/epic-list.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/hide-completed-toggle.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/list-filters-bar.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/list-pagination.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/list-search-box.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/list-view-switcher.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/markdown-content.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/metric-stat-card.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/overall-work-items-list.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/parent-filter-combobox.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/parent-tag-badge.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/project-contributors-panel.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/sortable-table-head.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/status-badge.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/story-list.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/tags-multiselect-filter.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/task-list.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/timeframe-filter.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/work-item-detail-body.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/board/work-items-list.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/brand-logo.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/setup/setup-wizard.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/alert-dialog.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/alert.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/avatar.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/badge.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/breadcrumb.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/button.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/calendar.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/card.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/combobox.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/dialog.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/field.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/input-group.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/input.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/item.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/label.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/pagination.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/popover.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/progress.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/resizable.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/select.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/separator.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/sheet.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/sidebar.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/skeleton.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/slider.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/sonner.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/spinner.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/switch.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/table.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/tabs.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/textarea.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components → components}/ui/tooltip.tsx +0 -0
- /package/{dist/standalone/dist/standalone/components.json → components.json} +0 -0
- /package/dist/standalone/.next/static/{yYMAgTQ-mApv2yRSEYmVO → Z9wFjRvfV46l9lmHXB7G1}/_buildManifest.js +0 -0
- /package/dist/standalone/.next/static/{yYMAgTQ-mApv2yRSEYmVO → Z9wFjRvfV46l9lmHXB7G1}/_clientMiddlewareManifest.js +0 -0
- /package/dist/standalone/.next/static/{yYMAgTQ-mApv2yRSEYmVO → Z9wFjRvfV46l9lmHXB7G1}/_ssgManifest.js +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks → hooks}/use-mobile.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks → hooks}/use-paginated-rows.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks → hooks}/use-persisted-hide-completed.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/hooks → hooks}/use-table-sort.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/format-date.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/format-duration.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/format-list-date.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/active-project.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/autoconfig.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/constants.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/count-leaves.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/detail-types.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/discover.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/epic-types.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/flat-work-item-types.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/frontmatter.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/general-epic.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/hide-completed-cookie.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/identity.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/item-types.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/list-filters.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/list-view-mode.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/pagination.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-detail.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-epics.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-flat-lists.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-items.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-sections.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/parse-stories.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/pick-folder.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/project-label.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/projects.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/resolve-work-item.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/story-types.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/table-sort.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/timeframe-filters.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/timing.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/types.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/validate.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/taskmark/workspace.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/lib → lib}/utils.ts +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/postcss.config.mjs → postcss.config.mjs} +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/file.svg +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/globe.svg +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/next.svg +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/tm_dark.png +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/tm_light.png +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/vercel.svg +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/public → public}/window.svg +0 -0
- /package/{dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/scripts → scripts}/prepare-standalone.mjs +0 -0
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { defineConfig, globalIgnores } from "eslint/config";
|
|
2
|
-
import nextVitals from "eslint-config-next/core-web-vitals";
|
|
3
|
-
import nextTs from "eslint-config-next/typescript";
|
|
4
|
-
|
|
5
|
-
const eslintConfig = defineConfig([
|
|
6
|
-
...nextVitals,
|
|
7
|
-
...nextTs,
|
|
8
|
-
// Override default ignores of eslint-config-next.
|
|
9
|
-
globalIgnores([
|
|
10
|
-
// Default ignores of eslint-config-next:
|
|
11
|
-
".next/**",
|
|
12
|
-
"out/**",
|
|
13
|
-
"build/**",
|
|
14
|
-
"next-env.d.ts",
|
|
15
|
-
]),
|
|
16
|
-
]);
|
|
17
|
-
|
|
18
|
-
export default eslintConfig;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as React from "react"
|
|
2
|
-
|
|
3
|
-
const MOBILE_BREAKPOINT = 768
|
|
4
|
-
|
|
5
|
-
export function useIsMobile() {
|
|
6
|
-
const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)
|
|
7
|
-
|
|
8
|
-
React.useEffect(() => {
|
|
9
|
-
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)
|
|
10
|
-
const onChange = () => {
|
|
11
|
-
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)
|
|
12
|
-
}
|
|
13
|
-
mql.addEventListener("change", onChange)
|
|
14
|
-
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)
|
|
15
|
-
return () => mql.removeEventListener("change", onChange)
|
|
16
|
-
}, [])
|
|
17
|
-
|
|
18
|
-
return !!isMobile
|
|
19
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import { useEffect, useMemo, useState } from "react"
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
DEFAULT_PAGE_SIZE,
|
|
7
|
-
isPageSize,
|
|
8
|
-
slicePage,
|
|
9
|
-
type PageSize,
|
|
10
|
-
type PageSliceResult,
|
|
11
|
-
} from "@/lib/taskmark/pagination"
|
|
12
|
-
|
|
13
|
-
export type UsePaginatedRowsResult<T> = PageSliceResult<T> & {
|
|
14
|
-
setPage: (page: number) => void
|
|
15
|
-
setPageSize: (pageSize: PageSize) => void
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Client pagination state for a row list.
|
|
20
|
-
* When `resetKey` changes (e.g. selected epic/story), page resets to 1.
|
|
21
|
-
*/
|
|
22
|
-
export function usePaginatedRows<T>(
|
|
23
|
-
rows: readonly T[],
|
|
24
|
-
resetKey?: string
|
|
25
|
-
): UsePaginatedRowsResult<T> {
|
|
26
|
-
const [page, setPage] = useState(1)
|
|
27
|
-
const [pageSize, setPageSizeState] = useState<PageSize>(DEFAULT_PAGE_SIZE)
|
|
28
|
-
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
setPage(1)
|
|
31
|
-
}, [resetKey])
|
|
32
|
-
|
|
33
|
-
const sliced = useMemo(
|
|
34
|
-
() => slicePage(rows, page, pageSize),
|
|
35
|
-
[rows, page, pageSize]
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
// Keep local page in sync when clamping shrinks it (e.g. fewer rows).
|
|
39
|
-
useEffect(() => {
|
|
40
|
-
if (sliced.page !== page) setPage(sliced.page)
|
|
41
|
-
}, [sliced.page, page])
|
|
42
|
-
|
|
43
|
-
function setPageSize(next: PageSize | number) {
|
|
44
|
-
const size = isPageSize(next) ? next : DEFAULT_PAGE_SIZE
|
|
45
|
-
setPageSizeState(size)
|
|
46
|
-
setPage(1)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
...sliced,
|
|
51
|
-
setPage,
|
|
52
|
-
setPageSize,
|
|
53
|
-
}
|
|
54
|
-
}
|
package/dist/standalone/dist/standalone/dist/standalone/hooks/use-persisted-hide-completed.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import { useCallback, useState } from "react"
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
type HideCompletedCookieKey,
|
|
7
|
-
writeHideCompletedCookieClient,
|
|
8
|
-
} from "@/lib/taskmark/hide-completed-cookie"
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Hide completed state backed by a per-list cookie.
|
|
12
|
-
* Pass `initial` from the server cookie so SSR matches the first paint.
|
|
13
|
-
*/
|
|
14
|
-
export function usePersistedHideCompleted(
|
|
15
|
-
key: HideCompletedCookieKey,
|
|
16
|
-
initial = false
|
|
17
|
-
): [boolean, (hide: boolean) => void] {
|
|
18
|
-
const [hideCompleted, setHideCompletedState] = useState(initial)
|
|
19
|
-
|
|
20
|
-
const setHideCompleted = useCallback(
|
|
21
|
-
(hide: boolean) => {
|
|
22
|
-
writeHideCompletedCookieClient(key, hide)
|
|
23
|
-
setHideCompletedState(hide)
|
|
24
|
-
},
|
|
25
|
-
[key]
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
return [hideCompleted, setHideCompleted]
|
|
29
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import { useCallback, useState } from "react"
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
toggleTableSort,
|
|
7
|
-
type TableSortKey,
|
|
8
|
-
type TableSortState,
|
|
9
|
-
} from "@/lib/taskmark/table-sort"
|
|
10
|
-
|
|
11
|
-
export function useTableSort(initial: TableSortState | null = null): {
|
|
12
|
-
sort: TableSortState | null
|
|
13
|
-
onSort: (key: TableSortKey) => void
|
|
14
|
-
} {
|
|
15
|
-
const [sort, setSort] = useState<TableSortState | null>(initial)
|
|
16
|
-
|
|
17
|
-
const onSort = useCallback((key: TableSortKey) => {
|
|
18
|
-
setSort((current) => toggleTableSort(current, key))
|
|
19
|
-
}, [])
|
|
20
|
-
|
|
21
|
-
return { sort, onSort }
|
|
22
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { format, isValid, parseISO } from "date-fns"
|
|
2
|
-
|
|
3
|
-
const DATE_ONLY = /^\d{4}-\d{2}-\d{2}$/
|
|
4
|
-
const EMPTY = new Set(["", "null", "—", "-", "n/a", "N/A"])
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Parse Taskmark frontmatter / log date strings.
|
|
8
|
-
* Date-only values (YYYY-MM-DD) are treated as local calendar days to avoid
|
|
9
|
-
* UTC midnight shifting the displayed day.
|
|
10
|
-
*/
|
|
11
|
-
export function parseTaskmarkDate(
|
|
12
|
-
value: string | null | undefined
|
|
13
|
-
): Date | null {
|
|
14
|
-
const raw = value?.trim() ?? ""
|
|
15
|
-
if (!raw || EMPTY.has(raw)) return null
|
|
16
|
-
|
|
17
|
-
if (DATE_ONLY.test(raw)) {
|
|
18
|
-
const [y, m, d] = raw.split("-").map(Number)
|
|
19
|
-
const local = new Date(y, m - 1, d)
|
|
20
|
-
return isValid(local) ? local : null
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
try {
|
|
24
|
-
const parsed = parseISO(raw)
|
|
25
|
-
return isValid(parsed) ? parsed : null
|
|
26
|
-
} catch {
|
|
27
|
-
return null
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function hasTimeComponent(raw: string): boolean {
|
|
32
|
-
return raw.includes("T") || /\d{2}:\d{2}/.test(raw)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Format any Taskmark date for display.
|
|
37
|
-
* - Date-only → `Jul 23, 2026`
|
|
38
|
-
* - Datetime → `Jul 23, 2026, 09:44`
|
|
39
|
-
* - Missing/invalid → `—`
|
|
40
|
-
*/
|
|
41
|
-
export function formatTaskmarkDate(
|
|
42
|
-
value: string | null | undefined
|
|
43
|
-
): string {
|
|
44
|
-
const raw = value?.trim() ?? ""
|
|
45
|
-
if (!raw || EMPTY.has(raw)) return "—"
|
|
46
|
-
|
|
47
|
-
const date = parseTaskmarkDate(raw)
|
|
48
|
-
if (!date) return raw
|
|
49
|
-
|
|
50
|
-
if (hasTimeComponent(raw)) {
|
|
51
|
-
return format(date, "MMM d, yyyy, HH:mm")
|
|
52
|
-
}
|
|
53
|
-
return format(date, "MMM d, yyyy")
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/** Always include time when a valid datetime parses; otherwise date-only style. */
|
|
57
|
-
export function formatTaskmarkDateTime(
|
|
58
|
-
value: string | null | undefined
|
|
59
|
-
): string {
|
|
60
|
-
const raw = value?.trim() ?? ""
|
|
61
|
-
if (!raw || EMPTY.has(raw)) return "—"
|
|
62
|
-
|
|
63
|
-
const date = parseTaskmarkDate(raw)
|
|
64
|
-
if (!date) return raw
|
|
65
|
-
|
|
66
|
-
if (hasTimeComponent(raw)) {
|
|
67
|
-
return format(date, "MMM d, yyyy, HH:mm")
|
|
68
|
-
}
|
|
69
|
-
return format(date, "MMM d, yyyy")
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/** @deprecated Prefer {@link formatTaskmarkDate}. */
|
|
73
|
-
export function formatListDate(value: string | null | undefined): string {
|
|
74
|
-
return formatTaskmarkDate(value)
|
|
75
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Format estimate minutes as a compact human duration.
|
|
3
|
-
* Examples: `45m`, `2h`, `2h 30m`, `1d`, `1d 4h`
|
|
4
|
-
*/
|
|
5
|
-
export function formatDurationMinutes(value: number | null | undefined): string {
|
|
6
|
-
if (value === null || value === undefined || !Number.isFinite(value)) {
|
|
7
|
-
return "—"
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const total = Math.max(0, Math.round(value))
|
|
11
|
-
if (total === 0) return "0m"
|
|
12
|
-
|
|
13
|
-
return formatDurationMs(total * 60_000)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Format billable Actual from milliseconds.
|
|
18
|
-
* Uses ms / fractional seconds only when useful; otherwise compact m/h/d.
|
|
19
|
-
*
|
|
20
|
-
* Examples: `0ms`, `250ms`, `1.5s`, `45s`, `2m 3s`, `2h 30m`, `1d 4h`
|
|
21
|
-
*/
|
|
22
|
-
export function formatDurationMs(value: number | null | undefined): string {
|
|
23
|
-
if (value === null || value === undefined || !Number.isFinite(value)) {
|
|
24
|
-
return "—"
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const ms = Math.max(0, Math.round(value))
|
|
28
|
-
if (ms === 0) return "0ms"
|
|
29
|
-
|
|
30
|
-
if (ms < 1000) {
|
|
31
|
-
return `${ms}ms`
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (ms < 60_000) {
|
|
35
|
-
const seconds = ms / 1000
|
|
36
|
-
if (Number.isInteger(seconds) || ms % 1000 === 0) {
|
|
37
|
-
return `${Math.round(seconds)}s`
|
|
38
|
-
}
|
|
39
|
-
const rounded = Math.round(seconds * 100) / 100
|
|
40
|
-
return `${rounded}s`
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const totalSeconds = Math.floor(ms / 1000)
|
|
44
|
-
const days = Math.floor(totalSeconds / (60 * 60 * 8)) // 1 day ≈ 8h workday
|
|
45
|
-
let rem = totalSeconds % (60 * 60 * 8)
|
|
46
|
-
const hours = Math.floor(rem / 3600)
|
|
47
|
-
rem = rem % 3600
|
|
48
|
-
const minutes = Math.floor(rem / 60)
|
|
49
|
-
const seconds = rem % 60
|
|
50
|
-
|
|
51
|
-
const parts: string[] = []
|
|
52
|
-
if (days > 0) parts.push(`${days}d`)
|
|
53
|
-
if (hours > 0) parts.push(`${hours}h`)
|
|
54
|
-
if (minutes > 0) parts.push(`${minutes}m`)
|
|
55
|
-
// Show leftover seconds when under an hour and there is a seconds remainder
|
|
56
|
-
if (seconds > 0 && days === 0 && hours === 0) {
|
|
57
|
-
parts.push(`${seconds}s`)
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return parts.length > 0 ? parts.join(" ") : "0ms"
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/** Prefer precise actual_ms; fall back to actual_minutes × 60_000. */
|
|
64
|
-
export function formatActualDuration(
|
|
65
|
-
actualMs: number | null | undefined,
|
|
66
|
-
actualMinutes: number | null | undefined
|
|
67
|
-
): string {
|
|
68
|
-
if (actualMs != null && Number.isFinite(actualMs)) {
|
|
69
|
-
return formatDurationMs(actualMs)
|
|
70
|
-
}
|
|
71
|
-
return formatDurationMinutes(actualMinutes)
|
|
72
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { DiscoveredProject } from "@/lib/taskmark/types"
|
|
2
|
-
|
|
3
|
-
/** Resolve which discovered project is active; fall back to the first. */
|
|
4
|
-
export function resolveActiveProject(
|
|
5
|
-
projects: DiscoveredProject[],
|
|
6
|
-
activeProjectId: string | null
|
|
7
|
-
): DiscoveredProject | null {
|
|
8
|
-
if (projects.length === 0) return null
|
|
9
|
-
if (activeProjectId) {
|
|
10
|
-
const match = projects.find(
|
|
11
|
-
(p) => p.id === activeProjectId || p.boardPath === activeProjectId
|
|
12
|
-
)
|
|
13
|
-
if (match) return match
|
|
14
|
-
}
|
|
15
|
-
return projects[0] ?? null
|
|
16
|
-
}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs"
|
|
2
|
-
import path from "node:path"
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
resolveBoardAtPath,
|
|
6
|
-
toDiscoveredProject,
|
|
7
|
-
discoverTaskmarkProjects,
|
|
8
|
-
} from "@/lib/taskmark/discover"
|
|
9
|
-
import type { DiscoveredProject } from "@/lib/taskmark/types"
|
|
10
|
-
|
|
11
|
-
export type AutoconfigSource = "env_board" | "env_master" | "cwd"
|
|
12
|
-
|
|
13
|
-
export type AutoconfigWorkspace = {
|
|
14
|
-
source: AutoconfigSource
|
|
15
|
-
/** True when the project list is locked to one board (env board or cwd). */
|
|
16
|
-
singleProject: boolean
|
|
17
|
-
masters: string[]
|
|
18
|
-
projects: DiscoveredProject[]
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function readEnvPath(name: string): string | null {
|
|
22
|
-
const raw = process.env[name]
|
|
23
|
-
if (!raw || !raw.trim()) return null
|
|
24
|
-
return path.resolve(raw.trim())
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function workspaceFromBoard(
|
|
28
|
-
boardPath: string,
|
|
29
|
-
source: AutoconfigSource
|
|
30
|
-
): AutoconfigWorkspace {
|
|
31
|
-
const project = toDiscoveredProject(boardPath)
|
|
32
|
-
return {
|
|
33
|
-
source,
|
|
34
|
-
singleProject: true,
|
|
35
|
-
masters: [project.projectPath],
|
|
36
|
-
projects: [project],
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function workspaceFromMaster(
|
|
41
|
-
masterPath: string,
|
|
42
|
-
source: AutoconfigSource
|
|
43
|
-
): AutoconfigWorkspace | null {
|
|
44
|
-
let projects: DiscoveredProject[]
|
|
45
|
-
try {
|
|
46
|
-
projects = discoverTaskmarkProjects(masterPath)
|
|
47
|
-
} catch {
|
|
48
|
-
return null
|
|
49
|
-
}
|
|
50
|
-
if (projects.length === 0) return null
|
|
51
|
-
return {
|
|
52
|
-
source,
|
|
53
|
-
singleProject: projects.length === 1,
|
|
54
|
-
masters: [path.resolve(masterPath)],
|
|
55
|
-
projects,
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Candidate directories for cwd-based binding.
|
|
61
|
-
* Prefers TASKMARK_CWD, then npm's INIT_CWD (where the user invoked npm), then process.cwd().
|
|
62
|
-
*/
|
|
63
|
-
export function cwdCandidates(): string[] {
|
|
64
|
-
const out: string[] = []
|
|
65
|
-
const seen = new Set<string>()
|
|
66
|
-
for (const raw of [
|
|
67
|
-
process.env.TASKMARK_CWD,
|
|
68
|
-
process.env.INIT_CWD,
|
|
69
|
-
process.cwd(),
|
|
70
|
-
]) {
|
|
71
|
-
if (!raw || !raw.trim()) continue
|
|
72
|
-
const resolved = path.resolve(raw.trim())
|
|
73
|
-
try {
|
|
74
|
-
const key = fs.realpathSync(resolved)
|
|
75
|
-
if (seen.has(key)) continue
|
|
76
|
-
seen.add(key)
|
|
77
|
-
out.push(key)
|
|
78
|
-
} catch {
|
|
79
|
-
if (seen.has(resolved)) continue
|
|
80
|
-
seen.add(resolved)
|
|
81
|
-
out.push(resolved)
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return out
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Resolve a zero-config workspace without cookies.
|
|
89
|
-
*
|
|
90
|
-
* Precedence: TASKMARK_BOARD → TASKMARK_MASTER → cwd layouts.
|
|
91
|
-
* Returns null when nothing valid is found (caller should use cookie setup).
|
|
92
|
-
*/
|
|
93
|
-
export function resolveAutoconfigWorkspace(): AutoconfigWorkspace | null {
|
|
94
|
-
const boardEnv = readEnvPath("TASKMARK_BOARD")
|
|
95
|
-
if (boardEnv) {
|
|
96
|
-
const board = resolveBoardAtPath(boardEnv)
|
|
97
|
-
if (board) return workspaceFromBoard(board, "env_board")
|
|
98
|
-
console.warn(
|
|
99
|
-
`[taskmark] TASKMARK_BOARD is set but is not a valid board path: ${boardEnv}`
|
|
100
|
-
)
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
const masterEnv = readEnvPath("TASKMARK_MASTER")
|
|
104
|
-
if (masterEnv) {
|
|
105
|
-
const fromMaster = workspaceFromMaster(masterEnv, "env_master")
|
|
106
|
-
if (fromMaster) return fromMaster
|
|
107
|
-
console.warn(
|
|
108
|
-
`[taskmark] TASKMARK_MASTER is set but no Taskmark boards were found: ${masterEnv}`
|
|
109
|
-
)
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
for (const candidate of cwdCandidates()) {
|
|
113
|
-
const board = resolveBoardAtPath(candidate)
|
|
114
|
-
if (board) return workspaceFromBoard(board, "cwd")
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return null
|
|
118
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
export const MASTER_FOLDER_COOKIE = "taskmark_master_folder"
|
|
2
|
-
|
|
3
|
-
/** JSON array of master folder absolute paths (accumulates via Add project) */
|
|
4
|
-
export const MASTER_FOLDERS_COOKIE = "taskmark_master_folders"
|
|
5
|
-
|
|
6
|
-
/** Active discovered project id (realpath of boardPath) */
|
|
7
|
-
export const ACTIVE_PROJECT_COOKIE = "taskmark_active_project"
|
|
8
|
-
|
|
9
|
-
/** Cookie lifetime: 1 year */
|
|
10
|
-
export const MASTER_FOLDER_COOKIE_MAX_AGE = 60 * 60 * 24 * 365
|
|
11
|
-
|
|
12
|
-
export const MASTER_FOLDERS_COOKIE_MAX_AGE = MASTER_FOLDER_COOKIE_MAX_AGE
|
|
13
|
-
|
|
14
|
-
export const ACTIVE_PROJECT_COOKIE_MAX_AGE = MASTER_FOLDER_COOKIE_MAX_AGE
|
|
15
|
-
|
|
16
|
-
/** Per-list Hide completed prefs (client-readable; not httpOnly) */
|
|
17
|
-
export const HIDE_COMPLETED_COOKIE_MAX_AGE = MASTER_FOLDER_COOKIE_MAX_AGE
|
|
18
|
-
|
|
19
|
-
export const HIDE_COMPLETED_COOKIES = {
|
|
20
|
-
epics: "taskmark_hide_completed_epics",
|
|
21
|
-
stories: "taskmark_hide_completed_stories",
|
|
22
|
-
tasks: "taskmark_hide_completed_tasks",
|
|
23
|
-
overallWorkItems: "taskmark_hide_completed_overall_work_items",
|
|
24
|
-
workItems: "taskmark_hide_completed_work_items",
|
|
25
|
-
} as const
|
|
26
|
-
|
|
27
|
-
export type HideCompletedCookieKey = keyof typeof HIDE_COMPLETED_COOKIES
|
|
28
|
-
|
|
29
|
-
/** How deep to walk under the master folder when discovering boards */
|
|
30
|
-
export const DISCOVERY_MAX_DEPTH = 3
|
|
31
|
-
|
|
32
|
-
export const DISCOVERY_SKIP_DIR_NAMES = new Set([
|
|
33
|
-
"node_modules",
|
|
34
|
-
".git",
|
|
35
|
-
".next",
|
|
36
|
-
".turbo",
|
|
37
|
-
".cache",
|
|
38
|
-
"dist",
|
|
39
|
-
"build",
|
|
40
|
-
"coverage",
|
|
41
|
-
"out",
|
|
42
|
-
"vendor",
|
|
43
|
-
])
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { cookies } from "next/headers"
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
ACTIVE_PROJECT_COOKIE,
|
|
5
|
-
ACTIVE_PROJECT_COOKIE_MAX_AGE,
|
|
6
|
-
HIDE_COMPLETED_COOKIES,
|
|
7
|
-
MASTER_FOLDER_COOKIE,
|
|
8
|
-
MASTER_FOLDERS_COOKIE,
|
|
9
|
-
MASTER_FOLDERS_COOKIE_MAX_AGE,
|
|
10
|
-
MASTER_FOLDER_COOKIE_MAX_AGE,
|
|
11
|
-
type HideCompletedCookieKey,
|
|
12
|
-
} from "@/lib/taskmark/constants"
|
|
13
|
-
import { parseHideCompletedCookieValue } from "@/lib/taskmark/hide-completed-cookie"
|
|
14
|
-
|
|
15
|
-
async function readEncodedCookie(name: string): Promise<string | null> {
|
|
16
|
-
const store = await cookies()
|
|
17
|
-
const value = store.get(name)?.value
|
|
18
|
-
if (!value) return null
|
|
19
|
-
try {
|
|
20
|
-
return decodeURIComponent(value)
|
|
21
|
-
} catch {
|
|
22
|
-
return value
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function encodeCookieValue(value: string): string {
|
|
27
|
-
return encodeURIComponent(value)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/** Legacy single master + new multi-master list. */
|
|
31
|
-
export async function getMasterFoldersCookie(): Promise<string[]> {
|
|
32
|
-
const rawList = await readEncodedCookie(MASTER_FOLDERS_COOKIE)
|
|
33
|
-
if (rawList) {
|
|
34
|
-
try {
|
|
35
|
-
const parsed = JSON.parse(rawList) as unknown
|
|
36
|
-
if (Array.isArray(parsed)) {
|
|
37
|
-
return [
|
|
38
|
-
...new Set(
|
|
39
|
-
parsed
|
|
40
|
-
.filter((v): v is string => typeof v === "string")
|
|
41
|
-
.map((v) => v.trim())
|
|
42
|
-
.filter(Boolean)
|
|
43
|
-
),
|
|
44
|
-
]
|
|
45
|
-
}
|
|
46
|
-
} catch {
|
|
47
|
-
// fall through to legacy
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const legacy = await readEncodedCookie(MASTER_FOLDER_COOKIE)
|
|
52
|
-
if (legacy?.trim()) {
|
|
53
|
-
return [legacy.trim()]
|
|
54
|
-
}
|
|
55
|
-
return []
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export async function setMasterFoldersCookie(masters: string[]): Promise<void> {
|
|
59
|
-
const unique = [
|
|
60
|
-
...new Set(masters.map((m) => m.trim()).filter(Boolean)),
|
|
61
|
-
]
|
|
62
|
-
const store = await cookies()
|
|
63
|
-
store.set(MASTER_FOLDERS_COOKIE, encodeCookieValue(JSON.stringify(unique)), {
|
|
64
|
-
path: "/",
|
|
65
|
-
maxAge: MASTER_FOLDERS_COOKIE_MAX_AGE,
|
|
66
|
-
sameSite: "lax",
|
|
67
|
-
httpOnly: true,
|
|
68
|
-
})
|
|
69
|
-
// Keep legacy cookie aligned with the latest added master for older readers.
|
|
70
|
-
if (unique.length > 0) {
|
|
71
|
-
store.set(MASTER_FOLDER_COOKIE, encodeCookieValue(unique[unique.length - 1]!), {
|
|
72
|
-
path: "/",
|
|
73
|
-
maxAge: MASTER_FOLDER_COOKIE_MAX_AGE,
|
|
74
|
-
sameSite: "lax",
|
|
75
|
-
httpOnly: true,
|
|
76
|
-
})
|
|
77
|
-
} else {
|
|
78
|
-
store.delete(MASTER_FOLDER_COOKIE)
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export async function addMasterFolderCookie(masterPath: string): Promise<string[]> {
|
|
83
|
-
const existing = await getMasterFoldersCookie()
|
|
84
|
-
const next = [...existing]
|
|
85
|
-
if (!next.includes(masterPath)) {
|
|
86
|
-
next.push(masterPath)
|
|
87
|
-
}
|
|
88
|
-
await setMasterFoldersCookie(next)
|
|
89
|
-
return next
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export async function clearMasterFoldersCookie(): Promise<void> {
|
|
93
|
-
const store = await cookies()
|
|
94
|
-
store.delete(MASTER_FOLDERS_COOKIE)
|
|
95
|
-
store.delete(MASTER_FOLDER_COOKIE)
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/** @deprecated use getMasterFoldersCookie */
|
|
99
|
-
export async function getMasterFolderCookie(): Promise<string | null> {
|
|
100
|
-
const masters = await getMasterFoldersCookie()
|
|
101
|
-
return masters[masters.length - 1] ?? null
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
export async function getActiveProjectCookie(): Promise<string | null> {
|
|
105
|
-
return readEncodedCookie(ACTIVE_PROJECT_COOKIE)
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
export async function setActiveProjectCookie(projectId: string): Promise<void> {
|
|
109
|
-
const store = await cookies()
|
|
110
|
-
store.set(ACTIVE_PROJECT_COOKIE, encodeCookieValue(projectId), {
|
|
111
|
-
path: "/",
|
|
112
|
-
maxAge: ACTIVE_PROJECT_COOKIE_MAX_AGE,
|
|
113
|
-
sameSite: "lax",
|
|
114
|
-
httpOnly: true,
|
|
115
|
-
})
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
export async function clearActiveProjectCookie(): Promise<void> {
|
|
119
|
-
const store = await cookies()
|
|
120
|
-
store.delete(ACTIVE_PROJECT_COOKIE)
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export async function getHideCompletedCookie(
|
|
124
|
-
key: HideCompletedCookieKey
|
|
125
|
-
): Promise<boolean> {
|
|
126
|
-
const store = await cookies()
|
|
127
|
-
return parseHideCompletedCookieValue(
|
|
128
|
-
store.get(HIDE_COMPLETED_COOKIES[key])?.value
|
|
129
|
-
)
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export async function getHideCompletedCookies(): Promise<
|
|
133
|
-
Record<HideCompletedCookieKey, boolean>
|
|
134
|
-
> {
|
|
135
|
-
const store = await cookies()
|
|
136
|
-
return {
|
|
137
|
-
epics: parseHideCompletedCookieValue(
|
|
138
|
-
store.get(HIDE_COMPLETED_COOKIES.epics)?.value
|
|
139
|
-
),
|
|
140
|
-
stories: parseHideCompletedCookieValue(
|
|
141
|
-
store.get(HIDE_COMPLETED_COOKIES.stories)?.value
|
|
142
|
-
),
|
|
143
|
-
tasks: parseHideCompletedCookieValue(
|
|
144
|
-
store.get(HIDE_COMPLETED_COOKIES.tasks)?.value
|
|
145
|
-
),
|
|
146
|
-
overallWorkItems: parseHideCompletedCookieValue(
|
|
147
|
-
store.get(HIDE_COMPLETED_COOKIES.overallWorkItems)?.value
|
|
148
|
-
),
|
|
149
|
-
workItems: parseHideCompletedCookieValue(
|
|
150
|
-
store.get(HIDE_COMPLETED_COOKIES.workItems)?.value
|
|
151
|
-
),
|
|
152
|
-
}
|
|
153
|
-
}
|