1404/06/30-fixed bugs $ dev challenges

This commit is contained in:
MojtabaSoumi 2025-09-21 10:56:52 +03:30
parent ffe8f0e63d
commit b4de3109e8
16 changed files with 579 additions and 126 deletions

View File

@ -25,6 +25,7 @@
"vant": "^4.9.21",
"vue": "^3.5.18",
"vue-router": "^4.5.1",
"vue3-lazyload": "^0.3.8",
"vue3-otp-input": "^0.5.40"
},
"devDependencies": {

View File

@ -56,6 +56,23 @@ pre, .ant-btn, span, label, input, div {
.fade-leave-to {
opacity: 0;
}
.bounce-enter-active {
animation: bounce-in 0.5s;
}
.bounce-leave-active {
animation: bounce-in 0.5s reverse;
}
@keyframes bounce-in {
0% {
transform: scale(0);
}
50% {
transform: scale(1.25);
}
100% {
transform: scale(1);
}
}
.otp-input {
width: 52px;

View File

@ -28,7 +28,7 @@
<!-- </template>-->
<!-- </AMenu>-->
<div class=" p-2 flex flex bg-[#28C792] rounded-3xl justify-evenly items-center md:justify-center md:h-unset ">
<div class=" md:w-[180px]" v-for="item in items" @click="item.key === 'mobileProfile' ? showProfile() : changeHandler(item?.key)">
<div class=" md:w-[180px]" v-for="item in items" :key="item.key" @click="item.key === 'mobileProfile' ? showProfile() : changeHandler(item.key)">
<div class="flex justify-center bg-[#FABF3D] border-black border-1 px-4 py-1 rounded-t-6 rounded-b-4" v-show="item.key==current[0] ||item.childrenName==current[0] ">
<img :src="item.hrefSelected" width="40" height="40">
</div>

View File

@ -10,6 +10,7 @@ import {useUserStore} from "@/store/user.ts";
import {isToken} from "@/utils/is.ts";
import router from "@/router";
import VueLuckyCanvas from '@lucky-canvas/vue'
import VueLazyLoad from 'vue3-lazyload'
async function init() {
@ -25,6 +26,9 @@ async function init() {
app.use(Antd)
app.use(router)
app.use(VueLuckyCanvas)
app.use(VueLazyLoad, {
// options...
})
app.mount('#app')
}

20
src/models/challenge.ts Normal file
View File

@ -0,0 +1,20 @@
export interface Challenge {
id: number;
created_at: string;
minute: number;
title: string;
image_url?: any;
description: string;
owner_id: string;
score: number;
clip_url?: any;
steps: Step[];
}
export interface Step {
id: number;
score: number;
title: string;
minute: number;
clip_url: string;
description: string;
}

View File

@ -82,14 +82,13 @@ const router = createRouter({
path: '/challenges',
name: 'challenges',
redirect: {name: 'luckyWheel'},
component: () => import('@/views/audioStories/index.vue'),
meta: {
showMenu: true,
showNavbar: true
},
children:[
{
path: '',
path: 'luckyWheel',
name: 'luckyWheel',
component: () => import('@/views/luckyWheel/components/luckyWheelPage.vue'),
meta: {

18
src/store/challenge.ts Normal file
View File

@ -0,0 +1,18 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
// import { getMe } from '@/api/user'
import type { User } from '@/models/user'
import { removeToken } from '@/utils'
import router from '@/router'
import {getMe} from "@/api/auth.ts";
export const useChallengeStore = defineStore('Challenge', () => {
const challengeState = ref<string >('luckyWheel')
return {
challengeState,
}
})

View File

@ -8,7 +8,6 @@ import {getMe} from "@/api/auth.ts";
export const useUserStore = defineStore('user', () => {
const userInfo = ref<User | null>(null)
const priceStarted = ref<boolean>(false)
async function getUserInfo() {
const {user} = await getMe()
@ -24,7 +23,6 @@ export const useUserStore = defineStore('user', () => {
}
return {
priceStarted,
userInfo,
getUserInfo,
logout,

View File

@ -23,7 +23,7 @@
<div class="flex items-center gap-2 text-sm">
<span>سرعت</span>
<AButton
class="rounded-md px-3 py-1 !bg-transparent text-sm w-14"
class="rounded-full px-3 py-1 !bg-transparent text-sm w-14"
@click="nextRate"
>
{{ playbackRate }}x

View File

@ -1,28 +1,52 @@
<template>
<div class=" gap-2 px-10">
<div class="flex flex-col items-center justify-center gap-2 ">
<div class="w-1/2" ><img src="@/assets/img/Group31.png"></div>
<div class=" font-700 text-[#DC7D7D] text-10">چالش شماره {{ challengeId }}</div>
<div class=" font-500 text-center ">سلام قهرمان حالت چطوره<br> یه چالش فوقالعاده برات داریم! توی این چالش قراره یه ماموریت جذاب را انجام بدی، کشیدن یه نقاشی خلاقانه ، و درست کردن چیزی با وسایل ساده یا انجام یه حرکت ورزشی پرانرژی .</div>
<div class=" ">
<basic-button class="bg-[#C1FCE2] !hover:bg-[#28C792] !hover:color-white text-#DC7D7D font-700 text-3xl rounded-lg h-17 w-full border-1 border-black " type="text" @click="" >بزن بریم</basic-button>
<transition name="fade" mode="out-in">
<div v-if="!showStep" class=" gap-2 px-10">
<div class="flex flex-col items-center justify-between gap-2 ">
<div class="w-1/2"><img src="@/assets/img/Group31.png"></div>
<div class=" font-700 text-[#DC7D7D] text-10">چالش شماره {{ challengeId }}</div>
<div class=" font-500 text-center ">
{{ challenge.description }}
</div>
<div class=" ">
<basic-button
class="bg-[#C1FCE2] !hover:bg-[#28C792] !hover:color-white text-#DC7D7D font-700 text-3xl rounded-lg h-17 w-full border-1 border-black "
type="text" @click="startChallenge()">بزن بریم
</basic-button>
</div>
</div>
</div>
</div>
<ChallengeStep v-else :challenge-steps="challenge.steps" ></ChallengeStep>
</transition>
</div>
</template>
<script setup lang="ts">
import BasicButton from "@/components/BasicPacks/BasicButton.vue";
import type {Challenge} from "@/models/challenge.ts";
import ChallengeStep from "@/views/luckyWheel/components/challengeStep.vue";
import { ref} from "vue";
interface Prop {
challenge: Challenge
challengeId: number
}
const props = withDefaults(defineProps<Prop>(), {
challengeId:0
challengeId: 0,
challenge: {}
})
const showStep = ref(false)
function startChallenge() {
showStep.value = true
}
</script>
<style scoped lang="less">

View File

@ -1,24 +1,27 @@
<template>
<div class="flex flex-col items-center justify-center gap-3 px-15">
<div ><img src="@/assets/img/afarin.svg"></div>
<div v-if="presentSuccessful>=75"><img src="@/assets/img/afarin.svg"></div>
<div class="flex gap-2 justify-center">
<div class="flex flex-col py-5 px-2 items-center justify-center border-1 border-black rounded-lg">
<div :class="presentSuccessful>=75?'bg-#C1FCE2 border-primary':''" class="flex flex-col py-5 px-2 items-center justify-center border-1 border-black rounded-lg">
<div><img src="@/assets/img/successful.svg"></div>
<div class="font-600 text-center">عالی بودی</div>
</div>
<div class="flex flex-col py-5 px-2 items-center justify-center border-1 border-black rounded-lg">
<div :class="(25 < presentSuccessful && presentSuccessful <= 75) ?'bg-#c7b593 border-#DCBA7D':''" class="flex flex-col py-5 px-2 items-center justify-center border-1 border-black rounded-lg">
<div><img src="@/assets/img/Unsuccessful.svg"></div>
<div class="font-600 text-center">بد نبود</div>
</div>
<div class="flex flex-col py-5 px-2 items-center justify-center border-1 border-black rounded-lg">
<div :class=" presentSuccessful <= 25 ?'bg-#d8a0a0 border-#DC7D7D':''" class="flex flex-col py-5 px-2 items-center justify-center border-1 border-black rounded-lg">
<div><img src="@/assets/img/Failure.svg"></div>
<div class="font-600 text-center">خوب نبود</div>
</div>
</div>
<div class="font-500 text-center leading-10">تو توی این چالش 03:30 زمان داری که هر وقت چالش را به اتمام رسوندی باید روی دکمه ی اتمام چالش بزنی</div>
<div class="font-500 text-center leading-10">تو توی این چالش {{userScore}} امتیاز بدست آوردی!</div>
<div>
<basic-button class="bg-[#C1FCE2] !hover:bg-[#28C792] !hover:color-white text-#DC7D7D font-700 text-3xl rounded-lg h-17 w-full border-1 border-black " type="text" >اتمام چالش</basic-button>
<basic-button class="bg-[#C1FCE2] !hover:bg-[#28C792] !hover:color-white text-#DC7D7D font-700 text-3xl rounded-lg h-17 w-full border-1 border-black "
type="text" @click="state.challengeState='luckyWheel'" >
اتمام چالش
</basic-button>
</div>
</div>
@ -27,6 +30,23 @@
<script setup lang="ts">
import BasicButton from "@/components/BasicPacks/BasicButton.vue";
import {computed} from "vue";
import router from "@/router";
import {useChallengeStore} from "@/store/challenge.ts";
interface Prop{
userScore:number
totalScore:number
}
const props=withDefaults(defineProps<Prop>(),{
userScore:0,
totalScore:100
})
const presentSuccessful=computed(()=>{
return (props.userScore * 100)/props.totalScore
})
const state=useChallengeStore()
</script>
<style scoped lang="less">

View File

@ -0,0 +1,79 @@
<template>
<transition name="fade" mode="out-in">
<div v-if="!isStepStart" class=" gap-2 px-10">
<div class="flex flex-col items-center justify-between gap-2 ">
<div class="w-1/2"><img src="@/assets/img/Group31.png"></div>
<div class=" font-700 text-[#DC7D7D] text-10">مرحله شماره {{ stepStarted?.id }}</div>
<div class=" font-500 text-center ">
{{ stepStarted?.description }}
</div>
<div class=" ">
<basic-button
class="bg-[#C1FCE2] !hover:bg-[#28C792] !hover:color-white text-#DC7D7D font-700 text-3xl rounded-lg h-17 w-full border-1 border-black "
type="text" @click="startStep()">بزن بریم
</basic-button>
</div>
</div>
</div>
<ChallengeTimer v-else-if="stepStarted" :timeM="stepStarted?.minute" @onFinish="onFinishStep"></ChallengeTimer>
<ChallengeResult v-else :userScore="userScore" :totalScore="totalScore" ></ChallengeResult>
</transition>
</template>
<script setup lang="ts">
import BasicButton from "@/components/BasicPacks/BasicButton.vue";
import type {Challenge, Step} from "@/models/challenge.ts";
import {computed, onMounted, ref} from "vue";
import ChallengeTimer from "@/views/luckyWheel/components/challengeTimer.vue";
import ChallengeResult from "@/views/luckyWheel/components/challengeResult.vue";
const isStepStart = ref(false)
const userScore = ref(0)
const totalScore = ref(0)
interface Prop {
challengeSteps: Step[]
}
const props = withDefaults(defineProps<Prop>(), {
challengeSteps: [{}]
})
const stepId = ref(1)
const stepStarted = computed(() => {
console.log(props.challengeSteps, props.challengeSteps[stepId.value - 1], 'com', stepId.value)
return props.challengeSteps[stepId.value - 1]
})
function onFinishStep(isSuccessful: boolean) {
if (isSuccessful)
userScore.value += stepStarted.value.score
totalScore.value+=stepStarted.value.score
stepId.value++
if (stepStarted.value){
isStepStart.value = false
}
console.log(stepId.value , totalScore.value,userScore.value , isSuccessful)
}
function startStep(numberStep = 1) {
isStepStart.value = false
stepId.value = numberStep
isStepStart.value = true
}
onMounted(() => {
console.log(props.challengeSteps, 'step')
})
</script>
<style scoped lang="less">
</style>

View File

@ -1,18 +1,40 @@
<template>
<div class="flex flex-col items-center justify-center gap-3 px-20">
<div ><img src="@/assets/img/timer.svg"></div>
<div class="font-700 text-[#DC7D7D] text-10">03:30</div>
<div class="font-500 text-center leading-10">تو توی این چالش 03:30 زمان داری که هر وقت چالش را به اتمام رسوندی باید روی دکمه ی اتمام چالش بزنی</div>
<div ><img v-lazy="{src:timerImg}" ></div>
<div class="font-700 text-[#DC7D7D] text-10">{{timer.time}}</div>
<div class="font-500 text-center leading-10">تو توی این مرحله {{ timeM }} دقیقه زمان داری که هر وقت این مرحله را به اتمام رسوندی باید روی دکمه ی اتمام مرحله بزنی</div>
<div>
<basic-button class="bg-[#C1FCE2] !hover:bg-[#28C792] !hover:color-white text-#DC7D7D font-700 text-3xl rounded-lg h-17 w-full border-1 border-black " type="text" >اتمام چالش</basic-button>
<basic-button class="bg-[#C1FCE2] !hover:bg-[#28C792] !hover:color-white text-#DC7D7D font-700 text-3xl rounded-lg h-17 w-full border-1 border-black "
type="text" @click="emits('onFinish',true)" >
اتمام مرحله
</basic-button>
</div>
</div>
</template>
<script setup lang="ts">
import timerImg from '@/assets/img/timer.svg'
import BasicButton from "@/components/BasicPacks/BasicButton.vue";
import {onMounted} from "vue";
import useCountdownTimer from "@/composable/useCountdownTimer.ts";
interface Prop {
timeM:number
}
const props = withDefaults(defineProps<Prop>(), {
timeM:1
})
const timer=useCountdownTimer(`00:${props.timeM}:00`,'mm:ss')
const emits = defineEmits(['onFinish'])
onMounted(()=>{
timer.start()
})
timer.onFinish(()=>{
emits('onFinish',false)
})
</script>
<style scoped lang="less">

View File

@ -1,30 +1,42 @@
<template>
<div class=" overflow-hidden !overflow-y-hidden ">
<transition name="fade">
<div v-if="challengeId==0" class="flex mt-10 flex-col items-center gap-8">
<basic-button
class="bg-[#FABF3D] !hover:bg-[#28C792] !hover:color-white font-700 text-3xl shadow-lg shadow-[#FFE48F] rounded-full h-17 w-full border-1 border-black "
type="text" @click="clickWheelButton">بزن بریم
</basic-button>
<div class="overflow-hidden !overflow-y-hidden">
<transition name="fade" mode="out-in">
<div v-if="state.challengeState === 'luckyWheel'" key="wheel">
<div class="flex mt-10 flex-col items-center gap-8">
<basic-button
class="bg-[#FABF3D] !hover:bg-[#28C792] !hover:color-white font-700 text-3xl shadow-lg shadow-[#FFE48F] rounded-full h-17 w-full border-1 border-black"
type="text"
@click="clickWheelButton"
>
بزن بریم
</basic-button>
<div class="flex relative flex-col mt-12 items-center">
<div class="absolute z-1 top--10 ">
<img src="../../../assets/img/Polygon%2011.svg">
</div>
<div class="transition ease-[cubic-bezier(0.19,1,0.22,1)] duration-6000 "
:style="{transform: `rotate(${value}deg)`}">
<lucky-wheel class="border-[#FABF3D] border-16 rounded-full " :challenges-items="challenges"></lucky-wheel>
<div class="flex relative flex-col mt-12 items-center">
<div class="absolute z-1 top--10">
<img src="../../../assets/img/Polygon%2011.svg" />
</div>
<div
class="transition ease-[cubic-bezier(0.19,1,0.22,1)] duration-6000"
:style="{ transform: `rotate(${value}deg)` }"
>
<lucky-wheel
class="border-[#FABF3D] border-16 rounded-full"
:challenges-items="challenges"
/>
</div>
</div>
</div>
</div>
</div>
</transition>
<transition name="fade">
<challenge-des v-if="challengeId!=0" :challenge-id="challengeId"></challenge-des>
</transition>
</div>
<challenge-des
v-else-if="state.challengeState === 'challengeDes' && challengeId != 0"
:challenge-id="challengeId"
:challenge="challengeSelected"
class="mb-10 flex flex-col h-full justify-center items-center"
key="challenge"
/>
</transition>
</div>
</template>
@ -34,63 +46,69 @@
import LuckyWheel from "@/views/luckyWheel/components/luckyWheel.vue";
import BasicButton from "@/components/BasicPacks/BasicButton.vue";
import {onMounted, ref} from "vue";
import {route} from "vant/es/composables/use-route";
import {routes} from "vue-router/vue-router-auto-routes";
import router from "../../../router";
import {useRoute} from "vue-router";
import ChallengeDes from "@/views/luckyWheel/components/challengeDes.vue";
import {getChallenges} from "@/api/challenges.ts";
import {loading} from "@/utils";
import type {Challenge} from "@/models/challenge.ts";
import {useChallengeStore} from "@/store/challenge.ts";
const state=useChallengeStore()
const value = ref(-90);
let countClicked = 0;
let clicked = false;
// const state = ref('luckyWheel')
const challengeId = ref<number>(0)
const challenges = ref([
{
name: 'چالش 1',
id: 1
},
{
name: 'چالش 2',
id: 2
},
{
name: 'چالش 3',
id: 3
},
{
name: 'چالش 4',
id: 4
},
{
name: 'چالش 5',
id: 5
},
{
name: 'چالش 6',
id: 6
}
const challengeSelected = ref<Challenge>({})
const challenges = ref<Challenge[]>([
// {
// name: 'چالش 1',
// id: 1
// },
// {
// name: 'چالش 2',
// id: 2
// },
// {
// name: 'چالش 3',
// id: 3
// },
// {
// name: 'چالش 4',
// id: 4
// },
// {
// name: 'چالش 5',
// id: 5
// },
// {
// name: 'چالش 6',
// id: 6
// }
])
function getPosition(position) {
// countClicked += 1
let anglePart = 360 / challenges.value.length
console.log(anglePart)
let middleAngle = anglePart / 2
let tempPosition = (position + 180 - anglePart) % 360
console.log(anglePart, middleAngle)
const challenge = challenges.value.find((_, i) => {
console.log(middleAngle + ((i + 1) * anglePart), i, position)
return (position-middleAngle) <= middleAngle + ((i + 1) * anglePart)
console.log(middleAngle + ((i + 1) * anglePart), i, tempPosition, tempPosition - middleAngle)
console.log(((i + 1) * anglePart), i, tempPosition, tempPosition + (2 * middleAngle))
console.log(((i + 1) * anglePart), i, tempPosition, ((+2 * middleAngle) + ((i + 1) * anglePart)),'kko')
return (tempPosition) <=((i + 1) * anglePart)
}
);
console.log(challenge)
console.log(challenges.value)
if (challenge) {
challengeSelected.value = challenge
challengeId.value = challenge.id;
state.challengeState = 'challengeDes'
console.log(challengeId.value, '11111');
}
value.value = -90
value.value = -45
// } else if (position <= 150) {
//
// } else if (position <= 210) {
@ -129,9 +147,10 @@ function clickWheelButton() {
value.value += random;
console.log(random, random % 360);
console.log(value.value % 360);
// value.value = 361 + 180
setTimeout(() => {
getPosition(((value.value + 180) % 360));
// getPosition(247);
getPosition(value.value);
// getPosition(359);
}, 6500);
}
@ -139,10 +158,10 @@ function clickWheelButton() {
}
onMounted(async () => {
loading.value=true
loading.value = true
const res = await getChallenges()
challenges.value = res
loading.value=false
loading.value = false
})
</script>

View File

@ -6,7 +6,7 @@ import {message} from "ant-design-vue";
// import type {User} from "@/model/User";
const SUPABASE_URL = 'https://supa.machartaa.ir';
const SUPABASE_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTcxMDAwMDAwMCwiZXhwIjoxOTkwMDAwMDAwfQ.x_hfpoEIOp4E9IcUnSaseq8ONrfxuhNGKVq86Em6U6o';
const SUPABASE_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTcxMDAwMDAwMCwiZXhwIjoxOTkwMDAwMDAwfQ.C-w5Uc3jnaXmxb2YBoivAdB3RCTt03FioW6wWyYjmb4';
import { createClient, type SupabaseClient } from '@supabase/supabase-js'

308
yarn.lock
View File

@ -57,7 +57,7 @@
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz"
integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.27.7":
"@babel/core@^7.27.7":
version "7.28.3"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz"
integrity sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==
@ -284,6 +284,131 @@
resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz"
integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==
"@esbuild/aix-ppc64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz#bef96351f16520055c947aba28802eede3c9e9a9"
integrity sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==
"@esbuild/android-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz#d2e70be7d51a529425422091e0dcb90374c1546c"
integrity sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==
"@esbuild/android-arm@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.9.tgz#d2a753fe2a4c73b79437d0ba1480e2d760097419"
integrity sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==
"@esbuild/android-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.9.tgz#5278836e3c7ae75761626962f902a0d55352e683"
integrity sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==
"@esbuild/darwin-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz#f1513eaf9ec8fa15dcaf4c341b0f005d3e8b47ae"
integrity sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==
"@esbuild/darwin-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz#e27dbc3b507b3a1cea3b9280a04b8b6b725f82be"
integrity sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==
"@esbuild/freebsd-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz#364e3e5b7a1fd45d92be08c6cc5d890ca75908ca"
integrity sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==
"@esbuild/freebsd-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz#7c869b45faeb3df668e19ace07335a0711ec56ab"
integrity sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==
"@esbuild/linux-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz#48d42861758c940b61abea43ba9a29b186d6cb8b"
integrity sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==
"@esbuild/linux-arm@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz#6ce4b9cabf148274101701d112b89dc67cc52f37"
integrity sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==
"@esbuild/linux-ia32@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz#207e54899b79cac9c26c323fc1caa32e3143f1c4"
integrity sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==
"@esbuild/linux-loong64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz#0ba48a127159a8f6abb5827f21198b999ffd1fc0"
integrity sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==
"@esbuild/linux-mips64el@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz#a4d4cc693d185f66a6afde94f772b38ce5d64eb5"
integrity sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==
"@esbuild/linux-ppc64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz#0f5805c1c6d6435a1dafdc043cb07a19050357db"
integrity sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==
"@esbuild/linux-riscv64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz#6776edece0f8fca79f3386398b5183ff2a827547"
integrity sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==
"@esbuild/linux-s390x@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz#3f6f29ef036938447c2218d309dc875225861830"
integrity sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==
"@esbuild/linux-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz#831fe0b0e1a80a8b8391224ea2377d5520e1527f"
integrity sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==
"@esbuild/netbsd-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz#06f99d7eebe035fbbe43de01c9d7e98d2a0aa548"
integrity sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==
"@esbuild/netbsd-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz#db99858e6bed6e73911f92a88e4edd3a8c429a52"
integrity sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==
"@esbuild/openbsd-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz#afb886c867e36f9d86bb21e878e1185f5d5a0935"
integrity sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==
"@esbuild/openbsd-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz#30855c9f8381fac6a0ef5b5f31ac6e7108a66ecf"
integrity sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==
"@esbuild/openharmony-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz#2f2144af31e67adc2a8e3705c20c2bd97bd88314"
integrity sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==
"@esbuild/sunos-x64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz#69b99a9b5bd226c9eb9c6a73f990fddd497d732e"
integrity sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==
"@esbuild/win32-arm64@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz#d789330a712af916c88325f4ffe465f885719c6b"
integrity sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==
"@esbuild/win32-ia32@0.25.9":
version "0.25.9"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz#52fc735406bd49688253e74e4e837ac2ba0789e3"
integrity sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==
"@esbuild/win32-x64@0.25.9":
version "0.25.9"
resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz"
@ -355,11 +480,106 @@
dependencies:
quansync "^0.2.11"
"@rolldown/pluginutils@^1.0.0-beta.21", "@rolldown/pluginutils@1.0.0-beta.29":
"@rolldown/pluginutils@1.0.0-beta.29", "@rolldown/pluginutils@^1.0.0-beta.21":
version "1.0.0-beta.29"
resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.29.tgz"
integrity sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==
"@rollup/rollup-android-arm-eabi@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.3.tgz#8d8afcc5a79a3f190c5f855facde6e0da6a5b7ea"
integrity sha512-UmTdvXnLlqQNOCJnyksjPs1G4GqXNGW1LrzCe8+8QoaLhhDeTXYBgJ3k6x61WIhlHX2U+VzEJ55TtIjR/HTySA==
"@rollup/rollup-android-arm64@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.3.tgz#bed8ee4c2b31fd255fb91c2f52949dffef16ecf1"
integrity sha512-8NoxqLpXm7VyeI0ocidh335D6OKT0UJ6fHdnIxf3+6oOerZZc+O7r+UhvROji6OspyPm+rrIdb1gTXtVIqn+Sg==
"@rollup/rollup-darwin-arm64@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.3.tgz#ee2a75deb8786b394c7f1777cc0c2ae2c3680469"
integrity sha512-csnNavqZVs1+7/hUKtgjMECsNG2cdB8F7XBHP6FfQjqhjF8rzMzb3SLyy/1BG7YSfQ+bG75Ph7DyedbUqwq1rA==
"@rollup/rollup-darwin-x64@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.3.tgz#f5a01577c40830c423855492ecd8d3a7ae1b4836"
integrity sha512-r2MXNjbuYabSIX5yQqnT8SGSQ26XQc8fmp6UhlYJd95PZJkQD1u82fWP7HqvGUf33IsOC6qsiV+vcuD4SDP6iw==
"@rollup/rollup-freebsd-arm64@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.3.tgz#d272eed9c14efc149bab316de364c04f236c544f"
integrity sha512-uluObTmgPJDuJh9xqxyr7MV61Imq+0IvVsAlWyvxAaBSNzCcmZlhfYcRhCdMaCsy46ccZa7vtDDripgs9Jkqsw==
"@rollup/rollup-freebsd-x64@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.3.tgz#4c793f86e2dc64e725370daa2bec103f5869b5a6"
integrity sha512-AVJXEq9RVHQnejdbFvh1eWEoobohUYN3nqJIPI4mNTMpsyYN01VvcAClxflyk2HIxvLpRcRggpX1m9hkXkpC/A==
"@rollup/rollup-linux-arm-gnueabihf@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.3.tgz#28da78d3709262f0b7ef0ba7e8e6f77c1b2f30a6"
integrity sha512-byyflM+huiwHlKi7VHLAYTKr67X199+V+mt1iRgJenAI594vcmGGddWlu6eHujmcdl6TqSNnvqaXJqZdnEWRGA==
"@rollup/rollup-linux-arm-musleabihf@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.3.tgz#7e3309e6519eca1459038761aad44863e86fc497"
integrity sha512-aLm3NMIjr4Y9LklrH5cu7yybBqoVCdr4Nvnm8WB7PKCn34fMCGypVNpGK0JQWdPAzR/FnoEoFtlRqZbBBLhVoQ==
"@rollup/rollup-linux-arm64-gnu@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.3.tgz#bc18efe81022baac97566cc0ace04b359eb7cd16"
integrity sha512-VtilE6eznJRDIoFOzaagQodUksTEfLIsvXymS+UdJiSXrPW7Ai+WG4uapAc3F7Hgs791TwdGh4xyOzbuzIZrnw==
"@rollup/rollup-linux-arm64-musl@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.3.tgz#3ac849b6c42591014b0cb8e25c9ba1ace8fe19ec"
integrity sha512-dG3JuS6+cRAL0GQ925Vppafi0qwZnkHdPeuZIxIPXqkCLP02l7ka+OCyBoDEv8S+nKHxfjvjW4OZ7hTdHkx8/w==
"@rollup/rollup-linux-loongarch64-gnu@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.3.tgz#10260ca0c3682c2904b04bb907163aca8bc5adef"
integrity sha512-iU8DxnxEKJptf8Vcx4XvAUdpkZfaz0KWfRrnIRrOndL0SvzEte+MTM7nDH4A2Now4FvTZ01yFAgj6TX/mZl8hQ==
"@rollup/rollup-linux-ppc64-gnu@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.3.tgz#36b002a84c04f2e18093f563896c95a6e687f28f"
integrity sha512-VrQZp9tkk0yozJoQvQcqlWiqaPnLM6uY1qPYXvukKePb0fqaiQtOdMJSxNFUZFsGw5oA5vvVokjHrx8a9Qsz2A==
"@rollup/rollup-linux-riscv64-gnu@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.3.tgz#ff1b3708624fc8b912e5341431751977b78be273"
integrity sha512-uf2eucWSUb+M7b0poZ/08LsbcRgaDYL8NCGjUeFMwCWFwOuFcZ8D9ayPl25P3pl+D2FH45EbHdfyUesQ2Lt9wA==
"@rollup/rollup-linux-riscv64-musl@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.3.tgz#ab6f7ef69cdf812eccb318021a8f5c221bd0c048"
integrity sha512-7tnUcDvN8DHm/9ra+/nF7lLzYHDeODKKKrh6JmZejbh1FnCNZS8zMkZY5J4sEipy2OW1d1Ncc4gNHUd0DLqkSg==
"@rollup/rollup-linux-s390x-gnu@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.3.tgz#60527b48dd84814fa5092a2eef1ac90e2b4bf825"
integrity sha512-MUpAOallJim8CsJK+4Lc9tQzlfPbHxWDrGXZm2z6biaadNpvh3a5ewcdat478W+tXDoUiHwErX/dOql7ETcLqg==
"@rollup/rollup-linux-x64-gnu@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.3.tgz#c95698199820782b7420f5472e5d36b681728274"
integrity sha512-F42IgZI4JicE2vM2PWCe0N5mR5vR0gIdORPqhGQ32/u1S1v3kLtbZ0C/mi9FFk7C5T0PgdeyWEPajPjaUpyoKg==
"@rollup/rollup-linux-x64-musl@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.3.tgz#226eb081be8d6698a580022448197b01cb4193a2"
integrity sha512-oLc+JrwwvbimJUInzx56Q3ujL3Kkhxehg7O1gWAYzm8hImCd5ld1F2Gry5YDjR21MNb5WCKhC9hXgU7rRlyegQ==
"@rollup/rollup-win32-arm64-msvc@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.3.tgz#e900bd51cfc20af2a1c828d999bb49da1bd497eb"
integrity sha512-lOrQ+BVRstruD1fkWg9yjmumhowR0oLAAzavB7yFSaGltY8klttmZtCLvOXCmGE9mLIn8IBV/IFrQOWz5xbFPg==
"@rollup/rollup-win32-ia32-msvc@4.46.3":
version "4.46.3"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.3.tgz#94652ba771a90bf2558c0a6c553857148d7ff8f4"
integrity sha512-vvrVKPRS4GduGR7VMH8EylCBqsDcw6U+/0nPDuIjXQRbHJc6xOBj+frx8ksfZAh6+Fptw5wHrN7etlMmQnPQVg==
"@rollup/rollup-win32-x64-msvc@4.46.3":
version "4.46.3"
resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.3.tgz"
@ -387,7 +607,7 @@
dependencies:
"@supabase/node-fetch" "^2.6.14"
"@supabase/node-fetch@^2.6.13", "@supabase/node-fetch@^2.6.14", "@supabase/node-fetch@2.6.15":
"@supabase/node-fetch@2.6.15", "@supabase/node-fetch@^2.6.13", "@supabase/node-fetch@^2.6.14":
version "2.6.15"
resolved "https://registry.npmjs.org/@supabase/node-fetch/-/node-fetch-2.6.15.tgz"
integrity sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==
@ -435,7 +655,7 @@
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"
integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
"@types/node@*", "@types/node@^20.19.0 || >=22.12.0", "@types/node@^24.3.0":
"@types/node@*", "@types/node@^24.3.0":
version "24.3.0"
resolved "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz"
integrity sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==
@ -495,7 +715,7 @@
"@unocss/core" "66.4.2"
unconfig "^7.3.2"
"@unocss/core@^66.4.2", "@unocss/core@66.4.2":
"@unocss/core@66.4.2", "@unocss/core@^66.4.2":
version "66.4.2"
resolved "https://registry.npmjs.org/@unocss/core/-/core-66.4.2.tgz"
integrity sha512-cYgMQrLhB9nRekv5c+yPDDa+5dzlMkA2UMQRil0s5D9Lb5n7NsCMcr6+nfxkcSYVLy92SbwDV45c6T7vIxFTOA==
@ -588,14 +808,6 @@
"@unocss/core" "66.4.2"
ofetch "^1.4.1"
"@unocss/preset-wind@66.4.2":
version "66.4.2"
resolved "https://registry.npmjs.org/@unocss/preset-wind/-/preset-wind-66.4.2.tgz"
integrity sha512-z/rFYFINNqmBtl3Dh+7UCKpPnPkxM7IIUGszMnvdntky9uhLauJ11dt/Puir73sM2cAfywfgvnHyZ00m0pg7rA==
dependencies:
"@unocss/core" "66.4.2"
"@unocss/preset-wind3" "66.4.2"
"@unocss/preset-wind3@66.4.2":
version "66.4.2"
resolved "https://registry.npmjs.org/@unocss/preset-wind3/-/preset-wind3-66.4.2.tgz"
@ -614,6 +826,14 @@
"@unocss/extractor-arbitrary-variants" "66.4.2"
"@unocss/rule-utils" "66.4.2"
"@unocss/preset-wind@66.4.2":
version "66.4.2"
resolved "https://registry.npmjs.org/@unocss/preset-wind/-/preset-wind-66.4.2.tgz"
integrity sha512-z/rFYFINNqmBtl3Dh+7UCKpPnPkxM7IIUGszMnvdntky9uhLauJ11dt/Puir73sM2cAfywfgvnHyZ00m0pg7rA==
dependencies:
"@unocss/core" "66.4.2"
"@unocss/preset-wind3" "66.4.2"
"@unocss/reset@66.4.2":
version "66.4.2"
resolved "https://registry.npmjs.org/@unocss/reset/-/reset-66.4.2.tgz"
@ -764,7 +984,7 @@
estree-walker "^2.0.2"
source-map-js "^1.2.1"
"@vue/compiler-dom@^3.5.0", "@vue/compiler-dom@3.5.18":
"@vue/compiler-dom@3.5.18", "@vue/compiler-dom@^3.5.0":
version "3.5.18"
resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.18.tgz"
integrity sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==
@ -772,7 +992,7 @@
"@vue/compiler-core" "3.5.18"
"@vue/shared" "3.5.18"
"@vue/compiler-sfc@^3.5.18", "@vue/compiler-sfc@3.5.18":
"@vue/compiler-sfc@3.5.18", "@vue/compiler-sfc@^3.5.18":
version "3.5.18"
resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.18.tgz"
integrity sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==
@ -803,7 +1023,7 @@
de-indent "^1.0.2"
he "^1.2.0"
"@vue/composition-api@^1.0.0", "@vue/composition-api@^1.0.0-beta.1":
"@vue/composition-api@^1.0.0":
version "1.7.2"
resolved "https://registry.npmjs.org/@vue/composition-api/-/composition-api-1.7.2.tgz"
integrity sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==
@ -887,7 +1107,7 @@
"@vue/compiler-ssr" "3.5.18"
"@vue/shared" "3.5.18"
"@vue/shared@^3.5.0", "@vue/shared@^3.5.17", "@vue/shared@^3.5.18", "@vue/shared@3.5.18":
"@vue/shared@3.5.18", "@vue/shared@^3.5.0", "@vue/shared@^3.5.17", "@vue/shared@^3.5.18":
version "3.5.18"
resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.5.18.tgz"
integrity sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==
@ -1003,7 +1223,7 @@ braces@~3.0.2:
dependencies:
fill-range "^7.1.1"
browserslist@^4.24.0, "browserslist@>= 4.21.0":
browserslist@^4.24.0:
version "4.25.3"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz"
integrity sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==
@ -1115,7 +1335,7 @@ csstype@^3.1.1, csstype@^3.1.3:
resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
dayjs@^1.10.5, dayjs@^1.11.13:
dayjs@^1.10.5:
version "1.11.13"
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz"
integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
@ -1290,6 +1510,11 @@ form-data@^4.0.4:
hasown "^2.0.2"
mime-types "^2.1.12"
fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@ -1443,7 +1668,7 @@ jalaliday@^3.1.0:
resolved "https://registry.npmjs.org/jalaliday/-/jalaliday-3.1.0.tgz"
integrity sha512-waxCecXw1YAyxB8OgpRITWWXHn/tWCeR3qgW71kD4/tusPbbs3ilSvkfOCN2e5wdUS/XyAPxY9WRubuIb5rtzg==
jiti@^2.4.2, jiti@>=1.21.0:
jiti@^2.4.2:
version "2.5.1"
resolved "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz"
integrity sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==
@ -1468,7 +1693,7 @@ kolorist@^1.8.0:
resolved "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz"
integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==
less@^4.0.0, less@^4.4.1:
less@^4.4.1:
version "4.4.1"
resolved "https://registry.npmjs.org/less/-/less-4.4.1.tgz"
integrity sha512-X9HKyiXPi0f/ed0XhgUlBeFfxrlDP3xR4M7768Zl+WXLUViuL9AOPPJP4nCV0tgRWvTYvpNmN0SFhZOQzy16PA==
@ -1688,17 +1913,12 @@ picocolors@^1.1.1:
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
picomatch@^2.0.4:
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.3.1"
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
picomatch@^2.2.1:
version "2.3.1"
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
"picomatch@^3 || ^4", picomatch@^4.0.2, picomatch@^4.0.3:
picomatch@^4.0.2, picomatch@^4.0.3:
version "4.0.3"
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"
integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
@ -1911,7 +2131,7 @@ tslib@^2.3.0:
resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz"
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
typescript@*, typescript@>=4.4.4, typescript@>=5.0.0, typescript@~5.8.3, typescript@5.x:
typescript@~5.8.3:
version "5.8.3"
resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz"
integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
@ -1986,7 +2206,7 @@ vant@^4.9.21:
"@vant/use" "^1.6.0"
"@vue/shared" "^3.5.17"
"vite@^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0", "vite@^5.0.0 || ^6.0.0 || ^7.0.0", vite@^7.1.2:
vite@^7.1.2:
version "7.1.2"
resolved "https://registry.npmjs.org/vite/-/vite-7.1.2.tgz"
integrity sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==
@ -2005,6 +2225,11 @@ vscode-uri@^3.0.8:
resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz"
integrity sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==
vue-demi@^0.12.5:
version "0.12.5"
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.12.5.tgz#8eeed566a7d86eb090209a11723f887d28aeb2d1"
integrity sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==
vue-demi@^0.7.4:
version "0.7.5"
resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.7.5.tgz"
@ -2037,7 +2262,21 @@ vue-types@^3.0.0:
dependencies:
is-plain-object "3.0.1"
"vue@^2.0.0 || >=3.0.0-rc.0", "vue@^2.6.0 || >=3.0.0-rc.1", "vue@^2.7.0 || ^3.5.11", vue@^3.0.0, vue@^3.2.0, vue@^3.2.25, vue@^3.4.0, vue@^3.4.27, vue@^3.5.0, vue@^3.5.18, "vue@>= 2.5 < 2.7", vue@>=3.0.3, vue@>=3.2.0, vue@3.5.18:
vue3-lazyload@^0.3.8:
version "0.3.8"
resolved "https://registry.yarnpkg.com/vue3-lazyload/-/vue3-lazyload-0.3.8.tgz#82749a6b89a4d475c9a7fa409d0cff6c4abbd59d"
integrity sha512-UiJHRT7mzry102WbhtrRgJh+f8Z8u4Z+H1RU4dvPmQeq7wFSDFxZB9iJOWGihH2FscXN/8rMGLDOQJAmjwqpCg==
dependencies:
vue-demi "^0.12.5"
vue3-otp-input@^0.5.40:
version "0.5.40"
resolved "https://registry.npmjs.org/vue3-otp-input/-/vue3-otp-input-0.5.40.tgz"
integrity sha512-3AMYHqNz9ZDa9y7ICwcEcsJG7XdZGaLAr6IRLIl3whvseFE95F5Duc9q963HcqEbu8CeMWilkmbAt/0eZOZxow==
dependencies:
vue "^3.4.27"
vue@^3.4.27, vue@^3.5.18:
version "3.5.18"
resolved "https://registry.npmjs.org/vue/-/vue-3.5.18.tgz"
integrity sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==
@ -2048,13 +2287,6 @@ vue-types@^3.0.0:
"@vue/server-renderer" "3.5.18"
"@vue/shared" "3.5.18"
vue3-otp-input@^0.5.40:
version "0.5.40"
resolved "https://registry.npmjs.org/vue3-otp-input/-/vue3-otp-input-0.5.40.tgz"
integrity sha512-3AMYHqNz9ZDa9y7ICwcEcsJG7XdZGaLAr6IRLIl3whvseFE95F5Duc9q963HcqEbu8CeMWilkmbAt/0eZOZxow==
dependencies:
vue "^3.4.27"
warning@^4.0.0:
version "4.0.3"
resolved "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz"