@allbluecn/web-app 0.18.0 → 0.18.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.
Files changed (121) hide show
  1. package/allblue-ui/package.json +6 -0
  2. package/allblue-ui/src/components/confirm-dialog.tsx +94 -0
  3. package/allblue-ui/src/components/infinite-scroll-sentinel.tsx +37 -0
  4. package/allblue-ui/src/components/notion-avatar.tsx +126 -0
  5. package/allblue-ui/src/components/user-avatar.tsx +82 -0
  6. package/allblue-ui/src/data-table/data-table-pagination.tsx +121 -0
  7. package/allblue-ui/src/data-table/data-table.tsx +218 -0
  8. package/allblue-ui/src/data-table/table-detail-layout.tsx +97 -0
  9. package/allblue-ui/src/hooks/use-load-more.ts +57 -0
  10. package/allblue-ui/src/hooks/use-mobile.ts +19 -0
  11. package/allblue-ui/src/index.ts +31 -0
  12. package/allblue-ui/src/lib/avatar.ts +41 -0
  13. package/allblue-ui/src/lib/datetime.ts +226 -0
  14. package/allblue-ui/src/lib/sanitize.ts +18 -0
  15. package/allblue-ui/src/lib/utils.ts +1 -0
  16. package/allblue-ui/src/ui/alert-dialog.tsx +185 -0
  17. package/allblue-ui/src/ui/alert.tsx +75 -0
  18. package/allblue-ui/src/ui/avatar.tsx +106 -0
  19. package/allblue-ui/src/ui/badge.tsx +51 -0
  20. package/allblue-ui/src/ui/button.tsx +57 -0
  21. package/allblue-ui/src/ui/card.tsx +102 -0
  22. package/allblue-ui/src/ui/checkbox.tsx +27 -0
  23. package/allblue-ui/src/ui/collapsible.tsx +19 -0
  24. package/allblue-ui/src/ui/dialog.tsx +155 -0
  25. package/allblue-ui/src/ui/dropdown-menu.tsx +265 -0
  26. package/allblue-ui/src/ui/field.tsx +236 -0
  27. package/allblue-ui/src/ui/input-group.tsx +157 -0
  28. package/allblue-ui/src/ui/input.tsx +19 -0
  29. package/allblue-ui/src/ui/label.tsx +17 -0
  30. package/allblue-ui/src/ui/pagination.tsx +130 -0
  31. package/allblue-ui/src/ui/select.tsx +232 -0
  32. package/allblue-ui/src/ui/separator.tsx +23 -0
  33. package/allblue-ui/src/ui/sheet.tsx +134 -0
  34. package/allblue-ui/src/ui/sidebar.tsx +721 -0
  35. package/allblue-ui/src/ui/skeleton.tsx +13 -0
  36. package/allblue-ui/src/ui/switch.tsx +30 -0
  37. package/allblue-ui/src/ui/table.tsx +113 -0
  38. package/allblue-ui/src/ui/textarea.tsx +17 -0
  39. package/allblue-ui/src/ui/toast.tsx +308 -0
  40. package/allblue-ui/src/ui/tooltip.tsx +64 -0
  41. package/package.json +3 -2
  42. package/src/__tests__/{knowledge-public → knowledge/public}/canonical-id.test.ts +1 -1
  43. package/src/__tests__/{knowledge-public → knowledge/public}/favicon.test.ts +1 -1
  44. package/src/__tests__/{knowledge-public → knowledge/public}/github-sync.test.ts +1 -1
  45. package/src/__tests__/{knowledge-public → knowledge/public}/share-merge.test.ts +1 -1
  46. package/src/components/bug/detail/__tests__/repro-report-card.test.tsx +1 -1
  47. package/src/components/bug/detail/repro-report-card.tsx +1 -1
  48. package/src/components/{knowledge-public → knowledge/public}/bookmark-form-dialog.tsx +4 -4
  49. package/src/components/{knowledge-public → knowledge/public}/knowledge-card.tsx +1 -1
  50. package/src/components/{knowledge-public → knowledge/public}/knowledge-form-dialog.tsx +9 -9
  51. package/src/components/{knowledge-public → knowledge/public}/legal-compliance-editor.tsx +6 -6
  52. package/src/lib/changelog/sdk-versions.ts +1 -1
  53. package/src/lib/collections/reference/bookmark-categories-collection.ts +1 -1
  54. package/src/routes/_nav/knowledge/bookmarks/$id.lazy.tsx +6 -6
  55. package/src/routes/_nav/knowledge/bookmarks/index.lazy.tsx +10 -10
  56. package/src/routes/_nav/knowledge/compliance/$id.lazy.tsx +7 -7
  57. package/src/routes/_nav/knowledge/compliance/edit/$id.lazy.tsx +1 -1
  58. package/src/routes/_nav/knowledge/compliance/index.lazy.tsx +8 -8
  59. package/src/routes/_nav/knowledge/dictionaries/$id.lazy.tsx +4 -4
  60. package/src/routes/_nav/knowledge/dictionaries/index.lazy.tsx +6 -6
  61. package/src/routes/_nav/knowledge/laws/$id.lazy.tsx +7 -7
  62. package/src/routes/_nav/knowledge/laws/edit/$id.lazy.tsx +1 -1
  63. package/src/routes/_nav/knowledge/laws/index.lazy.tsx +9 -9
  64. package/src/routes/_nav/knowledge/summary/index.lazy.tsx +1 -1
  65. package/src/routes/api/knowledge/sync-github.ts +1 -1
  66. package/src/routes/share/compliance/$id/route.lazy.tsx +2 -2
  67. package/src/routes/share/compliance/$id/route.tsx +1 -1
  68. package/src/routes/share/law/$id/route.lazy.tsx +2 -2
  69. package/src/routes/share/law/$id/route.tsx +1 -1
  70. package/src/server/serverFns/__tests__/read-write-merge.test.ts +2 -2
  71. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/create.ts +3 -3
  72. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/detail.ts +1 -1
  73. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/list.ts +1 -1
  74. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/refresh-favicon.ts +1 -1
  75. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/share.ts +1 -1
  76. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/sync-github.ts +1 -1
  77. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/update.ts +3 -3
  78. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/create.ts +1 -1
  79. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/detail.ts +1 -1
  80. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/list.ts +1 -1
  81. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/share.ts +1 -1
  82. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/update.ts +1 -1
  83. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/create.ts +1 -1
  84. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/detail.ts +1 -1
  85. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/list.ts +1 -1
  86. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/share.ts +1 -1
  87. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/update.ts +1 -1
  88. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/create.ts +1 -1
  89. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/detail.ts +1 -1
  90. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/list.ts +1 -1
  91. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/share.ts +1 -1
  92. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/update.ts +1 -1
  93. package/src/start.ts +1 -1
  94. /package/src/components/{knowledge-public → knowledge/public}/bookmark-card.tsx +0 -0
  95. /package/src/components/{knowledge-public → knowledge/public}/category-icon.tsx +0 -0
  96. /package/src/components/{knowledge-public → knowledge/public}/chip-utils.ts +0 -0
  97. /package/src/components/{knowledge-public → knowledge/public}/knowledge-card-grid.tsx +0 -0
  98. /package/src/components/{knowledge-public → knowledge/public}/knowledge-filters.tsx +0 -0
  99. /package/src/components/{knowledge-public → knowledge/public}/knowledge-search-bar.tsx +0 -0
  100. /package/src/components/{knowledge-public → knowledge/public}/markdown-editor.tsx +0 -0
  101. /package/src/components/{knowledge-public → knowledge/public}/markdown-view.tsx +0 -0
  102. /package/src/components/{knowledge-public → knowledge/public}/sharers-avatar-group.tsx +0 -0
  103. /package/src/components/{knowledge-public → knowledge/public}/tag-filter.tsx +0 -0
  104. /package/src/server/{knowledge-public → knowledge/public}/canonical-id.ts +0 -0
  105. /package/src/server/{knowledge-public → knowledge/public}/favicon.ts +0 -0
  106. /package/src/server/{knowledge-public → knowledge/public}/github-sync.ts +0 -0
  107. /package/src/server/{knowledge-public → knowledge/public}/share-merge.ts +0 -0
  108. /package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/categories.ts +0 -0
  109. /package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/delete.ts +0 -0
  110. /package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/favorite.ts +0 -0
  111. /package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/unshare.ts +0 -0
  112. /package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/delete.ts +0 -0
  113. /package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/public.ts +0 -0
  114. /package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/unshare.ts +0 -0
  115. /package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/delete.ts +0 -0
  116. /package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/unshare.ts +0 -0
  117. /package/src/server/serverFns/{knowledge-public → knowledge/public}/entity-tags.ts +0 -0
  118. /package/src/server/serverFns/{knowledge-public → knowledge/public}/favorite.ts +0 -0
  119. /package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/delete.ts +0 -0
  120. /package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/public.ts +0 -0
  121. /package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/unshare.ts +0 -0
@@ -27,15 +27,15 @@ import { toast } from '@allbluecn/ui/toast'
27
27
  import { MarkdownEditor } from './markdown-editor'
28
28
  import { NotionDocEditor } from '@/components/tiptap/notion-like'
29
29
  import { KnowledgeTagInput } from '@/components/knowledge/knowledge-tag-input'
30
- import { createLegalFn } from '@/server/serverFns/knowledge-public/legal/create'
31
- import { updateLegalFn } from '@/server/serverFns/knowledge-public/legal/update'
32
- import { getLegalDetailFn } from '@/server/serverFns/knowledge-public/legal/detail'
33
- import { createComplianceFn } from '@/server/serverFns/knowledge-public/compliance/create'
34
- import { updateComplianceFn } from '@/server/serverFns/knowledge-public/compliance/update'
35
- import { getComplianceDetailFn } from '@/server/serverFns/knowledge-public/compliance/detail'
36
- import { createDictionaryFn } from '@/server/serverFns/knowledge-public/dictionary/create'
37
- import { updateDictionaryFn } from '@/server/serverFns/knowledge-public/dictionary/update'
38
- import { getDictionaryDetailFn } from '@/server/serverFns/knowledge-public/dictionary/detail'
30
+ import { createLegalFn } from '@/server/serverFns/knowledge/public/legal/create'
31
+ import { updateLegalFn } from '@/server/serverFns/knowledge/public/legal/update'
32
+ import { getLegalDetailFn } from '@/server/serverFns/knowledge/public/legal/detail'
33
+ import { createComplianceFn } from '@/server/serverFns/knowledge/public/compliance/create'
34
+ import { updateComplianceFn } from '@/server/serverFns/knowledge/public/compliance/update'
35
+ import { getComplianceDetailFn } from '@/server/serverFns/knowledge/public/compliance/detail'
36
+ import { createDictionaryFn } from '@/server/serverFns/knowledge/public/dictionary/create'
37
+ import { updateDictionaryFn } from '@/server/serverFns/knowledge/public/dictionary/update'
38
+ import { getDictionaryDetailFn } from '@/server/serverFns/knowledge/public/dictionary/detail'
39
39
  import { m } from "@/paraglide/messages.js";
