strapi-plugin-magic-link-v5 4.13.2 → 4.14.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/dist/_chunks/{index-DkN9S9d_.mjs → index-BDe1aP6I.mjs} +2 -2
- package/dist/_chunks/{index-DJw1GIir.js → index-CFIllI6K.js} +1 -1
- package/dist/_chunks/{index-DhL5XylV.js → index-CHLk5ilu.js} +2 -2
- package/dist/_chunks/{index-K0mbdMcq.js → index-CLEwSQlV.js} +65 -8
- package/dist/_chunks/{index-C-21KLAd.mjs → index-CxkqwrH5.mjs} +1 -1
- package/dist/_chunks/{index-CM1jcmjC.mjs → index-Dp1Uwmvk.mjs} +65 -8
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -59,7 +59,7 @@ const index = {
|
|
|
59
59
|
},
|
|
60
60
|
Component: () => import(
|
|
61
61
|
/* webpackChunkName: "magic-link-tokens" */
|
|
62
|
-
"./index-
|
|
62
|
+
"./index-Dp1Uwmvk.mjs"
|
|
63
63
|
),
|
|
64
64
|
permissions: []
|
|
65
65
|
// Leeres Array = keine Permission-Prüfung nötig
|
|
@@ -82,7 +82,7 @@ const index = {
|
|
|
82
82
|
to: `${PLUGIN_ID}/config`,
|
|
83
83
|
Component: () => import(
|
|
84
84
|
/* webpackChunkName: "magic-link-settings" */
|
|
85
|
-
"./index-
|
|
85
|
+
"./index-CxkqwrH5.mjs"
|
|
86
86
|
),
|
|
87
87
|
permissions: pluginPermissions.readSettings
|
|
88
88
|
},
|
|
@@ -7,7 +7,7 @@ const reactIntl = require("react-intl");
|
|
|
7
7
|
const designSystem = require("@strapi/design-system");
|
|
8
8
|
const icons = require("@strapi/icons");
|
|
9
9
|
const admin = require("@strapi/strapi/admin");
|
|
10
|
-
const index = require("./index-
|
|
10
|
+
const index = require("./index-CHLk5ilu.js");
|
|
11
11
|
const LicenseGuard = require("./LicenseGuard-CmMMPuWx.js");
|
|
12
12
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
13
13
|
const styled__default = /* @__PURE__ */ _interopDefault(styled);
|
|
@@ -60,7 +60,7 @@ const index = {
|
|
|
60
60
|
},
|
|
61
61
|
Component: () => Promise.resolve().then(() => require(
|
|
62
62
|
/* webpackChunkName: "magic-link-tokens" */
|
|
63
|
-
"./index-
|
|
63
|
+
"./index-CLEwSQlV.js"
|
|
64
64
|
)),
|
|
65
65
|
permissions: []
|
|
66
66
|
// Leeres Array = keine Permission-Prüfung nötig
|
|
@@ -83,7 +83,7 @@ const index = {
|
|
|
83
83
|
to: `${PLUGIN_ID}/config`,
|
|
84
84
|
Component: () => Promise.resolve().then(() => require(
|
|
85
85
|
/* webpackChunkName: "magic-link-settings" */
|
|
86
|
-
"./index-
|
|
86
|
+
"./index-CFIllI6K.js"
|
|
87
87
|
)),
|
|
88
88
|
permissions: pluginPermissions.readSettings
|
|
89
89
|
},
|
|
@@ -7,7 +7,7 @@ const styled = require("styled-components");
|
|
|
7
7
|
const reactIntl = require("react-intl");
|
|
8
8
|
const designSystem = require("@strapi/design-system");
|
|
9
9
|
const icons = require("@strapi/icons");
|
|
10
|
-
const index = require("./index-
|
|
10
|
+
const index = require("./index-CHLk5ilu.js");
|
|
11
11
|
const admin = require("@strapi/strapi/admin");
|
|
12
12
|
const LicenseGuard = require("./LicenseGuard-CmMMPuWx.js");
|
|
13
13
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
@@ -2347,6 +2347,63 @@ const StyledTable = styled__default.default(designSystem.Table)`
|
|
|
2347
2347
|
color: ${(props) => props.theme.colors.neutral800};
|
|
2348
2348
|
}
|
|
2349
2349
|
}
|
|
2350
|
+
|
|
2351
|
+
/* Mobile Optimization - Card Layout */
|
|
2352
|
+
@media screen and (max-width: 768px) {
|
|
2353
|
+
display: block !important;
|
|
2354
|
+
width: 100% !important;
|
|
2355
|
+
|
|
2356
|
+
thead {
|
|
2357
|
+
display: none !important;
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2360
|
+
tbody {
|
|
2361
|
+
display: block !important;
|
|
2362
|
+
width: 100% !important;
|
|
2363
|
+
}
|
|
2364
|
+
|
|
2365
|
+
tr {
|
|
2366
|
+
display: block !important;
|
|
2367
|
+
margin-bottom: 16px !important;
|
|
2368
|
+
border: 2px solid #E5E7EB !important;
|
|
2369
|
+
border-radius: 12px !important;
|
|
2370
|
+
padding: 16px !important;
|
|
2371
|
+
background: white !important;
|
|
2372
|
+
box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
|
|
2373
|
+
width: 100% !important;
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2376
|
+
td {
|
|
2377
|
+
display: flex !important;
|
|
2378
|
+
justify-content: space-between !important;
|
|
2379
|
+
align-items: center !important;
|
|
2380
|
+
padding: 8px 0 !important;
|
|
2381
|
+
border: none !important;
|
|
2382
|
+
width: 100% !important;
|
|
2383
|
+
|
|
2384
|
+
&:not(:last-child) {
|
|
2385
|
+
border-bottom: 1px solid #E5E7EB !important;
|
|
2386
|
+
padding-bottom: 8px !important;
|
|
2387
|
+
margin-bottom: 8px !important;
|
|
2388
|
+
}
|
|
2389
|
+
|
|
2390
|
+
&::before {
|
|
2391
|
+
content: attr(data-label) !important;
|
|
2392
|
+
font-weight: 600 !important;
|
|
2393
|
+
color: #6B7280 !important;
|
|
2394
|
+
font-size: 11px !important;
|
|
2395
|
+
text-transform: uppercase !important;
|
|
2396
|
+
letter-spacing: 0.5px !important;
|
|
2397
|
+
display: block !important;
|
|
2398
|
+
flex-shrink: 0 !important;
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2401
|
+
/* Hide empty labels */
|
|
2402
|
+
&[data-label=""]::before {
|
|
2403
|
+
display: none !important;
|
|
2404
|
+
}
|
|
2405
|
+
}
|
|
2406
|
+
}
|
|
2350
2407
|
`;
|
|
2351
2408
|
const StyledBadgeWrapper = styled__default.default.span`
|
|
2352
2409
|
display: inline-block;
|
|
@@ -2972,14 +3029,14 @@ const TokensProfessional = () => {
|
|
|
2972
3029
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: formatMessage({ id: index.getTrad("tokens.table.actions") }) }) })
|
|
2973
3030
|
] }) }),
|
|
2974
3031
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tbody, { children: paginatedTokens.map((token) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
|
|
2975
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3032
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { "data-label": "", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2976
3033
|
designSystem.Checkbox,
|
|
2977
3034
|
{
|
|
2978
3035
|
checked: selectedTokens.includes(token.id),
|
|
2979
3036
|
onCheckedChange: (checked) => handleSelectToken(token.id, checked)
|
|
2980
3037
|
}
|
|
2981
3038
|
) }),
|
|
2982
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", gap: 2, children: [
|
|
3039
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { "data-label": formatMessage({ id: index.getTrad("tokens.table.email") }), children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", gap: 2, children: [
|
|
2983
3040
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2984
3041
|
designSystem.Box,
|
|
2985
3042
|
{
|
|
@@ -3001,7 +3058,7 @@ const TokensProfessional = () => {
|
|
|
3001
3058
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", textColor: "neutral600", children: token.user_id ? formatMessage({ id: index.getTrad("tokens.user.id") }, { id: token.user_id }) : formatMessage({ id: index.getTrad("tokens.user.new") }) })
|
|
3002
3059
|
] })
|
|
3003
3060
|
] }) }),
|
|
3004
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { style: { maxWidth: "200px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3061
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { "data-label": formatMessage({ id: index.getTrad("tokens.table.token") }), children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { style: { maxWidth: "200px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3005
3062
|
designSystem.Typography,
|
|
3006
3063
|
{
|
|
3007
3064
|
variant: "pi",
|
|
@@ -3024,12 +3081,12 @@ const TokensProfessional = () => {
|
|
|
3024
3081
|
children: token.token
|
|
3025
3082
|
}
|
|
3026
3083
|
) }) }),
|
|
3027
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: getStatusBadge(token) }),
|
|
3028
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", gap: 1, children: [
|
|
3084
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { "data-label": formatMessage({ id: index.getTrad("tokens.table.status") }), children: getStatusBadge(token) }),
|
|
3085
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { "data-label": formatMessage({ id: index.getTrad("tokens.table.created") }), children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", gap: 1, children: [
|
|
3029
3086
|
/* @__PURE__ */ jsxRuntime.jsx(icons.Calendar, { style: { width: "14px", height: "14px", color: theme.colors.neutral[500] } }),
|
|
3030
3087
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", children: formatDate(token.createdAt) })
|
|
3031
3088
|
] }) }),
|
|
3032
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", gap: 1, children: [
|
|
3089
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { "data-label": formatMessage({ id: index.getTrad("tokens.table.expiresAt") }), children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", gap: 1, children: [
|
|
3033
3090
|
/* @__PURE__ */ jsxRuntime.jsx(icons.Clock, { style: { width: "14px", height: "14px", color: theme.colors.warning[500] } }),
|
|
3034
3091
|
(() => {
|
|
3035
3092
|
const formattedDate = formatDate(token.expires_at);
|
|
@@ -3051,7 +3108,7 @@ const TokensProfessional = () => {
|
|
|
3051
3108
|
);
|
|
3052
3109
|
})()
|
|
3053
3110
|
] }) }),
|
|
3054
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 1, justifyContent: "flex-end", children: [
|
|
3111
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { "data-label": formatMessage({ id: index.getTrad("tokens.table.actions") }), children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 1, justifyContent: "flex-end", children: [
|
|
3055
3112
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3056
3113
|
designSystem.IconButton,
|
|
3057
3114
|
{
|
|
@@ -5,7 +5,7 @@ import { useIntl } from "react-intl";
|
|
|
5
5
|
import { Box, Typography, Flex, Button, Accordion, SingleSelect, SingleSelectOption, Grid, Toggle, NumberInput, TextInput, Divider, Badge } from "@strapi/design-system";
|
|
6
6
|
import { Check, Cog, Shield, Mail, Code } from "@strapi/icons";
|
|
7
7
|
import { useNotification, useFetchClient } from "@strapi/strapi/admin";
|
|
8
|
-
import { g as getTrad } from "./index-
|
|
8
|
+
import { g as getTrad } from "./index-BDe1aP6I.mjs";
|
|
9
9
|
import { u as usePluginLanguage, L as LicenseGuard, a as LanguageProvider } from "./LicenseGuard-CaYQ_9Dz.mjs";
|
|
10
10
|
const theme = {
|
|
11
11
|
colors: {
|
|
@@ -5,7 +5,7 @@ import styled, { keyframes, css } from "styled-components";
|
|
|
5
5
|
import { useIntl } from "react-intl";
|
|
6
6
|
import { Box, Flex, Typography, Button, TextInput, Textarea, Checkbox, IconButton, Loader, Searchbar, SingleSelect, SingleSelectOption, Thead, Tr, Th, Tbody, Td, Pagination, PreviousLink, PageLink, NextLink, Table, Badge, Main, VisuallyHidden } from "@strapi/design-system";
|
|
7
7
|
import { Cross, Sparkle, Check, Shield, Clock, Lock, Trash, ArrowClockwise, CaretDown, User, Monitor, Calendar, Plus, Earth, WarningCircle, Server, Cog, Key, Eye, Link } from "@strapi/icons";
|
|
8
|
-
import { g as getTrad } from "./index-
|
|
8
|
+
import { g as getTrad } from "./index-BDe1aP6I.mjs";
|
|
9
9
|
import { useFetchClient, useNotification } from "@strapi/strapi/admin";
|
|
10
10
|
import { L as LicenseGuard, a as LanguageProvider } from "./LicenseGuard-CaYQ_9Dz.mjs";
|
|
11
11
|
const CreateTokenModal = ({ isOpen, onClose, onSubmit, formData, setFormData }) => {
|
|
@@ -2343,6 +2343,63 @@ const StyledTable = styled(Table)`
|
|
|
2343
2343
|
color: ${(props) => props.theme.colors.neutral800};
|
|
2344
2344
|
}
|
|
2345
2345
|
}
|
|
2346
|
+
|
|
2347
|
+
/* Mobile Optimization - Card Layout */
|
|
2348
|
+
@media screen and (max-width: 768px) {
|
|
2349
|
+
display: block !important;
|
|
2350
|
+
width: 100% !important;
|
|
2351
|
+
|
|
2352
|
+
thead {
|
|
2353
|
+
display: none !important;
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2356
|
+
tbody {
|
|
2357
|
+
display: block !important;
|
|
2358
|
+
width: 100% !important;
|
|
2359
|
+
}
|
|
2360
|
+
|
|
2361
|
+
tr {
|
|
2362
|
+
display: block !important;
|
|
2363
|
+
margin-bottom: 16px !important;
|
|
2364
|
+
border: 2px solid #E5E7EB !important;
|
|
2365
|
+
border-radius: 12px !important;
|
|
2366
|
+
padding: 16px !important;
|
|
2367
|
+
background: white !important;
|
|
2368
|
+
box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
|
|
2369
|
+
width: 100% !important;
|
|
2370
|
+
}
|
|
2371
|
+
|
|
2372
|
+
td {
|
|
2373
|
+
display: flex !important;
|
|
2374
|
+
justify-content: space-between !important;
|
|
2375
|
+
align-items: center !important;
|
|
2376
|
+
padding: 8px 0 !important;
|
|
2377
|
+
border: none !important;
|
|
2378
|
+
width: 100% !important;
|
|
2379
|
+
|
|
2380
|
+
&:not(:last-child) {
|
|
2381
|
+
border-bottom: 1px solid #E5E7EB !important;
|
|
2382
|
+
padding-bottom: 8px !important;
|
|
2383
|
+
margin-bottom: 8px !important;
|
|
2384
|
+
}
|
|
2385
|
+
|
|
2386
|
+
&::before {
|
|
2387
|
+
content: attr(data-label) !important;
|
|
2388
|
+
font-weight: 600 !important;
|
|
2389
|
+
color: #6B7280 !important;
|
|
2390
|
+
font-size: 11px !important;
|
|
2391
|
+
text-transform: uppercase !important;
|
|
2392
|
+
letter-spacing: 0.5px !important;
|
|
2393
|
+
display: block !important;
|
|
2394
|
+
flex-shrink: 0 !important;
|
|
2395
|
+
}
|
|
2396
|
+
|
|
2397
|
+
/* Hide empty labels */
|
|
2398
|
+
&[data-label=""]::before {
|
|
2399
|
+
display: none !important;
|
|
2400
|
+
}
|
|
2401
|
+
}
|
|
2402
|
+
}
|
|
2346
2403
|
`;
|
|
2347
2404
|
const StyledBadgeWrapper = styled.span`
|
|
2348
2405
|
display: inline-block;
|
|
@@ -2968,14 +3025,14 @@ const TokensProfessional = () => {
|
|
|
2968
3025
|
/* @__PURE__ */ jsx(Th, { children: /* @__PURE__ */ jsx(VisuallyHidden, { children: formatMessage({ id: getTrad("tokens.table.actions") }) }) })
|
|
2969
3026
|
] }) }),
|
|
2970
3027
|
/* @__PURE__ */ jsx(Tbody, { children: paginatedTokens.map((token) => /* @__PURE__ */ jsxs(Tr, { children: [
|
|
2971
|
-
/* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(
|
|
3028
|
+
/* @__PURE__ */ jsx(Td, { "data-label": "", children: /* @__PURE__ */ jsx(
|
|
2972
3029
|
Checkbox,
|
|
2973
3030
|
{
|
|
2974
3031
|
checked: selectedTokens.includes(token.id),
|
|
2975
3032
|
onCheckedChange: (checked) => handleSelectToken(token.id, checked)
|
|
2976
3033
|
}
|
|
2977
3034
|
) }),
|
|
2978
|
-
/* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", gap: 2, children: [
|
|
3035
|
+
/* @__PURE__ */ jsx(Td, { "data-label": formatMessage({ id: getTrad("tokens.table.email") }), children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", gap: 2, children: [
|
|
2979
3036
|
/* @__PURE__ */ jsx(
|
|
2980
3037
|
Box,
|
|
2981
3038
|
{
|
|
@@ -2997,7 +3054,7 @@ const TokensProfessional = () => {
|
|
|
2997
3054
|
/* @__PURE__ */ jsx(Typography, { variant: "omega", textColor: "neutral600", children: token.user_id ? formatMessage({ id: getTrad("tokens.user.id") }, { id: token.user_id }) : formatMessage({ id: getTrad("tokens.user.new") }) })
|
|
2998
3055
|
] })
|
|
2999
3056
|
] }) }),
|
|
3000
|
-
/* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Box, { style: { maxWidth: "200px" }, children: /* @__PURE__ */ jsx(
|
|
3057
|
+
/* @__PURE__ */ jsx(Td, { "data-label": formatMessage({ id: getTrad("tokens.table.token") }), children: /* @__PURE__ */ jsx(Box, { style: { maxWidth: "200px" }, children: /* @__PURE__ */ jsx(
|
|
3001
3058
|
Typography,
|
|
3002
3059
|
{
|
|
3003
3060
|
variant: "pi",
|
|
@@ -3020,12 +3077,12 @@ const TokensProfessional = () => {
|
|
|
3020
3077
|
children: token.token
|
|
3021
3078
|
}
|
|
3022
3079
|
) }) }),
|
|
3023
|
-
/* @__PURE__ */ jsx(Td, { children: getStatusBadge(token) }),
|
|
3024
|
-
/* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", gap: 1, children: [
|
|
3080
|
+
/* @__PURE__ */ jsx(Td, { "data-label": formatMessage({ id: getTrad("tokens.table.status") }), children: getStatusBadge(token) }),
|
|
3081
|
+
/* @__PURE__ */ jsx(Td, { "data-label": formatMessage({ id: getTrad("tokens.table.created") }), children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", gap: 1, children: [
|
|
3025
3082
|
/* @__PURE__ */ jsx(Calendar, { style: { width: "14px", height: "14px", color: theme.colors.neutral[500] } }),
|
|
3026
3083
|
/* @__PURE__ */ jsx(Typography, { variant: "pi", children: formatDate(token.createdAt) })
|
|
3027
3084
|
] }) }),
|
|
3028
|
-
/* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", gap: 1, children: [
|
|
3085
|
+
/* @__PURE__ */ jsx(Td, { "data-label": formatMessage({ id: getTrad("tokens.table.expiresAt") }), children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", gap: 1, children: [
|
|
3029
3086
|
/* @__PURE__ */ jsx(Clock, { style: { width: "14px", height: "14px", color: theme.colors.warning[500] } }),
|
|
3030
3087
|
(() => {
|
|
3031
3088
|
const formattedDate = formatDate(token.expires_at);
|
|
@@ -3047,7 +3104,7 @@ const TokensProfessional = () => {
|
|
|
3047
3104
|
);
|
|
3048
3105
|
})()
|
|
3049
3106
|
] }) }),
|
|
3050
|
-
/* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsxs(Flex, { gap: 1, justifyContent: "flex-end", children: [
|
|
3107
|
+
/* @__PURE__ */ jsx(Td, { "data-label": formatMessage({ id: getTrad("tokens.table.actions") }), children: /* @__PURE__ */ jsxs(Flex, { gap: 1, justifyContent: "flex-end", children: [
|
|
3051
3108
|
/* @__PURE__ */ jsx(
|
|
3052
3109
|
IconButton,
|
|
3053
3110
|
{
|
package/dist/admin/index.js
CHANGED
package/dist/admin/index.mjs
CHANGED
package/package.json
CHANGED