Merge pull request #1544 from Bnyro/efy

Merge latest changes from master
This commit is contained in:
Bnyro 2022-10-07 20:21:35 +02:00 committed by GitHub
commit a6d2ed4242
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 602 additions and 313 deletions

View file

@ -28,7 +28,7 @@ By using Piped, you can freely watch and listen to content without the fear of p
- [x] Login
- [x] Feeds
- [x] Playlists
- [x] Integration with SponsorBlock
- [x] Integration with [SponsorBlock](https://github.com/ajayyy/SponsorBlock)
- [x] Integration with [LBRY](https://lbry.com/) for streaming
- [x] Integration with [Return YouTube Dislike](https://returnyoutubedislike.com/) via [RYD-Proxy](https://github.com/TeamPiped/RYD-Proxy)
- [x] 4K support
@ -38,6 +38,7 @@ By using Piped, you can freely watch and listen to content without the fear of p
- [x] Locally saved Preferences
- [x] [Available in many languages](src/locales), thanks to [our translators](https://hosted.weblate.org/projects/piped/frontend/)
- [x] Embedded video support
- [x] No age restriction
**Technical Features**

View file

@ -20,31 +20,31 @@
"mux.js": "^6.2.0",
"shaka-player": "4.2.1",
"stream": "^0.0.2",
"vue": "^3.2.39",
"vue": "^3.2.40",
"vue-i18n": "^9.2.2",
"vue-router": "^4.1.5",
"xml-js": "^1.6.11"
},
"devDependencies": {
"@iconify/json": "^2.1.108",
"@intlify/vite-plugin-vue-i18n": "^6.0.1",
"@unocss/preset-icons": "^0.45.13",
"@unocss/preset-web-fonts": "^0.45.7",
"@unocss/transformer-directives": "^0.45.7",
"@unocss/transformer-variant-group": "^0.45.13",
"@iconify/json": "^2.1.118",
"@intlify/vite-plugin-vue-i18n": "^6.0.3",
"@unocss/preset-icons": "^0.45.25",
"@unocss/preset-web-fonts": "^0.45.25",
"@unocss/transformer-directives": "^0.45.26",
"@unocss/transformer-variant-group": "^0.45.25",
"@vitejs/plugin-legacy": "^1.8.2",
"@vitejs/plugin-vue": "^2.3.4",
"@vue/compiler-sfc": "3.2.39",
"@vue/compiler-sfc": "3.2.40",
"babel-eslint": "^10.1.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^9.5.1",
"eslint-plugin-vue": "^9.6.0",
"prettier": "^2.7.1",
"unocss": "^0.45.21",
"unocss": "^0.45.26",
"vite": "^2.9.14",
"vite-plugin-eslint": "^1.8.1",
"vite-plugin-pwa": "^0.12.7"
"vite-plugin-pwa": "^0.12.8"
},
"eslintConfig": {
"root": true,

View file

@ -1,21 +1,14 @@
<template>
<div class="w-full min-h-screen px-1vw reset" :class="[theme]">
<NavBar />
<router-view v-slot="{ Component }">
<keep-alive :max="5">
<component :is="Component" :key="$route.fullPath" />
</keep-alive>
</router-view>
<footer class="text-center">
<a aria-label="GitHub" href="https://github.com/TeamPiped/Piped">
<font-awesome-icon :icon="['fab', 'github']" />
</a>
<a class="ml-2" href="https://github.com/TeamPiped/Piped#donations">
<font-awesome-icon :icon="['fab', 'bitcoin']" />
<span class="ml-1" v-t="'actions.donations'" />
</a>
</footer>
<FooterComponent />
</div>
</template>
@ -85,9 +78,11 @@ button,
<script>
import NavBar from "./components/NavBar.vue";
import FooterComponent from "./components/FooterComponent.vue";
export default {
components: {
NavBar,
FooterComponent,
},
mounted() {
if (this.getPreferenceBoolean("watchHistory", false))

View file

@ -16,7 +16,7 @@
<hr />
<div class="video-grid">
<VideoItem v-for="video in videos" :key="video.url" :video="video" />
<VideoItem :is-feed="true" v-for="video in videos" :key="video.url" :video="video" />
</div>
</template>

View file

@ -0,0 +1,59 @@
<template>
<footer class="text-center py-40 children:(mx-30) w-full mt-10 mb-5">
<a aria-label="GitHub" href="https://github.com/TeamPiped/Piped" target="_blank">
<font-awesome-icon :icon="['fab', 'github']" />
<span class="ml-2" v-t="'actions.source_code'" />
</a>
<a href="https://piped-docs.kavin.rocks/" target="_blank">
<font-awesome-icon :icon="['fa', 'book']" />
<span class="ml-2" v-t="'actions.documentation'" />
</a>
<a href="https://github.com/TeamPiped/Piped#donations" target="_blank">
<font-awesome-icon :icon="['fab', 'bitcoin']" />
<span class="ml-2" v-t="'actions.donations'" />
</a>
<a v-if="statusPageHref" :href="statusPageHref">
<font-awesome-icon :icon="['fa', 'server']" />
<span class="ml-2" v-t="'actions.status_page'" />
</a>
<a v-if="donationHref" :href="donationHref">
<font-awesome-icon :icon="['fa', 'donate']" />
<span class="ml-2" v-t="'actions.instance_donations'" />
</a>
</footer>
</template>
<script>
export default {
data() {
return {
donationHref: null,
statusPageHref: null,
};
},
mounted() {
this.fetchConfig();
},
methods: {
async fetchConfig() {
this.fetchJson(this.apiUrl() + "/config").then(config => {
this.donationHref = config?.donationUrl;
this.statusPageHref = config?.statusPageUrl;
});
},
},
};
</script>
<style>
footer {
@apply bg-light-900;
border-radius: var(--efy_radius);
}
.dark footer {
@apply bg-dark-800;
}
.auto footer {
@apply dark:(bg-dark-800);
}
</style>

View file

@ -79,7 +79,7 @@
/>
</div>
<SearchSuggestions
v-show="searchText && suggestionsVisible"
v-show="(searchText || showSearchHistory) && suggestionsVisible"
ref="searchSuggestions"
:search-text="searchText"
@searchchange="onSearchTextChange"
@ -119,6 +119,9 @@ export default {
shouldShowTrending(_this) {
return _this.getPreferenceString("homepage", "trending") != "trending";
},
showSearchHistory() {
return localStorage.getItem("searchHistory") && localStorage.getItem("search_history");
},
},
methods: {
// focus on search bar when Ctrl+k is pressed
@ -145,6 +148,7 @@ export default {
}
},
onInputFocus() {
if (this.showSearchHistory) this.$refs.searchSuggestions.refreshSuggestions();
this.suggestionsVisible = true;
},
onInputBlur() {

View file

@ -41,7 +41,6 @@
<option v-t="'titles.feed'" value="feed" />
</select>
</label>
<label class="pref" for="ddlInstanceSelection">
<strong v-text="`${$t('actions.instance_selection')}:`" />
<select
@ -421,6 +420,8 @@ export default {
minimizeDescription: false,
minimizeRecommendations: false,
watchHistory: false,
searchHistory: false,
hideWatched: false,
selectedLanguage: "en",
languages: [
{ code: "ar", name: "Arabic" },
@ -555,10 +556,12 @@ export default {
this.minimizeDescription = this.getPreferenceBoolean("minimizeDescription", false);
this.minimizeRecommendations = this.getPreferenceBoolean("minimizeRecommendations", false);
this.watchHistory = this.getPreferenceBoolean("watchHistory", false);
this.searchHistory = this.getPreferenceBoolean("searchHistory", false);
this.selectedLanguage = this.getPreferenceString("hl", await this.defaultLangage);
this.enabledCodecs = this.getPreferenceString("enabledCodecs", "vp9,avc").split(",");
this.disableLBRY = this.getPreferenceBoolean("disableLBRY", false);
this.proxyLBRY = this.getPreferenceBoolean("proxyLBRY", false);
this.hideWatched = this.getPreferenceBoolean("hideWatched", false);
if (this.selectedLanguage != "en") {
try {
this.CountryMap = await import(`../utils/CountryMaps/${this.selectedLanguage}.json`).then(
@ -612,10 +615,13 @@ export default {
localStorage.setItem("minimizeDescription", this.minimizeDescription);
localStorage.setItem("minimizeRecommendations", this.minimizeRecommendations);
localStorage.setItem("watchHistory", this.watchHistory);
localStorage.setItem("searchHistory", this.searchHistory);
if (!this.searchHistory) localStorage.removeItem("search_history");
localStorage.setItem("hl", this.selectedLanguage);
localStorage.setItem("enabledCodecs", this.enabledCodecs.join(","));
localStorage.setItem("disableLBRY", this.disableLBRY);
localStorage.setItem("proxyLBRY", this.proxyLBRY);
localStorage.setItem("hideWatched", this.hideWatched);
if (shouldReload) window.location.reload();
}

View file

@ -77,6 +77,7 @@ export default {
mounted() {
if (this.handleRedirect()) return;
this.updateResults();
this.saveQueryToHistory();
},
activated() {
this.handleRedirect();
@ -138,6 +139,19 @@ export default {
return true;
}
},
saveQueryToHistory() {
if (!this.getPreferenceBoolean("searchHistory", false)) return;
const query = this.$route.query.search_query;
if (!query) return;
const searchHistory = JSON.parse(localStorage.getItem("search_history")) ?? [];
if (searchHistory.includes(query)) {
const index = searchHistory.indexOf(query);
searchHistory.splice(index, 1);
}
searchHistory.unshift(query);
if (searchHistory.length > 10) searchHistory.shift();
localStorage.setItem("search_history", JSON.stringify(searchHistory));
},
},
};
</script>

View file

@ -47,11 +47,16 @@ export default {
}
},
async refreshSuggestions() {
if (!this.searchText) {
if (this.getPreferenceBoolean("searchHistory", false))
this.searchSuggestions = JSON.parse(localStorage.getItem("search_history")) ?? [];
} else {
this.searchSuggestions = (
await this.fetchJson(this.apiUrl() + "/opensearch/suggestions", {
query: this.searchText,
})
)?.[1];
}
this.searchSuggestions.unshift(this.searchText);
this.setSelected(0);
},

View file

@ -1,5 +1,5 @@
<template>
<div>
<div v-if="showVideo">
<router-link
:to="{
path: '/watch',
@ -133,6 +133,10 @@ export default {
return {};
},
},
isFeed: {
type: Boolean,
default: false,
},
height: { type: String, default: "118" },
width: { type: String, default: "210" },
hideChannel: { type: Boolean, default: false },
@ -143,8 +147,12 @@ export default {
data() {
return {
showModal: false,
showVideo: true,
};
},
mounted() {
this.shouldShowVideo();
},
methods: {
removeVideo() {
if (confirm(this.$t("actions.delete_playlist_video_confirm"))) {
@ -165,6 +173,19 @@ export default {
});
}
},
shouldShowVideo() {
if (!this.isFeed || !this.getPreferenceBoolean("hideWatched", false)) return;
const objectStore = window.db.transaction("watch_history", "readonly").objectStore("watch_history");
const request = objectStore.get(this.video.url.substr(-11));
request.onsuccess = event => {
const video = event.target.result;
if (video && (video.currentTime ?? 0) > video.duration * 0.9) {
this.showVideo = false;
return;
}
};
},
},
computed: {
short() {

View file

@ -105,7 +105,8 @@
"copy_link": "نسخ الرابط",
"time_code": "رمز الوقت (بالثواني)",
"rename_playlist": "إعادة تسمية قائمة التشغيل",
"new_playlist_name": "اسم قائمة تشغيل جديد"
"new_playlist_name": "اسم قائمة تشغيل جديد",
"show_chapters": "الفصول"
},
"video": {
"sponsor_segments": "المقاطع الإعلانية",

View file

@ -100,7 +100,9 @@
"share": "Compartir",
"time_code": "Moment (en segons)",
"copy_link": "Copiar l'enllaç",
"follow_link": "Vés a l'enllaç"
"follow_link": "Vés a l'enllaç",
"rename_playlist": "Canviar el nom de la llista de reproducció",
"new_playlist_name": "Nom nou de la llista de reproducció"
},
"comment": {
"pinned_by": "Fixat per",

View file

@ -98,11 +98,12 @@
"share": "Sdílet",
"with_timecode": "Sdílet s časovým kódem",
"piped_link": "Odkaz na Piped",
"follow_link": "Následovat odkaz",
"follow_link": "Otevřít odkaz",
"copy_link": "Kopírovat odkaz",
"time_code": "Časový kód (v sekundách)",
"rename_playlist": "Přejmenovat playlist",
"new_playlist_name": "Nový název playlistu"
"new_playlist_name": "Nový název playlistu",
"show_chapters": "Kapitoly"
},
"player": {
"watch_on": "Sledovat na {0}"

View file

@ -89,7 +89,8 @@
"reset_preferences": "Einstellungen zurücksetzen",
"confirm_reset_preferences": "Bist du sicher, dass du deine Einstellungen zurücksetzen möchtest?",
"backup_preferences": "Einstellungen sichern",
"restore_preferences": "Einstellungen wiederherstellen"
"restore_preferences": "Einstellungen wiederherstellen",
"show_chapters": "Kapitel"
},
"player": {
"watch_on": "Auf {0} ansehen"

View file

@ -61,7 +61,7 @@
"import_from_json": "Import from JSON/CSV",
"loop_this_video": "Loop this Video",
"auto_play_next_video": "Auto Play next Video",
"donations": "Donations",
"donations": "Development donations",
"minimize_description": "Minimize Description",
"show_description": "Description",
"minimize_recommendations": "Minimize Recommendations",
@ -106,7 +106,13 @@
"follow_link": "Follow link",
"copy_link": "Copy link",
"time_code": "Time code (in seconds)",
"show_chapters": "Chapters"
"show_chapters": "Chapters",
"store_search_history": "Store Search history",
"hide_watched": "Hide watched videos in the feed",
"documentation": "Documentation",
"status_page": "Status",
"source_code": "Source code",
"instance_donations": "Instance donations"
},
"comment": {
"pinned_by": "Pinned by",

View file

@ -40,6 +40,10 @@
"donations": "Donacoj",
"show_more": "Montri pli",
"yes": "Jes",
"no": "Ne"
"no": "Ne",
"show_chapters": "Sekcioj"
},
"video": {
"chapters": "Sekcioj"
}
}

View file

@ -114,7 +114,8 @@
"confirm_reset_preferences": "¿Estás seguro de que quieres restablecer tus preferencias?",
"backup_preferences": "Preferencias de copia de seguridad",
"restore_preferences": "Restablecer las preferencias",
"back_to_home": "Volver a la página de inicio"
"back_to_home": "Volver a la página de inicio",
"show_chapters": "Capítulos"
},
"titles": {
"feed": "Feed",

View file

@ -102,7 +102,8 @@
"follow_link": "Ouvrir le lien",
"time_code": "Horodatage (en secondes)",
"rename_playlist": "Renommer la liste de lecture",
"new_playlist_name": "Nouveau nom de la liste de lecture"
"new_playlist_name": "Nouveau nom de la liste de lecture",
"show_chapters": "Chapitres"
},
"player": {
"watch_on": "Regarder sur {0}"

View file

@ -102,7 +102,11 @@
"loop_this_video": "ניגון הסרטון בלולאה",
"minimize_recommendations": "מזעור המלצות",
"rename_playlist": "שינוי שם רשימת נגינה",
"new_playlist_name": "שם לרשימת נגינה חדשה"
"new_playlist_name": "שם לרשימת נגינה חדשה",
"show_chapters": "פרקים",
"skip_intro": "דילוג על הפוגה/הנפשת הקדמה",
"skip_outro": "דילוג על כרטיסי סיום/קרדיטים",
"skip_filler_tangent": "דילוג על משיקים למילוי"
},
"comment": {
"pinned_by": "ננעץ על ידי",

View file

@ -114,7 +114,8 @@
"with_timecode": "Dijeli s vremenskim kodom",
"rename_playlist": "Preimenuj popis snimaka",
"new_playlist_name": "Ime novog popisa snimaka",
"share": "Dijeli"
"share": "Dijeli",
"show_chapters": "Poglavlja"
},
"player": {
"watch_on": "Gledaj na {0}"
@ -130,7 +131,7 @@
"playlists": "Playliste",
"account": "Račun",
"instance": "Instanca",
"player": "Player"
"player": "Plejer"
},
"login": {
"password": "Lozinka",

View file

@ -105,7 +105,8 @@
"follow_link": "Ikuti tautan",
"copy_link": "Salin tautan",
"time_code": "Kode waktu (dalam detik)",
"back_to_home": "Kembali ke beranda"
"back_to_home": "Kembali ke beranda",
"show_chapters": "Bab"
},
"comment": {
"pinned_by": "Dipasangi pin oleh",

View file

@ -89,7 +89,8 @@
"follow_link": "Apri il collegamento",
"with_timecode": "Condividi con marca temporale",
"new_playlist_name": "Nuovo nome dalla playlist",
"rename_playlist": "Rinomina la playlist"
"rename_playlist": "Rinomina la playlist",
"show_chapters": "Capitoli"
},
"player": {
"watch_on": "Guarda su {0}"

View file

@ -16,7 +16,7 @@
"enable_sponsorblock": "Sponsorblock 활성화",
"skip_outro": "최종 화면/크레딧 스킵",
"skip_preview": "미리보기/요약 스킵",
"uses_api_from": "의 API를 사용: ",
"uses_api_from": "해당 API 사용: ",
"skip_non_music": "음악: 음악이 아닌 구간 스킵",
"skip_self_promo": "셀프 프로모션 스킵",
"buffering_goal": "버퍼링 목표 (초)",
@ -24,10 +24,10 @@
"store_watch_history": "시청 기록 저장",
"language_selection": "언어 선택",
"no": "아니요",
"loop_this_video": "이 영상 반복",
"auto_play_next_video": "다음 영상 자동 재생",
"loop_this_video": "이 영상 반복",
"auto_play_next_video": "다음 영상 자동 재생",
"minimize_description": "설명 최소화",
"show_recommendations": "추천 영상 표시",
"show_recommendations": "추천 영상 표시",
"sort_by": "정렬:",
"most_recent": "가장 최신",
"channel_name_asc": "채널 이름 (A-Z)",
@ -40,31 +40,64 @@
"instance_selection": "인스턴스 선택",
"import_from_json": "JSON/CSV에서 가져오기",
"light": "라이트",
"autoplay_video": "영상 자동 재생",
"autoplay_video": "영상 자동 재생",
"default_quality": "기본 화질",
"default_homepage": "기본 홈페이지",
"instances_list": "인스턴스 리스트",
"instances_list": "인스턴스 목록",
"show_more": "더 보기",
"export_to_json": "JSON으로 내보내기",
"donations": "기부",
"show_description": "설명 표시",
"disable_lbry": "LBRY 스트리밍 비활성화",
"enable_lbry_proxy": "LBRY 프록시 활성화",
"minimize_recommendations": "추천 영상 최소화",
"minimize_recommendations": "추천 영상 최소화",
"loading": "로딩...",
"view_ssl_score": "SSL 점수 보기",
"skip_intro": "중간 휴식/인트로 애니메이션 스킵",
"search": "검색",
"clear_history": "기록 지우기",
"show_replies": "답글 보기",
"skip_highlight": "하이라이트 스킵"
"skip_highlight": "하이라이트 스킵",
"select_playlist": "재생목록 선택",
"please_select_playlist": "재생목록을 선택하세요",
"create_playlist": "재생목록 만들기",
"delete_playlist": "재생목록 삭제",
"delete_playlist_video_confirm": "재생목록에서 동영상을 삭제하시겠습니까?",
"add_to_playlist": "재생목록에 추가",
"remove_from_playlist": "재생목록에서 제거",
"delete_playlist_confirm": "이 재생목록을 삭제하시겠습니까?",
"delete_account": "계정 삭제",
"logout": "이 기기에서 로그아웃",
"show_chapters": "챕터",
"download_as_txt": ".txt로 다운로드",
"new_playlist_name": "새 재생목록 이름",
"rename_playlist": "재생목록 이름 변경",
"share": "공유",
"copy_link": "링크 복사",
"time_code": "시작 시간 (초)",
"follow_link": "링크 열기",
"piped_link": "Piped 링크",
"with_timecode": "시작 시간을 포함하여 공유",
"skip_filler_tangent": "잡담/농담 스킵",
"show_markers": "플레이어에 마커 표시",
"reset_preferences": "설정 초기화",
"confirm_reset_preferences": "설정을 초기화 하시겠습니까?",
"restore_preferences": "설정 복원",
"backup_preferences": "설정 백업",
"back_to_home": "홈으로 가기",
"minimize_recommendations_default": "기본적으로 추천 동영상 최소화",
"invalidate_session": "모든 기기에서 로그아웃",
"instance_auth_selection": "인증 인스턴스 선택",
"different_auth_instance": "인증에 다른 인스턴스 사용",
"clone_playlist": "재생목록 복제",
"clone_playlist_success": "성공적으로 복제되었습니다!"
},
"titles": {
"feed": "피드",
"preferences": "설정",
"history": "시청 기록",
"subscriptions": "구독",
"trending": "트렌드",
"trending": "인기",
"login": "로그인",
"register": "가입",
"playlists": "재생목록",
@ -76,26 +109,52 @@
"watch_on": "에서 보기 {0}"
},
"comment": {
"pinned_by": "에 의해 고정됨"
"pinned_by": "에 의해 고정됨",
"disabled": "업로더가 댓글을 비활성화했습니다.",
"user_disabled": "설정에서 댓글을 비활성화했습니다.",
"loading": "댓글 로드 중..."
},
"preferences": {
"has_cdn": "CDN 여부?",
"ssl_score": "SSL 점수",
"instance_locations": "인스턴스 위치",
"instance_name": "인스턴스 이름"
"instance_name": "인스턴스 이름",
"registered_users": "등록 된 사용자",
"version": "버전",
"up_to_date": "최신 버전?"
},
"login": {
"username": "유저 이름",
"password": "비밀번호"
},
"video": {
"videos": "영상",
"videos": "영상",
"views": "{views} 조회수",
"watched": "시청함",
"sponsor_segments": "스폰서 세그먼트",
"ratings_disabled": "등급 비활성화됨"
"ratings_disabled": "등급 비활성화됨",
"live": "{0} 라이브",
"shorts": "Shorts",
"chapters": "챕터"
},
"search": {
"did_you_mean": "이것을 찾으셨나요: {0}?"
"did_you_mean": "이것을 찾으셨나요: {0}?",
"all": "YouTube: 전체",
"music_playlists": "YT Music: 재생목록",
"videos": "YouTube: 동영상",
"music_songs": "YT Music: 음악",
"channels": "YouTube: 채널",
"playlists": "YouTube: 재생목록",
"music_videos": "YT Music: 동영상",
"music_albums": "YT Music: 앨범"
},
"info": {
"cannot_copy": "복사할 수 없습니다!",
"copied": "복사되었습니다!",
"preferences_note": "참고: 설정은 브라우저 로컬 저장소에 저장됩니다. 브라우저 데이터를 삭제하면 초기화됩니다.",
"page_not_found": "페이지를 찾을 수 없음"
},
"subscriptions": {
"subscribed_channels_count": "구독: {0}"
}
}

View file

@ -80,7 +80,17 @@
"reset_preferences": "Tilbakestill innstillinger",
"backup_preferences": "Innstillinger for sikkerhetskopiering",
"confirm_reset_preferences": "Tilbakestill alle innstillingene?",
"restore_preferences": "Gjenopprett innstillinger"
"restore_preferences": "Gjenopprett innstillinger",
"show_chapters": "Kapitler",
"rename_playlist": "Gi spillelisten ny navn",
"new_playlist_name": "Nytt spillelistenavn",
"share": "Del",
"with_timecode": "Del med tidskode",
"piped_link": "Piped-lenke",
"follow_link": "Følg lenke",
"copy_link": "Kopier lenke",
"time_code": "Tidskode (sekunder)",
"back_to_home": "Tilbake til startsiden"
},
"player": {
"watch_on": "Vis på {0}"
@ -143,5 +153,11 @@
},
"information": {
"preferences_note": "Merk: Innstillinger lagres lokalt i din nettleser. Sletting av nettleserdata sletter dem."
},
"info": {
"preferences_note": "Merk: Innstillinger spares i nettleserens lokallager. Sletting av nettleserdata tilbakestiller dem.",
"cannot_copy": "Kan ikke kopiere",
"page_not_found": "Fant ikke siden",
"copied": "Kopiert"
}
}

View file

@ -7,7 +7,10 @@
"trending": "Tendências",
"login": "Iniciar Sessão",
"register": "Registar",
"playlists": "Listas de Reprodução"
"playlists": "Listas de Reprodução",
"account": "Conta",
"instance": "Instância",
"player": "Reprodutor"
},
"actions": {
"view_subscriptions": "Ver Subscrições",
@ -86,7 +89,20 @@
"instance_auth_selection": "Selecção da Instância para Autenticação",
"invalidate_session": "Terminar sessão em todos os aparelhos",
"clone_playlist": "Clonar Lista de Reprodução",
"clone_playlist_success": "Clonada com sucesso!"
"clone_playlist_success": "Clonada com sucesso!",
"rename_playlist": "Renomear",
"restore_preferences": "Restaurar configurações",
"confirm_reset_preferences": "Tem a certeza que quer redefinir as suas configurações?",
"new_playlist_name": "Novo nome da lista de reprodução",
"share": "Partilhar",
"with_timecode": "Partilhar com código de tempo",
"piped_link": "Ligação do Piped",
"follow_link": "Seguir ligação",
"copy_link": "Copiar ligação",
"time_code": "Código de tempo (em segundos)",
"reset_preferences": "Redefinir preferências",
"backup_preferences": "Exportar configurações",
"back_to_home": "Voltar ao início"
},
"comment": {
"pinned_by": "Afixado por",
@ -133,5 +149,11 @@
},
"subscriptions": {
"subscribed_channels_count": "Subscrito a: {0}"
},
"info": {
"preferences_note": "Nota: as configurações são guardadas no armazenamento local to seu navegador. Eliminar os dados de navegação irá redefini-las.",
"page_not_found": "Página não encontrada",
"copied": "Copiada!",
"cannot_copy": "Não foi possível copiar!"
}
}

View file

@ -7,7 +7,10 @@
"preferences": "Настройки",
"history": "История просмотров",
"subscriptions": "Ваши подписки",
"playlists": "Плейлисты"
"playlists": "Плейлисты",
"account": "Аккаунт",
"player": "Плеер",
"instance": "Сервер"
},
"player": {
"watch_on": "Смотреть на {0}"
@ -89,7 +92,21 @@
"different_auth_instance": "Использовать другие средства аутентификации",
"instance_auth_selection": "Выбор средств аутентификации",
"clone_playlist": "Клонировать плейлист",
"clone_playlist_success": "Клонирование прошло успешно!"
"clone_playlist_success": "Клонирование прошло успешно!",
"show_chapters": "Части",
"rename_playlist": "Переименовать плейлист",
"new_playlist_name": "Новое название плейлиста",
"share": "Поделиться",
"with_timecode": "Поделиться с отметкой времени",
"piped_link": "Ссылка Piped",
"follow_link": "Ссылка подписки",
"copy_link": "Скопировать ссылку",
"time_code": "Тайм-код (в секундах)",
"reset_preferences": "Сбросить настройки",
"confirm_reset_preferences": "Вы уверены, что хотите сбросить настройки?",
"backup_preferences": "Настройки бэкапов",
"restore_preferences": "Восстановить настройки",
"back_to_home": "Вернутся на главную"
},
"comment": {
"pinned_by": "Прикреплено пользователем",
@ -133,5 +150,11 @@
},
"subscriptions": {
"subscribed_channels_count": "Подписан на: {0}"
},
"info": {
"preferences_note": "Примечание: настройки сохранены в локальном хранилище браузера. При удалении данных браузера они будут удалены.",
"copied": "Скопировано!",
"cannot_copy": "Не получилось скопировать!",
"page_not_found": "Страница не найдена"
}
}

View file

@ -78,9 +78,18 @@
"delete_playlist_confirm": "Избрисати овај попис снимака?",
"please_select_playlist": "Молим вас одаберите попис снимака",
"show_markers": "Prikaži obeleživače na plejeru",
"delete_account": "Obriši nalog",
"delete_account": "Обриши налог",
"logout": "Одјава са овог уређаја",
"minimize_recommendations_default": "Umanji preporuke kao podrazumevano"
"minimize_recommendations_default": "Умањи Препоруке као Подразумевано",
"download_as_txt": "Преузмите као .ткт",
"reset_preferences": "Ресетирајте преференције",
"confirm_reset_preferences": "Да ли сте сигурни да желите да ресетујете подешавања?",
"backup_preferences": "Спреми сигурносну копију поставки",
"invalidate_session": "Одјавите се са свих уређаја",
"different_auth_instance": "Користите другу инстанцу за аутентификацију",
"instance_auth_selection": "Избор инстанце аутентикације",
"clone_playlist": "Клонирајте листу за репродукцију",
"clone_playlist_success": "Успешно клонирано!"
},
"preferences": {
"instance_locations": "Локација инстанце",
@ -114,7 +123,10 @@
"trending": "У тренду",
"login": "Пријава",
"subscriptions": "Праћења",
"playlists": "Пописи Снимака"
"playlists": "Пописи Снимака",
"account": "Рачун",
"instance": "Инстанца",
"player": "Плејер"
},
"comment": {
"pinned_by": "Закачено од стране"

View file

@ -89,7 +89,8 @@
"piped_link": "Piped bağlantısı",
"share": "Paylaş",
"rename_playlist": "Oynatma listesini yeniden adlandır",
"new_playlist_name": "Yeni oynatma listesi adı"
"new_playlist_name": "Yeni oynatma listesi adı",
"show_chapters": "Bölümler"
},
"player": {
"watch_on": "{0} üzerinde izle"

View file

@ -89,7 +89,8 @@
"with_timecode": "用时间码分享",
"time_code": "时间码(单位:秒)",
"rename_playlist": "重命名播放列表",
"new_playlist_name": "新播放列表名"
"new_playlist_name": "新播放列表名",
"show_chapters": "章节"
},
"video": {
"sponsor_segments": "赞助商部分",

View file

@ -60,7 +60,17 @@
"select_playlist": "選擇播放清單",
"add_to_playlist": "加到播放清單",
"delete_playlist_video_confirm": "要從播放清單中移除影片嗎?",
"delete_account": "刪除帳戶"
"delete_account": "刪除帳戶",
"show_chapters": "章節",
"download_as_txt": "以 .txt 下載",
"share": "分享",
"new_playlist_name": "播放清單的新名稱",
"rename_playlist": "重新命名播放清單",
"reset_preferences": "重設偏好設定",
"confirm_reset_preferences": "確定要重設偏好設定嗎?",
"backup_preferences": "備份偏好設定",
"restore_preferences": "復原偏好設定",
"back_to_home": "回首頁"
},
"titles": {
"history": "歷史記錄",
@ -71,7 +81,8 @@
"login": "登入",
"subscriptions": "訂閱內容",
"playlists": "播放清單",
"account": "帳戶"
"account": "帳戶",
"player": "播放器"
},
"preferences": {
"registered_users": "已註冊的使用者",
@ -104,5 +115,11 @@
"pinned_by": "置頂者:",
"disabled": "上傳者停用了留言功能。",
"loading": "留言載入中……"
},
"info": {
"copied": "已複製!",
"cannot_copy": "無法複製!",
"page_not_found": "找不到頁面",
"preferences_note": "註:偏好設定儲存在本機的瀏覽器的儲存空間內。如果清除瀏覽器的資料,偏好設定就會重設。"
}
}

