@jant/core 0.5.1 → 0.5.2
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/dist/{app-D_ke5q_u.js → app-CPVwpmb3.js} +35 -15
- package/dist/{app-BpyntjN7.js → app-Z83YzveI.js} +1 -1
- package/dist/client/.vite/manifest.json +3 -3
- package/dist/client/_assets/{client-DkbGkmgp.js → client-8pp1btGZ.js} +1 -1
- package/dist/client/_assets/{client-Hxj-LpVt.css → client-CFegXQty.css} +1 -1
- package/dist/client/_assets/{client-auth-BRrao4p4.js → client-auth-Ds3SVvGh.js} +79 -62
- package/dist/index.js +1 -1
- package/dist/node.js +2 -2
- package/package.json +1 -1
- package/src/client/__tests__/slash-discovery.test.ts +150 -0
- package/src/client/components/__tests__/jant-compose-dialog.test.ts +1 -0
- package/src/client/components/__tests__/jant-compose-editor.test.ts +1 -0
- package/src/client/components/compose-types.ts +1 -0
- package/src/client/components/jant-compose-dialog.ts +8 -0
- package/src/client/components/jant-compose-editor.ts +51 -7
- package/src/client/slash-discovery-bridge.ts +9 -0
- package/src/client/slash-discovery.ts +200 -0
- package/src/client/tiptap/slash-commands.ts +5 -0
- package/src/client-auth.ts +1 -0
- package/src/i18n/locales/public/en.po +5 -0
- package/src/i18n/locales/public/en.ts +1 -1
- package/src/i18n/locales/public/zh-Hans.po +5 -0
- package/src/i18n/locales/public/zh-Hans.ts +1 -1
- package/src/i18n/locales/public/zh-Hant.po +5 -0
- package/src/i18n/locales/public/zh-Hant.ts +1 -1
- package/src/lib/render.tsx +3 -0
- package/src/routes/api/__tests__/settings.test.ts +59 -0
- package/src/routes/api/settings.ts +19 -0
- package/src/routes/pages/new.tsx +6 -0
- package/src/styles/ui.css +40 -0
- package/src/types/config.ts +5 -0
- package/src/types/views.ts +1 -0
- package/src/ui/compose/ComposeDialog.tsx +12 -0
- package/src/ui/layouts/SiteLayout.tsx +2 -0
- package/src/ui/pages/ComposePage.tsx +3 -0
package/src/types/config.ts
CHANGED
|
@@ -269,6 +269,11 @@ export const CONFIG_FIELDS = {
|
|
|
269
269
|
envOnly: false,
|
|
270
270
|
internal: true,
|
|
271
271
|
},
|
|
272
|
+
DISCOVERY_SLASH_COMMAND_AT: {
|
|
273
|
+
defaultValue: "",
|
|
274
|
+
envOnly: false,
|
|
275
|
+
internal: true,
|
|
276
|
+
},
|
|
272
277
|
ONBOARDING_STATUS: {
|
|
273
278
|
defaultValue: "pending",
|
|
274
279
|
envOnly: false,
|
package/src/types/views.ts
CHANGED
|
@@ -253,6 +253,7 @@ export interface SiteLayoutProps {
|
|
|
253
253
|
showComposeDialog?: boolean;
|
|
254
254
|
showHeader?: boolean;
|
|
255
255
|
composeOpenShortcutDiscovered?: boolean;
|
|
256
|
+
slashCommandDiscovered?: boolean;
|
|
256
257
|
/** When set, the mobile compose FAB pre-selects this collection. */
|
|
257
258
|
composeCollectionId?: string;
|
|
258
259
|
}
|
|
@@ -17,6 +17,7 @@ import { getCollectionFormLabels } from "../shared/collection-management-labels.
|
|
|
17
17
|
export interface ComposeDialogProps {
|
|
18
18
|
collections?: Collection[];
|
|
19
19
|
uploadMaxFileSize?: number;
|
|
20
|
+
slashCommandDiscovered?: boolean;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
export interface ComposeFormProps extends ComposeDialogProps {
|
|
@@ -28,6 +29,7 @@ export interface ComposeFormProps extends ComposeDialogProps {
|
|
|
28
29
|
export const ComposeForm: FC<ComposeFormProps> = ({
|
|
29
30
|
collections,
|
|
30
31
|
uploadMaxFileSize,
|
|
32
|
+
slashCommandDiscovered = false,
|
|
31
33
|
pageMode = false,
|
|
32
34
|
closeHref,
|
|
33
35
|
autoRestoreDraft = false,
|
|
@@ -741,6 +743,13 @@ export const ComposeForm: FC<ComposeFormProps> = ({
|
|
|
741
743
|
"@context: Compose dialog header title when composing a thread",
|
|
742
744
|
}),
|
|
743
745
|
),
|
|
746
|
+
slashHint: i18n._(
|
|
747
|
+
msg({
|
|
748
|
+
message: "Type / for commands",
|
|
749
|
+
comment:
|
|
750
|
+
"@context: First-use hint shown over the compose editor to surface the slash command menu",
|
|
751
|
+
}),
|
|
752
|
+
),
|
|
744
753
|
collectionFormLabels: getCollectionFormLabels(i18n),
|
|
745
754
|
}).replace(/</g, "\\u003c");
|
|
746
755
|
|
|
@@ -760,6 +769,7 @@ export const ComposeForm: FC<ComposeFormProps> = ({
|
|
|
760
769
|
{...(pageMode ? { "page-mode": "" } : {})}
|
|
761
770
|
{...(closeHref ? { "close-href": closeHref } : {})}
|
|
762
771
|
{...(autoRestoreDraft ? { "auto-restore-draft": "" } : {})}
|
|
772
|
+
{...(slashCommandDiscovered ? { "slash-command-discovered": "" } : {})}
|
|
763
773
|
>
|
|
764
774
|
{/* SSR fallback skeleton */}
|
|
765
775
|
<div class="compose-dialog-inner">
|
|
@@ -773,12 +783,14 @@ export const ComposeForm: FC<ComposeFormProps> = ({
|
|
|
773
783
|
export const ComposeDialog: FC<ComposeDialogProps> = ({
|
|
774
784
|
collections,
|
|
775
785
|
uploadMaxFileSize,
|
|
786
|
+
slashCommandDiscovered = false,
|
|
776
787
|
}) => {
|
|
777
788
|
return (
|
|
778
789
|
<dialog id="compose-dialog" class="compose-dialog">
|
|
779
790
|
<ComposeForm
|
|
780
791
|
collections={collections}
|
|
781
792
|
uploadMaxFileSize={uploadMaxFileSize}
|
|
793
|
+
slashCommandDiscovered={slashCommandDiscovered}
|
|
782
794
|
/>
|
|
783
795
|
</dialog>
|
|
784
796
|
);
|
|
@@ -129,6 +129,7 @@ export const SiteLayout: FC<PropsWithChildren<SiteLayoutProps>> = ({
|
|
|
129
129
|
showComposeDialog = true,
|
|
130
130
|
showHeader = true,
|
|
131
131
|
composeOpenShortcutDiscovered = false,
|
|
132
|
+
slashCommandDiscovered = false,
|
|
132
133
|
composeCollectionId,
|
|
133
134
|
children,
|
|
134
135
|
}) => {
|
|
@@ -567,6 +568,7 @@ export const SiteLayout: FC<PropsWithChildren<SiteLayoutProps>> = ({
|
|
|
567
568
|
<ComposeDialog
|
|
568
569
|
collections={collections}
|
|
569
570
|
uploadMaxFileSize={uploadMaxFileSize}
|
|
571
|
+
slashCommandDiscovered={slashCommandDiscovered}
|
|
570
572
|
/>
|
|
571
573
|
)}
|
|
572
574
|
</div>
|
|
@@ -8,12 +8,14 @@ export interface ComposePageProps {
|
|
|
8
8
|
collections?: Collection[];
|
|
9
9
|
uploadMaxFileSize?: number;
|
|
10
10
|
closeHref?: string;
|
|
11
|
+
slashCommandDiscovered?: boolean;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export const ComposePage: FC<ComposePageProps> = ({
|
|
14
15
|
collections,
|
|
15
16
|
uploadMaxFileSize,
|
|
16
17
|
closeHref = "/",
|
|
18
|
+
slashCommandDiscovered = false,
|
|
17
19
|
}) => {
|
|
18
20
|
const { i18n } = useLingui();
|
|
19
21
|
const backLabel = i18n._(
|
|
@@ -52,6 +54,7 @@ export const ComposePage: FC<ComposePageProps> = ({
|
|
|
52
54
|
pageMode
|
|
53
55
|
closeHref={closeHref}
|
|
54
56
|
autoRestoreDraft
|
|
57
|
+
slashCommandDiscovered={slashCommandDiscovered}
|
|
55
58
|
/>
|
|
56
59
|
</div>
|
|
57
60
|
</section>
|