From 50dc7778c4a76bdb63c8edfbd49958a6af0a4a82 Mon Sep 17 00:00:00 2001 From: Dede Fuji Abdul Date: Mon, 30 Oct 2023 12:19:54 +0700 Subject: [PATCH] add action button inside EmptyPage --- src/assets/css/style.css | 16 ++++----- src/components/Pages/EmptyPage.vue | 56 ++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 8 deletions(-) diff --git a/src/assets/css/style.css b/src/assets/css/style.css index f7d53e2..9265090 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -1292,6 +1292,10 @@ select { width: 3.5rem; } +.w-16 { + width: 4rem; +} + .w-2 { width: 0.5rem; } @@ -1352,10 +1356,6 @@ select { width: 1px; } -.w-16 { - width: 4rem; -} - .max-w-2xl { max-width: 42rem; } @@ -1910,6 +1910,10 @@ select { fill: #16a34a; } +.fill-primary-300 { + fill: #689daa; +} + .fill-primary-500 { fill: #035b71; } @@ -1922,10 +1926,6 @@ select { fill: #fff; } -.fill-primary-300 { - fill: #689daa; -} - .stroke-white { stroke: #fff; } diff --git a/src/components/Pages/EmptyPage.vue b/src/components/Pages/EmptyPage.vue index 8e8e187..2f7c0a7 100644 --- a/src/components/Pages/EmptyPage.vue +++ b/src/components/Pages/EmptyPage.vue @@ -7,6 +7,10 @@
{{ desc }}
+ @@ -22,12 +26,18 @@ import { IconDatabase, IconSmileySad } from '@/utils/icons' +import { useRouter } from 'vue-router'; +const router = useRouter() const props = defineProps({ type: { type: String as () => "no_filter" | "not_found" | "disconnect" | "connection_change" | "error_404" | "error_403" | "error_500", default: 'error_404', required: true + }, + action: { + type: Function as () => void, + default: () => { } } }) @@ -93,4 +103,50 @@ const icon = computed(() => { return IconSmileySad } }) + +const actionTitle = computed(() => { + switch (props.type) { + case 'disconnect': + return 'Coba Lagi' + case 'connection_change': + return 'Muat Ulang' + case 'error_404': + return 'Kembali' + case 'error_403': + return 'Kembali' + case 'error_500': + return 'Kembali' + default: + return 'Kembali' + } +}) + +const action = () => { + switch (props.type) { + case 'disconnect': + return props.action + case 'connection_change': + return props.action + case 'error_404': + if (window.history.length > 1) { + return window.history.back() + } else { + return router.push('/home') + } + case 'error_403': + if (window.history.length > 1) { + return window.history.back() + } else { + return router.push('/home') + } + case 'error_500': + return props.action + default: + if (window.history.length > 1) { + return window.history.back() + } else { + return router.push('/home') + } + } +} \ No newline at end of file