View file

@ -17,6 +17,9 @@ import {
faXmark,
faClone,
faShare,
faBook,
faServer,
faDonate,
} from "@fortawesome/free-solid-svg-icons";
import { faGithub, faBitcoin } from "@fortawesome/free-brands-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
@ -39,6 +42,9 @@ library.add(
faXmark,
faClone,
faShare,
faBook,
faServer,
faDonate,
);
import router from "@/router/router.js";
@ -183,7 +189,7 @@ const mixin = {
const emailRegex = /([\w-\\.]+@(?:[\w-]+\.)+[\w-]{2,4})/g;
return string
.replace(urlRegex, url => {
if (url.endsWith("</a>")) return url;
if (url.endsWith("</a>") || url.endsWith("<a")) return url;
return `<a href="${url}" target="_blank">${url}</a>`;
})
.replace(emailRegex, email => {

485
yarn.lock
View file

@ -25,7 +25,7 @@
execa "^5.1.1"
find-up "^5.0.0"
"@antfu/utils@^0.5.0", "@antfu/utils@^0.5.2":
"@antfu/utils@^0.5.2":
version "0.5.2"
resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.5.2.tgz#8c2d931ff927be0ebe740169874a3d4004ab414b"
integrity sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==
@ -997,35 +997,35 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
"@iconify/json@^2.1.108":
version "2.1.108"
resolved "https://registry.yarnpkg.com/@iconify/json/-/json-2.1.108.tgz#9dc4af162cf2a5fd078e9231199c585fff0655fd"
integrity sha512-7Cd15eXt493VT6APSQn+oNT3NqSnK/tfQPTqoh2K3aeHQNfVzkEmWPSyrzqWUAqOFHcA/Xtfz/pvd/25ecDbcQ==
"@iconify/json@^2.1.118":
version "2.1.118"
resolved "https://registry.yarnpkg.com/@iconify/json/-/json-2.1.118.tgz#bb29db70d1be64a2caf8b8d340870f32c61189b6"
integrity sha512-mvCocCcWIIoF/IiBQS0hIMqpmXYVbZsmNM8CyQCn6jEPEEKWpW5/vK+W+qOWO7+F7Hrs3//8OyLMh131by7zSQ==
dependencies:
"@iconify/types" "*"
pathe "^0.3.0"
"@iconify/types@*", "@iconify/types@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@iconify/types/-/types-1.1.0.tgz#dc15fc988b1b3fd558dd140a24ede7e0aac11280"
integrity sha512-Jh0llaK2LRXQoYsorIH8maClebsnzTcve+7U3rQUSnC11X4jtPnFuyatqFLvMxZ8MLG8dB4zfHsbPfuvxluONw==
"@iconify/types@*", "@iconify/types@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57"
integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==
"@iconify/utils@^1.0.33":
version "1.0.33"
resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-1.0.33.tgz#9952ecae79e3b1685b83c58159c1d48959f6105a"
integrity sha512-vGeAqo7aGPxOQmGdVoXFUOuyN+0V7Lcrx2EvaiRjxUD1x6Om0Tvq2bdm7E24l2Pz++4S0mWMCVFXe/17EtKImQ==
"@iconify/utils@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-2.0.0.tgz#2a807c79b2dea549a014166c4311961935d25780"
integrity sha512-thvwZ6m3frWJiOYwRdHPSPGC25rmyvDl0vXdQ8ocRJZx31m8Pn4y7V1mTc5UReR6MiAj+hrV2UPZQjx7zI960g==
dependencies:
"@antfu/install-pkg" "^0.1.0"
"@antfu/utils" "^0.5.0"
"@iconify/types" "^1.1.0"
"@antfu/utils" "^0.5.2"
"@iconify/types" "^2.0.0"
debug "^4.3.4"
kolorist "^1.5.1"
local-pkg "^0.4.1"
local-pkg "^0.4.2"
"@intlify/bundle-utils@next":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@intlify/bundle-utils/-/bundle-utils-3.1.0.tgz#42bff44116bdb49621146cd5622c4c45019c8862"
integrity sha512-ghlJ0kR2cCQ8D+poKknC0Xx0ncOt3J3os7CcIAqqIWVF7k6AtGoCDnIru+YzlZcvFRNmP9wEZ7jKliojCdAWNg==
"@intlify/bundle-utils@^3.2.1":
version "3.2.1"
resolved "https://registry.yarnpkg.com/@intlify/bundle-utils/-/bundle-utils-3.2.1.tgz#f1a00fb31716567c8da63fbb351c3199ca12d467"
integrity sha512-rf4cLBOnbqmpXVcCdcYHilZpMt1m82syh3WLBJlZvGxN2KkH9HeHVH4+bnibF/SDXCHNh6lM6wTpS/qw+PkcMg==
dependencies:
"@intlify/message-compiler" next
"@intlify/shared" next
@ -1076,12 +1076,12 @@
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.2.2.tgz#5011be9ca2b4ab86f8660739286e2707f9abb4a5"
integrity sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==
"@intlify/vite-plugin-vue-i18n@^6.0.1":
version "6.0.1"
resolved "https://registry.yarnpkg.com/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-6.0.1.tgz#6beaedc351b6a9fe37f9f23a43c200c56d2c34b6"
integrity sha512-FFVcxVU4bR9vdDLNbltM5mrhndnXMErO01i0RrpdyMegEt3Nu/YLoH0sFdjRun7/RY4vaEnhTnFvVf9uO0dQvg==
"@intlify/vite-plugin-vue-i18n@^6.0.3":
version "6.0.3"
resolved "https://registry.yarnpkg.com/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-6.0.3.tgz#57a6900de02a9829e52b16bf072768534c7664ef"
integrity sha512-6SgNzPAOCR90wvt368lKzi7f/5ZEWJn22UCGvhFsP3XvKqlF3cVzojahgQ6o+LTdCkExeM6wPgd+haFf28E9VQ==
dependencies:
"@intlify/bundle-utils" next
"@intlify/bundle-utils" "^3.2.1"
"@intlify/shared" next
"@rollup/pluginutils" "^4.2.0"
debug "^4.3.1"
@ -1273,165 +1273,168 @@
resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756"
integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==
"@unocss/astro@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/astro/-/astro-0.45.21.tgz#076bd99b38cc666dfb851f49f5cfe517e6529e30"
integrity sha512-6lsDQu6nBX5CZZ+JPqAdp9ypkZrzi6NuBgyjZtChCoLhwEB2kNDCg7Qwu93Ee7/TT8MYAiANar9N+U2EuxzcKA==
"@unocss/astro@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/astro/-/astro-0.45.26.tgz#2d3af08aa91744ee6003b827a258fd781d6736dc"
integrity sha512-jAdbYNwjyzh05B4B7lhuHYmkNfmIZsQGhRNXogOx0t1BMzRZg9jID5xsJiujaElQL6ll53pbuRRyGV80o75n0Q==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/reset" "0.45.21"
"@unocss/vite" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/reset" "0.45.26"
"@unocss/vite" "0.45.26"
"@unocss/cli@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/cli/-/cli-0.45.21.tgz#5b908d314c122906b1c8890b8933ebe998f2928a"
integrity sha512-iyeunJpb4x0mJ7gtHT/3M0FDER6T03RZ2CCfiydRoxE9jUCfrk6cXO0CT4lt86Jr6+NIjw5gncMuvDXzjDe3fw==
"@unocss/cli@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/cli/-/cli-0.45.26.tgz#8e3c443c98a5d9cb1040411660f98d86ac60049b"
integrity sha512-pev56gZRYow+/38TfSVMVWmtgl4UGNrgJULqHhfXxHn/CjiG+wJ95/PLYbY/GIZRXy4ttpsVU/iF/5uRvvJ3RA==
dependencies:
"@unocss/config" "0.45.21"
"@unocss/core" "0.45.21"
"@unocss/preset-uno" "0.45.21"
"@ampproject/remapping" "^2.2.0"
"@rollup/pluginutils" "^4.2.1"
"@unocss/config" "0.45.26"
"@unocss/core" "0.45.26"
"@unocss/preset-uno" "0.45.26"
cac "^6.7.14"
chokidar "^3.5.3"
colorette "^2.0.19"
consola "^2.15.3"
fast-glob "^3.2.11"
pathe "^0.3.5"
fast-glob "^3.2.12"
magic-string "^0.26.3"
pathe "^0.3.7"
perfect-debounce "^0.1.3"
"@unocss/config@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/config/-/config-0.45.21.tgz#9c4593e71b1596fdd50743c1a247dc3ce70028ec"
integrity sha512-EXHdUwwKQ0Y9MizXpfGoCL8RRPoZ2d0l5uYeyB2qETCcwjm2pM5qodEssll/B4mHNfjv51ywsnSSAwHP7GR+8A==
"@unocss/config@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/config/-/config-0.45.26.tgz#be2fe98a355c707edc14b09219f5f5051330fd63"
integrity sha512-bmNlYoGl4oHdmrb6TwuiVbVShuT3TsYJQ6MPXnVipPkAJpyJ47uU6ZAfDMqwCU0AqsLah3hSDQpDIJL5j+9tug==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
unconfig "^0.3.6"
"@unocss/core@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.45.21.tgz#ae9be954459d8df9c7eac3b307918136c5f8253a"
integrity sha512-9yvgEYHFy6NFQwiQ0fEMg3QUGvcHfXbSmZszupa8ojpbR7UM26Ng+RY/Tyx1zh9HBaS7N+73z7u6gcygc7mUJA==
"@unocss/core@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.45.26.tgz#529e729d302e92b3dc1f0dee9b361c0c43235a01"
integrity sha512-V7lNAXy1Ou2+UsD8n8a0ynE7BPuMtZSn6dQtrhNvtkstEBZtBAvlGM07wnSqwZfYeKs8k/MA6Z7S0yJKQzcl1Q==
"@unocss/inspector@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/inspector/-/inspector-0.45.21.tgz#79929569a4072fb9543d601292e64c445d10646c"
integrity sha512-NgtlIt8e1Zjc9Fh19RTBbo9asgXfK00kq00khngGfvjdQu+MMGsjGPz/PYkFrAdjcXVxyV1aKr0PKXQr2e6ZOA==
"@unocss/inspector@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/inspector/-/inspector-0.45.26.tgz#437ba058b177d591547b2400138cfe7d5752fac7"
integrity sha512-rteTaMVWstGlCG5+k744kFzQLYAWgCf2ys2CRfm6SX7YC2JGBmELCwSABGrylkyItTnH50ayZcDk21GKEfC/Mw==
dependencies:
gzip-size "^6.0.0"
sirv "^2.0.2"
"@unocss/preset-attributify@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/preset-attributify/-/preset-attributify-0.45.21.tgz#91a2efe19dbf100b149654d63187e0ffc5764351"
integrity sha512-CdS2YUyHH1WGBlcGcbVqcwiGL4u7QL8lGnB1wPRPiCF3c3JEHVQxVP7g6MwAThU/6RRKZDaReuZkhhUswBFysA==
"@unocss/preset-attributify@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/preset-attributify/-/preset-attributify-0.45.26.tgz#48c898c049daa2acbaeb179f95df710702196a32"
integrity sha512-+BA27/d+IEJtt/P7+fHUl/OYJNhSVBoCRxIO6JiQhEw36n821UMVd9CdnfxPBEBIaS2fXQvNF4yO5jnr4Wj5Qw==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/preset-icons@0.45.21", "@unocss/preset-icons@^0.45.13":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/preset-icons/-/preset-icons-0.45.21.tgz#eebdfaabe85905e2a3a2fcdb965518571c1f9d02"
integrity sha512-7DyE2eE/pprJYVUGSD3Hlrq/me2I8jJryd9QDoB8aEOgWmmhUGn2f9A34jU0109LtUH1QBIolufVMq3i/fJUag==
"@unocss/preset-icons@0.45.26", "@unocss/preset-icons@^0.45.25":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/preset-icons/-/preset-icons-0.45.26.tgz#e816e3114ab9ed666bcdf92024de466075935a59"
integrity sha512-PL2Fi6KGYZAY9vNyEC+EBDqSYaiXEuUaTkPOaCVrEsig0E5DOm62A5FmJ/0vHmNSXEOVqV17jiDKp+fNM/h61g==
dependencies:
"@iconify/utils" "^1.0.33"
"@unocss/core" "0.45.21"
"@iconify/utils" "^2.0.0"
"@unocss/core" "0.45.26"
ohmyfetch "^0.4.18"
"@unocss/preset-mini@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/preset-mini/-/preset-mini-0.45.21.tgz#88165cb31af3d2a2bbc1222dc193db355f486274"
integrity sha512-rEKAueN9eLQRciyzlYSiYCHwfCZc1zhOcbYP+v20PDOhCee80fjUCUJSZcdSZstBrtLwDJ2V3FVXNRjHeq8aNA==
"@unocss/preset-mini@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/preset-mini/-/preset-mini-0.45.26.tgz#11659ea15415cd9dd75f6d4750e8fba1faac427d"
integrity sha512-Kab6F2pZHzJudGene6NwGMYA96fuU8gNjCVouSd6oqFF1ZhEBxkQOR56TRjppyCi0MU89hciV5T6kcVZDquGUw==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/preset-tagify@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/preset-tagify/-/preset-tagify-0.45.21.tgz#9944b17f1b3efc9f779f7b101d0e1882f31aaa1e"
integrity sha512-o1I8WcNt2OuAQrMX8kq/OM2Ag/S+jQkfWOn9Az6yNvZKfTyyz8RMJ3+wkBzk8u2L9mwdvabaWUDIDPrKtCjQvA==
"@unocss/preset-tagify@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/preset-tagify/-/preset-tagify-0.45.26.tgz#c78842adf2ead4dd7d0c766a852ca6f701b7a62d"
integrity sha512-4zhdD/EKW5BYsiKO8PQdUXU4I5riJNM9ykEyhESFaCM6/+3a8GRvrnON57cRuiqX5LvJeXfbtGXQCOdMGEIi4Q==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/preset-typography@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/preset-typography/-/preset-typography-0.45.21.tgz#4cc7ac18b789fee10b952cbe2607a586983b0fca"
integrity sha512-D+d1IYq50Bh9WvFD/ILNWYuOrPi1dCHEDAv84Ijx+pt+Iwd/jDIAg3cJ0ukT6SZdRW+3lFa4nDhghQg+6CIO3g==
"@unocss/preset-typography@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/preset-typography/-/preset-typography-0.45.26.tgz#a547272b5118b71e4feb0c534a45664fa51e62f4"
integrity sha512-HBkox5t1AKQ3SwMbvDhHDaWBOsP3Z1RW67oyVpEgipZHL5SYN9YwGkveaj6J0SJDJMtYRwFkKD5Zvd4KvnzSfQ==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/preset-uno@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/preset-uno/-/preset-uno-0.45.21.tgz#c25394f8bf19dc339c3e151f6401575b19c639ae"
integrity sha512-DGDSXY+YkLM8bbo9nVShJ0/JHXcGb68loizPpxCq4pvcqU0L7y3UtfiT4mXPuO/RgoGuLE5JXtnWDIP5dFLzsA==
"@unocss/preset-uno@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/preset-uno/-/preset-uno-0.45.26.tgz#39aac369a27ecb788d2a0aabff01739166489dc0"
integrity sha512-Am4Ymz7tKwufm6QP2GxT8oIQ1Qez+ikk5miZ94K5IpMguVqMP1FwAu8aFtoItH5jVuDb4JxyZyo66oSFd4+h8g==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/preset-mini" "0.45.21"
"@unocss/preset-wind" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/preset-mini" "0.45.26"
"@unocss/preset-wind" "0.45.26"
"@unocss/preset-web-fonts@0.45.21", "@unocss/preset-web-fonts@^0.45.7":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/preset-web-fonts/-/preset-web-fonts-0.45.21.tgz#f80faa6df8c3a60f50cf8f250fcda90e67cf4409"
integrity sha512-LwEgY6g89h8Do65tvhpD8Uv0SMwmggR887VfYHUBlTWy2gM2Yj0Lxm+KWuFjCNMQhzAGZInoFL8VXHl8ORME7Q==
"@unocss/preset-web-fonts@0.45.26", "@unocss/preset-web-fonts@^0.45.25":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/preset-web-fonts/-/preset-web-fonts-0.45.26.tgz#b0cbf9c73af3c1ff9690ed3bfd5a95c1ecc14fd0"
integrity sha512-6J3VjrYcYGwVDzdcKE0NYQhvuXkS/Fo54ZlEWScVOSygvBYOEsObo+6Vs9Q1yMbVuVnNrt3R38/KMQFqPEWXKw==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
ohmyfetch "^0.4.18"
"@unocss/preset-wind@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/preset-wind/-/preset-wind-0.45.21.tgz#1151f9e66ed29542eb1ff36aa63cd1e29afb41d2"
integrity sha512-1Xn9nw7OhgfTncMeujRxf6aJoLFFLRtJFx6r0/+Mn6I7nf3b5NNmkqSbM78qJZwN9Y9oe+OnRDWHd77Cgk1nwA==
"@unocss/preset-wind@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/preset-wind/-/preset-wind-0.45.26.tgz#708d80c27a54c779740d0c65a205683a126c4b74"
integrity sha512-/7YnUIXBkakeNzDpxsOzoHgVKL/nH9kyKHT1hSLj60IlAoN+YfoOwpCOn+taysovjiGmLIKdeEuOAN3HuEi1aw==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/preset-mini" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/preset-mini" "0.45.26"
"@unocss/reset@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/reset/-/reset-0.45.21.tgz#026c871bec05702a22dd214a4d274b5c4ff3b018"
integrity sha512-9JyC8P8qci1fuUvIOZXfO0jsug2YOUlFq8bx904J4sQ33qFl4NhkrpXAU+kFs0HS5SvgUx7BDfLY7W7BGG3RxQ==
"@unocss/reset@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/reset/-/reset-0.45.26.tgz#cf4bf80c1a9c7405ac0b8b4975738eabda222d04"
integrity sha512-9X0cSvGPXdZ1KAuiWzFWtcoyfC7b8j4GYHr4lDXRkPC5oI3CJhw4WcdvzTHVPqOX2CKqq731H4GhcQ5c5LBuHA==
"@unocss/scope@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/scope/-/scope-0.45.21.tgz#202cd76135b60b46affc5de4a35ef7ee0ca99b06"
integrity sha512-oyi6onHnUrdieQI19qKlkMXqykeU5i6mmuHg1VCVSlvh2QQhHypacIAVSohK88DQucVIfzHTWxBqHxZGHCs5Ag==
"@unocss/scope@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/scope/-/scope-0.45.26.tgz#2affb43950fbb978c55d6449eef641dd51de8f87"
integrity sha512-t5ADmEW9Rhf4Ku0DHwgPoy2mTU0eRrpx6QfXFWtWC+ZtHsjOcC9RXgWYXKZmINtiY+FzQ8A+v/k0wlIuvhJF7g==
"@unocss/transformer-attributify-jsx@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.45.21.tgz#fec5612b6a6344083dbf081682482280dee1910e"
integrity sha512-5Fa0srxIB3qanlDCZKhVLl+RfZO4NjS6zuEm+tCCEFp7sSWSdoXWU/dpfDowboqht+B9hGrH/TNeghrxa5O9Wg==
"@unocss/transformer-attributify-jsx@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.45.26.tgz#db8ae47be30f5dcfdf8681a50c0562ebf03e88bf"
integrity sha512-fuNnbqe/Ld07fZLZhNtJb6HpSNf6Lw+HlPGdDNzKdbOVUkJwCmBuRifySLkx4HMCn+ld/iniZvyqUgRDLOVanA==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/transformer-compile-class@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/transformer-compile-class/-/transformer-compile-class-0.45.21.tgz#2d79ebec9ef24307ac69e5f5ee5169a7cdc092fd"
integrity sha512-NGB3VMV3DIzBqBA0jC6B29Tv8h7LlDe9oduDliM5ex6sA2l09FzrJNfyEVA1AxGUF2uE8T+1AJsnlclMsvM0hQ==
"@unocss/transformer-compile-class@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/transformer-compile-class/-/transformer-compile-class-0.45.26.tgz#a2cbdf4880c5f8cdcf80c79869db40e05cea26b0"
integrity sha512-cuDUnNrXcqMezuHcT74tBWdbA55hKTS+g8iESaREnRbdCfnmxTSO/GyrRPsQB5ULL465ENwiOaXJhKkLSfTQqw==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/transformer-directives@0.45.21", "@unocss/transformer-directives@^0.45.7":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.45.21.tgz#effe3353c4675a44d12cb853cb7ac65789561131"
integrity sha512-bF7UThxj81+MM5ZZ0LLaEFhiexSbftF+Ld+AxHhe0MtaBo1oZp8z9AQrCCfQC1rJY5zAcbBGjTJO5BSVsvIDlQ==
"@unocss/transformer-directives@0.45.26", "@unocss/transformer-directives@^0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.45.26.tgz#5d8dfc0ab191d7bc9e8c43507d7a929a321f0703"
integrity sha512-9Ypquxnsp2gAAlEPhQwXIfaEVqWsLyryd0VttQy0+kzxG8koPiMkKtYsiw6vN8tsEzklVQiydLct4HCONaMzHQ==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
css-tree "^2.2.1"
"@unocss/transformer-variant-group@0.45.21", "@unocss/transformer-variant-group@^0.45.13":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/transformer-variant-group/-/transformer-variant-group-0.45.21.tgz#4ed0121a1af616af7cb8865ff455811ab0c90652"
integrity sha512-MnvZ3IDuMKGEmAcQZ2SOJz9/daLKl/+MPiJVYPPT01y71e0yWDRUJR1YRZXcatgH60tiyPelC7u8MNNNZOoqMw==
"@unocss/transformer-variant-group@0.45.26", "@unocss/transformer-variant-group@^0.45.25":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/transformer-variant-group/-/transformer-variant-group-0.45.26.tgz#2704b7662781ddd4405f75297c5609e606ec57e8"
integrity sha512-MUManbGNe1q5/dm4QLW1SbegeH/06ZbYyREfJEy7U5Ze5Npe67a1eZ4EA4b6el5Y8Bd+wpJ4xj1D+fxC6NVWJQ==
dependencies:
"@unocss/core" "0.45.21"
"@unocss/core" "0.45.26"
"@unocss/vite@0.45.21":
version "0.45.21"
resolved "https://registry.yarnpkg.com/@unocss/vite/-/vite-0.45.21.tgz#3bf44805e817504470983139ef2343656dc79da0"
integrity sha512-BrCJMSy9i9j9mmzu2pfPFQuRPNWASxQfy3D6k+4R3c51OfKBSDcfeD7FyM866TE1gllCIFdQQH1Ay+tXkjlOMQ==
"@unocss/vite@0.45.26":
version "0.45.26"
resolved "https://registry.yarnpkg.com/@unocss/vite/-/vite-0.45.26.tgz#171dad95151341dce8a73f3b5897c9b706e75e8a"
integrity sha512-9BNJXBN0UG+olMbfIcVcrJgBetyO3HOP6Wx3r5Oc8iwfYSxrWQlHFF+yVJi/+oxsENfsjAgCRH7O+nF4FrXceA==
dependencies:
"@ampproject/remapping" "^2.2.0"
"@rollup/pluginutils" "^4.2.1"
"@unocss/config" "0.45.21"
"@unocss/core" "0.45.21"
"@unocss/inspector" "0.45.21"
"@unocss/scope" "0.45.21"
"@unocss/transformer-directives" "0.45.21"
"@unocss/config" "0.45.26"
"@unocss/core" "0.45.26"
"@unocss/inspector" "0.45.26"
"@unocss/scope" "0.45.26"
"@unocss/transformer-directives" "0.45.26"
magic-string "^0.26.3"
"@vitejs/plugin-legacy@^1.8.2":
@ -1450,100 +1453,100 @@
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-2.3.4.tgz#966a6279060eb2d9d1a02ea1a331af071afdcf9e"
integrity sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==
"@vue/compiler-core@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.39.tgz#0d77e635f4bdb918326669155a2dc977c053943e"
integrity sha512-mf/36OWXqWn0wsC40nwRRGheR/qoID+lZXbIuLnr4/AngM0ov8Xvv8GHunC0rKRIkh60bTqydlqTeBo49rlbqw==
"@vue/compiler-core@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.40.tgz#c785501f09536748121e937fb87605bbb1ada8e5"
integrity sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/shared" "3.2.39"
"@vue/shared" "3.2.40"
estree-walker "^2.0.2"
source-map "^0.6.1"
"@vue/compiler-dom@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.39.tgz#bd69d35c1a48fe2cea4ab9e96d2a3a735d146fdf"
integrity sha512-HMFI25Be1C8vLEEv1hgEO1dWwG9QQ8LTTPmCkblVJY/O3OvWx6r1+zsox5mKPMGvqYEZa6l8j+xgOfUspgo7hw==
"@vue/compiler-dom@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz#c225418773774db536174d30d3f25ba42a33e7e4"
integrity sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==
dependencies:
"@vue/compiler-core" "3.2.39"
"@vue/shared" "3.2.39"
"@vue/compiler-core" "3.2.40"
"@vue/shared" "3.2.40"
"@vue/compiler-sfc@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.39.tgz#8fe29990f672805b7c5a2ecfa5b05e681c862ea2"
integrity sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA==
"@vue/compiler-sfc@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz#61823283efc84d25d9d2989458f305d32a2ed141"
integrity sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.39"
"@vue/compiler-dom" "3.2.39"
"@vue/compiler-ssr" "3.2.39"
"@vue/reactivity-transform" "3.2.39"
"@vue/shared" "3.2.39"
"@vue/compiler-core" "3.2.40"
"@vue/compiler-dom" "3.2.40"
"@vue/compiler-ssr" "3.2.40"
"@vue/reactivity-transform" "3.2.40"
"@vue/shared" "3.2.40"
estree-walker "^2.0.2"
magic-string "^0.25.7"
postcss "^8.1.10"
source-map "^0.6.1"
"@vue/compiler-ssr@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.39.tgz#4f3bfb535cb98b764bee45e078700e03ccc60633"
integrity sha512-EoGCJ6lincKOZGW+0Ky4WOKsSmqL7hp1ZYgen8M7u/mlvvEQUaO9tKKOy7K43M9U2aA3tPv0TuYYQFrEbK2eFQ==
"@vue/compiler-ssr@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz#67df95a096c63e9ec4b50b84cc6f05816793629c"
integrity sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==
dependencies:
"@vue/compiler-dom" "3.2.39"
"@vue/shared" "3.2.39"
"@vue/compiler-dom" "3.2.40"
"@vue/shared" "3.2.40"
"@vue/devtools-api@^6.1.4", "@vue/devtools-api@^6.2.1":
version "6.2.1"
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz#6f2948ff002ec46df01420dfeff91de16c5b4092"
integrity sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==
"@vue/reactivity-transform@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.39.tgz#da6ae6c8fd77791b9ae21976720d116591e1c4aa"
integrity sha512-HGuWu864zStiWs9wBC6JYOP1E00UjMdDWIG5W+FpUx28hV3uz9ODOKVNm/vdOy/Pvzg8+OcANxAVC85WFBbl3A==
"@vue/reactivity-transform@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz#dc24b9074b26f0d9dd2034c6349f5bb2a51c86ac"
integrity sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.39"
"@vue/shared" "3.2.39"
"@vue/compiler-core" "3.2.40"
"@vue/shared" "3.2.40"
estree-walker "^2.0.2"
magic-string "^0.25.7"
"@vue/reactivity@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.39.tgz#e6e3615fe2288d4232b104640ddabd0729a78c80"
integrity sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ==
"@vue/reactivity@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.40.tgz#ae65496f5b364e4e481c426f391568ed7d133cca"
integrity sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==
dependencies:
"@vue/shared" "3.2.39"
"@vue/shared" "3.2.40"
"@vue/runtime-core@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.39.tgz#dc1faccab11b3e81197aba33fb30c9447c1d2c84"
integrity sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g==
"@vue/runtime-core@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.40.tgz#e814358bf1b0ff6d4a6b4f8f62d9f341964fb275"
integrity sha512-U1+rWf0H8xK8aBUZhnrN97yoZfHbjgw/bGUzfgKPJl69/mXDuSg8CbdBYBn6VVQdR947vWneQBFzdhasyzMUKg==
dependencies:
"@vue/reactivity" "3.2.39"
"@vue/shared" "3.2.39"
"@vue/reactivity" "3.2.40"
"@vue/shared" "3.2.40"
"@vue/runtime-dom@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.39.tgz#4a8cb132bcef316e8151c5ed07fc7272eb064614"
integrity sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA==
"@vue/runtime-dom@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.40.tgz#975119feac5ab703aa9bbbf37c9cc966602c8eab"
integrity sha512-AO2HMQ+0s2+MCec8hXAhxMgWhFhOPJ/CyRXnmTJ6XIOnJFLrH5Iq3TNwvVcODGR295jy77I6dWPj+wvFoSYaww==
dependencies:
"@vue/runtime-core" "3.2.39"
"@vue/shared" "3.2.39"
"@vue/runtime-core" "3.2.40"
"@vue/shared" "3.2.40"
csstype "^2.6.8"
"@vue/server-renderer@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.39.tgz#4358292d925233b0d8b54cf0513eaece8b2351c5"
integrity sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ==
"@vue/server-renderer@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.40.tgz#55eaac31f7105c3907e1895129bf4efb6b0ce393"
integrity sha512-gtUcpRwrXOJPJ4qyBpU3EyxQa4EkV8I4f8VrDePcGCPe4O/hd0BPS7v9OgjIQob6Ap8VDz9G+mGTKazE45/95w==
dependencies:
"@vue/compiler-ssr" "3.2.39"
"@vue/shared" "3.2.39"
"@vue/compiler-ssr" "3.2.40"
"@vue/shared" "3.2.40"
"@vue/shared@3.2.39":
version "3.2.39"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.39.tgz#302df167559a1a5156da162d8cc6760cef67f8e3"
integrity sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw==
"@vue/shared@3.2.40":
version "3.2.40"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.40.tgz#e57799da2a930b975321981fcee3d1e90ed257ae"
integrity sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==
acorn-jsx@^5.2.0, acorn-jsx@^5.3.1, acorn-jsx@^5.3.2:
version "5.3.2"
@ -2182,10 +2185,10 @@ eslint-plugin-prettier@^4.2.1:
dependencies:
prettier-linter-helpers "^1.0.0"
eslint-plugin-vue@^9.5.1:
version "9.5.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.5.1.tgz#87ce075882cf7d824b95f46c224f91495fafcc54"
integrity sha512-Y0sL2RY7Xc9S8kNih9lbwHIDmewUg9bfas6WSzsOWRgDXhIHKxRBZYNAnVcXBFfE+bMWHUA5GLChl7TcTYUI8w==
eslint-plugin-vue@^9.6.0:
version "9.6.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.6.0.tgz#5d1825b93d54595b1ba97106843e1d28cf3bb291"
integrity sha512-zzySkJgVbFCylnG2+9MDF7N+2Rjze2y0bF8GyUNpFOnT8mCMfqqtLDJkHBuYu9N/psW1A6DVbQhPkP92E+qakA==
dependencies:
eslint-utils "^3.0.0"
natural-compare "^1.4.0"
@ -2382,10 +2385,10 @@ fast-diff@^1.1.2:
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
fast-glob@^3.2.11, fast-glob@^3.2.5:
version "3.2.11"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.5:
version "3.2.12"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
@ -2915,7 +2918,7 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
local-pkg@^0.4.1:
local-pkg@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.2.tgz#13107310b77e74a0e513147a131a2ba288176c2f"
integrity sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==
@ -3176,10 +3179,10 @@ path-parse@^1.0.7:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
pathe@^0.3.0, pathe@^0.3.5:
version "0.3.5"
resolved "https://registry.yarnpkg.com/pathe/-/pathe-0.3.5.tgz#87e5c1164ded1bebeb9dea5dab63563144062303"
integrity sha512-grU/QeYP0ChuE5kjU2/k8VtAeODzbernHlue0gTa27+ayGIu3wqYBIPGfP9r5xSqgCgDd4nWrjKXEfxMillByg==
pathe@^0.3.0, pathe@^0.3.7:
version "0.3.8"
resolved "https://registry.yarnpkg.com/pathe/-/pathe-0.3.8.tgz#3584f03fda1981a6efe8bc24623d82cbb4219acb"
integrity sha512-c71n61F1skhj/jzZe+fWE9XDoTYjWbUwIKVwFftZ5IOgiX44BVkTkD+/803YDgR50tqeO4eXWxLyVHBLWQAD1g==
perfect-debounce@^0.1.3:
version "0.1.3"
@ -3772,28 +3775,28 @@ universalify@^2.0.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
unocss@^0.45.21:
version "0.45.21"
resolved "https://registry.yarnpkg.com/unocss/-/unocss-0.45.21.tgz#200e9e8361d4f6c3d0bf4c99c48c59c857798731"
integrity sha512-tx0FZEbRhl4pjo9LQaFXIBzSt3EqWujPdNaaLypVPIqPEwms49cXw4vi3JKDYrL9xbQ+Xf0izwPpCIwBxMprDA==
unocss@^0.45.26:
version "0.45.26"
resolved "https://registry.yarnpkg.com/unocss/-/unocss-0.45.26.tgz#ec1a79480ce6bbb58c64199203c2263c458b4b8f"
integrity sha512-d8mDD6YewHfSCA2uGbBzKY/UnQRSrIDgP7gI61Ll6XY+DcLCVMn0vc1BubQGEL2K0wP9wDsI8HDR6VzDI/0w9w==
dependencies:
"@unocss/astro" "0.45.21"
"@unocss/cli" "0.45.21"
"@unocss/core" "0.45.21"
"@unocss/preset-attributify" "0.45.21"
"@unocss/preset-icons" "0.45.21"
"@unocss/preset-mini" "0.45.21"
"@unocss/preset-tagify" "0.45.21"
"@unocss/preset-typography" "0.45.21"
"@unocss/preset-uno" "0.45.21"
"@unocss/preset-web-fonts" "0.45.21"
"@unocss/preset-wind" "0.45.21"
"@unocss/reset" "0.45.21"
"@unocss/transformer-attributify-jsx" "0.45.21"
"@unocss/transformer-compile-class" "0.45.21"
"@unocss/transformer-directives" "0.45.21"
"@unocss/transformer-variant-group" "0.45.21"
"@unocss/vite" "0.45.21"
"@unocss/astro" "0.45.26"
"@unocss/cli" "0.45.26"
"@unocss/core" "0.45.26"
"@unocss/preset-attributify" "0.45.26"
"@unocss/preset-icons" "0.45.26"
"@unocss/preset-mini" "0.45.26"
"@unocss/preset-tagify" "0.45.26"
"@unocss/preset-typography" "0.45.26"
"@unocss/preset-uno" "0.45.26"
"@unocss/preset-web-fonts" "0.45.26"
"@unocss/preset-wind" "0.45.26"
"@unocss/reset" "0.45.26"
"@unocss/transformer-attributify-jsx" "0.45.26"
"@unocss/transformer-compile-class" "0.45.26"
"@unocss/transformer-directives" "0.45.26"
"@unocss/transformer-variant-group" "0.45.26"
"@unocss/vite" "0.45.26"
upath@^1.2.0:
version "1.2.0"
@ -3826,10 +3829,10 @@ vite-plugin-eslint@^1.8.1:
"@types/eslint" "^8.4.5"
rollup "^2.77.2"
vite-plugin-pwa@^0.12.7:
version "0.12.7"
resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-0.12.7.tgz#ff4de762926809c56aca43aad8b49a4c6727230e"
integrity sha512-salSwS1wWc1niNWfhX2W6gtfXmk+XESMz62w95EHLq6fSM2bDgDm1APmvq1nkDcxH6Onky7HxysCBKMzvOHXYg==
vite-plugin-pwa@^0.12.8:
version "0.12.8"
resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-0.12.8.tgz#9eee41771fd9b84bdd5fb548cf6e19ed09bfc2ae"
integrity sha512-pSiFHmnJGMQJJL8aJzQ8SaraZBSBPMGvGUkCNzheIq9UQCEk/eP3UmANNmS9eupuhIpTK8AdxTOHcaMcAqAbCA==
dependencies:
debug "^4.3.4"
fast-glob "^3.2.11"
@ -3880,16 +3883,16 @@ vue-router@^4.1.5:
dependencies:
"@vue/devtools-api" "^6.1.4"
vue@^3.2.39:
version "3.2.39"
resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.39.tgz#de071c56c4c32c41cbd54e55f11404295c0dd62d"
integrity sha512-tRkguhRTw9NmIPXhzk21YFBqXHT2t+6C6wPOgQ50fcFVWnPdetmRqbmySRHznrYjX2E47u0cGlKGcxKZJ38R/g==
vue@^3.2.40:
version "3.2.40"
resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.40.tgz#23f387f6f9b3a0767938db6751e4fb5900f0ee34"
integrity sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A==
dependencies:
"@vue/compiler-dom" "3.2.39"
"@vue/compiler-sfc" "3.2.39"
"@vue/runtime-dom" "3.2.39"
"@vue/server-renderer" "3.2.39"
"@vue/shared" "3.2.39"
"@vue/compiler-dom" "3.2.40"
"@vue/compiler-sfc" "3.2.40"
"@vue/runtime-dom" "3.2.40"
"@vue/server-renderer" "3.2.40"
"@vue/shared" "3.2.40"
webidl-conversions@^4.0.2:
version "4.0.2"