🔧 웹훅 URL을 HTTPS로 수정
Some checks failed
🚀 Deploy - Demo / deployment (push) Has been cancelled

- 웹훅 URL을 https://admin.youtooplay.com/webhook로 변경
- Nginx 리버스 프록시 설정 파일 추가
- 배포 가이드 업데이트
This commit is contained in:
2025-10-01 01:47:51 +09:00
parent f331b52e64
commit 83b162d2bd
713 changed files with 98449 additions and 38378 deletions

View File

@@ -0,0 +1,194 @@
<script setup lang="ts">
import { useTheme } from 'vuetify'
import { hexToRgb } from '@core/utils/colorConverter'
const vuetifyTheme = useTheme()
const series = [45, 80, 20, 40]
const chartOptions = computed(() => {
const currentTheme = vuetifyTheme.current.value.colors
const variableTheme = vuetifyTheme.current.value.variables
const secondaryTextColor = `rgba(${hexToRgb(String(currentTheme['on-surface']))},${variableTheme['medium-emphasis-opacity']})`
const primaryTextColor = `rgba(${hexToRgb(String(currentTheme['on-surface']))},${variableTheme['high-emphasis-opacity']})`
return {
chart: {
sparkline: { enabled: true },
animations: { enabled: false },
},
stroke: {
width: 6,
colors: [currentTheme.surface],
},
legend: { show: false },
tooltip: { enabled: false },
dataLabels: { enabled: false },
labels: ['Fashion', 'Electronic', 'Sports', 'Decor'],
colors: [
currentTheme.success,
currentTheme.primary,
currentTheme.secondary,
currentTheme.info,
],
grid: {
padding: {
top: -7,
bottom: 5,
},
},
states: {
hover: {
filter: { type: 'none' },
},
active: {
filter: { type: 'none' },
},
},
plotOptions: {
pie: {
expandOnClick: false,
donut: {
size: '75%',
labels: {
show: true,
name: {
offsetY: 17,
fontSize: '13px',
color: secondaryTextColor,
fontFamily: 'Public Sans',
},
value: {
offsetY: -17,
fontSize: '18px',
color: primaryTextColor,
fontFamily: 'Public Sans',
fontWeight: 500,
},
total: {
show: true,
label: 'Weekly',
fontSize: '13px',
lineHeight: '18px',
formatter: () => '38%',
color: secondaryTextColor,
fontFamily: 'Public Sans',
},
},
},
},
},
}
})
const orders = [
{
amount: '82.5k',
title: 'Electronic',
avatarColor: 'primary',
subtitle: 'Mobile, Earbuds, TV',
avatarIcon: 'bx-mobile-alt',
},
{
amount: '23.8k',
title: 'Fashion',
avatarColor: 'success',
subtitle: 'Tshirt, Jeans, Shoes',
avatarIcon: 'bx-closet',
},
{
amount: 849,
title: 'Decor',
avatarColor: 'info',
subtitle: 'Fine Art, Dining',
avatarIcon: 'bx-home',
},
{
amount: 99,
title: 'Sports',
avatarColor: 'secondary',
subtitle: 'Football, Cricket Kit',
avatarIcon: 'bx-football',
},
]
const moreList = [
{ title: 'Share', value: 'Share' },
{ title: 'Refresh', value: 'Refresh' },
{ title: 'Update', value: 'Update' },
]
</script>
<template>
<VCard>
<VCardItem>
<VCardTitle>
Order Statistics
</VCardTitle>
<VCardSubtitle>42.82k Total Sales</VCardSubtitle>
<template #append>
<MoreBtn :menu-list="moreList" />
</template>
</VCardItem>
<VCardText>
<div class="d-flex align-center justify-space-between mb-6">
<div class="">
<h3 class="text-h3 mb-1">
8,258
</h3>
<div class="text-caption text-medium-emphasis">
Total Orders
</div>
</div>
<div>
<VueApexCharts
type="donut"
:height="120"
width="100"
:options="chartOptions"
:series="series"
/>
</div>
</div>
<VList class="card-list">
<VListItem
v-for="order in orders"
:key="order.title"
>
<template #prepend>
<VAvatar
size="40"
rounded
variant="tonal"
:color="order.avatarColor"
>
<VIcon :icon="order.avatarIcon" />
</VAvatar>
</template>
<VListItemTitle class="font-weight-medium">
{{ order.title }}
</VListItemTitle>
<VListItemSubtitle class="text-body-2">
{{ order.subtitle }}
</VListItemSubtitle>
<template #append>
<span>{{ order.amount }}</span>
</template>
</VListItem>
</VList>
</VCardText>
</VCard>
</template>
<style lang="scss">
.card-list {
--v-card-list-gap: 1.25rem;
}
</style>