@ampless/admin 1.0.0-alpha.85 → 1.0.0-beta.101

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 (43) hide show
  1. package/README.ja.md +2 -2
  2. package/README.md +2 -2
  3. package/dist/api/index.d.ts +1 -1
  4. package/dist/api/index.js +4 -2
  5. package/dist/{chunk-SQ6LFPXH.js → chunk-2TBGPB5H.js} +2 -2
  6. package/dist/{chunk-K44QF3MV.js → chunk-4OFRX6QX.js} +1 -1
  7. package/dist/{chunk-HANIMWMN.js → chunk-4WYMEUYU.js} +301 -222
  8. package/dist/chunk-7HSWOQWV.js +172 -0
  9. package/dist/{chunk-J6R356H3.js → chunk-7OZ23MLD.js} +1 -1
  10. package/dist/{chunk-OFPNBZKP.js → chunk-7W7LAQXY.js} +76 -8
  11. package/dist/{chunk-HN3UFHP7.js → chunk-ANME5KDN.js} +1 -1
  12. package/dist/{chunk-GGHN2RKQ.js → chunk-E5VF3Y65.js} +69 -3
  13. package/dist/{chunk-7LT6YPIT.js → chunk-JLCTF5HY.js} +8 -2
  14. package/dist/{chunk-R3TEJ32M.js → chunk-LXY3BRKQ.js} +2 -2
  15. package/dist/{chunk-MKWYNK4J.js → chunk-NHMG2MRJ.js} +2 -2
  16. package/dist/{chunk-AYESATAM.js → chunk-OPVLQOOB.js} +44 -13
  17. package/dist/{chunk-SMI7Y77B.js → chunk-ORXOMW7M.js} +265 -190
  18. package/dist/{chunk-W4VHP2JW.js → chunk-SYAEM5DM.js} +1 -1
  19. package/dist/{chunk-7NQERXNY.js → chunk-TJZ4FTU6.js} +1 -1
  20. package/dist/{chunk-CFIOUXVE.js → chunk-V5XORHKX.js} +1 -1
  21. package/dist/chunk-ZDIDJCSU.js +40 -0
  22. package/dist/components/account-view.d.ts +8 -0
  23. package/dist/components/account-view.js +10 -0
  24. package/dist/components/admin-dashboard.js +3 -3
  25. package/dist/components/edit-post-view.js +5 -5
  26. package/dist/components/index.d.ts +4 -2
  27. package/dist/components/index.js +7 -7
  28. package/dist/components/login-view.d.ts +3 -1
  29. package/dist/components/login-view.js +4 -3
  30. package/dist/components/mcp-tokens-view.js +3 -3
  31. package/dist/components/media-view.js +5 -5
  32. package/dist/components/new-post-view.js +5 -5
  33. package/dist/components/plugin-settings-form.d.ts +2 -10
  34. package/dist/components/plugin-settings-form.js +5 -7
  35. package/dist/components/posts-list-view.js +3 -3
  36. package/dist/components/users-list-view.js +3 -3
  37. package/dist/{i18n-DA-aakRX.d.ts → i18n-Bd8q9aTl.d.ts} +108 -5
  38. package/dist/index.d.ts +2 -2
  39. package/dist/index.js +1 -1
  40. package/dist/metafile-esm.json +1 -1
  41. package/dist/pages/index.d.ts +21 -4
  42. package/dist/pages/index.js +54 -24
  43. package/package.json +5 -6
