tethys.backend/resources/js/Components/SectionFullScreen.vue

38 lines
1.1 KiB
Vue
Raw Normal View History

2023-03-03 15:54:28 +00:00
<script setup>
import { computed } from 'vue';
import { StyleService } from '@/Stores/style.service';
import { gradientBgPurplePink, gradientBgDark, gradientBgPinkRed, gradientBgGreenBlue } from '@/colors';
2023-03-03 15:54:28 +00:00
const props = defineProps({
bg: {
type: String,
required: false,
validator: (value) => ['purplePink', 'pinkRed', 'greenBlue'].includes(value),
},
});
2023-03-03 15:54:28 +00:00
const colorClass = computed(() => {
if (StyleService().darkMode) {
return gradientBgDark;
}
2023-03-03 15:54:28 +00:00
switch (props.bg) {
case 'purplePink':
return gradientBgPurplePink;
case 'pinkRed':
return gradientBgPinkRed;
case 'greenBlue':
return gradientBgGreenBlue;
default:
return 'bg-white text-black dark:bg-slate-900/70 dark:text-white';
}
// return 'bg-white';
});
2023-03-03 15:54:28 +00:00
</script>
<template>
<div class="mx-auto md:h-screen flex flex-col justify-center items-center px-6 pt-8 pt:mt-0" :class="colorClass">
<slot card-class="w-11/12 md:w-7/12 lg:w-6/12 xl:w-4/12 shadow-2xl" />
</div>
</template>