mirror of
https://github.com/andrei0x309/yup-live-chrome-extension.git
synced 2024-11-09 18:10:57 +00:00
chore: changes for 1.0.8
This commit is contained in:
parent
e97c87bd41
commit
7d77a9840d
@ -1,6 +1,13 @@
|
||||
# Change Log
|
||||
|
||||
## [Version 1.0.6]
|
||||
## [Version 1.0.8]
|
||||
|
||||
- migrated from windicss to tailwindcss
|
||||
- migrated to web3-notifications and adapted them
|
||||
- changed like component
|
||||
- changed injected overlay to support new like component and delete vote
|
||||
|
||||
## [Version 1.0.7]
|
||||
|
||||
- fixed background notification
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "yup live",
|
||||
"description": "Light alternative extension for yup protocol",
|
||||
"version": "1.0.7",
|
||||
"version": "1.0.8",
|
||||
"manifest_version": 3,
|
||||
"icons": {
|
||||
"16": "src/assets/icons/yup_ext_16.png",
|
||||
|
@ -21,7 +21,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@crxjs/vite-plugin": "^1.0.14",
|
||||
"@sveltejs/vite-plugin-svelte": "^2.0.2",
|
||||
"@sveltejs/vite-plugin-svelte": "^2.4.2",
|
||||
"@tsconfig/svelte": "^3.0.0",
|
||||
"@types/chrome": "^0.0.212",
|
||||
"archiver": "^5.3.1",
|
||||
@ -29,11 +29,14 @@
|
||||
"svelte": "^3.55.1",
|
||||
"svelte-check": "^3.0.3",
|
||||
"svelte-preprocess": "^5.0.1",
|
||||
"svelte-windicss-preprocess": "~4.1.0",
|
||||
"ts-node": "^10.9.1",
|
||||
"tslib": "^2.5.0",
|
||||
"typescript": "^4.9.5",
|
||||
"vite": "^4.1.1",
|
||||
"yarn-upgrade-all": "^0.7.2"
|
||||
"yarn-upgrade-all": "^0.7.2",
|
||||
"postcss": "^8.4.24",
|
||||
"postcss-load-config": "^4.0.1",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"tailwindcss": "^3.3.2"
|
||||
}
|
||||
}
|
||||
|
13
postcss.config.cjs
Normal file
13
postcss.config.cjs
Normal file
@ -0,0 +1,13 @@
|
||||
const tailwindcss = require("tailwindcss");
|
||||
const autoprefixer = require("autoprefixer");
|
||||
|
||||
const config = {
|
||||
plugins: [
|
||||
//Some plugins, like tailwindcss/nesting, need to run before Tailwind,
|
||||
tailwindcss(),
|
||||
//But others, like autoprefixer, need to run after,
|
||||
autoprefixer,
|
||||
],
|
||||
};
|
||||
|
||||
module.exports = config;
|
4
src/app.postcss
Normal file
4
src/app.postcss
Normal file
@ -0,0 +1,4 @@
|
||||
/* Write your global styles here, in PostCSS syntax */
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
33
src/components/LikeIcon.svelte
Normal file
33
src/components/LikeIcon.svelte
Normal file
@ -0,0 +1,33 @@
|
||||
<script lang="ts">
|
||||
|
||||
export let solid = false
|
||||
export let className = ''
|
||||
|
||||
</script>
|
||||
{#if !solid}
|
||||
<svg viewBox="0 0 32 32" class="{className}">
|
||||
<g data-name="Layer 54" id="Layer_54">
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M16,28.72a3,3,0,0,1-2.13-.88L3.57,17.54a8.72,8.72,0,0,1-2.52-6.25,8.06,8.06,0,0,1,8.14-8A8.06,8.06,0,0,1,15,5.68l1,1,.82-.82h0a8.39,8.39,0,0,1,11-.89,8.25,8.25,0,0,1,.81,12.36L18.13,27.84A3,3,0,0,1,16,28.72ZM9.15,5.28A6.12,6.12,0,0,0,4.89,7a6,6,0,0,0-1.84,4.33A6.72,6.72,0,0,0,5,16.13l10.3,10.3a1,1,0,0,0,1.42,0L27.23,15.91A6.25,6.25,0,0,0,29,11.11a6.18,6.18,0,0,0-2.43-4.55,6.37,6.37,0,0,0-8.37.71L16.71,8.8a1,1,0,0,1-1.42,0l-1.7-1.7a6.28,6.28,0,0,0-4.4-1.82Z"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
{:else}
|
||||
<svg
|
||||
viewBox="0 0 24 24"
|
||||
class="{className}">
|
||||
>
|
||||
<g id="info" />
|
||||
<g id="icons">
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M22.2,4.1c2.7,2.7,2.4,6.9-0.4,9.5l-8.4,7.9c-0.8,0.7-2.1,0.7-2.9,0l-8.4-7.9c-2.7-2.6-3-6.8-0.4-9.5 C4.6,1.4,9.2,1.3,12,4C14.8,1.3,19.4,1.4,22.2,4.1z"
|
||||
id="like"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
{/if}
|
||||
|
||||
<style lang="scss">
|
||||
</style>
|
@ -5,83 +5,40 @@
|
||||
import { mainStore } from "@/utils/store";
|
||||
import { chromeUrl } from "@/utils/chrome-misc";
|
||||
import { extrenalNavigate } from "@/utils/chrome-misc";
|
||||
import LikeIcon from '@/components/LikeIcon.svelte';
|
||||
|
||||
let loader;
|
||||
|
||||
export let notif: Notification;
|
||||
</script>
|
||||
|
||||
{#if notif.action === "vote"}
|
||||
{@const url = notif.post.url}
|
||||
{#if notif.eventType === "vote"}
|
||||
{@const url = notif.meta.url}
|
||||
{@const length = url.length}
|
||||
{@const shortUrl = url.slice(0, 10) + "..." + url.slice(length - 10, length)}
|
||||
{@const finalUrl = length > 24 ? shortUrl : url}
|
||||
<div class="flex flex-row notifBody">
|
||||
<ImgLoader bind:this={loader} source="{notif.image} ">
|
||||
<img
|
||||
class="notificationImage"
|
||||
on:load={() => loader.onLoad()}
|
||||
on:error={() => loader.onError()}
|
||||
style={$mainStore.settings.theme === "light" ? "filter: invert(0.9);" : ""}
|
||||
slot="img"
|
||||
src={notif.image}
|
||||
alt="preview"
|
||||
/>
|
||||
<svg
|
||||
class="notificationImage"
|
||||
style={$mainStore.settings.theme === "light" ? "filter: invert(0.9);" : ""}
|
||||
slot="error"
|
||||
viewBox="0 0 512 512"
|
||||
><g
|
||||
><polygon
|
||||
points="40,38.999 40,468.998 215,293.998 270,348.998 360,258.998 470,358.998 470,38.999 "
|
||||
style="fill:#EFF3F6;"
|
||||
/>
|
||||
<g><circle cx="150" cy="158.999" r="40" style="fill:#FCD884;" /></g><g
|
||||
><polygon
|
||||
points="470,358.998 470,468.998 385,468.998 385,463.998 270,348.998 360,258.998 "
|
||||
style="fill:#70993F;"
|
||||
/></g
|
||||
><g><polygon points="385,463.998 385,468.998 40,468.998 215,293.998 270,348.998" style="fill:#80AF52;" /></g
|
||||
></g
|
||||
><g /></svg
|
||||
>
|
||||
</ImgLoader>
|
||||
<LikeIcon solid={true} className={'w-9 mx-auto p-4'} />
|
||||
<div class="ml-4 text-left" style="width: 97%">
|
||||
<p class="text-xs text-gray-200 my-0 mt-1">
|
||||
{#if notif.like}
|
||||
<svg class="w-4 like-dislike" viewBox="0 0 24 24">
|
||||
<path
|
||||
fill="#fff"
|
||||
d="M12,3.172L5.586,9.586c-0.781,0.781-0.781,2.047,0,2.828s2.047,0.781,2.828,0L10,10.828v7.242c0,1.104,0.895,2,2,2 c1.104,0,2-0.896,2-2v-7.242l1.586,1.586C15.977,12.805,16.488,13,17,13s1.023-0.195,1.414-0.586c0.781-0.781,0.781-2.047,0-2.828 L12,3.172z"
|
||||
/>
|
||||
</svg>
|
||||
{:else}
|
||||
<svg class="w-4 down like-dislike" viewBox="0 0 24 24">
|
||||
<path
|
||||
fill="#fff"
|
||||
d="M12,3.172L5.586,9.586c-0.781,0.781-0.781,2.047,0,2.828s2.047,0.781,2.828,0L10,10.828v7.242c0,1.104,0.895,2,2,2 c1.104,0,2-0.896,2-2v-7.242l1.586,1.586C15.977,12.805,16.488,13,17,13s1.023-0.195,1.414-0.586c0.781-0.781,0.781-2.047,0-2.828 L12,3.172z"
|
||||
/>
|
||||
</svg>
|
||||
{/if}
|
||||
by
|
||||
{#if notif?.notifications?.length > 1}
|
||||
{notif?.notifications[0].VoterHandle}
|
||||
{#if notif.notifications.length - 1 > 0}
|
||||
<span class="opacity-60"> and {notif.notifications.length - 1} more</span>
|
||||
{#if notif?.senders?.length > 1}
|
||||
{notif?.senders[0].handle}
|
||||
{#if notif.senders.length - 1 > 0}
|
||||
<span class="opacity-60"> and {notif.senders.length - 1} more</span>
|
||||
{/if}
|
||||
{:else}
|
||||
{notif.voter.length > 12 ? notif.voter.slice(0, 12) + "..." : notif.voter}
|
||||
{notif.senders[0].handle.length > 12 ? notif.senders[0].handle.slice(0, 12) + "..." : notif.senders[0].handle}
|
||||
{/if}
|
||||
</p>
|
||||
<p class="text-xs text-gray-200 my-0 mt-1">
|
||||
<span
|
||||
on:click={() => extrenalNavigate(`https://yup-live.pages.dev/post/${notif.postid}`)}
|
||||
on:click={() => extrenalNavigate(`https://yup-live.pages.dev/post/${notif.meta.postid}`)}
|
||||
aria-hidden
|
||||
class="text-blue-200 interactive-svg">{finalUrl}</span
|
||||
>
|
||||
</p>
|
||||
<p class="text-xs text-gray-200 my-0 my-1 text-right mr-2">
|
||||
<p class="text-xs text-gray-200 my-1 text-right mr-2">
|
||||
<svg class="w-3 inline" viewBox="0 0 20 20"
|
||||
><path
|
||||
fill="#fff"
|
||||
@ -92,14 +49,14 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{:else if notif.action === "reward"}
|
||||
{:else if notif.eventType === "reward"}
|
||||
<div class="flex flex-row notifBody">
|
||||
<img class="notificationImage" src={chromeUrl("src/assets/res/reward_optimized.png")} alt="reward" />
|
||||
<div class="ml-4 text-left" style="width: 97%">
|
||||
<p class="text-xs text-gray-200 my-0 mt-1">
|
||||
You were alocated a future reward of {notif?.quantity ?? "unknown"} amount of YUP.
|
||||
You were alocated a future reward of {notif?.meta.quantity ?? "unknown"} amount of YUP.
|
||||
</p>
|
||||
<p class="text-xs text-gray-500 my-0 my-1 text-right mr-2">
|
||||
<p class="text-xs text-gray-500 my-1 text-right mr-2">
|
||||
<svg class="w-3 inline" viewBox="0 0 20 20"
|
||||
><path
|
||||
fill="#fff"
|
||||
@ -110,16 +67,18 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{:else if ["follow", "unfollow"].includes(notif.action)}
|
||||
<div class="flex flex-row notifBody">
|
||||
<ImgLoader bind:this={loader} source="{notif?.EVMRecipient?.avatar} ">
|
||||
{:else if ["follow"].includes(notif.eventType)}
|
||||
<div class="flex flex-col notifBody">
|
||||
{#each notif.senders as sender}
|
||||
<div class="flex flex-row items-center">
|
||||
<ImgLoader bind:this={loader} source="{sender?.avatar} ">
|
||||
<img
|
||||
class="notificationImage"
|
||||
on:load={() => loader.onLoad()}
|
||||
on:error={() => loader.onError()}
|
||||
style={$mainStore.settings.theme === "light" ? "filter: invert(0.9);" : ""}
|
||||
slot="img"
|
||||
src={notif.image}
|
||||
src={sender.avatar}
|
||||
alt="preview"
|
||||
/>
|
||||
<svg
|
||||
@ -146,12 +105,15 @@
|
||||
<p
|
||||
aria-hidden
|
||||
class="text-xs text-gray-200 my-0 mt-1"
|
||||
on:click={() => extrenalNavigate(`https://yup-live.pages.dev/web3-profile/${notif.EVMRecipient?.address}`)}
|
||||
on:click={() => extrenalNavigate(`https://yup-live.pages.dev/web3-profile/${sender?._id}`)}
|
||||
>
|
||||
<b>{notif?.EVMRecipient?.handle || `${notif.EVMRecipient?.address?.slice(0, 6)}...`}</b>
|
||||
{notif.action === "follow" ? "followed" : "unfollowed"} you.
|
||||
<b>{sender?.handle || `${sender?._id?.slice(0, 6)}...`}</b>
|
||||
followed you.
|
||||
</p>
|
||||
<p class="text-xs text-gray-200 my-0 my-1 text-right mr-2">
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
<p class="text-xs text-gray-200 my-1 text-right mr-2">
|
||||
<svg class="w-3 inline" viewBox="0 0 20 20"
|
||||
><path
|
||||
fill="#fff"
|
||||
@ -161,12 +123,11 @@
|
||||
{timeSince(new Date(notif.createdAt))}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{:else}
|
||||
<div class="flex flex-row items-center notifBody">
|
||||
<div class="ml-4 text-left" style="width: 97%">
|
||||
<p class="text-xs text-gray-200 my-0 mt-1">{notif?.message ?? "unknown notification type"}</p>
|
||||
<p class="text-xs text-gray-500 my-0 my-1 text-right mr-2">
|
||||
<p class="text-xs text-gray-200 my-0 mt-1">{notif?.meta?.message ?? notif?.message ?? "unknown notification type"}</p>
|
||||
<p class="text-xs text-gray-500 my-1 text-right mr-2">
|
||||
<svg class="w-3 inline" viewBox="0 0 20 20"
|
||||
><path
|
||||
fill="#fff"
|
||||
@ -195,8 +156,4 @@
|
||||
border: 1px solid rgba(0, 0, 0, 0.938);
|
||||
}
|
||||
|
||||
.like-dislike {
|
||||
position: relative;
|
||||
top: 0.2rem;
|
||||
}
|
||||
</style>
|
||||
|
@ -7,25 +7,27 @@
|
||||
import { alertStore } from '@/utils/store';
|
||||
import { API_BASE } from '@/constants/config';
|
||||
import { executeVote } from '@/utils/votes';
|
||||
import LikeIcon from '@/components/LikeIcon.svelte';
|
||||
|
||||
|
||||
export let url = ''
|
||||
export let disabled = false
|
||||
let loading = true
|
||||
const defaultUserVote = {
|
||||
rating: 0,
|
||||
like: null,
|
||||
rating: 1,
|
||||
like: true,
|
||||
_id: null
|
||||
}
|
||||
let userVote = defaultUserVote
|
||||
let saveUserVote = defaultUserVote
|
||||
let positiveWeight = 0
|
||||
let negativeWeight = 0
|
||||
let savePositiveWeight = 0
|
||||
let saveNegativeWeight = 0
|
||||
let timer = 0
|
||||
let doingVote = false
|
||||
// let positiveWeight = 0
|
||||
// let negativeWeight = 0
|
||||
// let savePositiveWeight = 0
|
||||
// let saveNegativeWeight = 0
|
||||
// let timer = 0
|
||||
let doingLike = false
|
||||
let numLikes = 0
|
||||
let post = null
|
||||
let delLoading = false
|
||||
|
||||
|
||||
const getPostIntial = async (onlyPost = false) => {
|
||||
@ -33,10 +35,7 @@
|
||||
if(!post) {
|
||||
loading = false
|
||||
} else {
|
||||
positiveWeight = Math.trunc(post.rawPositiveWeight ?? 0 as number)
|
||||
negativeWeight = Math.trunc(post.rawNegativeWeight ?? 0 as number)
|
||||
savePositiveWeight = positiveWeight
|
||||
saveNegativeWeight = negativeWeight
|
||||
numLikes = post.rating?.overall?.ratingCount ?? 0
|
||||
if(!onlyPost) {
|
||||
const has = (await hasVote(post._id.postid, $mainStore.user.auth.userId))?.[0] ?? null
|
||||
|
||||
@ -67,88 +66,117 @@
|
||||
})
|
||||
|
||||
|
||||
const doVote = (type = true) => {
|
||||
const doLike = async () => {
|
||||
if(disabled) {
|
||||
$alertStore?.show('You shall not pass', 'error')
|
||||
return
|
||||
}
|
||||
if(timer && !doingVote) {
|
||||
clearTimeout(timer)
|
||||
}
|
||||
let noVoteAlert = false
|
||||
if(!doingVote) {
|
||||
const lastRating = userVote?.rating ?? 1
|
||||
let sameType = true
|
||||
if(type !== userVote?.like && userVote._id !== null) {
|
||||
userVote.rating = 0
|
||||
sameType = false
|
||||
}
|
||||
if(type && userVote?.rating < 3 || !type && userVote?.rating < 2) {
|
||||
userVote.rating += 1
|
||||
}
|
||||
if(userVote?.rating === lastRating && userVote && sameType) {
|
||||
$alertStore?.show('You already gave maximum rating.', 'warning')
|
||||
noVoteAlert = true
|
||||
} else {
|
||||
if(userVote.like !== type && userVote._id !== null) {
|
||||
if(type) {
|
||||
negativeWeight -= $mainStore.user.profile.yup.weight * (userVote.rating + lastRating - 1)
|
||||
userVote.rating = 1
|
||||
positiveWeight += $mainStore.user.profile.yup.weight * userVote.rating
|
||||
} else {
|
||||
positiveWeight -= $mainStore.user.profile.yup.weight * (userVote.rating + lastRating - 1)
|
||||
userVote.rating = 1
|
||||
negativeWeight += $mainStore.user.profile.yup.weight * userVote.rating
|
||||
}
|
||||
} else {
|
||||
if(type) {
|
||||
positiveWeight += $mainStore.user.profile.yup.weight * (userVote.rating - lastRating)
|
||||
} else {
|
||||
negativeWeight += $mainStore.user.profile.yup.weight * (userVote.rating - lastRating)
|
||||
}
|
||||
}
|
||||
userVote.like = type
|
||||
}
|
||||
timer = setTimeout(async () => {
|
||||
doingVote = true
|
||||
if(!doingLike) {
|
||||
let reqVote
|
||||
doingLike = true
|
||||
try {
|
||||
reqVote = await executeVote({
|
||||
post,
|
||||
userVote,
|
||||
userVote:defaultUserVote,
|
||||
$mainStore,
|
||||
$alertStore,
|
||||
url,
|
||||
noVoteAlert
|
||||
url
|
||||
})
|
||||
if(!reqVote) {
|
||||
throw new Error('Vote not executed')
|
||||
}
|
||||
savePositiveWeight = positiveWeight
|
||||
saveNegativeWeight = negativeWeight
|
||||
userVote = reqVote
|
||||
saveUserVote = userVote
|
||||
numLikes += 1
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
positiveWeight = savePositiveWeight
|
||||
negativeWeight = saveNegativeWeight
|
||||
userVote = saveUserVote
|
||||
}
|
||||
if(reqVote) {
|
||||
userVote = reqVote
|
||||
}
|
||||
doingVote = false
|
||||
}, 500) as unknown as number
|
||||
doingLike = false
|
||||
}
|
||||
}
|
||||
|
||||
// const doVote = (type = true) => {
|
||||
// if(disabled) {
|
||||
// $alertStore?.show('You shall not pass', 'error')
|
||||
// return
|
||||
// }
|
||||
// if(timer && !doingVote) {
|
||||
// clearTimeout(timer)
|
||||
// }
|
||||
// let noVoteAlert = false
|
||||
// if(!doingVote) {
|
||||
// const lastRating = userVote?.rating ?? 1
|
||||
// let sameType = true
|
||||
// if(type !== userVote?.like && userVote._id !== null) {
|
||||
// userVote.rating = 0
|
||||
// sameType = false
|
||||
// }
|
||||
// if(type && userVote?.rating < 3 || !type && userVote?.rating < 2) {
|
||||
// userVote.rating += 1
|
||||
// }
|
||||
// if(userVote?.rating === lastRating && userVote && sameType) {
|
||||
// $alertStore?.show('You already gave maximum rating.', 'warning')
|
||||
// noVoteAlert = true
|
||||
// } else {
|
||||
// if(userVote.like !== type && userVote._id !== null) {
|
||||
// if(type) {
|
||||
// negativeWeight -= $mainStore.user.profile.yup.weight * (userVote.rating + lastRating - 1)
|
||||
// userVote.rating = 1
|
||||
// positiveWeight += $mainStore.user.profile.yup.weight * userVote.rating
|
||||
// } else {
|
||||
// positiveWeight -= $mainStore.user.profile.yup.weight * (userVote.rating + lastRating - 1)
|
||||
// userVote.rating = 1
|
||||
// negativeWeight += $mainStore.user.profile.yup.weight * userVote.rating
|
||||
// }
|
||||
// } else {
|
||||
// if(type) {
|
||||
// positiveWeight += $mainStore.user.profile.yup.weight * (userVote.rating - lastRating)
|
||||
// } else {
|
||||
// negativeWeight += $mainStore.user.profile.yup.weight * (userVote.rating - lastRating)
|
||||
// }
|
||||
// }
|
||||
// userVote.like = type
|
||||
// }
|
||||
// timer = setTimeout(async () => {
|
||||
// doingVote = true
|
||||
// let reqVote
|
||||
// try {
|
||||
// reqVote = await executeVote({
|
||||
// post,
|
||||
// userVote,
|
||||
// $mainStore,
|
||||
// $alertStore,
|
||||
// url,
|
||||
// noVoteAlert
|
||||
// })
|
||||
// if(!reqVote) {
|
||||
// throw new Error('Vote not executed')
|
||||
// }
|
||||
// savePositiveWeight = positiveWeight
|
||||
// saveNegativeWeight = negativeWeight
|
||||
// saveUserVote = userVote
|
||||
// } catch(e) {
|
||||
// console.log(e)
|
||||
// positiveWeight = savePositiveWeight
|
||||
// negativeWeight = saveNegativeWeight
|
||||
// userVote = saveUserVote
|
||||
// }
|
||||
// if(reqVote) {
|
||||
// userVote = reqVote
|
||||
// }
|
||||
// doingVote = false
|
||||
// }, 500) as unknown as number
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
const deleteVote = async () => {
|
||||
if(delLoading) {
|
||||
if(doingLike) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
doingVote = true
|
||||
delLoading = true
|
||||
doingLike = true
|
||||
const reqVote = await fetch(`${API_BASE}/votes/post/${post._id.postid}/voter/${$mainStore.user.auth.userId}`)
|
||||
const voteId = (await reqVote.json())[0]._id.voteid
|
||||
const p1 = fetchWAuth($mainStore, `${API_BASE}/votes/${voteId}`, {
|
||||
@ -160,43 +188,40 @@
|
||||
$alertStore.show('Vote deleted!')
|
||||
} else {
|
||||
$alertStore.show('Vote not deleted due to error try to re-login!', 'error')
|
||||
positiveWeight = savePositiveWeight
|
||||
negativeWeight = saveNegativeWeight
|
||||
userVote = saveUserVote
|
||||
}
|
||||
doingVote = false
|
||||
delLoading = false
|
||||
doingLike = false
|
||||
} catch (error) {
|
||||
positiveWeight = savePositiveWeight
|
||||
negativeWeight = saveNegativeWeight
|
||||
userVote = saveUserVote
|
||||
console.log(error)
|
||||
$alertStore.show('The vote could not be deleted!')
|
||||
delLoading = false
|
||||
doingVote = false
|
||||
doingLike = false
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
{#if userVote._id !== null}
|
||||
<!-- {#if userVote._id !== null}
|
||||
<svg on:click={() => deleteVote()} aria-hidden="true" class="{`w-4 opacity-30 delete interactive-svg ${delLoading ? 'animate-ping' : ''}`}" viewBox="0 0 512 512"><title/><polygon points="337.46 240 312 214.54 256 270.54 200 214.54 174.54 240 230.54 296 174.54 352 200 377.46 256 321.46 312 377.46 337.46 352 281.46 296 337.46 240" style="fill:none"/><polygon points="337.46 240 312 214.54 256 270.54 200 214.54 174.54 240 230.54 296 174.54 352 200 377.46 256 321.46 312 377.46 337.46 352 281.46 296 337.46 240" style="fill:none"/><path d="M64,160,93.74,442.51A24,24,0,0,0,117.61,464H394.39a24,24,0,0,0,23.87-21.49L448,160ZM312,377.46l-56-56-56,56L174.54,352l56-56-56-56L200,214.54l56,56,56-56L337.46,240l-56,56,56,56Z"/><rect height="80" rx="12" ry="12" width="448" x="32" y="48"/></svg>
|
||||
{/if}
|
||||
<div class="{`flex justify-center main-section bt ${doingVote ? 'animate-pulse disabled' : ''}`}" class:disabled>
|
||||
<div on:click={() => doVote(true)} aria-hidden="true" class="{`flex w-1/2 p-4 box h-6 bf mr-4 ${disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer'}`}">
|
||||
{#if userVote.rating && userVote.like}
|
||||
<svg class="w-8" viewBox="0 0 24 24">
|
||||
<path fill="#fff" d="M12,3.172L5.586,9.586c-0.781,0.781-0.781,2.047,0,2.828s2.047,0.781,2.828,0L10,10.828v7.242c0,1.104,0.895,2,2,2 c1.104,0,2-0.896,2-2v-7.242l1.586,1.586C15.977,12.805,16.488,13,17,13s1.023-0.195,1.414-0.586c0.781-0.781,0.781-2.047,0-2.828 L12,3.172z"/>
|
||||
</svg>
|
||||
{/if} -->
|
||||
<div class="{`flex justify-center main-section bt ${doingLike ? 'animate-pulse disabled' : ''}`}" class:disabled>
|
||||
<div on:click={() => {
|
||||
if(userVote?._id) {
|
||||
deleteVote()
|
||||
} else {
|
||||
doLike()
|
||||
}
|
||||
}} aria-hidden="true" class="{`flex w-1/2 p-4 box h-6 bf mr-4 justify-center ${disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer'}`}">
|
||||
{#if userVote?._id}
|
||||
<LikeIcon solid={true} className="w-8 h-8" />
|
||||
{:else}
|
||||
<svg class="w-8" viewBox="0 0 24 24"><g><path fill="#fff" d="M12,21c-1.654,0-3-1.346-3-3v-4.764c-1.143,1.024-3.025,0.979-4.121-0.115c-1.17-1.169-1.17-3.073,0-4.242L12,1.758 l7.121,7.121c1.17,1.169,1.17,3.073,0,4.242c-1.094,1.095-2.979,1.14-4.121,0.115V18C15,19.654,13.654,21,12,21z M11,8.414V18 c0,0.551,0.448,1,1,1s1-0.449,1-1V8.414l3.293,3.293c0.379,0.378,1.035,0.378,1.414,0c0.391-0.391,0.391-1.023,0-1.414L12,4.586 l-5.707,5.707c-0.391,0.391-0.391,1.023,0,1.414c0.379,0.378,1.035,0.378,1.414,0L11,8.414z"/></g>
|
||||
</svg>
|
||||
<LikeIcon solid={false} className="w-8 h-8" />
|
||||
{/if}
|
||||
{#key positiveWeight}
|
||||
<span class="ml-4">{formatNumber(positiveWeight)}</span>
|
||||
{#key numLikes}
|
||||
<span class="ml-4" style="margin-top: 0.2rem">{formatNumber(numLikes)}</span>
|
||||
{/key}
|
||||
</div>
|
||||
<div on:click={() => doVote(false)} aria-hidden="true" class="{`flex w-1/2 p-4 box h-6 bf ${disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer'}`}">
|
||||
<!-- <div on:click={() => doVote(false)} aria-hidden="true" class="{`flex w-1/2 p-4 box h-6 bf ${disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer'}`}">
|
||||
{#if userVote.rating && !userVote.like}
|
||||
<svg class="w-8 down" viewBox="0 0 24 24">
|
||||
<path fill="#fff" d="M12,3.172L5.586,9.586c-0.781,0.781-0.781,2.047,0,2.828s2.047,0.781,2.828,0L10,10.828v7.242c0,1.104,0.895,2,2,2 c1.104,0,2-0.896,2-2v-7.242l1.586,1.586C15.977,12.805,16.488,13,17,13s1.023-0.195,1.414-0.586c0.781-0.781,0.781-2.047,0-2.828 L12,3.172z"/>
|
||||
@ -208,7 +233,7 @@
|
||||
{#key negativeWeight}
|
||||
<span class="ml-4">{formatNumber(negativeWeight)}</span>
|
||||
{/key}
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
<style lang="scss">
|
||||
|
@ -1,11 +1,39 @@
|
||||
<script lang="ts">
|
||||
import Alert from "@/components/Alert.svelte";
|
||||
import LikeIcon from "@/components/LikeIcon.svelte";
|
||||
import '@/overlay/overlay.scss'
|
||||
import { getStore } from "@/utils/storage";
|
||||
import { executeVote, getVotePayload } from "@/utils/votes";
|
||||
import { API_BASE } from '@/constants/config';
|
||||
import { fetchWAuth } from '@/utils/auth'
|
||||
import { hasVote, getPost } from '@/utils/votes';
|
||||
import { onMount } from "svelte";
|
||||
|
||||
let alert
|
||||
let loading = false
|
||||
let hasUserVote = false
|
||||
let postid = null
|
||||
|
||||
const getPostIntial = async (onlyPost = false) => {
|
||||
const store = await getStore()
|
||||
loading = true
|
||||
const post = await getPost(document.location.href)
|
||||
if(!post) {
|
||||
postid = null
|
||||
loading = false
|
||||
} else {
|
||||
postid = post._id.postid
|
||||
if(!onlyPost) {
|
||||
const has = (await hasVote(post._id.postid, store.user.auth.userId))?.[0] ?? null
|
||||
if(has){
|
||||
hasUserVote = true
|
||||
} else {
|
||||
hasUserVote = false
|
||||
}
|
||||
}
|
||||
}
|
||||
loading = false
|
||||
}
|
||||
|
||||
const submitRate = async (type = true) => {
|
||||
if(loading) return
|
||||
@ -19,26 +47,61 @@
|
||||
}))
|
||||
|
||||
if (vote?._id){
|
||||
alert.show(type ? 'Liked' : 'Disliked', 'success')
|
||||
alert.show('Liked!', 'success')
|
||||
hasUserVote = true
|
||||
} else {
|
||||
alert.show('Error submitting', 'error')
|
||||
}
|
||||
loading = false
|
||||
}
|
||||
|
||||
const deleteVote = async () => {
|
||||
if(loading) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
loading = true
|
||||
const store = await getStore()
|
||||
const reqVote = await fetch(`${API_BASE}/votes/post/${postid}/voter/${store.user.auth.userId}`)
|
||||
const voteId = (await reqVote.json())[0]._id.voteid
|
||||
const p1 = fetchWAuth(store, `${API_BASE}/votes/${voteId}`, {
|
||||
method: 'DELETE'
|
||||
})
|
||||
const [req] = await Promise.all([p1])
|
||||
if (req.ok) {
|
||||
await getPostIntial()
|
||||
hasUserVote = false
|
||||
alert.show('Vote deleted!', 'success')
|
||||
} else {
|
||||
alert.show('Vote not deleted due to error try to re-login!', 'error')
|
||||
}
|
||||
loading = false
|
||||
} catch (error) {
|
||||
|
||||
alert.show('The vote could not be deleted!', 'error')
|
||||
loading = false
|
||||
}
|
||||
}
|
||||
|
||||
onMount(async () => {
|
||||
loading = true
|
||||
await getPostIntial()
|
||||
loading = false
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<div class="yup-overlay" >
|
||||
<svg class="{`yup-logo ${loading ? 'yup-rotate': ''}`}" viewBox="0 0 366 366" fill="none" ><path d="M182.911 366C82.1487 366 0 283.851 0 182.911C0 81.9697 82.1487 0 182.911 0C283.672 0 365.821 82.1487 365.821 182.911C365.821 283.672 283.851 366 182.911 366ZM182.911 17.3604C91.6342 17.3604 17.1814 91.6342 17.1814 183.089C17.1814 274.545 91.4553 348.819 182.911 348.819C274.366 348.819 348.64 274.545 348.64 183.089C348.64 91.6342 274.366 17.3604 182.911 17.3604Z" fill="currentColor"></path><path d="M129.218 156.959C105.952 156.959 86.8018 139.241 84.4751 116.69C84.1172 114.185 86.2649 111.858 88.9495 111.858H97.0033C99.5089 111.858 101.657 113.827 102.014 116.332C104.162 129.576 115.616 139.599 129.397 139.599C143.178 139.599 154.633 129.576 156.78 116.332C157.138 113.827 159.286 111.858 161.792 111.858H169.845C172.53 111.858 174.499 114.185 174.32 116.69C171.635 139.241 152.306 156.959 129.218 156.959Z" fill="currentColor"></path><path d="M277.05 148.19H268.997C266.491 148.19 264.343 146.221 263.985 143.715C261.838 130.471 250.383 120.449 236.602 120.449C222.822 120.449 211.367 130.471 209.22 143.715C208.862 146.221 206.714 148.19 204.208 148.19H196.155C193.47 148.19 191.501 145.863 191.68 143.357C194.186 120.807 213.336 103.089 236.424 103.089C259.511 103.089 278.84 120.807 281.167 143.357C281.883 145.863 279.735 148.19 277.05 148.19Z" fill="currentColor"></path><path d="M185.058 306.939C115.616 308.192 58.8818 250.204 58.8818 180.763V178.615C58.8818 176.289 60.8505 174.32 63.1772 174.32H302.464C304.791 174.32 306.76 176.289 306.76 178.615V182.911C306.939 250.562 252.531 305.865 185.058 306.939ZM79.8217 191.68C78.2109 191.68 76.7791 193.112 76.9581 194.723C82.8642 248.057 128.144 289.579 182.91 289.579C237.676 289.579 282.956 248.057 288.862 194.723C289.041 193.112 287.788 191.68 285.999 191.68H79.8217Z" fill="currentColor"></path></svg>
|
||||
<button class="{`yup-btn up ${loading? 'disabled' : ''}`}"
|
||||
on:click={() => submitRate(true)}>
|
||||
<svg class="yup-rate-svg" viewBox="0 0 24 24">
|
||||
<path fill="#fff" d="M12,3.172L5.586,9.586c-0.781,0.781-0.781,2.047,0,2.828s2.047,0.781,2.828,0L10,10.828v7.242c0,1.104,0.895,2,2,2 c1.104,0,2-0.896,2-2v-7.242l1.586,1.586C15.977,12.805,16.488,13,17,13s1.023-0.195,1.414-0.586c0.781-0.781,0.781-2.047,0-2.828 L12,3.172z"/>
|
||||
</svg></button>
|
||||
<button class="{`yup-btn yup-btn-down down ${loading? 'disabled' : ''} `}" on:click={() => submitRate(true)}>
|
||||
<svg class="yup-rate-svg" viewBox="0 0 24 24">
|
||||
<path fill="#fff" d="M12,3.172L5.586,9.586c-0.781,0.781-0.781,2.047,0,2.828s2.047,0.781,2.828,0L10,10.828v7.242c0,1.104,0.895,2,2,2 c1.104,0,2-0.896,2-2v-7.242l1.586,1.586C15.977,12.805,16.488,13,17,13s1.023-0.195,1.414-0.586c0.781-0.781,0.781-2.047,0-2.828 L12,3.172z"/>
|
||||
</svg></button>
|
||||
on:click={() => {
|
||||
if(hasUserVote) {
|
||||
deleteVote()
|
||||
} else {
|
||||
submitRate(false)
|
||||
}
|
||||
}}>
|
||||
<LikeIcon className="yup-rate-svg" solid={hasUserVote} />
|
||||
<Alert bind:this={alert} />
|
||||
</div>
|
||||
|
||||
|
@ -85,7 +85,9 @@
|
||||
|
||||
.yup-rate-svg {
|
||||
display: inline;
|
||||
width: 16px;
|
||||
width: 30px;
|
||||
color: aliceblue;
|
||||
margin-left: -0.9rem;
|
||||
}
|
||||
|
||||
.yup-btn-down {
|
||||
|
@ -87,7 +87,7 @@
|
||||
.entry {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 350px;
|
||||
height: 370px;
|
||||
width: 250px;
|
||||
background-color: #242424;
|
||||
color: aliceblue;
|
||||
@ -115,7 +115,7 @@
|
||||
overflow-x: hidden;
|
||||
margin-top: 2.2rem;
|
||||
height: 100%;
|
||||
width: 270px;
|
||||
width: 250px;
|
||||
}
|
||||
|
||||
.headerMenu, .logo {
|
||||
@ -131,7 +131,7 @@
|
||||
.logo {
|
||||
left: 0rem;
|
||||
top: -0.8rem;
|
||||
width: 250px;
|
||||
width: 270px;
|
||||
box-shadow: inset 3px -3px 6rem 11px #0000005e;
|
||||
border-bottom: 1px solid #d3d9df63;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@
|
||||
</a>
|
||||
</div>
|
||||
<a href="#app" on:click="{() => extrenalNavigate(`${APP_BASE}/login`)}">
|
||||
<svg enable-background="new 0 0 48 48" viewBox="0 0 48 48" class="w-18 svg-fill my-4"><path d="M0.115,30.348c0-7.771,6.303-14.073,14.074-14.073h0.002h14.071V8.051l19.622,15.261l-19.622,15.26v-8.225 H10.458c-3.887,0-7.037,3.152-7.037,7.037c0,0.906,0.186,1.768,0.5,2.564C1.566,37.434,0.115,34.064,0.115,30.348z"/></svg>
|
||||
<svg enable-background="new 0 0 48 48" viewBox="0 0 48 48" class="w-14 svg-fill my-4"><path d="M0.115,30.348c0-7.771,6.303-14.073,14.074-14.073h0.002h14.071V8.051l19.622,15.261l-19.622,15.26v-8.225 H10.458c-3.887,0-7.037,3.152-7.037,7.037c0,0.906,0.186,1.768,0.5,2.564C1.566,37.434,0.115,34.064,0.115,30.348z"/></svg>
|
||||
</a>
|
||||
|
@ -35,13 +35,13 @@
|
||||
|
||||
|
||||
<div class="h-24 leading-6 main-section">
|
||||
<div class="flex">
|
||||
<div class="flex my-2">
|
||||
<div on:click={() => extrenalNavigate(`${APP_BASE}/score/${$mainStore.user.auth.address}`)} aria-hidden class="flex flex-col w-16 mt-1 px-2 py-3 mr-4 link">
|
||||
<span class="text-[0.6rem] mb-2">Score</span><span class="text-[0.95rem] mb-2"
|
||||
<span class="text-[0.6rem] mb-1">Score</span><span class="text-[0.95rem] mb-1"
|
||||
>{$mainStore?.user?.profile?.yupScore?.toFixed(0)}</span
|
||||
><span class="text-[0.7rem]">100<br />MAX</span>
|
||||
</div>
|
||||
<div on:click={() => extrenalNavigate(`${APP_BASE}/profile/${$mainStore.user.auth.userId}`)} aria-hidden class="flex flex-col justify-center mb-2 w-16">
|
||||
<div on:click={() => extrenalNavigate(`${APP_BASE}/profile/${$mainStore.user.auth.userId}`)} aria-hidden class="flex flex-col justify-center mb-1 w-16">
|
||||
<ImgLoader source={avatar} bind:this={loader}>
|
||||
<img
|
||||
style="{ $mainStore.settings.theme === 'light'? 'filter: invert(1);' : '' }"
|
||||
@ -83,7 +83,7 @@
|
||||
{/if}
|
||||
</div>
|
||||
<div on:click={() => extrenalNavigate(`${APP_BASE}/raw-influence/${$mainStore.user.auth.userId}`)} aria-hidden class="flex flex-col w-16 mt-1 ml-4 px-2 py-3 link">
|
||||
<span class="text-[0.6rem] mb-2">Influence</span><span class="text-[0.95rem] mb-2"
|
||||
<span class="text-[0.6rem] mb-1">Influence</span><span class="text-[0.95rem] mb-1"
|
||||
>{$mainStore?.user?.profile?.yup?.weight}</span
|
||||
><span class="text-[0.7rem]">10<br />MAX</span>
|
||||
</div>
|
||||
@ -92,7 +92,7 @@
|
||||
</div>
|
||||
<div class="address text-[0.8rem]">
|
||||
<span
|
||||
class="mb-2"
|
||||
class="mb-1"
|
||||
>Address: {truncteEVMAddr($mainStore?.user?.auth?.address)}
|
||||
<svg on:click={() => copyAddress()} aria-hidden="true" class="w-4 interactive-svg" viewBox="0 0 24 24"
|
||||
><path
|
||||
@ -125,6 +125,7 @@
|
||||
overflow: hidden;
|
||||
margin-left: -2rem;
|
||||
margin-bottom: 0.2rem;
|
||||
margin-top: 1.1rem;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
@ -139,6 +140,7 @@
|
||||
transition: all 0.4s ease-in-out;
|
||||
border-radius: 6px;
|
||||
background-color: #00000027;
|
||||
line-height: 1.1rem;
|
||||
}
|
||||
|
||||
.avatar:hover,
|
||||
|
@ -16,7 +16,7 @@ let type = null
|
||||
|
||||
onMount(async () => {
|
||||
notifs = await getNotifications({
|
||||
userId: $mainStore.user.auth.userId,
|
||||
address: $mainStore.user.auth.address.toLowerCase(),
|
||||
type,
|
||||
skip: '0',
|
||||
limit: '15'
|
||||
@ -40,7 +40,7 @@ const changeNotifsType = async (t : string[] | null) => {
|
||||
type = t
|
||||
loading = true;
|
||||
notifs = await getNotifications({
|
||||
userId: $mainStore.user.auth.userId,
|
||||
address: $mainStore.user.auth.address.toLowerCase(),
|
||||
type: t,
|
||||
skip: '0',
|
||||
limit: '15'
|
||||
@ -57,10 +57,10 @@ const changeNotifsType = async (t : string[] | null) => {
|
||||
{#await pastNotifsPromise}
|
||||
|
||||
{:then pastNotifs}
|
||||
{#if (pastNotifs.notifs.reverse() ?? []).length > 0}
|
||||
{#if (pastNotifs.notifs ?? []).length > 0}
|
||||
{noNotifications = true}
|
||||
{:else}
|
||||
{#each pastNotifs.notifs.reverse() as notif}
|
||||
{#each pastNotifs.notifs as notif}
|
||||
<Notification {notif} />
|
||||
{/each}
|
||||
{/if}
|
||||
@ -71,7 +71,7 @@ const changeNotifsType = async (t : string[] | null) => {
|
||||
<span on:click={() => changeNotifsType(['reward'])} aria-hidden class="text-blue-200 interactive-svg interactive-svg text-blue-200 interactive-svg">Rewards</span>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
{#each notifs.reverse() as notif}
|
||||
{#each notifs as notif}
|
||||
<Notification {notif} />
|
||||
{/each}
|
||||
</div>
|
||||
|
@ -1,3 +1,6 @@
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
::-webkit-scrollbar{
|
||||
height: 7px;
|
||||
width: 7px;
|
||||
@ -84,6 +87,7 @@ a:hover {
|
||||
background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
animation: rainbow-text-simple-animation-rev 0.75s ease forwards;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
.gradient-text:hover {
|
||||
|
@ -3,15 +3,15 @@ import type { StorageType } from '@/utils/storage'
|
||||
import { fetchWAuth } from '@/utils/auth'
|
||||
import { wait } from '@/utils/time'
|
||||
|
||||
export const notificationTypes = ['vote', 'reward', 'all-followers', 'follow', 'unfollow']
|
||||
export const notificationTypes = ['reward', 'vote', 'follow', 'repost', 'comment', 'mention']
|
||||
|
||||
export const getNotifications = async (
|
||||
{ type, limit, skip, userId } = { type: null, limit: '10', skip: '0' } as { userId: string, type: null | string[]; limit?: string; skip?: string }
|
||||
{ type, limit, skip, address } = { type: null, limit: '10', skip: '0' } as { address: string, type: null | string[]; limit?: string; skip?: string }
|
||||
) => {
|
||||
let req
|
||||
let queryType = ''
|
||||
if (type) {
|
||||
queryType = `&inType=${type.join(',')}`
|
||||
queryType = `&eventTypes=${type.join(',')}`
|
||||
}
|
||||
if (!limit) {
|
||||
limit = '10'
|
||||
@ -21,7 +21,7 @@ export const getNotifications = async (
|
||||
skip = '0'
|
||||
}
|
||||
|
||||
req = await fetch(`${API_BASE}/notifications/${userId}?skip=${skip}&limit=${limit}${queryType}`, {
|
||||
req = await fetch(`${API_BASE}/web3-notifications/${address}?skip=${skip}&limit=${limit}${queryType}`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=utf-8'
|
||||
@ -35,6 +35,7 @@ export const getNotifications = async (
|
||||
return data
|
||||
}
|
||||
|
||||
|
||||
export const clearNotifications = async (store: StorageType) => {
|
||||
let req
|
||||
let failed = true
|
||||
@ -42,53 +43,24 @@ export const clearNotifications = async (store: StorageType) => {
|
||||
do {
|
||||
try {
|
||||
failed = false
|
||||
req = await fetchWAuth(store, `${API_BASE}/notifications/${store.user.auth.userId}`)
|
||||
} catch {
|
||||
failed = true
|
||||
await console.log(
|
||||
`[ Account: ${store.user.auth.userId} ] Failed fetch on 'notifications' (probably 💩 network) Recursive retry in 2.5s`
|
||||
)
|
||||
retry++
|
||||
if (retry > 3) {
|
||||
await console.log(`[ Account: ${store.user.auth.userId} ] Failed fetch on 'notifications' (probably 💩 network)`)
|
||||
return
|
||||
}
|
||||
await wait(2500)
|
||||
}
|
||||
} while (failed)
|
||||
|
||||
retry = 0
|
||||
|
||||
if (req.ok) {
|
||||
const notif = await req.json()
|
||||
|
||||
for (const n of notif) {
|
||||
if (!n.seen) {
|
||||
const data = {
|
||||
id: n['_id']
|
||||
}
|
||||
failed = true
|
||||
do {
|
||||
try {
|
||||
failed = false
|
||||
await fetchWAuth(store, `${API_BASE}/notifications/seen`, {
|
||||
req = await fetchWAuth(store, `${API_BASE}/web3-notifications/seen/all`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify(data)
|
||||
})
|
||||
} catch {
|
||||
failed = true
|
||||
await console.log(
|
||||
`[ Account: ${store.user.auth.userId} ] Failed to mark notification ${data.id} as seen (probably 💩 network) retry in 2.5 seconds.`
|
||||
)
|
||||
retry++
|
||||
if (retry > 3) {
|
||||
await console.log(`[ Account: ${store.user.auth.userId} ] Failed fetch on 'notifications seen set' (probably 💩 network)`)
|
||||
return
|
||||
}
|
||||
await wait(2500)
|
||||
await wait(1500)
|
||||
}
|
||||
} while (failed)
|
||||
|
||||
if (!req) {
|
||||
return
|
||||
}
|
||||
if (!req.ok) {
|
||||
return
|
||||
}
|
||||
}
|
||||
return await req.json()
|
||||
}
|
@ -14,32 +14,23 @@ export interface Vote {
|
||||
|
||||
export interface Notification {
|
||||
_id: string
|
||||
action: string
|
||||
image: string
|
||||
invoker: {
|
||||
username: string
|
||||
eosname: string
|
||||
}
|
||||
like: boolean
|
||||
post: {
|
||||
postid: string
|
||||
url: string
|
||||
title: string
|
||||
tag: string
|
||||
}
|
||||
EVMRecipient: {
|
||||
handle: string
|
||||
address: string
|
||||
avatar: string
|
||||
}
|
||||
notifications: Notification[]
|
||||
seen: boolean
|
||||
postid: string
|
||||
rating: number
|
||||
recipient: string
|
||||
voter: string
|
||||
createdAt: string
|
||||
quantity?: string
|
||||
eventType: string
|
||||
count: number
|
||||
senderYupScore: number
|
||||
platform: string
|
||||
meta: {
|
||||
like?: boolean
|
||||
quantity?: number
|
||||
postid?: string
|
||||
url?: string
|
||||
message?: string
|
||||
VoterHandle: string
|
||||
}
|
||||
image: string
|
||||
createdAt: string
|
||||
senders: {
|
||||
_id: string
|
||||
handle: string
|
||||
avatar: string
|
||||
}[]
|
||||
message?: string
|
||||
}
|
||||
|
@ -1,9 +1,8 @@
|
||||
import { vitePreprocess } from "@sveltejs/vite-plugin-svelte";
|
||||
import sveltePreprocess from "svelte-preprocess";
|
||||
import { windi } from 'svelte-windicss-preprocess';
|
||||
|
||||
|
||||
export default {
|
||||
// Consult https://github.com/sveltejs/svelte-preprocess
|
||||
// for more information about preprocessors
|
||||
preprocess: [windi({}), sveltePreprocess()]
|
||||
preprocess: [sveltePreprocess(), vitePreprocess({})],
|
||||
};
|
||||
|
12
tailwind.config.cjs
Normal file
12
tailwind.config.cjs
Normal file
@ -0,0 +1,12 @@
|
||||
/** @type {import('tailwindcss').Config}*/
|
||||
const config = {
|
||||
content: ["./src/**/*.{html,js,svelte,ts}"],
|
||||
|
||||
theme: {
|
||||
extend: {},
|
||||
},
|
||||
|
||||
plugins: [],
|
||||
};
|
||||
|
||||
module.exports = config;
|
403
yarn.lock
403
yarn.lock
@ -2,6 +2,11 @@
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@alloc/quick-lru@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30"
|
||||
integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
|
||||
|
||||
"@ampproject/remapping@^2.1.0":
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
|
||||
@ -348,11 +353,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091"
|
||||
integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==
|
||||
|
||||
"@iconify/json@1.1.426":
|
||||
version "1.1.426"
|
||||
resolved "https://registry.yarnpkg.com/@iconify/json/-/json-1.1.426.tgz#55b68e59ef627a6beaf804167ed799fdde60932c"
|
||||
integrity sha512-hY0VC4JAnHaXdHkUzNuoSGKS493TN+tu6BVFmT/olNVZgl2ovwiOjNhpEhBHEcOb9DRV6cV5kZH9YeNzMlVTog==
|
||||
|
||||
"@jridgewell/gen-mapping@^0.1.0":
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
|
||||
@ -385,6 +385,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
|
||||
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
||||
|
||||
"@jridgewell/sourcemap-codec@^1.4.15":
|
||||
version "1.4.15"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
||||
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
||||
|
||||
"@jridgewell/trace-mapping@0.3.9":
|
||||
version "0.3.9"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
|
||||
@ -430,17 +435,25 @@
|
||||
estree-walker "^2.0.1"
|
||||
picomatch "^2.2.2"
|
||||
|
||||
"@sveltejs/vite-plugin-svelte@^2.0.2":
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz#943090239a31b2e0546837ff7649b73aeb46614c"
|
||||
integrity sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==
|
||||
"@sveltejs/vite-plugin-svelte-inspector@^1.0.3":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-1.0.3.tgz#fdbf80b43bfaa20deaa5ff6d0676351aa9aecbcc"
|
||||
integrity sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==
|
||||
dependencies:
|
||||
debug "^4.3.4"
|
||||
deepmerge "^4.2.2"
|
||||
|
||||
"@sveltejs/vite-plugin-svelte@^2.4.2":
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.4.2.tgz#04f9fb698853a6a681a2a7d32016487316c30917"
|
||||
integrity sha512-ePfcC48ftMKhkT0OFGdOyycYKnnkT6i/buzey+vHRTR/JpQvuPzzhf1PtKqCDQfJRgoPSN2vscXs6gLigx/zGw==
|
||||
dependencies:
|
||||
"@sveltejs/vite-plugin-svelte-inspector" "^1.0.3"
|
||||
debug "^4.3.4"
|
||||
deepmerge "^4.3.1"
|
||||
kleur "^4.1.5"
|
||||
magic-string "^0.27.0"
|
||||
svelte-hmr "^0.15.1"
|
||||
vitefu "^0.2.3"
|
||||
magic-string "^0.30.0"
|
||||
svelte-hmr "^0.15.2"
|
||||
vitefu "^0.2.4"
|
||||
|
||||
"@tsconfig/node10@^1.0.7":
|
||||
version "1.0.9"
|
||||
@ -542,6 +555,11 @@ ansi-styles@^3.2.1:
|
||||
dependencies:
|
||||
color-convert "^1.9.0"
|
||||
|
||||
any-promise@^1.0.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
|
||||
integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
|
||||
|
||||
anymatch@~3.1.2:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
|
||||
@ -584,11 +602,28 @@ arg@^4.1.0:
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
||||
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
||||
|
||||
arg@^5.0.2:
|
||||
version "5.0.2"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
|
||||
integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
|
||||
|
||||
async@^3.2.3:
|
||||
version "3.2.4"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
|
||||
integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
|
||||
|
||||
autoprefixer@^10.4.14:
|
||||
version "10.4.14"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d"
|
||||
integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==
|
||||
dependencies:
|
||||
browserslist "^4.21.5"
|
||||
caniuse-lite "^1.0.30001464"
|
||||
fraction.js "^4.2.0"
|
||||
normalize-range "^0.1.2"
|
||||
picocolors "^1.0.0"
|
||||
postcss-value-parser "^4.2.0"
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||
@ -650,6 +685,16 @@ browserslist@^4.21.3:
|
||||
node-releases "^2.0.8"
|
||||
update-browserslist-db "^1.0.10"
|
||||
|
||||
browserslist@^4.21.5:
|
||||
version "4.21.9"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635"
|
||||
integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001503"
|
||||
electron-to-chromium "^1.4.431"
|
||||
node-releases "^2.0.12"
|
||||
update-browserslist-db "^1.0.11"
|
||||
|
||||
buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@^0.2.5:
|
||||
version "0.2.13"
|
||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
@ -668,11 +713,21 @@ callsites@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
||||
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
|
||||
|
||||
camelcase-css@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
|
||||
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
|
||||
|
||||
caniuse-lite@^1.0.30001449:
|
||||
version "1.0.30001451"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001451.tgz#2e197c698fc1373d63e1406d6607ea4617c613f1"
|
||||
integrity sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w==
|
||||
|
||||
caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001503:
|
||||
version "1.0.30001517"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001517.tgz#90fabae294215c3495807eb24fc809e11dc2f0a8"
|
||||
integrity sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==
|
||||
|
||||
chalk@^2.0.0:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||
@ -707,7 +762,7 @@ cheerio@^1.0.0-rc.10:
|
||||
parse5 "^7.0.0"
|
||||
parse5-htmlparser2-tree-adapter "^7.0.0"
|
||||
|
||||
"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.1:
|
||||
"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.1, chokidar@^3.5.3:
|
||||
version "3.5.3"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
|
||||
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
|
||||
@ -734,6 +789,11 @@ color-name@1.1.3:
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
||||
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
|
||||
|
||||
commander@^4.0.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
|
||||
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
|
||||
|
||||
compress-commons@^4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d"
|
||||
@ -803,6 +863,11 @@ css-what@^6.1.0:
|
||||
resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
|
||||
integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
|
||||
|
||||
cssesc@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
|
||||
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
|
||||
|
||||
debug@^2.0.0:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
@ -817,21 +882,31 @@ debug@^4.1.0, debug@^4.3.3, debug@^4.3.4:
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
deepmerge@^4.2.2:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b"
|
||||
integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==
|
||||
deepmerge@^4.3.1:
|
||||
version "4.3.1"
|
||||
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
|
||||
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
|
||||
|
||||
detect-indent@^6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
|
||||
integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
|
||||
|
||||
didyoumean@^1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
|
||||
integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
||||
|
||||
dlv@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
|
||||
integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
|
||||
|
||||
dom-serializer@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
|
||||
@ -867,6 +942,11 @@ electron-to-chromium@^1.4.284:
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.293.tgz#eaea755ad37a0f1759874a8597b33be62def2781"
|
||||
integrity sha512-h7vBlhC83NsgC9UO3LOZx91xgstIrHk5iqMbZgnEArL5rHTM6HfsUZhnwb3oRnNetXM1741kB9SO7x9jLshz5A==
|
||||
|
||||
electron-to-chromium@^1.4.431:
|
||||
version "1.4.466"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.466.tgz#17193d70f203da3d52a89c653b8d89f47a51d79d"
|
||||
integrity sha512-TSkRvbXRXD8BwhcGlZXDsbI2lRoP8dvqR7LQnqQNk9KxXBc4tG8O+rTuXgTyIpEdiqSGKEBSqrxdqEntnjNncA==
|
||||
|
||||
end-of-stream@^1.4.1:
|
||||
version "1.4.4"
|
||||
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
||||
@ -943,6 +1023,17 @@ fast-glob@^3.2.11, fast-glob@^3.2.7:
|
||||
merge2 "^1.3.0"
|
||||
micromatch "^4.0.4"
|
||||
|
||||
fast-glob@^3.2.12:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0"
|
||||
integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==
|
||||
dependencies:
|
||||
"@nodelib/fs.stat" "^2.0.2"
|
||||
"@nodelib/fs.walk" "^1.2.3"
|
||||
glob-parent "^5.1.2"
|
||||
merge2 "^1.3.0"
|
||||
micromatch "^4.0.4"
|
||||
|
||||
fastq@^1.6.0:
|
||||
version "1.15.0"
|
||||
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
|
||||
@ -957,6 +1048,11 @@ fill-range@^7.0.1:
|
||||
dependencies:
|
||||
to-regex-range "^5.0.1"
|
||||
|
||||
fraction.js@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
|
||||
integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
|
||||
|
||||
fs-constants@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
|
||||
@ -998,6 +1094,25 @@ glob-parent@^5.1.2, glob-parent@~5.1.2:
|
||||
dependencies:
|
||||
is-glob "^4.0.1"
|
||||
|
||||
glob-parent@^6.0.2:
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
|
||||
integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
|
||||
dependencies:
|
||||
is-glob "^4.0.3"
|
||||
|
||||
glob@7.1.6:
|
||||
version "7.1.6"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
|
||||
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^3.0.4"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^7.1.3, glob@^7.1.4:
|
||||
version "7.2.3"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
|
||||
@ -1080,6 +1195,13 @@ is-binary-path@~2.1.0:
|
||||
dependencies:
|
||||
binary-extensions "^2.0.0"
|
||||
|
||||
is-core-module@^2.11.0:
|
||||
version "2.12.1"
|
||||
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
|
||||
integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
|
||||
dependencies:
|
||||
has "^1.0.3"
|
||||
|
||||
is-core-module@^2.9.0:
|
||||
version "2.11.0"
|
||||
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
|
||||
@ -1092,7 +1214,7 @@ is-extglob@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
||||
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
|
||||
|
||||
is-glob@^4.0.1, is-glob@~4.0.1:
|
||||
is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
|
||||
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
|
||||
@ -1109,6 +1231,11 @@ isarray@~1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
||||
|
||||
jiti@^1.18.2:
|
||||
version "1.19.1"
|
||||
resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.19.1.tgz#fa99e4b76a23053e0e7cde098efe1704a14c16f1"
|
||||
integrity sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==
|
||||
|
||||
js-tokens@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
@ -1150,6 +1277,16 @@ lazystream@^1.0.0:
|
||||
dependencies:
|
||||
readable-stream "^2.0.5"
|
||||
|
||||
lilconfig@^2.0.5, lilconfig@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
|
||||
integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
|
||||
|
||||
lines-and-columns@^1.1.6:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
|
||||
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
|
||||
|
||||
lodash.defaults@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
|
||||
@ -1196,6 +1333,13 @@ magic-string@^0.27.0:
|
||||
dependencies:
|
||||
"@jridgewell/sourcemap-codec" "^1.4.13"
|
||||
|
||||
magic-string@^0.30.0:
|
||||
version "0.30.1"
|
||||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.1.tgz#ce5cd4b0a81a5d032bd69aab4522299b2166284d"
|
||||
integrity sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==
|
||||
dependencies:
|
||||
"@jridgewell/sourcemap-codec" "^1.4.15"
|
||||
|
||||
make-error@^1.1.1:
|
||||
version "1.3.6"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||
@ -1206,7 +1350,7 @@ merge2@^1.3.0:
|
||||
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
|
||||
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
|
||||
|
||||
micromatch@^4.0.4:
|
||||
micromatch@^4.0.4, micromatch@^4.0.5:
|
||||
version "4.0.5"
|
||||
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
|
||||
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
|
||||
@ -1219,7 +1363,7 @@ min-indent@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
|
||||
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
|
||||
|
||||
minimatch@^3.1.1:
|
||||
minimatch@^3.0.4, minimatch@^3.1.1:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
|
||||
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
||||
@ -1260,11 +1404,30 @@ ms@2.1.2:
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||
|
||||
mz@^2.7.0:
|
||||
version "2.7.0"
|
||||
resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
|
||||
integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
|
||||
dependencies:
|
||||
any-promise "^1.0.0"
|
||||
object-assign "^4.0.1"
|
||||
thenify-all "^1.0.0"
|
||||
|
||||
nanoid@^3.3.4:
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
|
||||
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
|
||||
|
||||
nanoid@^3.3.6:
|
||||
version "3.3.6"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
|
||||
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
|
||||
|
||||
node-releases@^2.0.12:
|
||||
version "2.0.13"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
|
||||
integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==
|
||||
|
||||
node-releases@^2.0.8:
|
||||
version "2.0.10"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f"
|
||||
@ -1275,6 +1438,11 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
||||
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
|
||||
|
||||
normalize-range@^0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
|
||||
integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
|
||||
|
||||
nth-check@^2.0.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
|
||||
@ -1282,6 +1450,16 @@ nth-check@^2.0.1:
|
||||
dependencies:
|
||||
boolbase "^1.0.0"
|
||||
|
||||
object-assign@^4.0.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
||||
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
|
||||
|
||||
object-hash@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
|
||||
integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
|
||||
|
||||
once@^1.3.0, once@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
@ -1331,6 +1509,60 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1:
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||
|
||||
pify@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
||||
integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
|
||||
|
||||
pirates@^4.0.1:
|
||||
version "4.0.6"
|
||||
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9"
|
||||
integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
|
||||
|
||||
postcss-import@^15.1.0:
|
||||
version "15.1.0"
|
||||
resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70"
|
||||
integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==
|
||||
dependencies:
|
||||
postcss-value-parser "^4.0.0"
|
||||
read-cache "^1.0.0"
|
||||
resolve "^1.1.7"
|
||||
|
||||
postcss-js@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2"
|
||||
integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==
|
||||
dependencies:
|
||||
camelcase-css "^2.0.1"
|
||||
|
||||
postcss-load-config@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd"
|
||||
integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==
|
||||
dependencies:
|
||||
lilconfig "^2.0.5"
|
||||
yaml "^2.1.1"
|
||||
|
||||
postcss-nested@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c"
|
||||
integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==
|
||||
dependencies:
|
||||
postcss-selector-parser "^6.0.11"
|
||||
|
||||
postcss-selector-parser@^6.0.11:
|
||||
version "6.0.13"
|
||||
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
|
||||
integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
|
||||
dependencies:
|
||||
cssesc "^3.0.0"
|
||||
util-deprecate "^1.0.2"
|
||||
|
||||
postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
|
||||
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
||||
|
||||
postcss@^8.4.21:
|
||||
version "8.4.21"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
|
||||
@ -1340,6 +1572,15 @@ postcss@^8.4.21:
|
||||
picocolors "^1.0.0"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
postcss@^8.4.23, postcss@^8.4.24:
|
||||
version "8.4.26"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.26.tgz#1bc62ab19f8e1e5463d98cf74af39702a00a9e94"
|
||||
integrity sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==
|
||||
dependencies:
|
||||
nanoid "^3.3.6"
|
||||
picocolors "^1.0.0"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
process-nextick-args@~2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||
@ -1365,6 +1606,13 @@ react-refresh@^0.14.0:
|
||||
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
|
||||
integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
|
||||
|
||||
read-cache@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
|
||||
integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
|
||||
dependencies:
|
||||
pify "^2.3.0"
|
||||
|
||||
readable-stream@^2.0.0, readable-stream@^2.0.5:
|
||||
version "2.3.7"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
|
||||
@ -1406,6 +1654,15 @@ resolve-from@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
|
||||
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
|
||||
|
||||
resolve@^1.1.7, resolve@^1.22.2:
|
||||
version "1.22.2"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
|
||||
integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
|
||||
dependencies:
|
||||
is-core-module "^2.11.0"
|
||||
path-parse "^1.0.7"
|
||||
supports-preserve-symlinks-flag "^1.0.0"
|
||||
|
||||
resolve@^1.22.1:
|
||||
version "1.22.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
|
||||
@ -1535,6 +1792,19 @@ strip-indent@^3.0.0:
|
||||
dependencies:
|
||||
min-indent "^1.0.0"
|
||||
|
||||
sucrase@^3.32.0:
|
||||
version "3.34.0"
|
||||
resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f"
|
||||
integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==
|
||||
dependencies:
|
||||
"@jridgewell/gen-mapping" "^0.3.2"
|
||||
commander "^4.0.0"
|
||||
glob "7.1.6"
|
||||
lines-and-columns "^1.1.6"
|
||||
mz "^2.7.0"
|
||||
pirates "^4.0.1"
|
||||
ts-interface-checker "^0.1.9"
|
||||
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
@ -1561,10 +1831,10 @@ svelte-check@^3.0.3:
|
||||
svelte-preprocess "^5.0.0"
|
||||
typescript "^4.9.4"
|
||||
|
||||
svelte-hmr@^0.15.1:
|
||||
version "0.15.1"
|
||||
resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.15.1.tgz#d11d878a0bbb12ec1cba030f580cd2049f4ec86b"
|
||||
integrity sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==
|
||||
svelte-hmr@^0.15.2:
|
||||
version "0.15.2"
|
||||
resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.15.2.tgz#d2f6fc82e040f2734abd54cea5cbef46828f2538"
|
||||
integrity sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==
|
||||
|
||||
svelte-preprocess@^5.0.0, svelte-preprocess@^5.0.1:
|
||||
version "5.0.1"
|
||||
@ -1578,20 +1848,39 @@ svelte-preprocess@^5.0.0, svelte-preprocess@^5.0.1:
|
||||
sorcery "^0.11.0"
|
||||
strip-indent "^3.0.0"
|
||||
|
||||
svelte-windicss-preprocess@~4.1.0:
|
||||
version "4.1.7"
|
||||
resolved "https://registry.yarnpkg.com/svelte-windicss-preprocess/-/svelte-windicss-preprocess-4.1.7.tgz#2c9b5c9bee0be98262de6642ea2ad88c5cb7c091"
|
||||
integrity sha512-+jQD1zlpOlKg1AFOs/2wrubzUbRzG4KBCzeho7kXyUoSi4OOWqMP1l4roHZTEOqLqmja4eVi0RVEI5RhjqgZIA==
|
||||
dependencies:
|
||||
"@iconify/json" "1.1.426"
|
||||
windicss "3.2.1"
|
||||
windicss-runtime-dom "3.0.0"
|
||||
|
||||
svelte@^3.55.1:
|
||||
version "3.55.1"
|
||||
resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.55.1.tgz#6f93b153e5248039906ce5fe196efdb9e05dfce8"
|
||||
integrity sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==
|
||||
|
||||
tailwindcss@^3.3.2:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.3.tgz#90da807393a2859189e48e9e7000e6880a736daf"
|
||||
integrity sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==
|
||||
dependencies:
|
||||
"@alloc/quick-lru" "^5.2.0"
|
||||
arg "^5.0.2"
|
||||
chokidar "^3.5.3"
|
||||
didyoumean "^1.2.2"
|
||||
dlv "^1.1.3"
|
||||
fast-glob "^3.2.12"
|
||||
glob-parent "^6.0.2"
|
||||
is-glob "^4.0.3"
|
||||
jiti "^1.18.2"
|
||||
lilconfig "^2.1.0"
|
||||
micromatch "^4.0.5"
|
||||
normalize-path "^3.0.0"
|
||||
object-hash "^3.0.0"
|
||||
picocolors "^1.0.0"
|
||||
postcss "^8.4.23"
|
||||
postcss-import "^15.1.0"
|
||||
postcss-js "^4.0.1"
|
||||
postcss-load-config "^4.0.1"
|
||||
postcss-nested "^6.0.1"
|
||||
postcss-selector-parser "^6.0.11"
|
||||
resolve "^1.22.2"
|
||||
sucrase "^3.32.0"
|
||||
|
||||
tar-stream@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
|
||||
@ -1603,6 +1892,20 @@ tar-stream@^2.2.0:
|
||||
inherits "^2.0.3"
|
||||
readable-stream "^3.1.1"
|
||||
|
||||
thenify-all@^1.0.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
|
||||
integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==
|
||||
dependencies:
|
||||
thenify ">= 3.1.0 < 4"
|
||||
|
||||
"thenify@>= 3.1.0 < 4":
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"
|
||||
integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
|
||||
dependencies:
|
||||
any-promise "^1.0.0"
|
||||
|
||||
to-fast-properties@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
|
||||
@ -1615,6 +1918,11 @@ to-regex-range@^5.0.1:
|
||||
dependencies:
|
||||
is-number "^7.0.0"
|
||||
|
||||
ts-interface-checker@^0.1.9:
|
||||
version "0.1.13"
|
||||
resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
|
||||
integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
|
||||
|
||||
ts-node@^10.9.1:
|
||||
version "10.9.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
|
||||
@ -1662,7 +1970,15 @@ update-browserslist-db@^1.0.10:
|
||||
escalade "^3.1.1"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
|
||||
update-browserslist-db@^1.0.11:
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
|
||||
integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==
|
||||
dependencies:
|
||||
escalade "^3.1.1"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
||||
@ -1684,21 +2000,11 @@ vite@^4.1.1:
|
||||
optionalDependencies:
|
||||
fsevents "~2.3.2"
|
||||
|
||||
vitefu@^0.2.3:
|
||||
vitefu@^0.2.4:
|
||||
version "0.2.4"
|
||||
resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.4.tgz#212dc1a9d0254afe65e579351bed4e25d81e0b35"
|
||||
integrity sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==
|
||||
|
||||
windicss-runtime-dom@3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/windicss-runtime-dom/-/windicss-runtime-dom-3.0.0.tgz#1b7d4d7e07099a6f38b681adeb272992e57858d5"
|
||||
integrity sha512-a12Uhu71yT1U8w0PzJ3amF9xmC8b1rWFLgXEfI/UyuwUi6D1vUACOO6vb0iY4T4OtP/bJAjQMM7lv3hMWSwLuQ==
|
||||
|
||||
windicss@3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/windicss/-/windicss-3.2.1.tgz#bd0f7b9ebabba04ea8dfedcbb0263c2ef9591db4"
|
||||
integrity sha512-LusrIrryBFHAPQ/OOTbS4EWWuzI6eGeJglI9nQ3kDBr1cqH69NWt8Z8q59f9kTkgptXroejmWfksWwqgHs8EVw==
|
||||
|
||||
wrappy@1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
@ -1709,6 +2015,11 @@ yallist@^3.0.2:
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
||||
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
||||
|
||||
yaml@^2.1.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b"
|
||||
integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
|
||||
|
||||
yarn-upgrade-all@^0.7.2:
|
||||
version "0.7.2"
|
||||
resolved "https://registry.yarnpkg.com/yarn-upgrade-all/-/yarn-upgrade-all-0.7.2.tgz#5d2afa9230661c55f22d3f848f22258db732ae20"
|
||||
|
Loading…
Reference in New Issue
Block a user