40
40
  import { toastError } from "@/lib/toast-error";
41
41
 
@@ -22,12 +22,12 @@ import { ArrowLeft } from 'lucide-react'
22
22
  import { KnowledgeDocEditor } from '@/components/knowledge/editor/knowledge-doc-editor'
23
23
  import { Tooltip, TooltipContent, TooltipTrigger } from '@allbluecn/ui/tooltip'
24
24
  import type { PropertyField, PropertyValues } from '@/components/knowledge/doc-properties'
25
- import { updateLegalFn } from '@/server/serverFns/knowledge-public/legal/update'
26
- import { getLegalDetailFn } from '@/server/serverFns/knowledge-public/legal/detail'
27
- import { deleteLegalFn } from '@/server/serverFns/knowledge-public/legal/delete'
28
- import { updateComplianceFn } from '@/server/serverFns/knowledge-public/compliance/update'
29
- import { getComplianceDetailFn } from '@/server/serverFns/knowledge-public/compliance/detail'
30
- import { deleteComplianceFn } from '@/server/serverFns/knowledge-public/compliance/delete'
25
+ import { updateLegalFn } from '@/server/serverFns/knowledge/public/legal/update'
26
+ import { getLegalDetailFn } from '@/server/serverFns/knowledge/public/legal/detail'
27
+ import { deleteLegalFn } from '@/server/serverFns/knowledge/public/legal/delete'
28
+ import { updateComplianceFn } from '@/server/serverFns/knowledge/public/compliance/update'
29
+ import { getComplianceDetailFn } from '@/server/serverFns/knowledge/public/compliance/detail'
30
+ import { deleteComplianceFn } from '@/server/serverFns/knowledge/public/compliance/delete'
31
31
  import { m } from "@/paraglide/messages.js";
32
32
 
33
33
  type EditorType = 'legal' | 'compliance'
