update
This commit is contained in:
+23
-8
@@ -3,12 +3,12 @@
|
|||||||
<div class="relative text-center h-[56.154vw] md:h-[11.406vw]">
|
<div class="relative text-center h-[56.154vw] md:h-[11.406vw]">
|
||||||
<p
|
<p
|
||||||
class="post w-[30.769vw] md:w-[6.979vw] h-[9.487vw] md:h-[2.24vw] flexBox text-[3.59vw] md:text-[0.938vw] absolute left-0 bottom-0 bg-white rounded-tr-[3.59vw] md:rounded-tr-[0.781vw]">
|
class="post w-[30.769vw] md:w-[6.979vw] h-[9.487vw] md:h-[2.24vw] flexBox text-[3.59vw] md:text-[0.938vw] absolute left-0 bottom-0 bg-white rounded-tr-[3.59vw] md:rounded-tr-[0.781vw]">
|
||||||
540,000
|
{{props.course?.price}},000
|
||||||
<span class="ms-[1vw] md:ms-[0.2vw] text-[2.236vw] md:text-[0.585vw]">تومان</span>
|
<span class="ms-[1vw] md:ms-[0.2vw] text-[2.236vw] md:text-[0.585vw]">تومان</span>
|
||||||
</p>
|
</p>
|
||||||
<NuxtImg style="object-fit: cover;" :src="props.course?.image" alt="laravel"
|
<NuxtImg style="object-fit: cover;" :src="props.course?.image" alt="laravel"
|
||||||
:placeholder="[30, 20]"
|
:placeholder="[30, 20]"
|
||||||
:format="webp"
|
|
||||||
class="h-[56.154vw] md:h-[11.406vw] w-full rounded-[3.846vw] md:rounded-[0.781vw]" />
|
class="h-[56.154vw] md:h-[11.406vw] w-full rounded-[3.846vw] md:rounded-[0.781vw]" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -17,10 +17,10 @@
|
|||||||
|
|
||||||
<div class="flexBox flex-col">
|
<div class="flexBox flex-col">
|
||||||
<div class="w-[69.231vw] md:w-[16vw] space-y-[9vw] md:space-y-[1.4vw] mt-[4vw] md:mt-[0vw] xl:mt-[0.7vw]">
|
<div class="w-[69.231vw] md:w-[16vw] space-y-[9vw] md:space-y-[1.4vw] mt-[4vw] md:mt-[0vw] xl:mt-[0.7vw]">
|
||||||
<NuxtLink to="/ترفندهای-پایتون"
|
<h1
|
||||||
class="hover:text-primaryGreen text-[3.59vw] md:text-[0.833vw] text-[#383E43] w-full">
|
class="hover:text-primaryGreen text-[3.59vw] md:text-[0.833vw] text-[#383E43] w-full">
|
||||||
{{props.course?.name}}
|
{{props.course?.name}}
|
||||||
</NuxtLink>
|
</h1>
|
||||||
<div class="flex justify-between text-[3.614vw] md:text-[0.658vw]">
|
<div class="flex justify-between text-[3.614vw] md:text-[0.658vw]">
|
||||||
<p class="flex items-center text-[#878787]">
|
<p class="flex items-center text-[#878787]">
|
||||||
<svg
|
<svg
|
||||||
@@ -39,7 +39,22 @@
|
|||||||
stroke-linejoin="round" />
|
stroke-linejoin="round" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
<span class="md:ms-[0.2vw]">بک اند</span>
|
<span class="md:ms-[0.2vw]"
|
||||||
|
v-for="category in props.course?.categories"
|
||||||
|
:key="category.id"
|
||||||
|
>
|
||||||
|
{{category.name}}
|
||||||
|
|
||||||
|
<!-- <span v-if="props.course?.categories[0] === '66587a9498d0a0db14693a5b'">
|
||||||
|
بک اند
|
||||||
|
</span>
|
||||||
|
<span v-if="props.course?.categories[0] === '66587ae698d0a0db14693a5e'">
|
||||||
|
فرانت اند
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
{{props.course?.categories}}
|
||||||
|
</span> -->
|
||||||
|
</span>
|
||||||
</p>
|
</p>
|
||||||
<p class="flex items-center text-[#878787]">
|
<p class="flex items-center text-[#878787]">
|
||||||
<svg
|
<svg
|
||||||
@@ -60,7 +75,7 @@
|
|||||||
fill="#E5E5E5" />
|
fill="#E5E5E5" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
<span class="md:ms-[0.2vw]">825 دانشجو</span>
|
<span class="md:ms-[0.2vw]">{{props.course?.studentsCount}} دانشجو</span>
|
||||||
</p>
|
</p>
|
||||||
<p class="flex items-center text-[#878787]">
|
<p class="flex items-center text-[#878787]">
|
||||||
<svg
|
<svg
|
||||||
@@ -72,7 +87,7 @@
|
|||||||
fill="#E5E5E5" />
|
fill="#E5E5E5" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
<span class="md:ms-[0.2vw]">00:28</span>
|
<span class="md:ms-[0.2vw]">{{props.course?.duration}} ساعت</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-between">
|
<div class="flex justify-between">
|
||||||
@@ -127,7 +142,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { useToast } from 'vue-toastification'
|
import { useToast } from 'vue-toastification'
|
||||||
const props = defineProps(['course'])
|
const props = defineProps(['course']);
|
||||||
const toast = useToast()
|
const toast = useToast()
|
||||||
const change = () =>{
|
const change = () =>{
|
||||||
toast.error('متن تست')
|
toast.error('متن تست')
|
||||||
|
|||||||
@@ -49,12 +49,13 @@
|
|||||||
<li class="pb-[0.681vw]">گران ترین</li>
|
<li class="pb-[0.681vw]">گران ترین</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div class="mt-[4.051vw] md:mt-[2.1vw] grid gap-[4vw] md:gap-[1.25vw] grid-cols-1 md:grid-cols-4"
|
||||||
class="mt-[4.051vw] md:mt-[2.1vw] grid gap-[4vw] md:gap-[1.25vw] grid-cols-1 md:grid-cols-4"
|
|
||||||
v-for="(course, index) in data.data.value"
|
|
||||||
:key="index"
|
|
||||||
>
|
>
|
||||||
|
<div v-for="(course, index) in data.data.courses"
|
||||||
|
:key="index">
|
||||||
<Card :course="course" />
|
<Card :course="course" />
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -62,7 +63,8 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
// const pages = 17 / 16
|
// const pages = 17 / 16
|
||||||
// console.log(Math.ceil(pages));
|
// console.log(Math.ceil(pages));
|
||||||
const data = await useFetch("/api/course");
|
//const data = await useFetch("/api/course");
|
||||||
|
const data = defineProps(['data']);
|
||||||
const openSortOptions = () => {
|
const openSortOptions = () => {
|
||||||
if (process.client) {
|
if (process.client) {
|
||||||
document
|
document
|
||||||
|
|||||||
@@ -17,7 +17,9 @@
|
|||||||
</h3>
|
</h3>
|
||||||
<span
|
<span
|
||||||
class="mt-[3vw] md:mt-[3vw] text-[#878787] text-[3.59vw] md:text-[0.833vw] md:me-[1.563vw]"
|
class="mt-[3vw] md:mt-[3vw] text-[#878787] text-[3.59vw] md:text-[0.833vw] md:me-[1.563vw]"
|
||||||
>42 ویدیو آموزشی</span
|
>
|
||||||
|
{{data?.count}}
|
||||||
|
ویدیو آموزشی</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<p
|
<p
|
||||||
@@ -79,8 +81,9 @@
|
|||||||
:wrapAround="true"
|
:wrapAround="true"
|
||||||
class="w-full md:w-[95%]"
|
class="w-full md:w-[95%]"
|
||||||
>
|
>
|
||||||
<Slide v-for="slide in categories" :key="slide">
|
<Slide v-for="slide in categories" :key="slide" @click="selectCategory(slide.id)">
|
||||||
<div class="categoriesOption">{{ slide }}</div>
|
<div class="categoriesOption"
|
||||||
|
>{{ slide.name }}</div>
|
||||||
</Slide>
|
</Slide>
|
||||||
</Carousel>
|
</Carousel>
|
||||||
|
|
||||||
@@ -98,21 +101,30 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="pending" class="grid grid-cols-4 gap-[2vw] mt-[2vw]">
|
||||||
|
<Loading />
|
||||||
|
<Loading />
|
||||||
|
<Loading />
|
||||||
|
<Loading />
|
||||||
|
</div>
|
||||||
|
<courses-pageCourses-list :data="data"/>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
const categories = [
|
const changeCategory = ref('')
|
||||||
"Python",
|
const {data, refresh, pending} = await useFetch(() => "/api/course", {
|
||||||
"JavaScript",
|
method: "POST",
|
||||||
"C#",
|
body: {
|
||||||
"php",
|
changeCategory
|
||||||
"C++",
|
}
|
||||||
"Ruby",
|
});
|
||||||
"Node.js",
|
const categoryLis = await useFetch("/api/category");
|
||||||
"php",
|
// console.log('daste bandy', categoryLis.data.value);
|
||||||
"C++",
|
const categories = categoryLis.data.value;
|
||||||
"Ruby",
|
function selectCategory (id){
|
||||||
"Node.js",
|
changeCategory.value = '/category/' + id
|
||||||
];
|
refresh()
|
||||||
|
}
|
||||||
|
|
||||||
const breakpoints = {
|
const breakpoints = {
|
||||||
// 700px and up
|
// 700px and up
|
||||||
300: {
|
300: {
|
||||||
|
|||||||
@@ -10,14 +10,15 @@
|
|||||||
<div
|
<div
|
||||||
class="mt-[4.051vw] md:mt-[2.1vw] grid gap-[4vw] md:gap-[1.25vw] grid-cols-1 md:grid-cols-4"
|
class="mt-[4.051vw] md:mt-[2.1vw] grid gap-[4vw] md:gap-[1.25vw] grid-cols-1 md:grid-cols-4"
|
||||||
>
|
>
|
||||||
<Card />
|
<div v-for="(course, index) in selectedItems"
|
||||||
<Card />
|
:key="index">
|
||||||
<Card />
|
<Card :course="course" />
|
||||||
<Card />
|
|
||||||
<Card />
|
</div>
|
||||||
<Card />
|
|
||||||
<Card />
|
|
||||||
<Card />
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
<script setup>
|
||||||
|
const data = await useFetch("/api/course");
|
||||||
|
const selectedItems = data.data.value.courses.slice(0, 8);
|
||||||
|
</script>
|
||||||
+8
-1
@@ -245,7 +245,14 @@
|
|||||||
<p
|
<p
|
||||||
class="py-[2vw] md:py-0 text-[17.72px] md:text-[1.502vw] text-[#383E43] mt-[0.417vw]"
|
class="py-[2vw] md:py-0 text-[17.72px] md:text-[1.502vw] text-[#383E43] mt-[0.417vw]"
|
||||||
>
|
>
|
||||||
علی مصلحی عزیز خوش اومدی
|
<span v-if="authUser.name">
|
||||||
|
{{authUser?.name}}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span v-else>کاربر</span>
|
||||||
|
|
||||||
|
|
||||||
|
عزیز خوش اومدی
|
||||||
</p>
|
</p>
|
||||||
<svg
|
<svg
|
||||||
class="hidden md:block float-left"
|
class="hidden md:block float-left"
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ export default defineNuxtConfig({
|
|||||||
'@nuxtjs/tailwindcss',
|
'@nuxtjs/tailwindcss',
|
||||||
'@nuxt/image',
|
'@nuxt/image',
|
||||||
'vue3-carousel-nuxt',
|
'vue3-carousel-nuxt',
|
||||||
|
"@formkit/nuxt"
|
||||||
],
|
],
|
||||||
tailwindcss: {
|
tailwindcss: {
|
||||||
cssPath: '~/assets/css/tailwind.css',
|
cssPath: '~/assets/css/tailwind.css',
|
||||||
|
|||||||
Generated
+178
-26
@@ -7,6 +7,7 @@
|
|||||||
"name": "nuxt-app",
|
"name": "nuxt-app",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@formkit/nuxt": "^1.6.5",
|
||||||
"@nuxt/image": "^1.7.0",
|
"@nuxt/image": "^1.7.0",
|
||||||
"nuxt": "^3.11.2",
|
"nuxt": "^3.11.2",
|
||||||
"vue": "^3.4.27",
|
"vue": "^3.4.27",
|
||||||
@@ -23,7 +24,7 @@
|
|||||||
"version": "5.2.0",
|
"version": "5.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
|
||||||
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
|
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
@@ -1131,6 +1132,134 @@
|
|||||||
"integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==",
|
"integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==",
|
||||||
"peer": true
|
"peer": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@formkit/core": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/core/-/core-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-LLq8+vLd9ddPYA0NkyvnKycN4ESU8Wqcl9TrllPyU/axduJunSIJMZz4LHzlwK8G26b0pQNegXF/hXaj4wbmng==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/utils": "1.6.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/dev": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/dev/-/dev-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-dg62HTehLPi9lLBShixr9AoYgIv13gpxTZgiHEvf1UZz2HQq0Lcp63d0a+XT/tQ2HTz2ewLUGeXSN9dUVkYFSg==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/core": "1.6.5",
|
||||||
|
"@formkit/utils": "1.6.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/i18n": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/i18n/-/i18n-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-mM1UKGSa0Mdd8a8AAF+6BCNFnf8gUD1nOzU6dJ9UoPE8M/qA+hmcPR3PJm39p6e3OaT5O0Gn/J6JxgccPyWmGA==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/core": "1.6.5",
|
||||||
|
"@formkit/utils": "1.6.5",
|
||||||
|
"@formkit/validation": "1.6.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/inputs": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/inputs/-/inputs-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-mHLMF0JMFZL/JC6NYrG4xaIdi7lUNE+tdC+QMipBdhobUhND0EJSpO6QNPGF6OLd9Zm9MDgqAzNXEtc05/nvow==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/core": "1.6.5",
|
||||||
|
"@formkit/utils": "1.6.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/nuxt": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/nuxt/-/nuxt-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-/jzQ833DoUmD3qWc7RHxJDpfT1kRQBi4oqRzwKIzOJ1+s0/Q1p11m1XAWayF4io/kEs3rHEnIn6X+nzpxzjICw==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/core": "1.6.5",
|
||||||
|
"@formkit/i18n": "1.6.5",
|
||||||
|
"@formkit/vue": "1.6.5",
|
||||||
|
"@nuxt/kit": "^3.10.3",
|
||||||
|
"chokidar": "^3.6.0",
|
||||||
|
"pathe": "^1.1.2",
|
||||||
|
"unplugin": "^1.9.0",
|
||||||
|
"unplugin-formkit": "^0.2.13"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/observer": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/observer/-/observer-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-3Vh2Pj6tHX3wosbNm5VvwVVlTI5Zq0FT3dl/+DAuaCG84abpTLoc3O0C2pmbQcDaJ4aCuxu3+tBmhY9J7qFXMQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/core": "1.6.5",
|
||||||
|
"@formkit/utils": "1.6.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/rules": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/rules/-/rules-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-j9ylAibBvNx+3tEAkYzl2HjQwDzWV2mRPmFH7GTAmtxijFiktPS8HTU9H88H/x2stkYk9S13/MMeqDgZnc3VrQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/core": "1.6.5",
|
||||||
|
"@formkit/utils": "1.6.5",
|
||||||
|
"@formkit/validation": "1.6.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/themes": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/themes/-/themes-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-C+ANzH6qw4zS7niv+RamJAqpASOPfrZvMURVj5HQcT1XlcYB7ULvA9UmDW/AKOqP/OGf/OL6WvOzA7B16UkiiA==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/core": "1.6.5"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"tailwindcss": "^3.2.0",
|
||||||
|
"unocss": "0.x.x",
|
||||||
|
"windicss": "^3.0.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"tailwindcss": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"unocss": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"windicss": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/utils": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/utils/-/utils-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-fohOg344tqFujHlEwvyHzzH5YiOBgecuOPkg7r7QObUrsH8gP1N8Rp9CHZlafxZ1zAEHZY2nTNx0VVQBkVmJbA=="
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/validation": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/validation/-/validation-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-mnU+F6uXsNlczbU7QOq6QfsafSYNmMF9zvOpk4ravn9mba0IDXRhkPgU/+VFpcF/EEiXmqQql3pqQ7Vqv2wVbg==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/core": "1.6.5",
|
||||||
|
"@formkit/observer": "1.6.5",
|
||||||
|
"@formkit/utils": "1.6.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@formkit/vue": {
|
||||||
|
"version": "1.6.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formkit/vue/-/vue-1.6.5.tgz",
|
||||||
|
"integrity": "sha512-D5W8JfhFJXUXm8RX0OfPbPZt3Ds68iqxSrvbvmyabae2cBlGl8sqhMEuc48FptnsGOYqYXOhG+CPni+uE72Whw==",
|
||||||
|
"dependencies": {
|
||||||
|
"@formkit/core": "1.6.5",
|
||||||
|
"@formkit/dev": "1.6.5",
|
||||||
|
"@formkit/i18n": "1.6.5",
|
||||||
|
"@formkit/inputs": "1.6.5",
|
||||||
|
"@formkit/observer": "1.6.5",
|
||||||
|
"@formkit/rules": "1.6.5",
|
||||||
|
"@formkit/themes": "1.6.5",
|
||||||
|
"@formkit/utils": "1.6.5",
|
||||||
|
"@formkit/validation": "1.6.5"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^3.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@iconify/types": {
|
"node_modules/@iconify/types": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
|
||||||
@@ -4236,7 +4365,7 @@
|
|||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
||||||
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
|
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
|
||||||
"dev": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
"node_modules/anymatch": {
|
"node_modules/anymatch": {
|
||||||
"version": "3.1.3",
|
"version": "3.1.3",
|
||||||
@@ -4364,7 +4493,7 @@
|
|||||||
"version": "5.0.2",
|
"version": "5.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
|
||||||
"integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
|
"integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
|
||||||
"dev": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
"node_modules/argparse": {
|
"node_modules/argparse": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
@@ -4845,7 +4974,7 @@
|
|||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
|
||||||
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
|
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
@@ -5677,7 +5806,7 @@
|
|||||||
"version": "1.2.2",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
|
||||||
"integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
|
"integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
|
||||||
"dev": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
"node_modules/diff": {
|
"node_modules/diff": {
|
||||||
"version": "5.2.0",
|
"version": "5.2.0",
|
||||||
@@ -5691,7 +5820,7 @@
|
|||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
|
||||||
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
|
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
|
||||||
"dev": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
"node_modules/dom-serializer": {
|
"node_modules/dom-serializer": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@@ -7385,7 +7514,7 @@
|
|||||||
"version": "1.2.4",
|
"version": "1.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
||||||
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
|
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
|
||||||
"dev": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
"node_modules/listhen": {
|
"node_modules/listhen": {
|
||||||
"version": "1.7.2",
|
"version": "1.7.2",
|
||||||
@@ -7915,7 +8044,7 @@
|
|||||||
"version": "2.7.0",
|
"version": "2.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
|
||||||
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
|
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"any-promise": "^1.0.0",
|
"any-promise": "^1.0.0",
|
||||||
"object-assign": "^4.0.1",
|
"object-assign": "^4.0.1",
|
||||||
@@ -8589,7 +8718,7 @@
|
|||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
|
||||||
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
|
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
@@ -8936,7 +9065,7 @@
|
|||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
|
||||||
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
|
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
@@ -8945,7 +9074,7 @@
|
|||||||
"version": "4.0.6",
|
"version": "4.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
|
||||||
"integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
|
"integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
@@ -9126,7 +9255,7 @@
|
|||||||
"version": "15.1.0",
|
"version": "15.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
|
||||||
"integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
|
"integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.0.0",
|
"postcss-value-parser": "^4.0.0",
|
||||||
"read-cache": "^1.0.0",
|
"read-cache": "^1.0.0",
|
||||||
@@ -9143,7 +9272,7 @@
|
|||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
|
||||||
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
|
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"camelcase-css": "^2.0.1"
|
"camelcase-css": "^2.0.1"
|
||||||
},
|
},
|
||||||
@@ -9162,7 +9291,7 @@
|
|||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
|
||||||
"integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
|
"integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@@ -9289,7 +9418,7 @@
|
|||||||
"version": "6.0.1",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
|
||||||
"integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
|
"integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-selector-parser": "^6.0.11"
|
"postcss-selector-parser": "^6.0.11"
|
||||||
},
|
},
|
||||||
@@ -9791,7 +9920,7 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
|
||||||
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
|
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"pify": "^2.3.0"
|
"pify": "^2.3.0"
|
||||||
}
|
}
|
||||||
@@ -10842,7 +10971,7 @@
|
|||||||
"version": "3.35.0",
|
"version": "3.35.0",
|
||||||
"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
|
"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
|
||||||
"integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
|
"integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/gen-mapping": "^0.3.2",
|
"@jridgewell/gen-mapping": "^0.3.2",
|
||||||
"commander": "^4.0.0",
|
"commander": "^4.0.0",
|
||||||
@@ -10864,7 +10993,7 @@
|
|||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
||||||
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
@@ -10873,7 +11002,7 @@
|
|||||||
"version": "10.3.14",
|
"version": "10.3.14",
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.14.tgz",
|
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.14.tgz",
|
||||||
"integrity": "sha512-4fkAqu93xe9Mk7le9v0y3VrPDqLKHarNi2s4Pv7f2yOvfhWfhc7hRPHC/JyqMqb8B/Dt/eGS4n7ykwf3fOsl8g==",
|
"integrity": "sha512-4fkAqu93xe9Mk7le9v0y3VrPDqLKHarNi2s4Pv7f2yOvfhWfhc7hRPHC/JyqMqb8B/Dt/eGS4n7ykwf3fOsl8g==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"foreground-child": "^3.1.0",
|
"foreground-child": "^3.1.0",
|
||||||
"jackspeak": "^2.3.6",
|
"jackspeak": "^2.3.6",
|
||||||
@@ -10895,7 +11024,7 @@
|
|||||||
"version": "9.0.4",
|
"version": "9.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
|
||||||
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
|
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"brace-expansion": "^2.0.1"
|
"brace-expansion": "^2.0.1"
|
||||||
},
|
},
|
||||||
@@ -11070,7 +11199,7 @@
|
|||||||
"version": "3.4.3",
|
"version": "3.4.3",
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz",
|
||||||
"integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==",
|
"integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@alloc/quick-lru": "^5.2.0",
|
"@alloc/quick-lru": "^5.2.0",
|
||||||
"arg": "^5.0.2",
|
"arg": "^5.0.2",
|
||||||
@@ -11107,7 +11236,7 @@
|
|||||||
"version": "6.0.2",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
||||||
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
|
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"is-glob": "^4.0.3"
|
"is-glob": "^4.0.3"
|
||||||
},
|
},
|
||||||
@@ -11119,7 +11248,7 @@
|
|||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
|
||||||
"integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
|
"integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
@@ -11233,7 +11362,7 @@
|
|||||||
"version": "3.3.1",
|
"version": "3.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
|
||||||
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
|
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"any-promise": "^1.0.0"
|
"any-promise": "^1.0.0"
|
||||||
}
|
}
|
||||||
@@ -11242,7 +11371,7 @@
|
|||||||
"version": "1.6.0",
|
"version": "1.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
|
||||||
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
|
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"thenify": ">= 3.1.0 < 4"
|
"thenify": ">= 3.1.0 < 4"
|
||||||
},
|
},
|
||||||
@@ -11299,7 +11428,7 @@
|
|||||||
"version": "0.1.13",
|
"version": "0.1.13",
|
||||||
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
|
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
|
||||||
"integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
|
"integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
|
||||||
"dev": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
"node_modules/tsscmp": {
|
"node_modules/tsscmp": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
@@ -11584,6 +11713,29 @@
|
|||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/unplugin-formkit": {
|
||||||
|
"version": "0.2.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/unplugin-formkit/-/unplugin-formkit-0.2.13.tgz",
|
||||||
|
"integrity": "sha512-qNHz7/0QDO0uVD5MoUZz49CI7q8cHM24RQDwbs5NfRJ6EiyZ1gBmWq9ta3QHR2nD7xacXV+yzmfDbnwlNpkzsg==",
|
||||||
|
"dependencies": {
|
||||||
|
"pathe": "^1.1.1",
|
||||||
|
"unplugin": "^1.4.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"esbuild": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"rollup": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"vite": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"webpack": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/unplugin-vue-router": {
|
"node_modules/unplugin-vue-router": {
|
||||||
"version": "0.7.0",
|
"version": "0.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/unplugin-vue-router/-/unplugin-vue-router-0.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/unplugin-vue-router/-/unplugin-vue-router-0.7.0.tgz",
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
"postinstall": "nuxt prepare"
|
"postinstall": "nuxt prepare"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@formkit/nuxt": "^1.6.5",
|
||||||
"@nuxt/image": "^1.7.0",
|
"@nuxt/image": "^1.7.0",
|
||||||
"nuxt": "^3.11.2",
|
"nuxt": "^3.11.2",
|
||||||
"vue": "^3.4.27",
|
"vue": "^3.4.27",
|
||||||
|
|||||||
+49
-12
@@ -71,13 +71,13 @@
|
|||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
|
<FormKit type="form" @submit="edit" :incomplete-message="false" :actions="false">
|
||||||
<div class="relative items-center gap-[5vw] md:gap-0 grid grid-cols-1 md:grid-cols-2 mt-[2vw] w-full md:w-[65%]">
|
<div class="relative items-center gap-[5vw] md:gap-0 grid grid-cols-1 md:grid-cols-2 mt-[2vw] w-full md:w-[65%]">
|
||||||
<div class="flex flex-col space-y-[0.2vw] mb-[0.5vw]">
|
<div class="flex flex-col space-y-[0.2vw] mb-[0.5vw]">
|
||||||
<label for="" class="text-[3.19vw] md:text-[0.833vw] font-[400]">شماره موبایل</label>
|
<label for="" class="text-[3.19vw] md:text-[0.833vw] font-[400]">شماره موبایل</label>
|
||||||
<input
|
<input type="text" name="name"
|
||||||
:value="authUser?.phone"
|
:value="authUser?.phone"
|
||||||
type="text"
|
readonly
|
||||||
class="bg-[#F5F5F5] h-[13.59vw] md:h-[2.969vw] w-full md:w-[19.01vw] rounded-[2.564vw] md:rounded-[0.521vw] px-[1vw]"
|
class="bg-[#F5F5F5] h-[13.59vw] md:h-[2.969vw] w-full md:w-[19.01vw] rounded-[2.564vw] md:rounded-[0.521vw] px-[1vw]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -85,29 +85,66 @@
|
|||||||
<label for="" class="text-[3.19vw] md:text-[0.833vw] font-[400]"
|
<label for="" class="text-[3.19vw] md:text-[0.833vw] font-[400]"
|
||||||
>نام و نام خانوادگی</label
|
>نام و نام خانوادگی</label
|
||||||
>
|
>
|
||||||
<input
|
<FormKit
|
||||||
|
name="name"
|
||||||
:value="authUser?.name"
|
:value="authUser?.name"
|
||||||
type="text"
|
type="text"
|
||||||
class="bg-[#F5F5F5] h-[13.59vw] md:h-[2.969vw] w-full md:w-[19.01vw] rounded-[2.564vw] md:rounded-[0.521vw]"
|
input-class="bg-[#F5F5F5] h-[13.59vw] md:h-[2.969vw] w-full md:w-[19.01vw] rounded-[2.564vw] md:rounded-[0.521vw] px-[1vw]"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-col space-y-[0.2vw]">
|
||||||
|
<label for="" class="text-[3.19vw] md:text-[0.833vw] font-[400]">نام کاربری</label>
|
||||||
|
<FormKit
|
||||||
|
name="userName"
|
||||||
|
:value="authUser?.userName"
|
||||||
|
type="text"
|
||||||
|
input-class="bg-[#F5F5F5] h-[13.59vw] md:h-[2.969vw] w-full md:w-[19.01vw] rounded-[2.564vw] md:rounded-[0.521vw] px-[1vw]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col space-y-[0.2vw]">
|
<div class="flex flex-col space-y-[0.2vw]">
|
||||||
<label for="" class="text-[3.19vw] md:text-[0.833vw] font-[400]">ایمیل</label>
|
<label for="" class="text-[3.19vw] md:text-[0.833vw] font-[400]">ایمیل</label>
|
||||||
<input
|
<FormKit
|
||||||
|
name="email"
|
||||||
|
:value="authUser?.email"
|
||||||
type="text"
|
type="text"
|
||||||
class="bg-[#F5F5F5] h-[13.59vw] md:h-[2.969vw] w-full md:w-[19.01vw] rounded-[2.564vw] md:rounded-[0.521vw]"
|
input-class="bg-[#F5F5F5] h-[13.59vw] md:h-[2.969vw] w-full md:w-[19.01vw] rounded-[2.564vw] md:rounded-[0.521vw] px-[1vw]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<FormKit
|
||||||
class="text-[3.59vw] md:text-[0.833vw] absolute md:left-[1vw] top-[80vw] md:top-[11vw] greenButton h-[13.59vw] md:h-[2.813vw] w-full md:w-[8.438vw] rounded-[2.564vw] md:rounded-[0.521vw] flexBox px-0"
|
input-class="
|
||||||
>
|
text-[3.59vw] md:text-[0.833vw] absolute md:left-[1vw] top-[80vw] md:top-[11vw] greenButton h-[13.59vw]
|
||||||
ثبت اطلاعات
|
md:h-[2.813vw] w-full md:w-[8.438vw] rounded-[2.564vw] md:rounded-[0.521vw] flexBox px-0
|
||||||
</button>
|
"
|
||||||
|
type="submit">
|
||||||
|
ویرایش
|
||||||
|
</FormKit>
|
||||||
</div>
|
</div>
|
||||||
|
</FormKit>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import { useToast } from 'vue-toastification'
|
||||||
|
const toast = useToast()
|
||||||
const { authUser } = useAuth();
|
const { authUser } = useAuth();
|
||||||
|
const loading = ref(false)
|
||||||
|
|
||||||
|
const edit = async(formData) => {
|
||||||
|
console.log('form :',formData);
|
||||||
|
try {
|
||||||
|
loading.value = true;
|
||||||
|
await $fetch('/api/user/update', {
|
||||||
|
method: 'PUT',
|
||||||
|
body: formData
|
||||||
|
})
|
||||||
|
// toast.success("ویرایش اطلاعات شما باموفقیت انجام شد");
|
||||||
|
location.reload()
|
||||||
|
} catch (error) {
|
||||||
|
toast.error(error)
|
||||||
|
} finally {
|
||||||
|
loading.value = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@@ -385,7 +385,6 @@ import { useToast } from 'vue-toastification'
|
|||||||
const toast = useToast()
|
const toast = useToast()
|
||||||
|
|
||||||
const { data: tickets, refresh: load } = await useFetch("/api/ticket");
|
const { data: tickets, refresh: load } = await useFetch("/api/ticket");
|
||||||
console.log('cli tick', tickets);
|
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const addTicketForm = ref(false);
|
const addTicketForm = ref(false);
|
||||||
const subject = ref(null);
|
const subject = ref(null);
|
||||||
@@ -401,12 +400,13 @@ const sendTicket = async () => {
|
|||||||
const data = await useFetch("/api/ticket", {
|
const data = await useFetch("/api/ticket", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
body: {
|
body: {
|
||||||
subject,
|
subject: subject.value,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
subject.value = '';
|
|
||||||
addTicketForm.value = false;
|
|
||||||
load()
|
load()
|
||||||
|
addTicketForm.value = false;
|
||||||
|
subject.value = null;
|
||||||
|
console.log('تیکت',data);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -424,9 +424,6 @@ const openTicket = async (data) => {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const {data: single, refresh: reload} = await useFetch("/api/ticket/id", {
|
const {data: single, refresh: reload} = await useFetch("/api/ticket/id", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
body: {
|
body: {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<div class="courses">
|
<div class="courses">
|
||||||
<div >
|
<div >
|
||||||
<home-page-courses-sectionCategories />
|
<home-page-courses-sectionCategories />
|
||||||
<courses-pageCourses-list />
|
<!-- <courses-pageCourses-list /> -->
|
||||||
<courses-pagePagination />
|
<courses-pagePagination />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
export default defineEventHandler(async (event) => {
|
export default defineEventHandler(async (event) => {
|
||||||
const { public: { apiBase } } = useRuntimeConfig();
|
const { public: { apiBase } } = useRuntimeConfig();
|
||||||
try {
|
try {
|
||||||
const data = await $fetch(`${apiBase}/course`, {
|
const categoryLis = await $fetch(`${apiBase}/courseCategory`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
'Accept': 'application/json',
|
'Accept': 'application/json',
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return data;
|
return categoryLis;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
export default defineEventHandler(async (event) => {
|
||||||
|
const { public: { apiBase } } = useRuntimeConfig();
|
||||||
|
const body = await readBody(event);
|
||||||
|
console.log(body);
|
||||||
|
|
||||||
|
try {
|
||||||
|
const data = await $fetch(`${apiBase}/course${body.changeCategory}`, {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {
|
||||||
|
'Accept': 'application/json',
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
} catch (error) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// const page = ref(0);
|
||||||
|
|
||||||
|
// const { data, refresh } = await useFetch(() => '/api/global', {
|
||||||
|
// query: { url: '/orders', page },
|
||||||
|
// headers: useRequestHeaders(['cookie'])
|
||||||
|
// })
|
||||||
|
|
||||||
|
// function paginate(value) {
|
||||||
|
// page.value = value;
|
||||||
|
// refresh()
|
||||||
|
// }
|
||||||
@@ -3,7 +3,7 @@ export default defineEventHandler(async (event) => {
|
|||||||
const { public: { apiBase } } = useRuntimeConfig();
|
const { public: { apiBase } } = useRuntimeConfig();
|
||||||
const token = getCookie(event, 'token');
|
const token = getCookie(event, 'token');
|
||||||
const body = await readBody(event);
|
const body = await readBody(event);
|
||||||
console.log('body', body.id);
|
console.log('badane :', body);
|
||||||
try {
|
try {
|
||||||
const data = await $fetch(`${apiBase}/ticket/${body.id}`, {
|
const data = await $fetch(`${apiBase}/ticket/${body.id}`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
@@ -13,7 +13,6 @@ console.log('body', body.id);
|
|||||||
},
|
},
|
||||||
id: body.id
|
id: body.id
|
||||||
});
|
});
|
||||||
console.log('tttt :', data);
|
|
||||||
return data;
|
return data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return error;
|
return error;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ export default defineEventHandler(async (event) => {
|
|||||||
const { public: { apiBase } } = useRuntimeConfig();
|
const { public: { apiBase } } = useRuntimeConfig();
|
||||||
const token = getCookie(event, 'token');
|
const token = getCookie(event, 'token');
|
||||||
const body = await readBody(event);
|
const body = await readBody(event);
|
||||||
|
console.log(body);
|
||||||
try {
|
try {
|
||||||
const data = await $fetch(`${apiBase}/ticket`, {
|
const data = await $fetch(`${apiBase}/ticket`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
@@ -11,8 +11,9 @@ export default defineEventHandler(async (event) => {
|
|||||||
'Accept': 'application/json',
|
'Accept': 'application/json',
|
||||||
'Authorization': `Bearer ${token}`
|
'Authorization': `Bearer ${token}`
|
||||||
},
|
},
|
||||||
body
|
body,
|
||||||
});
|
});
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
||||||
@@ -3,7 +3,6 @@ export default defineEventHandler(async (event) => {
|
|||||||
const { public: { apiBase } } = useRuntimeConfig();
|
const { public: { apiBase } } = useRuntimeConfig();
|
||||||
const token = getCookie(event, 'token');
|
const token = getCookie(event, 'token');
|
||||||
const body = await readBody(event);
|
const body = await readBody(event);
|
||||||
console.log('bod' , body);
|
|
||||||
try {
|
try {
|
||||||
const data = await $fetch(`${apiBase}/ticket/message`, {
|
const data = await $fetch(`${apiBase}/ticket/message`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
@@ -13,7 +12,6 @@ console.log('bod' , body);
|
|||||||
},
|
},
|
||||||
body
|
body
|
||||||
});
|
});
|
||||||
console.log('new :', data);
|
|
||||||
return data;
|
return data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// if (error.statusCode == 401) {
|
// if (error.statusCode == 401) {
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
export default defineEventHandler(async (event) => {
|
||||||
|
const body = await readBody(event);
|
||||||
|
const { public: { apiBase } } = useRuntimeConfig();
|
||||||
|
const token = getCookie(event, 'token');
|
||||||
|
console.log(body);
|
||||||
|
try {
|
||||||
|
const data = await $fetch(`${apiBase}/user/update`, {
|
||||||
|
method: 'PUT',
|
||||||
|
body: {
|
||||||
|
avatarMediaId: "",
|
||||||
|
name: body.name,
|
||||||
|
lastName: "",
|
||||||
|
userName: "",
|
||||||
|
email: body.email,
|
||||||
|
userName: body.userName
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
'Accept': 'application/json',
|
||||||
|
'Authorization': `Bearer ${token}`
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
} catch (err) {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user