@@ -1,47 +1,53 @@
1
+ import {
2
+ McpTokensView
3
+ } from "../chunk-SYAEM5DM.js";
1
4
  import {
2
5
  MediaPage
3
- } from "../chunk-MKWYNK4J.js";
6
+ } from "../chunk-NHMG2MRJ.js";
4
7
  import {
5
8
  NewPostPage
6
- } from "../chunk-R3TEJ32M.js";
9
+ } from "../chunk-LXY3BRKQ.js";
7
10
  import {
8
11
  PluginSettingsForm
9
- } from "../chunk-SMI7Y77B.js";
12
+ } from "../chunk-ORXOMW7M.js";
10
13
  import {
11
14
  PostsList
12
- } from "../chunk-J6R356H3.js";
15
+ } from "../chunk-7OZ23MLD.js";
13
16
  import {
14
17
  UsersListView
15
- } from "../chunk-7NQERXNY.js";
18
+ } from "../chunk-TJZ4FTU6.js";
19
+ import {
20
+ AccountView
21
+ } from "../chunk-7HSWOQWV.js";
16
22
  import {
17
23
  AdminDashboard
18
- } from "../chunk-CFIOUXVE.js";
24
+ } from "../chunk-V5XORHKX.js";
19
25
  import {
20
26
  EditPostPage
21
- } from "../chunk-7LT6YPIT.js";
27
+ } from "../chunk-JLCTF5HY.js";
22
28
  import {
23
29
  AdminProviders,
24
30
  Sidebar,
25
31
  SiteSettingsForm,
26
32
  ThemeSettingsForm
27
- } from "../chunk-AYESATAM.js";
28
- import "../chunk-SQ6LFPXH.js";
33
+ } from "../chunk-OPVLQOOB.js";
34
+ import "../chunk-C7G5AQ3L.js";
35
+ import "../chunk-2TBGPB5H.js";
29
36
  import "../chunk-D72XF3Q3.js";
30
- import "../chunk-HANIMWMN.js";
31
- import "../chunk-HN3UFHP7.js";
37
+ import "../chunk-4WYMEUYU.js";
38
+ import "../chunk-ANME5KDN.js";
32
39
  import "../chunk-PCPXAEBG.js";
33
40
  import "../chunk-2ITWLRYF.js";
34
41
  import {
35
42
  LoginPage
36
- } from "../chunk-GGHN2RKQ.js";
43
+ } from "../chunk-E5VF3Y65.js";
37
44
  import {
38
- McpTokensView
39
- } from "../chunk-W4VHP2JW.js";
40
- import "../chunk-C7G5AQ3L.js";
45
+ isWebAuthnEnabled
46
+ } from "../chunk-ZDIDJCSU.js";
41
47
  import {
42
48
  I18nProvider
43
- } from "../chunk-K44QF3MV.js";
44
- import "../chunk-OFPNBZKP.js";
49
+ } from "../chunk-4OFRX6QX.js";
50
+ import "../chunk-7W7LAQXY.js";
45
51
 
46
52
  // src/pages/admin-layout.tsx
47
53
  import { redirect } from "next/navigation";
