@jant/core 0.2.12 → 0.2.13
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/bin/jant.js +3 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +112 -85
- package/dist/auth.d.ts +1 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +2 -1
- package/dist/client.js +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/i18n/context.d.ts.map +1 -1
- package/dist/i18n/context.js +0 -3
- package/dist/i18n/detect.d.ts +0 -11
- package/dist/i18n/detect.d.ts.map +1 -1
- package/dist/i18n/detect.js +1 -52
- package/dist/i18n/i18n.d.ts +4 -14
- package/dist/i18n/i18n.d.ts.map +1 -1
- package/dist/i18n/i18n.js +19 -25
- package/dist/i18n/index.d.ts +1 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/middleware.d.ts +2 -5
- package/dist/i18n/middleware.d.ts.map +1 -1
- package/dist/i18n/middleware.js +12 -23
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/image.d.ts.map +1 -1
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/sse.d.ts +45 -17
- package/dist/lib/sse.d.ts.map +1 -1
- package/dist/lib/sse.js +77 -37
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/routes/api/posts.js +0 -1
- package/dist/routes/api/upload.js +3 -1
- package/dist/routes/dash/collections.d.ts.map +1 -1
- package/dist/routes/dash/collections.js +134 -142
- package/dist/routes/dash/index.js +25 -26
- package/dist/routes/dash/media.d.ts.map +1 -1
- package/dist/routes/dash/media.js +60 -56
- package/dist/routes/dash/pages.js +64 -66
- package/dist/routes/dash/posts.d.ts.map +1 -1
- package/dist/routes/dash/posts.js +50 -59
- package/dist/routes/dash/redirects.d.ts.map +1 -1
- package/dist/routes/dash/redirects.js +63 -60
- package/dist/routes/dash/settings.d.ts.map +1 -1
- package/dist/routes/dash/settings.js +249 -93
- package/dist/routes/feed/rss.js +6 -4
- package/dist/routes/pages/archive.js +60 -62
- package/dist/routes/pages/collection.js +8 -8
- package/dist/routes/pages/home.js +14 -14
- package/dist/routes/pages/page.js +7 -6
- package/dist/routes/pages/post.js +8 -8
- package/dist/routes/pages/search.js +25 -27
- package/dist/services/collection.d.ts.map +1 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/media.d.ts.map +1 -1
- package/dist/services/post.d.ts.map +1 -1
- package/dist/services/redirect.d.ts.map +1 -1
- package/dist/services/settings.d.ts.map +1 -1
- package/dist/theme/components/ActionButtons.d.ts +1 -1
- package/dist/theme/components/ActionButtons.d.ts.map +1 -1
- package/dist/theme/components/ActionButtons.js +17 -21
- package/dist/theme/components/CrudPageHeader.d.ts.map +1 -1
- package/dist/theme/components/DangerZone.d.ts.map +1 -1
- package/dist/theme/components/DangerZone.js +12 -15
- package/dist/theme/components/EmptyState.d.ts.map +1 -1
- package/dist/theme/components/PageForm.d.ts.map +1 -1
- package/dist/theme/components/PageForm.js +58 -56
- package/dist/theme/components/Pagination.d.ts.map +1 -1
- package/dist/theme/components/Pagination.js +22 -25
- package/dist/theme/components/PostForm.d.ts +0 -1
- package/dist/theme/components/PostForm.d.ts.map +1 -1
- package/dist/theme/components/PostForm.js +85 -77
- package/dist/theme/components/PostList.d.ts.map +1 -1
- package/dist/theme/components/PostList.js +17 -17
- package/dist/theme/components/ThreadView.d.ts.map +1 -1
- package/dist/theme/components/ThreadView.js +15 -18
- package/dist/theme/components/TypeBadge.d.ts.map +1 -1
- package/dist/theme/components/TypeBadge.js +20 -20
- package/dist/theme/components/VisibilityBadge.d.ts.map +1 -1
- package/dist/theme/components/VisibilityBadge.js +14 -14
- package/dist/theme/components/index.d.ts +1 -1
- package/dist/theme/components/index.d.ts.map +1 -1
- package/dist/theme/layouts/BaseLayout.d.ts.map +1 -1
- package/dist/theme/layouts/BaseLayout.js +4 -2
- package/dist/theme/layouts/DashLayout.d.ts.map +1 -1
- package/dist/theme/layouts/DashLayout.js +29 -29
- package/dist/types/lingui-react-macro.d.js +9 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vendor/datastar.js +1606 -0
- package/package.json +5 -2
- package/src/app.tsx +175 -56
- package/src/auth.ts +5 -1
- package/src/client.ts +1 -1
- package/src/db/schema.ts +22 -7
- package/src/i18n/EXAMPLES.md +34 -14
- package/src/i18n/README.md +19 -9
- package/src/i18n/context.tsx +1 -4
- package/src/i18n/detect.ts +1 -67
- package/src/i18n/i18n.ts +15 -19
- package/src/i18n/index.ts +0 -3
- package/src/i18n/middleware.ts +12 -24
- package/src/lib/constants.ts +2 -1
- package/src/lib/image-processor.ts +23 -7
- package/src/lib/image.ts +6 -2
- package/src/lib/schemas.ts +6 -2
- package/src/lib/sse.ts +138 -50
- package/src/middleware/auth.ts +6 -2
- package/src/routes/api/posts.ts +14 -5
- package/src/routes/api/upload.ts +25 -7
- package/src/routes/dash/collections.tsx +162 -70
- package/src/routes/dash/index.tsx +22 -7
- package/src/routes/dash/media.tsx +59 -16
- package/src/routes/dash/pages.tsx +102 -44
- package/src/routes/dash/posts.tsx +87 -54
- package/src/routes/dash/redirects.tsx +74 -26
- package/src/routes/dash/settings.tsx +250 -57
- package/src/routes/feed/rss.ts +6 -4
- package/src/routes/pages/archive.tsx +71 -21
- package/src/routes/pages/collection.tsx +21 -6
- package/src/routes/pages/home.tsx +30 -9
- package/src/routes/pages/page.tsx +14 -5
- package/src/routes/pages/post.tsx +21 -7
- package/src/routes/pages/search.tsx +42 -11
- package/src/services/collection.ts +34 -9
- package/src/services/index.ts +4 -1
- package/src/services/media.ts +15 -3
- package/src/services/post.ts +39 -10
- package/src/services/redirect.ts +4 -1
- package/src/services/settings.ts +14 -3
- package/src/theme/components/ActionButtons.tsx +26 -14
- package/src/theme/components/CrudPageHeader.tsx +6 -1
- package/src/theme/components/DangerZone.tsx +19 -13
- package/src/theme/components/EmptyState.tsx +6 -1
- package/src/theme/components/PageForm.tsx +71 -24
- package/src/theme/components/Pagination.tsx +26 -8
- package/src/theme/components/PostForm.tsx +72 -25
- package/src/theme/components/PostList.tsx +16 -5
- package/src/theme/components/ThreadView.tsx +25 -7
- package/src/theme/components/TypeBadge.tsx +13 -4
- package/src/theme/components/VisibilityBadge.tsx +17 -5
- package/src/theme/components/index.ts +4 -1
- package/src/theme/layouts/BaseLayout.tsx +5 -2
- package/src/theme/layouts/DashLayout.tsx +41 -12
- package/src/types/lingui-react-macro.d.ts +34 -0
- package/src/types.ts +16 -2
- package/src/vendor/datastar.js +9 -0
- package/src/vendor/datastar.js.map +7 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Post List Component
|
|
3
3
|
*/ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
|
|
4
|
-
import { useLingui } from "
|
|
4
|
+
import { useLingui as $_useLingui } from "@jant/core/i18n";
|
|
5
5
|
import * as sqid from "../../lib/sqid.js";
|
|
6
6
|
import * as time from "../../lib/time.js";
|
|
7
7
|
import { VisibilityBadge } from "./VisibilityBadge.js";
|
|
@@ -10,16 +10,16 @@ import { EmptyState } from "./EmptyState.js";
|
|
|
10
10
|
import { ListItemRow } from "./ListItemRow.js";
|
|
11
11
|
import { ActionButtons } from "./ActionButtons.js";
|
|
12
12
|
export const PostList = ({ posts })=>{
|
|
13
|
-
const {
|
|
13
|
+
const { i18n: $__i18n, _: $__ } = $_useLingui();
|
|
14
14
|
if (posts.length === 0) {
|
|
15
15
|
return /*#__PURE__*/ _jsx(EmptyState, {
|
|
16
|
-
message:
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
message: $__i18n._({
|
|
17
|
+
id: "ODiSoW",
|
|
18
|
+
message: "No posts yet."
|
|
19
19
|
}),
|
|
20
|
-
ctaText:
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
ctaText: $__i18n._({
|
|
21
|
+
id: "x0mzE0",
|
|
22
|
+
message: "Create your first post"
|
|
23
23
|
}),
|
|
24
24
|
ctaHref: "/dash/posts/new"
|
|
25
25
|
});
|
|
@@ -29,14 +29,14 @@ export const PostList = ({ posts })=>{
|
|
|
29
29
|
children: posts.map((post)=>/*#__PURE__*/ _jsxs(ListItemRow, {
|
|
30
30
|
actions: /*#__PURE__*/ _jsx(ActionButtons, {
|
|
31
31
|
editHref: `/dash/posts/${sqid.encode(post.id)}/edit`,
|
|
32
|
-
editLabel:
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
editLabel: $__i18n._({
|
|
33
|
+
id: "ePK91l",
|
|
34
|
+
message: "Edit"
|
|
35
35
|
}),
|
|
36
36
|
viewHref: `/p/${sqid.encode(post.id)}`,
|
|
37
|
-
viewLabel:
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
viewLabel: $__i18n._({
|
|
38
|
+
id: "jpctdh",
|
|
39
|
+
message: "View"
|
|
40
40
|
})
|
|
41
41
|
}),
|
|
42
42
|
children: [
|
|
@@ -58,9 +58,9 @@ export const PostList = ({ posts })=>{
|
|
|
58
58
|
/*#__PURE__*/ _jsx("a", {
|
|
59
59
|
href: `/dash/posts/${sqid.encode(post.id)}`,
|
|
60
60
|
class: "font-medium hover:underline",
|
|
61
|
-
children: post.title || post.content?.slice(0, 60) ||
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
children: post.title || post.content?.slice(0, 60) || $__i18n._({
|
|
62
|
+
id: "wja8aL",
|
|
63
|
+
message: "Untitled"
|
|
64
64
|
})
|
|
65
65
|
}),
|
|
66
66
|
post.content && !post.title && /*#__PURE__*/ _jsx("p", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadView.d.ts","sourceRoot":"","sources":["../../../src/theme/components/ThreadView.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI3C,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"ThreadView.d.ts","sourceRoot":"","sources":["../../../src/theme/components/ThreadView.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI3C,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;CACvB;AA6DD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAsD1C,CAAC"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Displays a thread of posts with reply chain visualization
|
|
5
5
|
*/ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
|
|
6
|
-
import { useLingui } from "
|
|
6
|
+
import { useLingui as $_useLingui } from "@jant/core/i18n";
|
|
7
7
|
import * as sqid from "../../lib/sqid.js";
|
|
8
8
|
import * as time from "../../lib/time.js";
|
|
9
9
|
const ThreadPost = ({ post, isCurrent, isRoot })=>{
|
|
10
|
-
const {
|
|
10
|
+
const { i18n: $__i18n, _: $__ } = $_useLingui();
|
|
11
11
|
return /*#__PURE__*/ _jsxs("article", {
|
|
12
12
|
id: `post-${post.id}`,
|
|
13
13
|
class: `h-entry p-4 rounded-lg border ${isCurrent ? "border-primary bg-primary/5 ring-2 ring-primary/20" : "border-border hover:border-muted-foreground/30"}`,
|
|
@@ -36,17 +36,17 @@ const ThreadPost = ({ post, isCurrent, isRoot })=>{
|
|
|
36
36
|
}),
|
|
37
37
|
isRoot && /*#__PURE__*/ _jsx("span", {
|
|
38
38
|
class: "text-xs",
|
|
39
|
-
children:
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
children: $__i18n._({
|
|
40
|
+
id: "sGajR7",
|
|
41
|
+
message: "Thread start"
|
|
42
42
|
})
|
|
43
43
|
}),
|
|
44
44
|
!isCurrent && /*#__PURE__*/ _jsx("a", {
|
|
45
45
|
href: `/p/${sqid.encode(post.id)}`,
|
|
46
46
|
class: "text-xs hover:underline",
|
|
47
|
-
children:
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
children: $__i18n._({
|
|
48
|
+
id: "D9Oea+",
|
|
49
|
+
message: "Permalink"
|
|
50
50
|
})
|
|
51
51
|
})
|
|
52
52
|
]
|
|
@@ -55,7 +55,7 @@ const ThreadPost = ({ post, isCurrent, isRoot })=>{
|
|
|
55
55
|
});
|
|
56
56
|
};
|
|
57
57
|
export const ThreadView = ({ posts, currentPostId })=>{
|
|
58
|
-
const {
|
|
58
|
+
const { i18n: $__i18n, _: $__ } = $_useLingui();
|
|
59
59
|
if (posts.length === 0) {
|
|
60
60
|
return null;
|
|
61
61
|
}
|
|
@@ -70,15 +70,12 @@ export const ThreadView = ({ posts, currentPostId })=>{
|
|
|
70
70
|
isRoot: false
|
|
71
71
|
}));
|
|
72
72
|
}
|
|
73
|
-
const threadLabel = posts.length === 1 ?
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}) :
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
values: {
|
|
80
|
-
count: String(posts.length)
|
|
81
|
-
}
|
|
73
|
+
const threadLabel = posts.length === 1 ? $__i18n._({
|
|
74
|
+
id: "rzNUSl",
|
|
75
|
+
message: "Thread with 1 post"
|
|
76
|
+
}) : $__i18n._({
|
|
77
|
+
id: "RwGhWy",
|
|
78
|
+
message: "Thread with {count} posts"
|
|
82
79
|
});
|
|
83
80
|
return /*#__PURE__*/ _jsxs("div", {
|
|
84
81
|
class: "thread-view",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeBadge.d.ts","sourceRoot":"","sources":["../../../src/theme/components/TypeBadge.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"TypeBadge.d.ts","sourceRoot":"","sources":["../../../src/theme/components/TypeBadge.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAsBxC,CAAC"}
|
|
@@ -3,33 +3,33 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Displays a badge indicating the type of a post (note, article, link, etc.)
|
|
5
5
|
*/ import { jsx as _jsx } from "hono/jsx/jsx-runtime";
|
|
6
|
-
import { useLingui } from "
|
|
6
|
+
import { useLingui as $_useLingui } from "@jant/core/i18n";
|
|
7
7
|
export const TypeBadge = ({ type })=>{
|
|
8
|
-
const {
|
|
8
|
+
const { i18n: $__i18n, _: $__ } = $_useLingui();
|
|
9
9
|
const labels = {
|
|
10
|
-
note:
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
note: $__i18n._({
|
|
11
|
+
id: "KiJn9B",
|
|
12
|
+
message: "Note"
|
|
13
13
|
}),
|
|
14
|
-
article:
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
article: $__i18n._({
|
|
15
|
+
id: "f6e0Ry",
|
|
16
|
+
message: "Article"
|
|
17
17
|
}),
|
|
18
|
-
link:
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
link: $__i18n._({
|
|
19
|
+
id: "yzF66j",
|
|
20
|
+
message: "Link"
|
|
21
21
|
}),
|
|
22
|
-
quote:
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
quote: $__i18n._({
|
|
23
|
+
id: "ZhhOwV",
|
|
24
|
+
message: "Quote"
|
|
25
25
|
}),
|
|
26
|
-
image:
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
image: $__i18n._({
|
|
27
|
+
id: "hG89Ed",
|
|
28
|
+
message: "Image"
|
|
29
29
|
}),
|
|
30
|
-
page:
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
page: $__i18n._({
|
|
31
|
+
id: "6WdDG7",
|
|
32
|
+
message: "Page"
|
|
33
33
|
})
|
|
34
34
|
};
|
|
35
35
|
return /*#__PURE__*/ _jsx("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityBadge.d.ts","sourceRoot":"","sources":["../../../src/theme/components/VisibilityBadge.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"VisibilityBadge.d.ts","sourceRoot":"","sources":["../../../src/theme/components/VisibilityBadge.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA8BpD,CAAC"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Displays a badge indicating the visibility level of a post
|
|
5
5
|
*/ import { jsx as _jsx } from "hono/jsx/jsx-runtime";
|
|
6
|
-
import { useLingui } from "
|
|
6
|
+
import { useLingui as $_useLingui } from "@jant/core/i18n";
|
|
7
7
|
export const VisibilityBadge = ({ visibility })=>{
|
|
8
|
-
const {
|
|
8
|
+
const { i18n: $__i18n, _: $__ } = $_useLingui();
|
|
9
9
|
const variants = {
|
|
10
10
|
featured: "badge-primary",
|
|
11
11
|
quiet: "badge-secondary",
|
|
@@ -13,21 +13,21 @@ export const VisibilityBadge = ({ visibility })=>{
|
|
|
13
13
|
draft: "badge-outline"
|
|
14
14
|
};
|
|
15
15
|
const labels = {
|
|
16
|
-
featured:
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
featured: $__i18n._({
|
|
17
|
+
id: "FkMol5",
|
|
18
|
+
message: "Featured"
|
|
19
19
|
}),
|
|
20
|
-
quiet:
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
quiet: $__i18n._({
|
|
21
|
+
id: "r1MpXi",
|
|
22
|
+
message: "Quiet"
|
|
23
23
|
}),
|
|
24
|
-
unlisted:
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
unlisted: $__i18n._({
|
|
25
|
+
id: "WDcQq9",
|
|
26
|
+
message: "Unlisted"
|
|
27
27
|
}),
|
|
28
|
-
draft:
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
draft: $__i18n._({
|
|
29
|
+
id: "eneWvv",
|
|
30
|
+
message: "Draft"
|
|
31
31
|
})
|
|
32
32
|
};
|
|
33
33
|
return /*#__PURE__*/ _jsx("span", {
|
|
@@ -9,5 +9,5 @@ export { PostForm, type PostFormProps } from "./PostForm.js";
|
|
|
9
9
|
export { PostList, type PostListProps } from "./PostList.js";
|
|
10
10
|
export { ThreadView, type ThreadViewProps } from "./ThreadView.js";
|
|
11
11
|
export { TypeBadge, type TypeBadgeProps } from "./TypeBadge.js";
|
|
12
|
-
export { VisibilityBadge, type VisibilityBadgeProps } from "./VisibilityBadge.js";
|
|
12
|
+
export { VisibilityBadge, type VisibilityBadgeProps, } from "./VisibilityBadge.js";
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,QAAQ,EACR,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,QAAQ,EACR,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseLayout.d.ts","sourceRoot":"","sources":["../../../src/theme/layouts/BaseLayout.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,OAAO,CAAC;CACb;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"BaseLayout.d.ts","sourceRoot":"","sources":["../../../src/theme/layouts/BaseLayout.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,OAAO,CAAC;CACb;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,CA2B7D,CAAC"}
|
|
@@ -8,14 +8,16 @@
|
|
|
8
8
|
*/ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
|
|
9
9
|
import { Script, Link, ViteClient } from "vite-ssr-components/hono";
|
|
10
10
|
import { I18nProvider } from "../../i18n/index.js";
|
|
11
|
-
export const BaseLayout = ({ title, description, lang
|
|
11
|
+
export const BaseLayout = ({ title, description, lang, c, children })=>{
|
|
12
|
+
// Read lang from Hono context if available, otherwise use prop or default
|
|
13
|
+
const resolvedLang = lang ?? (c ? c.get("lang") : "en");
|
|
12
14
|
// Automatically wrap with I18nProvider if Context is provided
|
|
13
15
|
const content = c ? /*#__PURE__*/ _jsx(I18nProvider, {
|
|
14
16
|
c: c,
|
|
15
17
|
children: children
|
|
16
18
|
}) : children;
|
|
17
19
|
return /*#__PURE__*/ _jsxs("html", {
|
|
18
|
-
lang:
|
|
20
|
+
lang: resolvedLang,
|
|
19
21
|
children: [
|
|
20
22
|
/*#__PURE__*/ _jsxs("head", {
|
|
21
23
|
children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashLayout.d.ts","sourceRoot":"","sources":["../../../src/theme/layouts/DashLayout.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,OAAO,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"DashLayout.d.ts","sourceRoot":"","sources":["../../../src/theme/layouts/DashLayout.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,OAAO,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkID,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAc7D,CAAC"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Layout for admin dashboard pages
|
|
5
5
|
*/ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
|
|
6
|
-
import { useLingui } from "
|
|
6
|
+
import { useLingui as $_useLingui } from "@jant/core/i18n";
|
|
7
7
|
import { BaseLayout } from "./BaseLayout.js";
|
|
8
8
|
function DashLayoutContent({ siteName, currentPath, children }) {
|
|
9
|
-
const {
|
|
9
|
+
const { i18n: $__i18n, _: $__ } = $_useLingui();
|
|
10
10
|
const isActive = (path, match)=>{
|
|
11
11
|
if (!currentPath) return false;
|
|
12
12
|
if (match) return match.test(currentPath);
|
|
@@ -32,17 +32,17 @@ function DashLayoutContent({ siteName, currentPath, children }) {
|
|
|
32
32
|
/*#__PURE__*/ _jsx("a", {
|
|
33
33
|
href: "/",
|
|
34
34
|
class: "text-sm text-muted-foreground hover:text-foreground",
|
|
35
|
-
children:
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
children: $__i18n._({
|
|
36
|
+
id: "4/SFQS",
|
|
37
|
+
message: "View Site"
|
|
38
38
|
})
|
|
39
39
|
}),
|
|
40
40
|
/*#__PURE__*/ _jsx("a", {
|
|
41
41
|
href: "/signout",
|
|
42
42
|
class: "text-sm text-muted-foreground hover:text-foreground",
|
|
43
|
-
children:
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
children: $__i18n._({
|
|
44
|
+
id: "bHYIks",
|
|
45
|
+
message: "Sign Out"
|
|
46
46
|
})
|
|
47
47
|
})
|
|
48
48
|
]
|
|
@@ -61,57 +61,57 @@ function DashLayoutContent({ siteName, currentPath, children }) {
|
|
|
61
61
|
/*#__PURE__*/ _jsx("a", {
|
|
62
62
|
href: "/dash",
|
|
63
63
|
class: navClass("/dash", /^\/dash$/),
|
|
64
|
-
children:
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
children: $__i18n._({
|
|
65
|
+
id: "7p5kLi",
|
|
66
|
+
message: "Dashboard"
|
|
67
67
|
})
|
|
68
68
|
}),
|
|
69
69
|
/*#__PURE__*/ _jsx("a", {
|
|
70
70
|
href: "/dash/posts",
|
|
71
71
|
class: navClass("/dash/posts", /^\/dash\/posts/),
|
|
72
|
-
children:
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
children: $__i18n._({
|
|
73
|
+
id: "+owNNn",
|
|
74
|
+
message: "Posts"
|
|
75
75
|
})
|
|
76
76
|
}),
|
|
77
77
|
/*#__PURE__*/ _jsx("a", {
|
|
78
78
|
href: "/dash/pages",
|
|
79
79
|
class: navClass("/dash/pages", /^\/dash\/pages/),
|
|
80
|
-
children:
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
children: $__i18n._({
|
|
81
|
+
id: "wRR604",
|
|
82
|
+
message: "Pages"
|
|
83
83
|
})
|
|
84
84
|
}),
|
|
85
85
|
/*#__PURE__*/ _jsx("a", {
|
|
86
86
|
href: "/dash/media",
|
|
87
87
|
class: navClass("/dash/media", /^\/dash\/media/),
|
|
88
|
-
children:
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
children: $__i18n._({
|
|
89
|
+
id: "xYilR2",
|
|
90
|
+
message: "Media"
|
|
91
91
|
})
|
|
92
92
|
}),
|
|
93
93
|
/*#__PURE__*/ _jsx("a", {
|
|
94
94
|
href: "/dash/collections",
|
|
95
95
|
class: navClass("/dash/collections", /^\/dash\/collections/),
|
|
96
|
-
children:
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
children: $__i18n._({
|
|
97
|
+
id: "DoJzLz",
|
|
98
|
+
message: "Collections"
|
|
99
99
|
})
|
|
100
100
|
}),
|
|
101
101
|
/*#__PURE__*/ _jsx("a", {
|
|
102
102
|
href: "/dash/redirects",
|
|
103
103
|
class: navClass("/dash/redirects", /^\/dash\/redirects/),
|
|
104
|
-
children:
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
children: $__i18n._({
|
|
105
|
+
id: "M9xgHy",
|
|
106
|
+
message: "Redirects"
|
|
107
107
|
})
|
|
108
108
|
}),
|
|
109
109
|
/*#__PURE__*/ _jsx("a", {
|
|
110
110
|
href: "/dash/settings",
|
|
111
111
|
class: navClass("/dash/settings", /^\/dash\/settings/),
|
|
112
|
-
children:
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
children: $__i18n._({
|
|
113
|
+
id: "Tz0i8g",
|
|
114
|
+
message: "Settings"
|
|
115
115
|
})
|
|
116
116
|
})
|
|
117
117
|
]
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type declarations for @lingui/react/macro
|
|
3
|
+
*
|
|
4
|
+
* @lingui/react is not installed (it requires React as a peer dependency),
|
|
5
|
+
* but the SWC Lingui plugin recognizes imports from @lingui/react/macro and
|
|
6
|
+
* rewrites them via runtimeConfigModule to our custom Hono JSX implementation.
|
|
7
|
+
*
|
|
8
|
+
* These declarations satisfy TypeScript for the pre-transformation API surface.
|
|
9
|
+
*/
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|