@@ -95,7 +95,7 @@ export const SDK_GROUPS: SdkGroup[] = [
95
95
  "items": [
96
96
  {
97
97
  "name": "@allbluecn/web-app",
98
- "version": "v0.18.0",
98
+ "version": "v0.18.1",
99
99
  "lastUpdate": "Oct 7, 2026",
100
100
  "source": "apps/web/package.json",
101
101
  "docsUrl": "https://github.com/allbluecn/allblue"
@@ -17,7 +17,7 @@
17
17
 
18
18
  import { createCollection } from '@tanstack/db'
19
19
  import { queryCollectionOptions } from '@tanstack/query-db-collection'
20
- import { listBookmarkCategoriesFn } from '@/server/serverFns/knowledge-public/bookmarks/categories'
20
+ import { listBookmarkCategoriesFn } from '@/server/serverFns/knowledge/public/bookmarks/categories'
21
21
  import { getQueryClient } from '@/lib/query-client-seam'
22
22
 
23
23
  export const bookmarkCategoriesCollection = createCollection(
@@ -18,17 +18,17 @@
18
18
  import { createLazyFileRoute, Link } from '@tanstack/react-router'
19
19
  import { useState, useEffect, useMemo } from 'react'
20
20
  import { useQuery, useQueryClient } from '@tanstack/react-query'
21
- import { getBookmarkDetailFn } from '@/server/serverFns/knowledge-public/bookmarks/detail'
22
- import { updateBookmarkFn } from '@/server/serverFns/knowledge-public/bookmarks/update'
23
- import { shareBookmarkFn } from '@/server/serverFns/knowledge-public/bookmarks/share'
24
- import { unshareBookmarkFn } from '@/server/serverFns/knowledge-public/bookmarks/unshare'
25
- import { listBookmarkCategoriesFn } from '@/server/serverFns/knowledge-public/bookmarks/categories'
21
+ import { getBookmarkDetailFn } from '@/server/serverFns/knowledge/public/bookmarks/detail'
22
+ import { updateBookmarkFn } from '@/server/serverFns/knowledge/public/bookmarks/update'
23
+ import { shareBookmarkFn } from '@/server/serverFns/knowledge/public/bookmarks/share'
24
+ import { unshareBookmarkFn } from '@/server/serverFns/knowledge/public/bookmarks/unshare'
25
+ import { listBookmarkCategoriesFn } from '@/server/serverFns/knowledge/public/bookmarks/categories'
26
26
  import { Button } from '@allbluecn/ui/button'
27
27
  import { Input } from '@allbluecn/ui/input'
28
28
  import { Textarea } from '@allbluecn/ui/textarea'
29
29
  import { Badge } from '@allbluecn/ui/badge'
30
30
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@allbluecn/ui/select'
31
- import { BookmarkCard } from '@/components/knowledge-public/bookmark-card'
31
+ import { BookmarkCard } from '@/components/knowledge/public/bookmark-card'
32
32
  import { ArrowLeft, X, Share2, Loader2 } from 'lucide-react'
33
33
  import { toast } from '@allbluecn/ui/toast'
34
34
  import { m } from "@/paraglide/messages.js";
@@ -19,16 +19,16 @@ import { cn } from "@/lib/utils"
19
19
  import { createLazyFileRoute } from '@tanstack/react-router'
20
20
  import { useState } from 'react'
21
21
  import { useQuery, useQueryClient, keepPreviousData } from '@tanstack/react-query'
22
- import { listBookmarksFn } from '@/server/serverFns/knowledge-public/bookmarks/list'
23
- import { syncBookmarkGithubFn } from '@/server/serverFns/knowledge-public/bookmarks/sync-github'
24
- import { shareBookmarkFn } from '@/server/serverFns/knowledge-public/bookmarks/share'
25
- import { unshareBookmarkFn } from '@/server/serverFns/knowledge-public/bookmarks/unshare'
26
- import { toggleFavoriteBookmarkFn } from '@/server/serverFns/knowledge-public/bookmarks/favorite'
27
- import { listBookmarkCategoriesFn } from '@/server/serverFns/knowledge-public/bookmarks/categories'
28
- import { KnowledgeSearchBar } from '@/components/knowledge-public/knowledge-search-bar'
29
- import { KnowledgeFilters } from '@/components/knowledge-public/knowledge-filters'
30
- import { BookmarkCard } from '@/components/knowledge-public/bookmark-card'
31
- import { BookmarkFormDialog, type BookmarkEditTarget } from '@/components/knowledge-public/bookmark-form-dialog'
22
+ import { listBookmarksFn } from '@/server/serverFns/knowledge/public/bookmarks/list'
23
+ import { syncBookmarkGithubFn } from '@/server/serverFns/knowledge/public/bookmarks/sync-github'
24
+ import { shareBookmarkFn } from '@/server/serverFns/knowledge/public/bookmarks/share'
25
+ import { unshareBookmarkFn } from '@/server/serverFns/knowledge/public/bookmarks/unshare'
26
+ import { toggleFavoriteBookmarkFn } from '@/server/serverFns/knowledge/public/bookmarks/favorite'
27
+ import { listBookmarkCategoriesFn } from '@/server/serverFns/knowledge/public/bookmarks/categories'
28
+ import { KnowledgeSearchBar } from '@/components/knowledge/public/knowledge-search-bar'
29
+ import { KnowledgeFilters } from '@/components/knowledge/public/knowledge-filters'
30
+ import { BookmarkCard } from '@/components/knowledge/public/bookmark-card'
31
+ import { BookmarkFormDialog, type BookmarkEditTarget } from '@/components/knowledge/public/bookmark-form-dialog'
32
32
  import { toast } from '@allbluecn/ui/toast'
33
33
  import { DotPattern } from '@/components/magicui/dot-pattern'
34
34
  import { AuroraText } from '@/components/magicui/aurora-text'
@@ -18,13 +18,13 @@
18
18
  import { useState, Suspense } from 'react'
19
19
  import { createLazyFileRoute, Link, useNavigate } from '@tanstack/react-router'
20
20
  import { useQuery, useQueryClient } from '@tanstack/react-query'
21
- import { getComplianceDetailFn } from '@/server/serverFns/knowledge-public/compliance/detail'
22
- import { shareComplianceFn } from '@/server/serverFns/knowledge-public/compliance/share'
23
- import { unshareComplianceFn } from '@/server/serverFns/knowledge-public/compliance/unshare'
24
- import { deleteComplianceFn } from '@/server/serverFns/knowledge-public/compliance/delete'
25
- import { SharersAvatarGroup } from '@/components/knowledge-public/sharers-avatar-group'
21
+ import { getComplianceDetailFn } from '@/server/serverFns/knowledge/public/compliance/detail'
22
+ import { shareComplianceFn } from '@/server/serverFns/knowledge/public/compliance/share'
23
+ import { unshareComplianceFn } from '@/server/serverFns/knowledge/public/compliance/unshare'
24
+ import { deleteComplianceFn } from '@/server/serverFns/knowledge/public/compliance/delete'
25
+ import { SharersAvatarGroup } from '@/components/knowledge/public/sharers-avatar-group'
26
26
  import { KnowledgeDocEditor } from '@/components/knowledge/editor/knowledge-doc-editor'
27
- import { COMPLIANCE_FIELDS } from '@/components/knowledge-public/legal-compliance-editor'
27
+ import { COMPLIANCE_FIELDS } from '@/components/knowledge/public/legal-compliance-editor'
28
28
  import type { PropertyValues } from '@/components/knowledge/doc-properties'
29
29
  import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger } from '@allbluecn/ui/alert-dialog'
30
30
  import { Button } from '@allbluecn/ui/button'
@@ -32,7 +32,7 @@ import { Tooltip, TooltipContent, TooltipTrigger } from '@allbluecn/ui/tooltip'
32
32
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@allbluecn/ui/dropdown-menu'
33
33
  import { Share2, ArrowLeft, Pencil, Trash2, Link2, Globe, Star } from 'lucide-react'
34
34
  import { cn } from '@/lib/utils'
35
- import { toggleFavoriteFn, getFavoriteIdsFn } from '@/server/serverFns/knowledge-public/favorite'
35
+ import { toggleFavoriteFn, getFavoriteIdsFn } from '@/server/serverFns/knowledge/public/favorite'
36
36
  import { toast } from '@allbluecn/ui/toast'
37
37
  import { m } from "@/paraglide/messages.js";
38
38
  import { toastError } from "@/lib/toast-error";
@@ -16,7 +16,7 @@
16
16
  // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
 
18
18
  import { createLazyFileRoute } from '@tanstack/react-router'
19
- import { LegalComplianceEditor } from '@/components/knowledge-public/legal-compliance-editor'
19
+ import { LegalComplianceEditor } from '@/components/knowledge/public/legal-compliance-editor'
20
20
 
21
21
  export const Route = createLazyFileRoute('/_nav/knowledge/compliance/edit/$id')({
22
22
  component: ComplianceEditPage,
@@ -19,14 +19,14 @@ import { cn } from "@/lib/utils"
19
19
  import { createLazyFileRoute, useNavigate } from '@tanstack/react-router'
20
20
  import { useState } from 'react'
21
21
  import { useQuery, keepPreviousData, useQueryClient } from '@tanstack/react-query'
22
- import { listComplianceFn } from '@/server/serverFns/knowledge-public/compliance/list'
23
- import { createComplianceFn } from '@/server/serverFns/knowledge-public/compliance/create'
24
- import { getEntityTagsFn } from '@/server/serverFns/knowledge-public/entity-tags'
25
- import { KnowledgeSearchBar } from '@/components/knowledge-public/knowledge-search-bar'
26
- import { KnowledgeFilters } from '@/components/knowledge-public/knowledge-filters'
27
- import { KnowledgeCard } from '@/components/knowledge-public/knowledge-card'
28
- import { KnowledgeCardGrid, EmptyState } from '@/components/knowledge-public/knowledge-card-grid'
29
- import { TagFilter } from '@/components/knowledge-public/tag-filter'
22
+ import { listComplianceFn } from '@/server/serverFns/knowledge/public/compliance/list'
23
+ import { createComplianceFn } from '@/server/serverFns/knowledge/public/compliance/create'
24
+ import { getEntityTagsFn } from '@/server/serverFns/knowledge/public/entity-tags'
25
+ import { KnowledgeSearchBar } from '@/components/knowledge/public/knowledge-search-bar'
26
+ import { KnowledgeFilters } from '@/components/knowledge/public/knowledge-filters'
27
+ import { KnowledgeCard } from '@/components/knowledge/public/knowledge-card'
28
+ import { KnowledgeCardGrid, EmptyState } from '@/components/knowledge/public/knowledge-card-grid'
29
+ import { TagFilter } from '@/components/knowledge/public/tag-filter'
30
30
  import { AnimatedGridPattern } from '@/components/magicui/animated-grid-pattern'
31
31
  import { AuroraText } from '@/components/magicui/aurora-text'
32
32
  import { m } from "@/paraglide/messages.js";
@@ -17,10 +17,10 @@
17
17
 
18
18
  import { createLazyFileRoute, Link } from '@tanstack/react-router'
19
19
  import { useQuery, useQueryClient } from '@tanstack/react-query'
20
- import { getDictionaryDetailFn } from '@/server/serverFns/knowledge-public/dictionary/detail'
21
- import { shareDictionaryFn } from '@/server/serverFns/knowledge-public/dictionary/share'
22
- import { MarkdownView } from '@/components/knowledge-public/markdown-view'
23
- import { SharersAvatarGroup } from '@/components/knowledge-public/sharers-avatar-group'
20
+ import { getDictionaryDetailFn } from '@/server/serverFns/knowledge/public/dictionary/detail'
21
+ import { shareDictionaryFn } from '@/server/serverFns/knowledge/public/dictionary/share'
22
+ import { MarkdownView } from '@/components/knowledge/public/markdown-view'
23
+ import { SharersAvatarGroup } from '@/components/knowledge/public/sharers-avatar-group'
24
24
  import { Badge } from '@allbluecn/ui/badge'
25
25
  import { Button } from '@allbluecn/ui/button'
26
26
  import { Share2, ArrowLeft } from 'lucide-react'
@@ -19,12 +19,12 @@ import { cn } from "@/lib/utils"
19
19
  import { createLazyFileRoute } from '@tanstack/react-router'
20
20
  import { useState } from 'react'
21
21
  import { useQuery, keepPreviousData } from '@tanstack/react-query'
22
- import { listDictionaryFn } from '@/server/serverFns/knowledge-public/dictionary/list'
23
- import { KnowledgeSearchBar } from '@/components/knowledge-public/knowledge-search-bar'
24
- import { KnowledgeFilters } from '@/components/knowledge-public/knowledge-filters'
25
- import { KnowledgeCard } from '@/components/knowledge-public/knowledge-card'
26
- import { KnowledgeCardGrid, EmptyState } from '@/components/knowledge-public/knowledge-card-grid'
27
- import { KnowledgeFormDialog } from '@/components/knowledge-public/knowledge-form-dialog'
22
+ import { listDictionaryFn } from '@/server/serverFns/knowledge/public/dictionary/list'
23
+ import { KnowledgeSearchBar } from '@/components/knowledge/public/knowledge-search-bar'
24
+ import { KnowledgeFilters } from '@/components/knowledge/public/knowledge-filters'
25
+ import { KnowledgeCard } from '@/components/knowledge/public/knowledge-card'
26
+ import { KnowledgeCardGrid, EmptyState } from '@/components/knowledge/public/knowledge-card-grid'
27
+ import { KnowledgeFormDialog } from '@/components/knowledge/public/knowledge-form-dialog'
28
28
  import { StripedPattern } from '@/components/magicui/striped-pattern'
29
29
  import { AuroraText } from '@/components/magicui/aurora-text'
30
30
  import { m } from "@/paraglide/messages.js";
@@ -18,13 +18,13 @@
18
18
  import { useState, Suspense } from 'react'
19
19
  import { createLazyFileRoute, Link, useNavigate } from '@tanstack/react-router'
20
20
  import { useQuery, useQueryClient } from '@tanstack/react-query'
21
- import { getLegalDetailFn } from '@/server/serverFns/knowledge-public/legal/detail'
22
- import { shareLegalFn } from '@/server/serverFns/knowledge-public/legal/share'
23
- import { unshareLegalFn } from '@/server/serverFns/knowledge-public/legal/unshare'
24
- import { deleteLegalFn } from '@/server/serverFns/knowledge-public/legal/delete'
25
- import { SharersAvatarGroup } from '@/components/knowledge-public/sharers-avatar-group'
21
+ import { getLegalDetailFn } from '@/server/serverFns/knowledge/public/legal/detail'
22
+ import { shareLegalFn } from '@/server/serverFns/knowledge/public/legal/share'
23
+ import { unshareLegalFn } from '@/server/serverFns/knowledge/public/legal/unshare'
24
+ import { deleteLegalFn } from '@/server/serverFns/knowledge/public/legal/delete'
25
+ import { SharersAvatarGroup } from '@/components/knowledge/public/sharers-avatar-group'
26
26
  import { KnowledgeDocEditor } from '@/components/knowledge/editor/knowledge-doc-editor'
27
- import { LEGAL_FIELDS, JURISDICTION_OPTS } from '@/components/knowledge-public/legal-compliance-editor'
27
+ import { LEGAL_FIELDS, JURISDICTION_OPTS } from '@/components/knowledge/public/legal-compliance-editor'
28
28
  import type { PropertyValues } from '@/components/knowledge/doc-properties'
29
29
  import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger } from '@allbluecn/ui/alert-dialog'
30
30
  import { Button } from '@allbluecn/ui/button'
@@ -32,7 +32,7 @@ import { Tooltip, TooltipContent, TooltipTrigger } from '@allbluecn/ui/tooltip'
32
32
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@allbluecn/ui/dropdown-menu'
33
33
  import { Share2, ArrowLeft, Pencil, Trash2, Link2, Globe, Star } from 'lucide-react'
34
34
  import { cn } from '@/lib/utils'
35
- import { toggleFavoriteFn, getFavoriteIdsFn } from '@/server/serverFns/knowledge-public/favorite'
35
+ import { toggleFavoriteFn, getFavoriteIdsFn } from '@/server/serverFns/knowledge/public/favorite'
36
36
  import { toast } from '@allbluecn/ui/toast'
37
37
  import { m } from "@/paraglide/messages.js";
38
38
  import { toastError } from "@/lib/toast-error";
@@ -16,7 +16,7 @@
16
16
  // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
 
18
18
  import { createLazyFileRoute } from '@tanstack/react-router'
19
- import { LegalComplianceEditor } from '@/components/knowledge-public/legal-compliance-editor'
19
+ import { LegalComplianceEditor } from '@/components/knowledge/public/legal-compliance-editor'
20
20
 
21
21
  export const Route = createLazyFileRoute('/_nav/knowledge/laws/edit/$id')({
22
22
  component: LawEditPage,
@@ -19,15 +19,15 @@ import { cn } from "@/lib/utils"
19
19
  import { createLazyFileRoute, useNavigate } from '@tanstack/react-router'
20
20
  import { useState } from 'react'
21
21
  import { useQuery, keepPreviousData, useQueryClient } from '@tanstack/react-query'
22
- import { listLegalFn } from '@/server/serverFns/knowledge-public/legal/list'
23
- import { createLegalFn } from '@/server/serverFns/knowledge-public/legal/create'
24
- import { getEntityTagsFn } from '@/server/serverFns/knowledge-public/entity-tags'
25
- import { KnowledgeSearchBar } from '@/components/knowledge-public/knowledge-search-bar'
26
- import { KnowledgeFilters } from '@/components/knowledge-public/knowledge-filters'
27
- import { KnowledgeCard } from '@/components/knowledge-public/knowledge-card'
28
- import { KnowledgeCardGrid, EmptyState } from '@/components/knowledge-public/knowledge-card-grid'
29
- import { TagFilter } from '@/components/knowledge-public/tag-filter'
30
- import { chipClass } from '@/components/knowledge-public/chip-utils'
22
+ import { listLegalFn } from '@/server/serverFns/knowledge/public/legal/list'
23
+ import { createLegalFn } from '@/server/serverFns/knowledge/public/legal/create'
24
+ import { getEntityTagsFn } from '@/server/serverFns/knowledge/public/entity-tags'
25
+ import { KnowledgeSearchBar } from '@/components/knowledge/public/knowledge-search-bar'
26
+ import { KnowledgeFilters } from '@/components/knowledge/public/knowledge-filters'
27
+ import { KnowledgeCard } from '@/components/knowledge/public/knowledge-card'
28
+ import { KnowledgeCardGrid, EmptyState } from '@/components/knowledge/public/knowledge-card-grid'
29
+ import { TagFilter } from '@/components/knowledge/public/tag-filter'
30
+ import { chipClass } from '@/components/knowledge/public/chip-utils'
31
31
  import { FlickeringGrid } from '@/components/magicui/flickering-grid'
32
32
  import { AuroraText } from '@/components/magicui/aurora-text'
33
33
  import { m } from "@/paraglide/messages.js";
@@ -20,7 +20,7 @@ import { useState, useMemo, useEffect } from 'react'
20
20
 
21
21
  import { HexagonPattern } from '@/components/magicui/hexagon-pattern'
22
22
  import { AuroraText } from '@/components/magicui/aurora-text'
23
- import { chipClass } from '@/components/knowledge-public/chip-utils'
23
+ import { chipClass } from '@/components/knowledge/public/chip-utils'
24
24
  import { cn } from '@/lib/utils'
25
25
  import { CalendarMinus2 } from 'lucide-react'
26
26
  import { m } from "@/paraglide/messages.js";
@@ -16,7 +16,7 @@
16
16
  // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
 
18
18
  import { createFileRoute } from '@tanstack/react-router'
19
- import { syncAllStaleGithubBookmarks } from '@/server/knowledge-public/github-sync'
19
+ import { syncAllStaleGithubBookmarks } from '@/server/knowledge/public/github-sync'
20
20
  import { verifyCronSecret } from '@/server/lib/cron-auth'
21
21
 
22
22
  export const Route = createFileRoute('/api/knowledge/sync-github')({
@@ -18,13 +18,13 @@
18
18
  import { useState, Suspense } from 'react'
19
19
  import { createLazyFileRoute } from '@tanstack/react-router'
20
20
  import { KnowledgeDocEditor } from '@/components/knowledge/editor/knowledge-doc-editor'
21
- import { COMPLIANCE_FIELDS } from '@/components/knowledge-public/legal-compliance-editor'
21
+ import { COMPLIANCE_FIELDS } from '@/components/knowledge/public/legal-compliance-editor'
22
22
  import type { PropertyValues } from '@/components/knowledge/doc-properties'
23
23
  import { Button } from '@allbluecn/ui/button'
24
24
  import { Tooltip, TooltipContent, TooltipTrigger } from '@allbluecn/ui/tooltip'
25
25
  import { Star, Share2 } from 'lucide-react'
26
26
  import { cn } from '@/lib/utils'
27
- import { toggleFavoriteFn } from '@/server/serverFns/knowledge-public/favorite'
27
+ import { toggleFavoriteFn } from '@/server/serverFns/knowledge/public/favorite'
28
28
  import { toast } from '@allbluecn/ui/toast'
29
29
  import { m } from "@/paraglide/messages.js";
30
30
 
@@ -16,7 +16,7 @@
16
16
  // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
 
18
18
  import { createFileRoute, notFound } from '@tanstack/react-router'
19
- import { getPublicComplianceFn } from '@/server/serverFns/knowledge-public/compliance/public'
19
+ import { getPublicComplianceFn } from '@/server/serverFns/knowledge/public/compliance/public'
20
20
 
21
21
  export const Route = createFileRoute('/share/compliance/$id')({
22
22
  beforeLoad: async ({ params }) => {
@@ -18,13 +18,13 @@
18
18
  import { useState, Suspense } from 'react'
19
19
  import { createLazyFileRoute } from '@tanstack/react-router'
20
20
  import { KnowledgeDocEditor } from '@/components/knowledge/editor/knowledge-doc-editor'
21
- import { LEGAL_FIELDS } from '@/components/knowledge-public/legal-compliance-editor'
21
+ import { LEGAL_FIELDS } from '@/components/knowledge/public/legal-compliance-editor'
22
22
  import type { PropertyValues } from '@/components/knowledge/doc-properties'
23
23
  import { Button } from '@allbluecn/ui/button'
24
24
  import { Tooltip, TooltipContent, TooltipTrigger } from '@allbluecn/ui/tooltip'
25
25
  import { Star, Share2 } from 'lucide-react'
26
26
  import { cn } from '@/lib/utils'
27
- import { toggleFavoriteFn } from '@/server/serverFns/knowledge-public/favorite'
27
+ import { toggleFavoriteFn } from '@/server/serverFns/knowledge/public/favorite'
28
28
  import { toast } from '@allbluecn/ui/toast'
29
29
  import { m } from "@/paraglide/messages.js";
30
30
 
@@ -16,7 +16,7 @@
16
16
  // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
 
18
18
  import { createFileRoute, notFound } from '@tanstack/react-router'
19
- import { getPublicLegalFn } from '@/server/serverFns/knowledge-public/legal/public'
19
+ import { getPublicLegalFn } from '@/server/serverFns/knowledge/public/legal/public'
20
20
 
21
21
  export const Route = createFileRoute('/share/law/$id')({
22
22
  beforeLoad: async ({ params }) => {
@@ -59,8 +59,8 @@ vi.mock("@/server/bug/bug-permissions", () => ({
59
59
  import {
60
60
  toggleFavoriteFn,
61
61
  getFavoriteIdsFn,
62
- } from "../knowledge-public/favorite";
63
- import { toggleFavoriteBookmarkFn } from "../knowledge-public/bookmarks/favorite";
62
+ } from "../knowledge/public/favorite";
63
+ import { toggleFavoriteBookmarkFn } from "../knowledge/public/bookmarks/favorite";
64
64
  import { revokeCollectTokenFn } from "../bug/bug-collect-tokens";
65
65
  import { revokeBugTokenFn } from "../bug/bug-access-tokens";
66
66
  import {
@@ -20,9 +20,9 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { bookmarkCanonicalId, parseGithubUrl } from '@/server/knowledge-public/canonical-id'
24
- import { fetchGithubData } from '@/server/knowledge-public/github-sync'
25
- import { resolveFavicon } from '@/server/knowledge-public/favicon'
23
+ import { bookmarkCanonicalId, parseGithubUrl } from '@/server/knowledge/public/canonical-id'
24
+ import { fetchGithubData } from '@/server/knowledge/public/github-sync'
25
+ import { resolveFavicon } from '@/server/knowledge/public/favicon'
26
26
 
27
27
  const createSchema = z.object({
28
28
  title: z.string().min(1).max(200),
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { aggregateSharers } from '@/server/knowledge-public/share-merge'
23
+ import { aggregateSharers } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  export const getBookmarkDetailFn = createServerFn({ method: 'GET' })
26
26
  .validator(z.object({ id: z.string() }))
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { aggregateSharers } from '@/server/knowledge-public/share-merge'
23
+ import { aggregateSharers } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  const listSchema = z.object({
26
26
  scope: z.enum(['all', 'private', 'share', 'favorite']).default('all'),
@@ -20,7 +20,7 @@ import { getRequest } from '@tanstack/react-start/server'
20
20
  import { z } from 'zod'
21
21
  import { requireAuth } from '@/server/auth-helpers'
22
22
  import { checkUserActionRateLimit } from '@/server/lib/rate-limit'
23
- import { syncBookmarkFavicon } from '@/server/knowledge-public/favicon'
23
+ import { syncBookmarkFavicon } from '@/server/knowledge/public/favicon'
24
24
 
25
25
  export const refreshFaviconFn = createServerFn({ method: 'POST' })
26
26
  .validator(z.object({ id: z.string() }))
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { shareToPublic, type ShareResult } from '@/server/knowledge-public/share-merge'
23
+ import { shareToPublic, type ShareResult } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  export const shareBookmarkFn = createServerFn({ method: 'POST' })
26
26
  .validator(z.object({ id: z.string() }))
@@ -19,7 +19,7 @@ import { createServerFn } from '@tanstack/react-start'
19
19
  import { getRequest } from '@tanstack/react-start/server'
20
20
  import { z } from 'zod'
21
21
  import { requireAuth } from '@/server/auth-helpers'
22
- import { syncBookmarkGithub } from '@/server/knowledge-public/github-sync'
22
+ import { syncBookmarkGithub } from '@/server/knowledge/public/github-sync'
23
23
 
24
24
  export const syncBookmarkGithubFn = createServerFn({ method: 'POST' })
25
25
  .validator(z.object({ id: z.string() }))
@@ -20,9 +20,9 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { bookmarkCanonicalId, parseGithubUrl } from '@/server/knowledge-public/canonical-id'
24
- import { fetchGithubData } from '@/server/knowledge-public/github-sync'
25
- import { resolveFavicon } from '@/server/knowledge-public/favicon'
23
+ import { bookmarkCanonicalId, parseGithubUrl } from '@/server/knowledge/public/canonical-id'
24
+ import { fetchGithubData } from '@/server/knowledge/public/github-sync'
25
+ import { resolveFavicon } from '@/server/knowledge/public/favicon'
26
26
 
27
27
  const updateSchema = z.object({
28
28
  id: z.string(),
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { complianceCanonicalId } from '@/server/knowledge-public/canonical-id'
23
+ import { complianceCanonicalId } from '@/server/knowledge/public/canonical-id'
24
24
 
25
25
  const createSchema = z.object({
26
26
  title: z.string().min(1).max(200),
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { aggregateSharers } from '@/server/knowledge-public/share-merge'
23
+ import { aggregateSharers } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  export const getComplianceDetailFn = createServerFn({ method: 'GET' })
26
26
  .validator(z.object({ id: z.string() }))
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { aggregateSharers } from '@/server/knowledge-public/share-merge'
23
+ import { aggregateSharers } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  const listSchema = z.object({
26
26
  scope: z.enum(['all', 'private', 'share', 'favorite']).default('all'),
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { shareToPublic, type ShareResult } from '@/server/knowledge-public/share-merge'
23
+ import { shareToPublic, type ShareResult } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  export const shareComplianceFn = createServerFn({ method: 'POST' })
26
26
  .validator(z.object({ id: z.string() }))
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { complianceCanonicalId } from '@/server/knowledge-public/canonical-id'
23
+ import { complianceCanonicalId } from '@/server/knowledge/public/canonical-id'
24
24
 
25
25
  const updateSchema = z.object({
26
26
  id: z.string(),
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { dictionaryCanonicalId } from '@/server/knowledge-public/canonical-id'
23
+ import { dictionaryCanonicalId } from '@/server/knowledge/public/canonical-id'
24
24
 
25
25
  const createSchema = z.object({
26
26
  title: z.string().min(1).max(200),
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { aggregateSharers } from '@/server/knowledge-public/share-merge'
23
+ import { aggregateSharers } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  export const getDictionaryDetailFn = createServerFn({ method: 'GET' })
26
26
  .validator(z.object({ id: z.string() }))
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { aggregateSharers } from '@/server/knowledge-public/share-merge'
23
+ import { aggregateSharers } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  const listSchema = z.object({
26
26
  scope: z.enum(['all', 'private', 'share', 'favorite']).default('all'),
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { shareToPublic, type ShareResult } from '@/server/knowledge-public/share-merge'
23
+ import { shareToPublic, type ShareResult } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  export const shareDictionaryFn = createServerFn({ method: 'POST' })
26
26
  .validator(z.object({ id: z.string() }))
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { dictionaryCanonicalId } from '@/server/knowledge-public/canonical-id'
23
+ import { dictionaryCanonicalId } from '@/server/knowledge/public/canonical-id'
24
24
 
25
25
  const updateSchema = z.object({
26
26
  id: z.string(),
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { legalCanonicalId } from '@/server/knowledge-public/canonical-id'
23
+ import { legalCanonicalId } from '@/server/knowledge/public/canonical-id'
24
24
 
25
25
  const createSchema = z.object({
26
26
  title: z.string().min(1).max(200),
@@ -20,7 +20,7 @@ import { createServerFn } from '@tanstack/react-start'
20
20
  import { getRequest } from '@tanstack/react-start/server'
21
21
  import { z } from 'zod'
22
22
  import { requireAuth } from '@/server/auth-helpers'
23
- import { aggregateSharers } from '@/server/knowledge-public/share-merge'
23
+ import { aggregateSharers } from '@/server/knowledge/public/share-merge'
24
24
 
25
25
  export const getLegalDetailFn = createServerFn({ method: 'GET' })
26
26
  .validator(z.object({ id: z.string() }))