@saasicat/ui-vue 0.19.0 → 0.21.0
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/{catalog-JXdKdIqG.d.cts → catalog-BY_t9prv.d.cts} +1 -0
- package/dist/{catalog-JXdKdIqG.d.ts → catalog-BY_t9prv.d.ts} +1 -0
- package/dist/{chunk-RVG6LQHL.js → chunk-7IFKVGZV.js} +1 -1
- package/dist/{chunk-DPTIOQXX.js → chunk-JN6HZGLV.js} +2 -0
- package/dist/{chunk-ORX3ZG47.js → chunk-OTP3OSSW.js} +1 -1
- package/dist/client/index.cjs +2 -0
- package/dist/client/index.d.cts +2 -2
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +2 -2
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +3 -3
- package/dist/quasar/index.cjs +2 -0
- package/dist/quasar/index.d.cts +2 -2
- package/dist/quasar/index.d.ts +2 -2
- package/dist/quasar/index.js +2 -2
- package/dist/{use-super-admin-i18n-1nCOkvgi.d.cts → use-super-admin-i18n-DlJRGIVq.d.cts} +1 -1
- package/dist/{use-super-admin-i18n-BlqcD0N7.d.ts → use-super-admin-i18n-c_Eqsu9u.d.ts} +1 -1
- package/package.json +2 -2
- package/src/client/i18n/messages/common.ts +2 -0
- package/src/components/admin-page/AdminBody.vue +40 -0
- package/src/components/admin-page/AdminHero.vue +32 -0
- package/src/components/admin-page/AdminPage.vue +16 -0
- package/src/components/admin-page/AdminSection.vue +38 -0
- package/src/components/plan-cockpit/PlanCockpit.vue +15 -0
- package/src/components/plan-cockpit/PlanCockpitAuditLog.vue +8 -8
- package/src/components/plan-cockpit/PlanCockpitDiffPanel.vue +10 -11
- package/src/components/plan-cockpit/PlanCockpitImpactPanel.vue +8 -8
- package/src/components/plan-cockpit/PlanCockpitVersions.vue +9 -11
- package/src/components/plan-detail/PlanAuditLog.vue +7 -8
- package/src/components/plan-detail/PlanDetail.vue +14 -1
- package/src/components/plan-detail/PlanVersionDiffPanel.vue +5 -8
- package/src/components/plan-detail/PlanVersionsPanel.vue +9 -11
- package/src/components/plan-list/PlanList.vue +224 -257
- package/src/pages-standard/AdminLayout.vue +4 -2
- package/src/pages-standard/AuditPage.vue +18 -43
- package/src/pages-standard/BundlesPage.vue +17 -34
- package/src/pages-standard/DashboardPage.vue +20 -51
- package/src/pages-standard/DiscoveryPage.vue +38 -51
- package/src/pages-standard/EmailHistoryPage.vue +20 -71
- package/src/pages-standard/MarketingCatalogPage.vue +304 -315
- package/src/pages-standard/PilotsPage.vue +24 -56
- package/src/pages-standard/PlansPage.vue +25 -22
- package/src/pages-standard/PlatformEmailPage.vue +19 -51
- package/src/pages-standard/PromoCodeDetailPage.vue +39 -50
- package/src/pages-standard/PromoCodesPage.vue +8 -15
- package/src/pages-standard/SubscriptionsPage.vue +9 -35
- package/src/pages-standard/SuperAdminSetupWizard.vue +2 -1
- package/src/pages-standard/TenantDetailPage.vue +79 -174
- package/src/pages-standard/TenantsPage.vue +8 -33
- package/src/pages-standard/UsersPage.vue +21 -54
- package/src/pages-standard/bundles-page/BundlesToolbar.vue +67 -0
- package/src/pages-standard/marketing-catalog/MarketingCatalogAdmin.vue +111 -73
- package/src/pages-standard/marketing-catalog/MarketingCatalogHeader.vue +54 -62
- package/src/pages-standard/marketing-catalog/MarketingCatalogPreview.vue +53 -35
- package/src/pages-standard/marketing-catalog/MarketingCatalogToolbar.vue +7 -7
- package/src/pages-standard/plans-page/PlansPageToast.vue +5 -5
- package/src/pages-standard/sa-theme.css +85 -29
- package/src/pages-standard/tenant-detail/TenantMasterData.vue +28 -0
- package/src/pages-standard/tenant-detail/TenantUsage.vue +31 -0
- package/src/pages-standard/tenant-detail/TenantUsers.vue +21 -0
- package/src/pages-standard/tenant-detail/types.ts +38 -0
- package/src/vue/use-mfa-prompt.ts +72 -0
- package/src/pages-standard/bundles-page/BundlesHeader.vue +0 -68
- package/src/pages-standard/discovery-page/DiscoveryHeader.vue +0 -34
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
</div>
|
|
8
|
-
</div>
|
|
2
|
+
<AdminSection
|
|
3
|
+
:title="msg.auditLog.title"
|
|
4
|
+
:subtitle="msg.auditLog.subtitle"
|
|
5
|
+
class="pd-panel pd-audit"
|
|
6
|
+
>
|
|
9
7
|
<div class="pd-audit-body">
|
|
10
8
|
<div v-if="loadingAudit" class="pd-diff-empty">{{ msg.auditLog.loading }}</div>
|
|
11
9
|
<div v-for="a in auditRows" :key="a.id" class="pd-audit-row">
|
|
@@ -16,11 +14,12 @@
|
|
|
16
14
|
<span class="pd-audit-what">{{ a.action }}</span>
|
|
17
15
|
</div>
|
|
18
16
|
</div>
|
|
19
|
-
</
|
|
17
|
+
</AdminSection>
|
|
20
18
|
</template>
|
|
21
19
|
|
|
22
20
|
<script setup lang="ts">
|
|
23
21
|
import { formatMessage } from '../../client/i18n/format.js';
|
|
22
|
+
import AdminSection from '../admin-page/AdminSection.vue';
|
|
24
23
|
import { useSaMessages, useSuperAdminI18n } from '../../vue/use-super-admin-i18n.js';
|
|
25
24
|
import type { AuditRow } from './types.js';
|
|
26
25
|
|
|
@@ -401,7 +401,9 @@ async function executeTerminate(): Promise<void> {
|
|
|
401
401
|
const code = e?.body?.code;
|
|
402
402
|
if (code === 'PLAN_TERMINATE_DATE_NOT_FUTURE') {
|
|
403
403
|
terminateError.value = msg.value.terminateDialog.errorDateNotFuture;
|
|
404
|
-
} else if (code === '
|
|
404
|
+
} else if (code === 'PLAN_VERSION_NOT_PUBLISHED' || code === 'PLAN_VERSION_SUPERSEDED') {
|
|
405
|
+
// Split out of the former PLAN_VERSION_NOT_LIVE; both mean the
|
|
406
|
+
// version cannot be terminated, so they share one message.
|
|
405
407
|
terminateError.value = msg.value.terminateDialog.errorVersionNotLive;
|
|
406
408
|
} else if (code === 'PLAN_TERMINATE_NOT_IMPLEMENTED') {
|
|
407
409
|
terminateError.value = msg.value.terminateDialog.errorNotImplemented;
|
|
@@ -692,6 +694,17 @@ async function executeTerminate(): Promise<void> {
|
|
|
692
694
|
padding: 14px 16px 12px;
|
|
693
695
|
border-bottom: 1px solid #f1f5f9;
|
|
694
696
|
}
|
|
697
|
+
.pd-panel .sa-section__head {
|
|
698
|
+
align-items: flex-start;
|
|
699
|
+
gap: 12px;
|
|
700
|
+
padding: 14px 16px 12px;
|
|
701
|
+
border-bottom: 1px solid #f1f5f9;
|
|
702
|
+
margin-bottom: 0;
|
|
703
|
+
}
|
|
704
|
+
.pd-panel .sa-section__sub {
|
|
705
|
+
font-size: 11.5px;
|
|
706
|
+
margin-top: 2px;
|
|
707
|
+
}
|
|
695
708
|
.pd-panel-title {
|
|
696
709
|
font-size: 15px;
|
|
697
710
|
font-weight: 700;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<
|
|
4
|
-
<div style="min-width: 0">
|
|
5
|
-
<h3 class="pd-panel-title">{{ panelTitle }}</h3>
|
|
6
|
-
<div class="pd-panel-sub">{{ panelSubtitle }}</div>
|
|
7
|
-
</div>
|
|
2
|
+
<AdminSection :title="panelTitle" :subtitle="panelSubtitle" class="pd-panel">
|
|
3
|
+
<template #actions>
|
|
8
4
|
<div class="pd-panel-head-right pd-diff-chips">
|
|
9
5
|
<template v-if="predecessor">
|
|
10
6
|
<span class="pd-diff-chip add">+{{ diff.featuresAdded.length }} F</span>
|
|
@@ -16,7 +12,7 @@
|
|
|
16
12
|
<span class="pd-diff-chip mod">{{ quotaCount(selectedVersion) }} Q</span>
|
|
17
13
|
</template>
|
|
18
14
|
</div>
|
|
19
|
-
</
|
|
15
|
+
</template>
|
|
20
16
|
|
|
21
17
|
<div v-if="predecessor" class="pd-diff-list">
|
|
22
18
|
<div v-for="d in diffRows" :key="d.id" :class="['pd-diff-row', d.kind]">
|
|
@@ -123,11 +119,12 @@
|
|
|
123
119
|
</div>
|
|
124
120
|
</template>
|
|
125
121
|
</div>
|
|
126
|
-
</
|
|
122
|
+
</AdminSection>
|
|
127
123
|
</template>
|
|
128
124
|
|
|
129
125
|
<script setup lang="ts">
|
|
130
126
|
import { computed } from 'vue';
|
|
127
|
+
import AdminSection from '../admin-page/AdminSection.vue';
|
|
131
128
|
import type { PlanVersionRow } from '@saasicat/types';
|
|
132
129
|
import { formatMessage } from '../../client/i18n/format.js';
|
|
133
130
|
import { useSaMessages } from '../../vue/use-super-admin-i18n.js';
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<code class="pd-code">supersededAt</code>
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
2
|
+
<AdminSection :title="msg.versions.title" class="pd-panel">
|
|
3
|
+
<template #subtitle>
|
|
4
|
+
{{ msg.versions.subtitle }}
|
|
5
|
+
<code class="pd-code">supersededAt</code>
|
|
6
|
+
</template>
|
|
7
|
+
<template #actions>
|
|
11
8
|
<div class="pd-panel-head-right">
|
|
12
9
|
<button
|
|
13
10
|
v-if="!draftVersion"
|
|
@@ -28,7 +25,7 @@
|
|
|
28
25
|
<span>{{ newDraftButtonLabel }}</span>
|
|
29
26
|
</button>
|
|
30
27
|
</div>
|
|
31
|
-
</
|
|
28
|
+
</template>
|
|
32
29
|
|
|
33
30
|
<div v-if="chronological.length > 0" class="pd-timeline">
|
|
34
31
|
<div class="pd-timeline-hint">
|
|
@@ -227,11 +224,12 @@
|
|
|
227
224
|
</div>
|
|
228
225
|
</div>
|
|
229
226
|
</div>
|
|
230
|
-
</
|
|
227
|
+
</AdminSection>
|
|
231
228
|
</template>
|
|
232
229
|
|
|
233
230
|
<script setup lang="ts">
|
|
234
231
|
import { computed } from 'vue';
|
|
232
|
+
import AdminSection from '../admin-page/AdminSection.vue';
|
|
235
233
|
import type { PlanVersionRow } from '@saasicat/types';
|
|
236
234
|
import { formatMessage } from '../../client/i18n/format.js';
|
|
237
235
|
import { useSaMessages } from '../../vue/use-super-admin-i18n.js';
|