@@ -61,12 +67,20 @@ function createAdminLayout(admin, opts = {}) {
61
67
  if (!admin.isEditor(session)) {
62
68
  redirect("/login");
63
69
  }
70
+ let siteName = "";
71
+ try {
72
+ siteName = (await admin.loadSiteSettings()).site.name ?? "";
73
+ } catch (err) {
74
+ console.warn("[ampless admin] site name unavailable for sidebar:", err);
75
+ siteName = admin.cmsConfig?.site?.name ?? "";
76
+ }
64
77
  const inner = /* @__PURE__ */ jsx(I18nProvider, { locale: admin.locale, dict: admin.dict, children: /* @__PURE__ */ jsxs("div", { className: "flex min-h-screen flex-col md:flex-row", children: [
65
78
  /* @__PURE__ */ jsx(
66
79
  Sidebar,
67
80
  {
68
81
  email: session.email,
69
- isAdmin: admin.isAdmin(session)
82
+ isAdmin: admin.isAdmin(session),
83
+ siteName
70
84
  }
71
85
  ),
72
86
  /* @__PURE__ */ jsx("main", { className: "min-w-0 flex-1", children })
@@ -262,10 +276,21 @@ function extractMcpEndpoint(outputs) {
262
276
  return custom?.mcp?.endpoint ?? null;
263
277
  }
264
278
 
279
+ // src/pages/account.tsx
280
+ import { jsx as jsx8 } from "react/jsx-runtime";
281
+ function createAccountPage(admin) {
282
+ const passkeysEnabled = isWebAuthnEnabled(admin.outputs);
283
+ async function AccountPage() {
284
+ const session = await admin.getServerSession();
285
+ return /* @__PURE__ */ jsx8(AccountView, { currentUserEmail: session.email, passkeysEnabled });
286
+ }
287
+ return AccountPage;
288
+ }
289
+
265
290
  // src/pages/plugins.tsx
266
291
  import { redirect as redirect4 } from "next/navigation";
267
292
  import { isValidPluginKey } from "ampless";
268
- import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
293
+ import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
269
294
  function isPlugin(p) {
270
295
  return typeof p === "object" && p !== null && "apiVersion" in p;
271
296
  }
@@ -300,10 +325,10 @@ function createPluginsPage(admin) {
300
325
  }
301
326
  return /* @__PURE__ */ jsxs4("div", { className: "mx-auto max-w-7xl p-4 md:p-8", children: [
302
327
  /* @__PURE__ */ jsxs4("div", { className: "mb-6 md:mb-8", children: [
303
- /* @__PURE__ */ jsx8("h1", { className: "text-2xl font-bold md:text-3xl", children: t("plugins.title") }),
304
- /* @__PURE__ */ jsx8("p", { className: "mt-1 text-sm text-muted-foreground", children: t("plugins.description") })
328
+ /* @__PURE__ */ jsx9("h1", { className: "text-2xl font-bold md:text-3xl", children: t("plugins.title") }),
329
+ /* @__PURE__ */ jsx9("p", { className: "mt-1 text-sm text-muted-foreground", children: t("plugins.description") })
305
330
  ] }),
306
- entries.length === 0 ? /* @__PURE__ */ jsx8("p", { className: "text-sm text-muted-foreground", children: t("plugins.noConfigurablePlugins") }) : /* @__PURE__ */ jsx8("div", { className: "space-y-6", children: entries.map((entry) => /* @__PURE__ */ jsx8(
331
+ entries.length === 0 ? /* @__PURE__ */ jsx9("p", { className: "text-sm text-muted-foreground", children: t("plugins.noConfigurablePlugins") }) : /* @__PURE__ */ jsx9("div", { className: "space-y-6", children: entries.map((entry) => /* @__PURE__ */ jsx9(
307
332
  PluginSettingsForm,
308
333
  {
309
334
  instanceId: entry.instanceId,
@@ -320,10 +345,15 @@ function createPluginsPage(admin) {
320
345
  }
321
346
 
322
347
  // src/pages/login.tsx
323
- function createLoginPage(_admin) {
324
- return LoginPage;
348
+ import { jsx as jsx10 } from "react/jsx-runtime";
349
+ function createLoginPage(admin) {
350
+ const passkeysEnabled = isWebAuthnEnabled(admin.outputs);
351
+ return function LoginPageWrapper() {
352
+ return /* @__PURE__ */ jsx10(LoginPage, { passkeysEnabled });
353
+ };
325
354
  }
326
355
  export {
356
+ createAccountPage,
327
357
  createAdminDashboardPage,
328
358
  createAdminLayout,
329
359
  createEditPostPage,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ampless/admin",
3
- "version": "1.0.0-alpha.85",
3
+ "version": "1.0.0-beta.101",
4
4
  "description": "Admin UI for ampless: post editor, media manager, site/theme settings",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -59,20 +59,19 @@
59
59
  "@tiptap/pm": "^3.23.6",
60
60
  "@tiptap/react": "^3.23.6",
61
61
  "@tiptap/starter-kit": "^3.23.6",
62
- "amazon-cognito-identity-js": "^6.3.16",
63
62
  "class-variance-authority": "^0.7.1",
64
63
  "clsx": "^2.1.1",
65
64
  "jszip": "^3.10.1",
66
65
  "lucide-react": "^1.16.0",
67
66
  "react-image-crop": "^11.0.10",
68
67
  "tailwind-merge": "^3.6.0",
69
- "@ampless/mcp-server": "1.0.0-alpha.56",
70
- "@ampless/runtime": "1.0.0-alpha.59",
71
- "ampless": "1.0.0-alpha.50"
68
+ "@ampless/mcp-server": "1.0.0-beta.61",
69
+ "@ampless/runtime": "1.0.0-beta.66",
70
+ "ampless": "1.0.0-beta.54"
72
71
  },
73
72
  "peerDependencies": {
74
73
  "@aws-amplify/adapter-nextjs": "^1",
75
- "aws-amplify": "^6",
74
+ "aws-amplify": "^6.17.0",
76
75
  "next": "^15 || ^16",
77
76
  "react": "^18 || ^19",
78
77
  "react-dom": "^18 || ^19"