main
vue 37 lines 1.43 KB
Raw
1 <template>
2 <div class="customer-ai-notifications">
3 <n-tabs type="segment" animated tab-class="px-4! py-1!" class="[&_.n-tabs-nav]:mx-auto [&_.n-tabs-nav]:mb-6">
4 <n-tab-pane name="routes" tab="Routes" display-directive="show:lazy" class="p-0!">
5 <CustomerAiNotificationRoutes :customer-code />
6 </n-tab-pane>
7 <n-tab-pane
8 name="shuffle_integrations"
9 tab="Shuffle integrations"
10 display-directive="show:lazy"
11 class="p-0!"
12 >
13 <CustomerShuffleIntegrations :customer-code />
14 </n-tab-pane>
15 <n-tab-pane name="dispatch_log" tab="Dispatch log" display-directive="show:lazy" class="pt-3!">
16 <CustomerAiNotificationDispatchLog :customer-code />
17 </n-tab-pane>
18 </n-tabs>
19 </div>
20 </template>
21
22 <script setup lang="ts">
23 // Container for the per-customer "AI Notifications" tab. Three
24 // sub-tabs:
25 // - Routes: CRUD list + form for notification rules
26 // - Shuffle integrations: CRUD for the customer's Shuffle Org-Id rows
27 // used by 'shuffle'-channel routes
28 // - Dispatch log: read-only audit trail of every dispatch attempt
29 import { NTabPane, NTabs } from "naive-ui"
30 import CustomerAiNotificationDispatchLog from "./CustomerAiNotificationDispatchLog.vue"
31 import CustomerAiNotificationRoutes from "./CustomerAiNotificationRoutes/CustomerAiNotificationRoutes.vue"
32 import CustomerShuffleIntegrations from "./CustomerShuffleIntegrations/CustomerShuffleIntegrations.vue"
33
34 defineProps<{
35 customerCode: string
36 }>()
37 </script>