Compare commits
8 Commits
swipe-card
...
d23ff54de5
| Author | SHA1 | Date | |
|---|---|---|---|
| d23ff54de5 | |||
| 8e1a1bf5af | |||
| 7678967831 | |||
| e62c4523f6 | |||
| 546a4d48cd | |||
| 773784ee69 | |||
| b71b31a40d | |||
| f9d5f0d856 |
27
Dockerfile
Normal file
27
Dockerfile
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
ARG NODE_VERSION=22.16.0
|
||||
|
||||
FROM node:${NODE_VERSION}-slim as base
|
||||
|
||||
FROM base as build
|
||||
WORKDIR /app
|
||||
|
||||
RUN npm install -g pm2
|
||||
|
||||
COPY package*.json ./
|
||||
|
||||
RUN npm i
|
||||
|
||||
COPY --link . .
|
||||
|
||||
RUN npm run build
|
||||
|
||||
FROM base
|
||||
|
||||
COPY --from=build /src/.output /src/.output
|
||||
|
||||
ENV PORT=3001
|
||||
|
||||
EXPOSE 3001
|
||||
|
||||
CMD ["pm2-runtime", "start", "node_modules/.bin/nuxt", "--", "start"]
|
||||
@@ -1,30 +1,27 @@
|
||||
<template>
|
||||
<motion.img
|
||||
:src="props.card.image"
|
||||
v-if="currentCard"
|
||||
:src="currentCard?.image"
|
||||
draggable="false"
|
||||
class="h-[60cqh] max-h-[800px] w-[400px] origin-bottom rounded-lg object-cover hover:cursor-grab active:cursor-grabbing md:w-[600px]"
|
||||
:style="{
|
||||
zIndex: props.isFront ? 500 : props.z,
|
||||
gridRow: 1,
|
||||
gridColumn: 1,
|
||||
transition: '0.125s transform',
|
||||
x,
|
||||
opacity,
|
||||
rotate,
|
||||
boxShadow: isFront
|
||||
? '0 20px 25px -5px rgb(0 0 0 / 0.5), 0 8px 10px -6px rgb(0 0 0 / 0.5)'
|
||||
: undefined,
|
||||
boxShadow:
|
||||
'0 20px 25px -5px rgb(0 0 0 / 0.5), 0 8px 10px -6px rgb(0 0 0 / 0.5)',
|
||||
}"
|
||||
alt="Picture of the author"
|
||||
:drag="dragValue"
|
||||
:alt="currentCard?.name"
|
||||
drag="x"
|
||||
:drag-constraints="{ left: 0, right: 0 }"
|
||||
:on-drag-end="handleDragEnd"
|
||||
:animate="{
|
||||
scale: props.isFront ? 1 : 0.98,
|
||||
}"
|
||||
/>
|
||||
<h1 class="h-2 text-5xl">{{ currentCard?.name }}</h1>
|
||||
|
||||
<div v-if="props.isFront" class="flex justify-between">
|
||||
<div v-if="currentCard" class="flex justify-between">
|
||||
<!-- Pass Button -->
|
||||
<button
|
||||
class="mx-12 flex h-24 w-42 flex-col items-center justify-center rounded-xl bg-violet-500 text-4xl text-white shadow-lg transition-colors duration-150 hover:bg-violet-600 focus:ring-4 focus:ring-violet-300 focus:outline-none"
|
||||
@@ -57,39 +54,48 @@ import type { Card } from "~/types/Card";
|
||||
const cardStore = useCardStore();
|
||||
|
||||
const props = defineProps({
|
||||
card: {
|
||||
type: Object as PropType<Card>,
|
||||
required: true,
|
||||
},
|
||||
isFront: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
z: {
|
||||
type: Number,
|
||||
cards: {
|
||||
type: Object as PropType<Card[]>,
|
||||
required: true,
|
||||
},
|
||||
});
|
||||
|
||||
const dragValue = computed(() => (props.isFront ? "x" : false));
|
||||
const emit = defineEmits<{
|
||||
(e: "empty-list", isEmpty: boolean): void;
|
||||
}>();
|
||||
|
||||
const currentCard = computed(() => props.cards[0]);
|
||||
|
||||
const x = useMotionValue(0);
|
||||
const opacity = useTransform(x, [-150, 0, 150], [0, 1, 0]);
|
||||
const rotate = useTransform(x, [-150, 150], [-18, 18]);
|
||||
|
||||
watch(
|
||||
() => props.cards.length,
|
||||
(newLength, oldLength) => {
|
||||
if (oldLength && oldLength > 0 && newLength === 0) {
|
||||
emit("empty-list", true);
|
||||
}
|
||||
},
|
||||
{ immediate: true },
|
||||
);
|
||||
|
||||
const handleDragEnd = () => {
|
||||
if (Math.abs(x.get()) > 50) {
|
||||
cardStore.removeCard(props.card.id);
|
||||
cardStore.removeCard(currentCard?.value.id);
|
||||
}
|
||||
};
|
||||
|
||||
async function swipeRight() {
|
||||
console.log(props.card.id);
|
||||
await animate(x, 300, { duration: 0.3 });
|
||||
cardStore.removeCard(props.card.id);
|
||||
await animate(x, 150, { duration: 0.3 });
|
||||
cardStore.smashList.push(currentCard.value);
|
||||
cardStore.removeCard(currentCard.value.id);
|
||||
await animate(x, 0, { duration: 0.6 });
|
||||
}
|
||||
async function swipeLeft() {
|
||||
await animate(x, -300, { duration: 0.3 });
|
||||
cardStore.removeCard(props.card.id);
|
||||
await animate(x, -150, { duration: 0.3 });
|
||||
cardStore.passList.push(currentCard.value);
|
||||
cardStore.removeCard(currentCard.value.id);
|
||||
await animate(x, 0, { duration: 0.6 });
|
||||
}
|
||||
</script>
|
||||
|
||||
11
ecosystem.config.cjs
Normal file
11
ecosystem.config.cjs
Normal file
@@ -0,0 +1,11 @@
|
||||
module.exports = {
|
||||
apps: [
|
||||
{
|
||||
name: 'Smash or Pass',
|
||||
port: '3001',
|
||||
exec_mode: 'cluster',
|
||||
instances: 'max',
|
||||
script: './.output/server/index.mjs'
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -18,6 +18,7 @@ export default defineNuxtConfig({
|
||||
runtimeConfig: {
|
||||
public: {
|
||||
apiBase: process.env.API_BASE_URL || "http://localhost:8000",
|
||||
isUploadActive: process.env.IS_UPLOAD_ACTIVE || "false",
|
||||
},
|
||||
},
|
||||
primevue: {
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"@primeuix/themes": "^1.2.1",
|
||||
"@tailwindcss/vite": "^4.1.11",
|
||||
"autoprefixer": "^10.4.21",
|
||||
"chart.js": "^4.5.0",
|
||||
"eslint": "^9.0.0",
|
||||
"izitoast": "^1.4.0",
|
||||
"motion-v": "^1.5.0",
|
||||
@@ -25,6 +26,7 @@
|
||||
"pinia": "^3.0.3",
|
||||
"primeicons": "^7.0.0",
|
||||
"primevue": "^4.3.6",
|
||||
"quill": "^2.0.3",
|
||||
"tailwindcss": "^4.1.11",
|
||||
"tailwindcss-primeui": "^0.6.1",
|
||||
"typescript": "^5.6.3",
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
<template>
|
||||
<div class="grid min-h-screen place-items-center">
|
||||
<CardView
|
||||
v-for="(card, index) in cardStore.cards"
|
||||
:key="card.id"
|
||||
:card="card"
|
||||
:is-front="index === 0"
|
||||
:z="index"
|
||||
/>
|
||||
<div v-if="loading">Loading...</div>
|
||||
<div v-else class="grid min-h-screen place-items-center">
|
||||
<CardView :cards="cardStore.cards" @empty-list="showResults" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -17,6 +12,14 @@ import { useCardStore } from "~/store/Card";
|
||||
const route = useRoute();
|
||||
const collection: string = route.query.collection as string;
|
||||
const cardStore = useCardStore();
|
||||
const loading = ref(true);
|
||||
|
||||
onMounted(async () => {
|
||||
cardStore.fetchCardsByCollection(collection);
|
||||
loading.value = false;
|
||||
});
|
||||
|
||||
const showResults = () => {
|
||||
navigateTo("result");
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -26,68 +26,22 @@
|
||||
/>
|
||||
</li>
|
||||
</ul>
|
||||
<UploadView />
|
||||
<UploadView v-if="isUploadActive" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { useCardStore } from "~/store/Card";
|
||||
|
||||
const config = useRuntimeConfig();
|
||||
const cardStore = useCardStore();
|
||||
|
||||
cardStore.fetchCollections();
|
||||
/*
|
||||
cardStore.cards = [
|
||||
{
|
||||
id: 1,
|
||||
name: "Pipi",
|
||||
url: "https://images.unsplash.com/photo-1542291026-7eec264c27ff?q=80&w=2370&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
||||
},
|
||||
|
||||
{
|
||||
id: 2,
|
||||
name: "Pipi",
|
||||
url: "https://images.unsplash.com/photo-1512374382149-233c42b6a83b?q=80&w=2235&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
||||
},
|
||||
|
||||
{
|
||||
id: 3,
|
||||
name: "Pipi",
|
||||
url: "https://images.unsplash.com/photo-1539185441755-769473a23570?q=80&w=2342&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
||||
},
|
||||
|
||||
{
|
||||
id: 4,
|
||||
name: "Pipi",
|
||||
url: "https://images.unsplash.com/photo-1549298916-b41d501d3772?q=80&w=2224&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
||||
},
|
||||
|
||||
{
|
||||
id: 5,
|
||||
name: "Pipi",
|
||||
url: "https://images.unsplash.com/photo-1516478177764-9fe5bd7e9717?q=80&w=2340&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
||||
},
|
||||
|
||||
{
|
||||
id: 6,
|
||||
name: "Pipi",
|
||||
url: "https://images.unsplash.com/photo-1570464197285-9949814674a7?q=80&w=2273&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
||||
},
|
||||
|
||||
{
|
||||
id: 7,
|
||||
name: "Pipi",
|
||||
url: "https://images.unsplash.com/photo-1578608712688-36b5be8823dc?q=80&w=2187&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
||||
},
|
||||
|
||||
{
|
||||
id: 8,
|
||||
name: "Pipi",
|
||||
url: "https://images.unsplash.com/photo-1505784045224-1247b2b29cf3?q=80&w=2340&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
||||
},
|
||||
]; */
|
||||
|
||||
const activeItem = ref();
|
||||
const isUploadActive = computed(() =>
|
||||
config.public.isUploadActive === "true" ? true : false,
|
||||
);
|
||||
|
||||
const play = (collection: string) => {
|
||||
navigateTo({ path: "game", query: { collection: collection } });
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
class="grid grid-cols-1 gap-2 lg:grid-cols-3 xl:grid-cols-5 xl:gap-4"
|
||||
>
|
||||
<div
|
||||
v-for="(img, idx) in imagesListOne"
|
||||
:key="idx"
|
||||
v-for="card in cardStore.smashList"
|
||||
:key="card.id"
|
||||
class="flex items-center justify-center rounded p-2 shadow"
|
||||
>
|
||||
<img
|
||||
:src="img"
|
||||
:src="card.image"
|
||||
alt="Image from Smash List"
|
||||
class="h-32 w-full rounded object-cover"
|
||||
class="w-full rounded object-cover"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -27,42 +27,29 @@
|
||||
class="grid grid-cols-1 gap-2 lg:grid-cols-3 xl:grid-cols-5 xl:gap-4"
|
||||
>
|
||||
<div
|
||||
v-for="(img, idx) in imagesListTwo"
|
||||
:key="idx"
|
||||
v-for="card in cardStore.passList"
|
||||
:key="card.id"
|
||||
class="flex items-center justify-center rounded p-2 shadow"
|
||||
>
|
||||
<img
|
||||
:src="img"
|
||||
:src="card.image"
|
||||
alt="Image from pass list"
|
||||
class="h-32 w-full rounded object-cover"
|
||||
class="w-full rounded object-cover"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Button label="Return" class="h-16 w-64" />
|
||||
<Button label="Return" class="h-16 w-64" @click="goHome" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
const imagesListOne = [
|
||||
// Replace with your image URLs
|
||||
"https://picsum.photos/id/1011/200/200",
|
||||
"https://picsum.photos/id/1012/800/400",
|
||||
"https://picsum.photos/id/1013/200/200",
|
||||
"https://picsum.photos/id/1014/200/200",
|
||||
"https://picsum.photos/id/1015/200/200",
|
||||
"https://picsum.photos/id/1016/200/200",
|
||||
// ...more images
|
||||
];
|
||||
import { useCardStore } from "~/store/Card";
|
||||
|
||||
const imagesListTwo = [
|
||||
"https://picsum.photos/id/1021/200/200",
|
||||
"https://picsum.photos/id/1022/200/200",
|
||||
"https://picsum.photos/id/1023/200/200",
|
||||
"https://picsum.photos/id/1024/200/200",
|
||||
"https://picsum.photos/id/1025/200/200",
|
||||
"https://picsum.photos/id/1026/200/200",
|
||||
// ...more images
|
||||
];
|
||||
const cardStore = useCardStore();
|
||||
|
||||
const goHome = () => {
|
||||
navigateTo("");
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -29,7 +29,6 @@ export const useCardStore = defineStore("cardStore", {
|
||||
...card,
|
||||
id: index,
|
||||
})) ?? [];
|
||||
console.log(this.cards);
|
||||
},
|
||||
removeCard(id: number) {
|
||||
const index = this.cards.findIndex((card) => card.id === id);
|
||||
|
||||
56
yarn.lock
56
yarn.lock
@@ -897,6 +897,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796"
|
||||
integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==
|
||||
|
||||
"@kurkle/color@^0.3.0":
|
||||
version "0.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@kurkle/color/-/color-0.3.4.tgz#4d4ff677e1609214fc71c580125ddddd86abcabf"
|
||||
integrity sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==
|
||||
|
||||
"@kwsites/file-exists@^1.1.1":
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99"
|
||||
@@ -2997,6 +3002,13 @@ chalk@^4.0.0:
|
||||
ansi-styles "^4.1.0"
|
||||
supports-color "^7.1.0"
|
||||
|
||||
chart.js@^4.5.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-4.5.0.tgz#11a1ef6c4befc514b1b0b613ebac226c4ad2740b"
|
||||
integrity sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==
|
||||
dependencies:
|
||||
"@kurkle/color" "^0.3.0"
|
||||
|
||||
chokidar@^3.6.0:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
|
||||
@@ -4134,6 +4146,11 @@ event-target-shim@^5.0.0:
|
||||
resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
|
||||
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
|
||||
|
||||
eventemitter3@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4"
|
||||
integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==
|
||||
|
||||
events@^3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
|
||||
@@ -4190,6 +4207,11 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
|
||||
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
|
||||
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
|
||||
|
||||
fast-diff@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
|
||||
integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
|
||||
|
||||
fast-fifo@^1.2.0, fast-fifo@^1.3.2:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c"
|
||||
@@ -5237,6 +5259,11 @@ lodash-es@^4.17.21:
|
||||
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
|
||||
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
|
||||
|
||||
lodash.clonedeep@^4.5.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
|
||||
integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==
|
||||
|
||||
lodash.debounce@^4.0.8:
|
||||
version "4.0.8"
|
||||
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
|
||||
@@ -5252,6 +5279,11 @@ lodash.isarguments@^3.1.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
|
||||
integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==
|
||||
|
||||
lodash.isequal@^4.5.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
||||
integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
|
||||
|
||||
lodash.memoize@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
|
||||
@@ -6041,6 +6073,11 @@ pako@^0.2.5:
|
||||
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
|
||||
integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==
|
||||
|
||||
parchment@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/parchment/-/parchment-3.0.0.tgz#2e3a4ada454e1206ae76ea7afcb50e9fb517e7d6"
|
||||
integrity sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==
|
||||
|
||||
parent-module@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
|
||||
@@ -6563,6 +6600,25 @@ queue-microtask@^1.2.2:
|
||||
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
|
||||
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
||||
|
||||
quill-delta@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/quill-delta/-/quill-delta-5.1.0.tgz#1c4bc08f7c8e5cc4bdc88a15a1a70c1cc72d2b48"
|
||||
integrity sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==
|
||||
dependencies:
|
||||
fast-diff "^1.3.0"
|
||||
lodash.clonedeep "^4.5.0"
|
||||
lodash.isequal "^4.5.0"
|
||||
|
||||
quill@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/quill/-/quill-2.0.3.tgz#752765a31d5a535cdc5717dc49d4e50099365eb1"
|
||||
integrity sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==
|
||||
dependencies:
|
||||
eventemitter3 "^5.0.1"
|
||||
lodash-es "^4.17.21"
|
||||
parchment "^3.0.0"
|
||||
quill-delta "^5.1.0"
|
||||
|
||||
quote-unquote@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/quote-unquote/-/quote-unquote-1.0.0.tgz#67a9a77148effeaf81a4d428404a710baaac8a0b"
|
||||
|
||||
Reference in New Issue
Block a user