feat: better empty state for SLA (#9198)
* feat: better empty state * feat: better create CTA * feat: use text-sm
This commit is contained in:
@@ -2,11 +2,18 @@
|
|||||||
"SLA": {
|
"SLA": {
|
||||||
"HEADER": "SLA",
|
"HEADER": "SLA",
|
||||||
"ADD_ACTION": "Add SLA",
|
"ADD_ACTION": "Add SLA",
|
||||||
|
"ADD_ACTION_LONG": "Create a new SLA Policy",
|
||||||
"DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.",
|
"DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.",
|
||||||
"LEARN_MORE": "Learn more about SLA",
|
"LEARN_MORE": "Learn more about SLA",
|
||||||
"LOADING": "Fetching SLAs",
|
"LOADING": "Fetching SLAs",
|
||||||
"LIST": {
|
"LIST": {
|
||||||
"404": "There are no SLAs available in this account.",
|
"404": "There are no SLAs available in this account.",
|
||||||
|
"EMPTY": {
|
||||||
|
"TITLE_1": "Enterprise P0",
|
||||||
|
"DESC_1": "Issues raised by enterprise customers, that require immediate attention.",
|
||||||
|
"TITLE_2": "Enterprise P1",
|
||||||
|
"DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly."
|
||||||
|
},
|
||||||
"BUSINESS_HOURS_ON": "Business hours on",
|
"BUSINESS_HOURS_ON": "Business hours on",
|
||||||
"BUSINESS_HOURS_OFF": "Business hours off",
|
"BUSINESS_HOURS_OFF": "Business hours off",
|
||||||
"RESPONSE_TYPES": {
|
"RESPONSE_TYPES": {
|
||||||
@@ -78,4 +85,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,18 +4,49 @@
|
|||||||
:loading-message="$t('SLA.LOADING')"
|
:loading-message="$t('SLA.LOADING')"
|
||||||
>
|
>
|
||||||
<template #header>
|
<template #header>
|
||||||
<SLA-header @click="openAddPopup" />
|
<SLA-header :show-actions="records.length > 0" @click="openAddPopup" />
|
||||||
</template>
|
</template>
|
||||||
<template #loading>
|
<template #loading>
|
||||||
<SLAListItemLoading v-for="ii in 2" :key="ii" class="mb-3" />
|
<SLAListItemLoading v-for="ii in 2" :key="ii" class="mb-3" />
|
||||||
</template>
|
</template>
|
||||||
<template #body>
|
<template #body>
|
||||||
<p
|
<div v-if="!records.length" class="w-full min-h-[12rem] relative">
|
||||||
v-if="!records.length"
|
<div class="w-full space-y-3">
|
||||||
class="flex flex-col items-center justify-center h-full"
|
<SLA-list-item
|
||||||
>
|
class="opacity-25 dark:opacity-20"
|
||||||
{{ $t('SLA.LIST.404') }}
|
:sla-name="$t('SLA.LIST.EMPTY.TITLE_1')"
|
||||||
</p>
|
:description="$t('SLA.LIST.EMPTY.DESC_1')"
|
||||||
|
first-response="20m"
|
||||||
|
next-response="1h"
|
||||||
|
resolution-time="24h"
|
||||||
|
has-business-hours
|
||||||
|
/>
|
||||||
|
<SLA-list-item
|
||||||
|
class="opacity-25 dark:opacity-20"
|
||||||
|
:sla-name="$t('SLA.LIST.EMPTY.TITLE_2')"
|
||||||
|
:description="$t('SLA.LIST.EMPTY.DESC_2')"
|
||||||
|
first-response="2h"
|
||||||
|
next-response="4h"
|
||||||
|
resolution-time="4d"
|
||||||
|
has-business-hours
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="absolute inset-0 flex flex-col items-center justify-center w-full h-full bg-gradient-to-t from-white dark:from-slate-900 to-transparent"
|
||||||
|
>
|
||||||
|
<p class="max-w-xs text-sm font-medium text-center">
|
||||||
|
{{ $t('SLA.LIST.404') }}
|
||||||
|
</p>
|
||||||
|
<woot-button
|
||||||
|
color-scheme="primary"
|
||||||
|
icon="plus-sign"
|
||||||
|
class="px-5 mt-4 rounded-xl"
|
||||||
|
@click="openAddPopup"
|
||||||
|
>
|
||||||
|
{{ $t('SLA.ADD_ACTION_LONG') }}
|
||||||
|
</woot-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div v-if="records.length" class="flex flex-col w-full h-full gap-3">
|
<div v-if="records.length" class="flex flex-col w-full h-full gap-3">
|
||||||
<SLA-list-item
|
<SLA-list-item
|
||||||
v-for="sla in records"
|
v-for="sla in records"
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import BaseSettingsHeader from '../../components/BaseSettingsHeader.vue';
|
import BaseSettingsHeader from '../../components/BaseSettingsHeader.vue';
|
||||||
|
|
||||||
|
defineProps({
|
||||||
|
showActions: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<base-settings-header
|
<base-settings-header
|
||||||
@@ -9,7 +16,7 @@ import BaseSettingsHeader from '../../components/BaseSettingsHeader.vue';
|
|||||||
href="/"
|
href="/"
|
||||||
icon-name="document-list-clock"
|
icon-name="document-list-clock"
|
||||||
>
|
>
|
||||||
<template #actions>
|
<template v-if="showActions" #actions>
|
||||||
<woot-button
|
<woot-button
|
||||||
color-scheme="primary"
|
color-scheme="primary"
|
||||||
icon="plus-sign"
|
icon="plus-sign"
|
||||||
|
|||||||
Reference in New Issue
Block a user