Merge pull request #1954 from dragos-efy/efy

Merge from main + Update efy submodule
This commit is contained in:
Bnyro 2023-01-07 19:33:03 +01:00 committed by GitHub
commit 62886be52c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 594 additions and 380 deletions

View File

@ -24,7 +24,7 @@ jobs:
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/" # App source code path
app_build_command: "yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css"
app_build_command: "yarn build && ./localizefonts.sh"
api_location: "" # Api source code path - optional
output_location: "dist" # Built app content directory - optional
###### End of Repository/Build Configurations ######

View File

@ -12,14 +12,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup Node.js
uses: actions/setup-node@v3
with:
cache: "yarn"
- run: yarn install --prefer-offline
- run: yarn build --out-dir dist-ci && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist-ci/assets/*.css
- run: yarn build && ./localizefonts.sh && mv dist/ dist-ci/
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:

View File

@ -12,14 +12,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup Node.js
uses: actions/setup-node@v3
with:
cache: "yarn"
- run: yarn install --prefer-offline
- run: yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css && cp dist/index.html dist/ipfs-404.html
- run: yarn build && ./localizefonts.sh && cp dist/index.html dist/ipfs-404.html
- uses: aquiladev/ipfs-action@v0.3.1-alpha.2
id: ipfs-add
with:

View File

@ -2,12 +2,16 @@ FROM node:lts-alpine AS build
WORKDIR /app/
RUN --mount=type=cache,target=/var/cache/apk \
apk add --no-cache \
curl
COPY . .
RUN --mount=type=cache,target=/root/.cache/yarn \
--mount=type=cache,target=/app/node_modules \
yarn install --prefer-offline && \
yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css
yarn build && ./localizefonts.sh
FROM nginx:alpine

10
localizefonts.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
base='https://fonts\.(gstatic\.com|kavin\.rocks)'
fonts=$(cat dist/assets/* | grep -Po "$base[^)]*" | sort | uniq)
for font in $fonts; do
file="dist/fonts$(echo $font | sed -E "s#$base##")"
mkdir -p "$(dirname "$file")"
curl -L "$font" -o "$file"
done
sed -Ei "s#$base#/fonts#g" dist/assets/*

View File

@ -14,7 +14,7 @@
"@fortawesome/free-solid-svg-icons": "6.2.1",
"@fortawesome/vue-fontawesome": "3.0.2",
"buffer": "6.0.3",
"dompurify": "2.4.1",
"dompurify": "2.4.2",
"hotkeys-js": "3.10.1",
"javascript-time-ago": "2.5.9",
"mux.js": "6.2.0",
@ -26,24 +26,24 @@
"xml-js": "1.6.11"
},
"devDependencies": {
"@iconify/json": "2.1.153",
"@iconify/json": "2.2.3",
"@intlify/vite-plugin-vue-i18n": "6.0.3",
"@unocss/preset-icons": "0.47.6",
"@unocss/preset-web-fonts": "0.47.6",
"@unocss/transformer-directives": "0.47.6",
"@unocss/transformer-variant-group": "0.47.6",
"@unocss/preset-icons": "0.48.2",
"@unocss/preset-web-fonts": "0.48.2",
"@unocss/transformer-directives": "0.48.2",
"@unocss/transformer-variant-group": "0.48.2",
"@vitejs/plugin-legacy": "3.0.1",
"@vitejs/plugin-vue": "4.0.0",
"@vue/compiler-sfc": "3.2.45",
"eslint": "8.29.0",
"eslint-config-prettier": "8.5.0",
"eslint": "8.31.0",
"eslint-config-prettier": "8.6.0",
"eslint-plugin-prettier": "4.2.1",
"eslint-plugin-vue": "9.8.0",
"prettier": "2.8.1",
"unocss": "0.47.6",
"unocss": "0.48.2",
"vite": "3.2.5",
"vite-plugin-eslint": "1.8.1",
"vite-plugin-pwa": "0.14.0"
"vite-plugin-pwa": "0.14.1"
},
"eslintConfig": {
"root": true,

@ -1 +1 @@
Subproject commit f5fe0a2b2f142e36743eaaf030fabdbd19808386
Subproject commit 64c903b6bf21ed8c3f6259f7b8e02266968b91db

View File

@ -24,7 +24,7 @@
<font-awesome-icon class="ml-1" v-if="comment.hearted" icon="heart" />
</div>
</div>
<div class="whitespace-pre-wrap" v-html="urlify(comment.commentText)" />
<div class="whitespace-pre-wrap" v-html="purifyHTML(comment.commentText)" />
<template v-if="comment.repliesPage && (!loadingReplies || !showingReplies)">
<div @click="loadReplies" class="cursor-pointer">
<a v-text="`${$t('actions.reply_count', comment.replyCount)}`" />

View File

@ -42,7 +42,7 @@ export default {
}
.modal-container {
@apply w-min m-auto min-w-[20vw] relative;
@apply w-300rem m-auto max-w-[100vw] relative;
}
.modal-container > button {

View File

@ -1,10 +1,10 @@
<template>
<ModalComponent>
<h2 v-t="'actions.select_playlist'" />
<select class="select w-full mt-3" v-model="selectedPlaylist">
<h4 v-t="'actions.select_playlist'" class="mb-2" />
<select class="select w-full mb-2" v-model="selectedPlaylist">
<option v-for="playlist in playlists" :value="playlist.id" :key="playlist.id" v-text="playlist.name" />
</select>
<div class="flex justify-end mt-3">
<div class="flex justify-end">
<button
class="btn"
@click="handleClick(selectedPlaylist)"

View File

@ -149,10 +149,7 @@ export default {
version: 1,
playlists: [],
};
let tasks = [];
for (var i = 0; i < this.playlists.length; i++) {
tasks.push(this.fetchPlaylistJson(this.playlists[i].id));
}
let tasks = this.playlists.map(playlist => this.fetchPlaylistJson(playlist.id));
json.playlists = await Promise.all(tasks);
this.download(JSON.stringify(json), "playlists.json", "application/json");
},
@ -165,31 +162,44 @@ export default {
// as Invidious supports public and private playlists
visibility: "private",
// list of the videos, starting with "https://youtube.com" to clarify that those are YT videos
videos: [],
videos: playlist.relatedStreams.map(stream => "https://youtube.com" + stream.url),
};
for (var i = 0; i < playlist.relatedStreams.length; i++) {
playlistJson.videos.push("https://youtube.com" + playlist.relatedStreams[i].url);
}
return playlistJson;
},
async importPlaylists() {
const file = this.$refs.fileSelector.files[0];
let text = await file.text();
let playlists = JSON.parse(text).playlists;
if (!playlists.length) {
let tasks = [];
// list of playlists exported from Piped
if (text.includes("playlists")) {
let playlists = JSON.parse(text).playlists;
if (!playlists.length) {
alert(this.$t("actions.no_valid_playlists"));
return;
}
for (var i = 0; i < playlists.length; i++) {
tasks.push(this.createPlaylistWithVideos(playlists[i]));
}
// CSV from Google Takeout
} else if (file.name.slice(-4).toLowerCase() == ".csv") {
const lines = text.split("\n");
const playlist = {
name: lines[1].split(",")[4],
videos: lines
.slice(4, lines.length)
.filter(line => line != "")
.map(line => `https://youtube.com/watch?v=${line.split(",")[0]}`),
};
tasks.push(this.createPlaylistWithVideos(playlist));
} else {
alert(this.$t("actions.no_valid_playlists"));
return;
}
let tasks = [];
for (var i = 0; i < playlists.length; i++) {
tasks.push(this.createPlaylistWithVideos(playlists[i]));
}
await Promise.all(tasks);
window.location.reload();
},
async createPlaylistWithVideos(playlist) {
let newPlaylist = await this.createPlaylist(playlist.name);
console.log(newPlaylist);
let videoIds = playlist.videos.map(url => url.substr(-11));
await this.addVideosToPlaylist(newPlaylist.playlistId, videoIds);
},

View File

@ -1,19 +1,25 @@
<template>
<ModalComponent>
<h2 v-t="'actions.share'" />
<div class="flex justify-between mt-4">
<label v-t="'actions.with_timecode'" for="withTimeCode" />
<input id="withTimeCode" type="checkbox" v-model="withTimeCode" @change="onChange" />
</div>
<div class="flex justify-between mt-2">
<h4 v-t="'actions.share'" />
<div class="flex justify-between mt-2 mb-2">
<label v-t="'actions.piped_link'" />
<input type="checkbox" v-model="pipedLink" @change="onChange" />
</div>
<div class="flex justify-between mt-2">
<label v-t="'actions.time_code'" />
<input class="input w-300" type="text" v-model="timeStamp" />
<div v-if="this.hasPlaylist" class="flex justify-between">
<label v-t="'actions.with_playlist'" />
<input type="checkbox" v-model="withPlaylist" @change="onChange" />
</div>
<a :href="generatedLink" target="_blank"><h6 class="mb-2" v-text="generatedLink" /></a>
<div class="flex justify-between">
<label v-t="'actions.with_timecode'" for="withTimeCode" />
<input id="withTimeCode" type="checkbox" v-model="withTimeCode" @change="onChange" />
</div>
<div v-if="this.withTimeCode" class="flex justify-between mt-2" style="align-items: center">
<label v-t="'actions.time_code'" />
<input class="input w-300 mb-0rem" type="text" v-model="timeStamp" />
</div>
<a :href="generatedLink" target="_blank">
<h6 class="mb-2 mt-2" v-text="generatedLink" />
</a>
<div class="flex justify-end mt-4">
<button class="btn" style="margin-right: 15rem" v-t="'actions.follow_link'" @click="followLink()" />
<button class="btn" v-t="'actions.copy_link'" @click="copyLink()" />
@ -34,6 +40,12 @@ export default {
type: Number,
required: true,
},
playlistId: {
type: String,
},
playlistIndex: {
type: Number,
},
},
components: {
ModalComponent,
@ -42,13 +54,17 @@ export default {
return {
withTimeCode: true,
pipedLink: true,
withPlaylist: true,
timeStamp: null,
hasPlaylist: false,
};
},
mounted() {
this.timeStamp = parseInt(this.currentTime);
this.withTimeCode = this.getPreferenceBoolean("shareWithTimeCode", true);
this.pipedLink = this.getPreferenceBoolean("shareAsPipedLink", true);
this.withPlaylist = this.getPreferenceBoolean("shareWithPlaylist", true);
this.hasPlaylist = this.playlistId != undefined && !isNaN(this.playlistIndex);
},
methods: {
followLink() {
@ -68,6 +84,7 @@ export default {
onChange() {
this.setPreference("shareWithTimeCode", this.withTimeCode, true);
this.setPreference("shareAsPipedLink", this.pipedLink, true);
this.setPreference("shareWithPlaylist", this.withPlaylist, true);
},
},
computed: {
@ -77,6 +94,10 @@ export default {
: "https://youtu.be/" + this.videoId;
var url = new URL(baseUrl);
if (this.withTimeCode && this.timeStamp > 0) url.searchParams.append("t", this.timeStamp);
if (this.hasPlaylist && this.withPlaylist) {
url.searchParams.append("list", this.playlistId);
url.searchParams.append("index", this.playlistIndex);
}
return url.href;
},
},

View File

@ -124,6 +124,8 @@
v-if="showShareModal"
:video-id="getVideoId()"
:current-time="currentTime"
:playlist-id="playlistId"
:playlist-index="index"
@close="showShareModal = !showShareModal"
/>
</div>
@ -438,7 +440,10 @@ export default {
this.fetchSponsors().then(data => (this.sponsors = data));
},
async getComments() {
this.fetchComments().then(data => (this.comments = data));
this.fetchComments().then(data => {
this.rewriteComments(data.comments);
this.comments = data;
});
},
async fetchSubscribedStatus() {
if (!this.channelId) return;
@ -461,6 +466,23 @@ export default {
this.subscribed = json.subscribed;
});
},
rewriteComments(data) {
data.forEach(comment => {
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(comment.commentText, "text/html");
xmlDoc.querySelectorAll("a").forEach(elem => {
if (!elem.innerText.match(/(?:[\d]{1,2}:)?(?:[\d]{1,2}):(?:[\d]{1,2})/))
elem.outerHTML = elem.getAttribute("href");
});
comment.commentText = xmlDoc
.querySelector("body")
.innerHTML.replaceAll(/(?:http(?:s)?:\/\/)?(?:www\.)?youtube\.com(\/[/a-zA-Z0-9_?=&-]*)/gm, "$1")
.replaceAll(
/(?:http(?:s)?:\/\/)?(?:www\.)?youtu\.be\/(?:watch\?v=)?([/a-zA-Z0-9_?=&-]*)/gm,
"/watch?v=$1",
);
});
},
subscribeHandler() {
if (this.authenticated) {
this.fetchJson(this.authApiUrl() + (this.subscribed ? "/unsubscribe" : "/subscribe"), null, {
@ -487,7 +509,8 @@ export default {
}).then(json => {
this.comments.nextpage = json.nextpage;
this.loading = false;
json.comments.map(comment => this.comments.comments.push(comment));
this.rewriteComments(json.comments);
this.comments.comments = this.comments.comments.concat(json.comments);
});
}
},

View File

@ -119,7 +119,8 @@
"minimize_comments": "تصغير التعليقات",
"show_watch_on_youtube": "عرض زر مشاهدة على يوتيوب",
"minimize_chapters_default": "تصغير الفصول بشكل افتراضي",
"no_valid_playlists": "لا يحتوي الملف على قوائم تشغيل صالحة!"
"no_valid_playlists": "لا يحتوي الملف على قوائم تشغيل صالحة!",
"with_playlist": "المشاركة مع قائمة التشغيل"
},
"video": {
"sponsor_segments": "المقاطع الإعلانية",

View File

@ -1,8 +1,8 @@
{
"titles": {
"trending": "Trenddə olan",
"login": "Daxil olun",
"register": "Qeydiyyatdan keçin",
"login": "Daxil ol",
"register": "Qeydiyyatdan keç",
"feed": "Axın",
"preferences": "Seçimlər",
"history": "Tarixçə",
@ -15,111 +15,112 @@
"channels": "Kanallar"
},
"player": {
"watch_on": "{0} saytında baxın"
"watch_on": "{0} saytında bax"
},
"actions": {
"subscribe": "Abunə Olun - {count}",
"unsubscribe": "Abunəlikdən Çıxın- {count}",
"subscribe": "Abunə Ol - {count}",
"unsubscribe": "Abunəlikdən Çıx - {count}",
"view_subscriptions": "Abunəliklərə Baxın",
"sort_by": "Sıralama qaydası:",
"sort_by": "Çeşidlə:",
"most_recent": "Ən Yeni",
"least_recent": "Ən Köhnə",
"channel_name_asc": "Kanal Adı (A-Z)",
"channel_name_desc": "Kanal Adı (Z-A)",
"back": "Geri",
"uses_api_from": "API-dən istifadə edir ",
"enable_sponsorblock": "SponsorBlok'u Aktivləşdirin",
"skip_sponsors": "Sponsorları Ötürün",
"enable_sponsorblock": "SponsorBlok'u Aktivləşdir",
"skip_sponsors": "Sponsorları Ötür",
"skip_intro": "Fasilə/Giriş Animasiyasını Ötür",
"skip_outro": "Bitiş Kartları/Kanal Nişanı Seqmentlərini Ötür",
"skip_preview": "Önbaxışı/Anonsu Ötürün",
"skip_interaction": "İnteraksiya Xatırlatıcısını Ötürün(Abunə Olun)",
"skip_self_promo": "Ödənişsiz/Özünü Reklamı Ötürün",
"skip_non_music": "Musiqisizliyi Ötür: Musiqi Olmayan Bölmə",
"skip_outro": "Bitiş Kartları/Kreditləri Ötür",
"skip_preview": "Önbaxışı/Anonsu Ötür",
"skip_interaction": "İnteraksiya Xatırladıcısını Ötür(Abunə Ol)",
"skip_self_promo": "Ödənişsiz/Özünü Reklamı Ötür",
"skip_non_music": "Musiqini Ötür: Musiqi Olmayan Bölmə",
"skip_highlight": "Anonsu Ötür",
"skip_filler_tangent": "Doldurucu Səhnələri Ötür",
"theme": "Mövzu",
"theme": "Tema",
"auto": "Avtomatik",
"dark": "Qaranlıq",
"light": "İşıqlı",
"autoplay_video": "Videonu Avto-oynat",
"audio_only": "Yalnız Səs",
"default_quality": "Defolt Keyfiyyət",
"buffering_goal": "Tamponlama Məqsədi (saniyələrlə)",
"export_to_json": "JSON-a İxrac Edin",
"import_from_json": "JSON/CSV-dan İdxal Edin",
"buffering_goal": "Tamponlama hədəfi (saniyələrlə)",
"export_to_json": "JSON-a İxrac Et",
"import_from_json": "JSON/CSV-dan İdxal Et",
"loop_this_video": "Bu Videonu Təkrarla",
"auto_play_next_video": "Növbəti Videonu Avto-Oynat",
"donations": "İnkişaf ianələri",
"minimize_description": "Açıqlamanı Kiçildin",
"show_description": "Açıqlamanı Göstərin",
"minimize_recommendations": "Tövsiyələri ən aza endirin",
"show_recommendations": "Tövsiyələri Göstərin",
"disable_lbry": "Yayım üçün LBRY-ni Söndürün",
"enable_lbry_proxy": "LBRY üçün Proksi-ni Aktivləşdirin",
"view_ssl_score": "SSL Nəticəsinə Baxın",
"search": "Axtarın",
"minimize_description": "Açıqlamanı Kiçilt",
"show_description": "Açıqlamanı Göstər",
"minimize_recommendations": "Tövsiyələri kiçilt",
"show_recommendations": "Tövsiyələri Göstər",
"disable_lbry": "Yayım üçün LBRY-ni deaktiv et",
"enable_lbry_proxy": "LBRY üçün Proksi-ni Aktivləşdir",
"view_ssl_score": "SSL Nəticəsinə Bax",
"search": "Axtarış",
"filter": "Filtr",
"loading": "Yüklənir...",
"clear_history": "Tarixçəni Təmizləyin",
"hide_replies": "Cavabları Gizlədin",
"clear_history": "Tarixçəni Təmizlə",
"hide_replies": "Cavabları Gizlət",
"load_more_replies": "Daha Çox Cavab Yüklə",
"add_to_playlist": "Pleylistə Əlavə Edin",
"remove_from_playlist": "Pleylistdən Silin",
"add_to_playlist": "Pleylistə Əlavə Et",
"remove_from_playlist": "Pleylistdən Sil",
"delete_playlist_video_confirm": "Video pleylistdən silinsin?",
"create_playlist": "Pleylist Yaradın",
"delete_playlist": "Pleylisti Silin",
"select_playlist": "Pleylist Seçin",
"create_playlist": "Pleylist Yarat",
"delete_playlist": "Pleylisti Sil",
"select_playlist": "Pleylist Seç",
"delete_playlist_confirm": "Bu pleylist silinsin?",
"please_select_playlist": "Lütfən, pleylist seçin",
"please_select_playlist": "Lütfən, pleylist seç",
"country_selection": "Ölkə Seçimi",
"default_homepage": "Defolt Əsas Səhifə",
"show_comments": "Şərhləri Göstərin",
"show_comments": "Şərhləri Göstər",
"instance_selection": "Nümunə Seçimi",
"minimize_description_default": "Açıqlamanı Defolt Olaraq Kiçildin",
"minimize_description_default": "Açıqlamanı Defolt Olaraq Kiçilt",
"language_selection": "Dil Seçimi",
"instances_list": "Nümunələr Siyahısı",
"show_more": "Daha Çox Göstər",
"no": "Xeyr",
"store_watch_history": "Baxış Tarixçəsini Saxlayın",
"store_watch_history": "Baxış Tarixçəsini Saxla",
"enabled_codecs": "Aktiv Kodeklər (Birdən çox)",
"yes": "Bəli",
"show_markers": "Oynadıcıda Markerləri Göstərin",
"delete_account": "Hesabı Silin",
"logout": "Bu cihazdan çıxın",
"minimize_recommendations_default": "Defolt olaraq Tövsiyələri minimuma endir",
"download_as_txt": ".txt kimi endirin",
"reset_preferences": "Seçimləri sıfırlayın",
"confirm_reset_preferences": "Seçimləri sıfırlamaq istədiyinizə əminsiniz?",
"show_markers": "Oynadıcıda Markerləri Göstər",
"delete_account": "Hesabı Sil",
"logout": "Bu cihazdan çıx",
"minimize_recommendations_default": "Defolt olaraq Tövsiyələri kiçilt",
"download_as_txt": ".txt kimi endir",
"reset_preferences": "Seçimləri sıfırla",
"confirm_reset_preferences": "Seçimlərinizi sıfırlamaq istədiyinizə əminsiniz?",
"backup_preferences": "Yedəkləmə seçimləri",
"restore_preferences": "Seçimləri bərpa edin",
"restore_preferences": "Seçimləri bərpa et",
"invalidate_session": "Bütün cihazlardan çıxın",
"different_auth_instance": "Doğrulama üçün fərqli bir nümunədən istifadə edin",
"instance_auth_selection": "Doğrulama Nümunəsi Seçilməsi",
"clone_playlist": "Pleylist Klonlanması",
"different_auth_instance": "Təsdiqləmə üçün fərqli nümunə istifadə et",
"instance_auth_selection": "Təsdiqləmə Nümunəsi Seçimi",
"clone_playlist": "Pleylisti Klonla",
"clone_playlist_success": "Uğurla klonlandı!",
"rename_playlist": "Pleylistin adını dəyiş",
"rename_playlist": "Pleylist adını dəyiş",
"time_code": "Vaxt kodu (saniyələrlə)",
"store_search_history": "Axtarış tarixçəsini saxla",
"documentation": "Sertifikatlaşdırma",
"status_page": "Vəziyyət",
"source_code": "Mənbə kodu",
"instance_donations": "Nümunə ianələri",
"hide_watched": "Axında baxılan videoları gizlədin",
"hide_watched": "Axında baxılan videoları gizlət",
"show_chapters": "Bölmələr",
"new_playlist_name": "Yeni pleylist adı",
"share": "Paylaşın",
"with_timecode": "Vaxt kodu ilə paylaşın",
"follow_link": "Linki izləyin",
"piped_link": "Piped linki",
"copy_link": "Linki kopyalayın",
"share": "Paylaş",
"with_timecode": "Vaxt kodu ilə paylaş",
"follow_link": "Bağlantını izlə",
"piped_link": "Piped bağlantısı",
"copy_link": "Bağlantını kopyala",
"back_to_home": "Evə qayıt",
"reply_count": "{count} cavab",
"minimize_comments_default": "Şərhləri standart olaraq kiçilt",
"minimize_comments": "Şərhləri Kiçilt",
"minimize_chapters_default": "Defolt olaraq bölmələri kiçilt",
"show_watch_on_youtube": "YouTube-da Baxış düyməsini göstər",
"no_valid_playlists": "Faylda etibarlı pleylistlər yoxdur!"
"no_valid_playlists": "Faylda etibarlı pleylistlər yoxdur!",
"with_playlist": "Pleylistlə paylaş"
},
"comment": {
"pinned_by": "Tərəfindən Sabitləndi {author}",
@ -146,7 +147,7 @@
"watched": "Baxılıb",
"sponsor_segments": "Sponsorlar Seqmentləri",
"ratings_disabled": "Reytinqlər Deaktivdir",
"chapters": "Bölümlər",
"chapters": "Bölmələr",
"live": "{0} Canlı",
"shorts": "Qısa"
},

View File

@ -47,7 +47,7 @@
"country_selection": "Izbor zemalja",
"minimize_description_default": "Umanji Opis po podrazumijevanim podešavanjima",
"no": "Ne",
"donations": "Donacije",
"donations": "Donacije za razvoj",
"show_description": "Prikaži opis",
"load_more_replies": "Učitajte još odgovora",
"enabled_codecs": "Omogućeni kodeci (množina)",
@ -63,9 +63,46 @@
"view_ssl_score": "Pogledajte SSL rezultat",
"hide_replies": "Sakrijte odgovore",
"remove_from_playlist": "Uklonite iz popisa snimaka",
"delete_playlist_video_confirm": "Jel baš želite ukloniti ovaj video iz ovog popisa snimaka?",
"delete_playlist_video_confirm": "Uklonite ovaj video iz popisa snimaka?",
"select_playlist": "Odaberite popis snimaka",
"delete_playlist_confirm": "Jeste li sigurni da želite izbrisati ovaj popis snimaka?"
"delete_playlist_confirm": "Izbrisati ovaj popis snimaka?",
"show_markers": "Prikaži markere na Pokretniku",
"share": "Podijeli",
"invalidate_session": "Odjavite se sa svih uređaja",
"show_chapters": "Poglavlja",
"status_page": "Status",
"source_code": "Izvorni kod",
"clone_playlist_success": "Uspješno klonirano!",
"store_search_history": "Pohrani historiju pretraživanja",
"minimize_chapters_default": "Smanjite poglavlja po zadanom",
"show_watch_on_youtube": "Prikaži „Gledaj na YouTube-u” dugme",
"different_auth_instance": "Koristite drugu instancu za autentifikaciju",
"rename_playlist": "Preimenuj listu izvođenja",
"new_playlist_name": "Novi naziv liste izvođenja",
"with_timecode": "Podijelite s vremenskim kodom",
"piped_link": "Piped poveznica",
"follow_link": "Prati poveznicu",
"time_code": "Vremenski kod (u sekundama)",
"hide_watched": "Sakrijte gledane videozapise u sažetku sadržaja",
"instance_donations": "Donacije za instancu",
"reply_count": "{count} odgovora",
"logout": "Odjavite se sa ovog uređaja",
"download_as_txt": "Preuzmite kao .txt",
"backup_preferences": "Spremi sigurnosnu kopiju postavki",
"instance_auth_selection": "Odabir instance autentikacije",
"restore_preferences": "Vrati postavke",
"back_to_home": "Povratak na početnu",
"copy_link": "Kopiraj poveznicu",
"no_valid_playlists": "Datoteka ne sadrži važeće liste za reprodukciju!",
"with_playlist": "Podijeli sa listom izvođenja",
"clone_playlist": "Kloniraj listu za reprodukciju",
"documentation": "Dokumentacija",
"confirm_reset_preferences": "Jeste li sigurni da želite obnoviti svoje postavke?",
"minimize_comments_default": "Po zadanom smanjite komentare",
"minimize_comments": "Minimizirajte komentare",
"delete_account": "Izbriši račun",
"minimize_recommendations_default": "Smanjite preporuke po zadanom",
"reset_preferences": "Vrati postavke na zadano"
},
"titles": {
"register": "Registrirajte se",
@ -75,7 +112,12 @@
"feed": "Novosti",
"preferences": "Podešavanja",
"playlists": "Popisi Snimaka",
"subscriptions": "Pretplate"
"subscriptions": "Pretplate",
"instance": "Instanca",
"account": "Račun",
"player": "Pokretnik",
"channels": "Kanali",
"livestreams": "Prijenosi uživo"
},
"search": {
"music_songs": "YT Music: Pjesme",
@ -111,9 +153,23 @@
"ratings_disabled": "Ocjene su isključene",
"watched": "Pogledano",
"videos": "Video zapisi",
"live": "{0} Uživo"
"live": "{0} Uživo",
"shorts": "Kratki videi"
},
"comment": {
"pinned_by": "Prikačeno od {author}"
"pinned_by": "Prikačeno od {author}",
"disabled": "Komentari su onemogućeni od strane prijenosnika.",
"loading": "Učitavanje komentara...",
"user_disabled": "Komentari su onemogućeni u postavkama."
},
"subscriptions": {
"subscribed_channels_count": "Pretplaćeni ste na: {0}"
},
"info": {
"preferences_note": "Napomena: Preferencije se čuvaju u lokalnom skladištu vašeg pretraživača. Brisanje podataka vašeg preglednika će ih resetirati.",
"cannot_copy": "Nije moguće kopirati!",
"page_not_found": "Stranica nije pronađena",
"copied": "Kopirano!",
"local_storage": "Ova radnja zahtijeva lokalno pohranjivanje, jesu li kolačići omogućeni?"
}
}

View File

@ -116,7 +116,8 @@
"minimize_comments": "Skrýt komentáře",
"show_watch_on_youtube": "Zobrazit tlačítko Sledovat na YouTube",
"minimize_chapters_default": "Ve výchozím nastavení skrýt kapitoly",
"no_valid_playlists": "Soubor neobsahuje platné playlisty!"
"no_valid_playlists": "Soubor neobsahuje platné playlisty!",
"with_playlist": "Sdílet s playlistem"
},
"player": {
"watch_on": "Sledovat na {0}"

View File

@ -101,7 +101,8 @@
"minimize_comments_default": "Kommentare automatisch minimieren",
"minimize_comments": "Kommentare minimieren",
"no_valid_playlists": "Die Datei enthält keine gültigen Wiedergabelisten!",
"show_watch_on_youtube": "Schaltfläche „Auf YouTube ansehen“ anzeigen"
"show_watch_on_youtube": "Schaltfläche „Auf YouTube ansehen“ anzeigen",
"with_playlist": "Mit Wiedergabeliste teilen"
},
"player": {
"watch_on": "Auf {0} ansehen"

View File

@ -83,7 +83,7 @@
"remove_from_playlist": "Remove from playlist",
"delete_playlist_video_confirm": "Remove video from playlist?",
"create_playlist": "Create Playlist",
"delete_playlist": "Delete Playlist",
"delete_playlist": "Delete",
"select_playlist": "Select a Playlist",
"delete_playlist_confirm": "Delete this playlist?",
"please_select_playlist": "Please select a playlist",
@ -103,7 +103,7 @@
"backup_preferences": "Backup preferences",
"restore_preferences": "Restore preferences",
"back_to_home": "Back to home",
"rename_playlist": "Rename playlist",
"rename_playlist": "Rename",
"new_playlist_name": "New playlist name",
"share": "Share",
"with_timecode": "Share with time code",
@ -119,7 +119,8 @@
"source_code": "Source code",
"instance_donations": "Instance donations",
"reply_count": "{count} replies",
"no_valid_playlists": "The file doesn't contain valid playlists!"
"no_valid_playlists": "The file doesn't contain valid playlists!",
"with_playlist": "Share with playlist"
},
"comment": {
"pinned_by": "Pinned by {author}",

View File

@ -119,7 +119,8 @@
"minimize_comments": "Plejetigi Komentojn",
"show_watch_on_youtube": "Montri «Vidi en Youtube»-butonon",
"minimize_chapters_default": "Defaŭlte plejetigi ĉapitrojn",
"no_valid_playlists": "La dosiero ne enhavas validajn ludlistojn!"
"no_valid_playlists": "La dosiero ne enhavas validajn ludlistojn!",
"with_playlist": "Konigi kun ludlisto"
},
"video": {
"chapters": "Sekcioj",

View File

@ -126,7 +126,8 @@
"minimize_comments": "Minimizar comentarios",
"show_watch_on_youtube": "Mostrar botón Ver en YouTube",
"minimize_chapters_default": "Minimiza capítulos por defecto",
"no_valid_playlists": "¡El archivo no contiene listas de reproducción válidas!"
"no_valid_playlists": "¡El archivo no contiene listas de reproducción válidas!",
"with_playlist": "Compartir con lista de reproducción"
},
"titles": {
"feed": "Fuente web",

View File

@ -119,7 +119,8 @@
"minimize_comments": "צמצום הערות",
"minimize_chapters_default": "מזעור הפרקים כברירת מחדל",
"show_watch_on_youtube": "הצגת כפתור לצפייה ב־YouTube",
"no_valid_playlists": "הקובץ לא מכיל רשימות נגינה תקפות!"
"no_valid_playlists": "הקובץ לא מכיל רשימות נגינה תקפות!",
"with_playlist": "שיתוף עם רשימת נגינה"
},
"comment": {
"pinned_by": "ננעץ על ידי {author}",

View File

@ -21,7 +21,7 @@
"comment": {
"pinned_by": "Prikvačio korisnik {author}",
"disabled": "Prijenosnik onemogućuje komentare.",
"loading": "Učitavanje komentara",
"loading": "Učitavanje komentara...",
"user_disabled": "Komentari su isključeni u postavkama."
},
"actions": {
@ -83,22 +83,22 @@
"clear_history": "Obriši povijest",
"skip_highlight": "Preskoči isticanje",
"skip_filler_tangent": "Preskoči nebitne međudijelove",
"delete_playlist_confirm": "Izbrisati ovu playlistu?",
"remove_from_playlist": "Ukloni iz playliste",
"create_playlist": "Stvori playlistu",
"delete_playlist": "Izbriši playlistu",
"add_to_playlist": "Dodaj u playlistu",
"select_playlist": "Odaberi playlistu",
"please_select_playlist": "Odaberi playlistu",
"delete_playlist_video_confirm": "Ukloniti video iz playliste?",
"show_markers": "Prikaži oznake na playeru",
"delete_playlist_confirm": "Izbrisati ovaj popis snimaka?",
"remove_from_playlist": "Ukloni iz popisa snimaka",
"create_playlist": "Stvori popis snimaka",
"delete_playlist": "Izbriši popis snimaka",
"add_to_playlist": "Dodaj u popis snimaka",
"select_playlist": "Odaberi popis snimaka",
"please_select_playlist": "Odaberi popis snimaka",
"delete_playlist_video_confirm": "Ukloniti video iz popisa snimaka?",
"show_markers": "Prikaži oznake na Pokretaču",
"delete_account": "Izbriši račun",
"logout": "Odjavi se s ovog uređaja",
"minimize_recommendations_default": "Standardno sakrij preporuke",
"invalidate_session": "Odjavi sve uređaje",
"different_auth_instance": "Koristi drugu instancu za autentifikaciju",
"instance_auth_selection": "Odabir instance autentifikacije",
"clone_playlist": "Dupliciraj playlistu",
"clone_playlist": "Dupliciraj popis snimaka",
"clone_playlist_success": "Dupliciranje uspjelo!",
"download_as_txt": "Preuzmi kao .txt",
"reset_preferences": "Resetiraj postavke",
@ -117,7 +117,7 @@
"show_chapters": "Poglavlja",
"documentation": "Dokumentacija",
"source_code": "Izvorni kod",
"instance_donations": "Donacije instace",
"instance_donations": "Donacije instance",
"store_search_history": "Spremi povijest pretrage",
"hide_watched": "Sakrij gledana videa u novostima",
"status_page": "Stanje",
@ -126,7 +126,8 @@
"minimize_comments": "Sakrij komentare",
"show_watch_on_youtube": "Prikaži gumb „Gledaj na YouTubeu”",
"minimize_chapters_default": "Standardno sakrij poglavlja",
"no_valid_playlists": "Datoteka ne sadrži ispravan popisi snimaka!"
"no_valid_playlists": "Datoteka ne sadrži ispravne popise snimaka!",
"with_playlist": "Dijeli s popisom snimaka"
},
"player": {
"watch_on": "Gledaj na {0}"
@ -139,10 +140,10 @@
"register": "Registracija",
"login": "Prijava",
"trending": "U trendu",
"playlists": "Playliste",
"playlists": "Popisi snimaka",
"account": "Račun",
"instance": "Instanca",
"player": "Player",
"player": "Pokretač",
"channels": "Kanali",
"livestreams": "Prijenosi uživo"
},
@ -155,11 +156,11 @@
"all": "YouTube: Sve",
"videos": "YouTube: Videa",
"channels": "YouTube: Kanali",
"playlists": "YouTube: Playliste",
"playlists": "YouTube: Popisi snimaka",
"music_songs": "YT Music: Pjesme",
"music_videos": "YT Music: Videa",
"music_albums": "YT Music: Albumi",
"music_playlists": "YT Music: Playliste"
"music_playlists": "YT Music: Popisi snimaka"
},
"subscriptions": {
"subscribed_channels_count": "Pretplata na: {0}"

View File

@ -119,7 +119,8 @@
"minimize_comments": "Kecilkan Komentar",
"show_watch_on_youtube": "Tampilkan tombol Tonton di YouTube",
"minimize_chapters_default": "Kecilkan Bab secara bawaan",
"no_valid_playlists": "Berkas ini tidak berisi daftar putar yang valid!"
"no_valid_playlists": "Berkas ini tidak berisi daftar putar yang valid!",
"with_playlist": "Bagikan dengan daftar putar"
},
"comment": {
"pinned_by": "Dipasangi pin oleh {author}",

View File

@ -30,7 +30,7 @@
"light": "Licht",
"default_quality": "Standaard Kwaliteit",
"loop_this_video": "Deze Video Herhalen",
"donations": "Donaties",
"donations": "Ontwikkelingsdonaties",
"minimize_description": "Beschrijving Minimaliseren",
"show_description": "Toon Beschrijving",
"minimize_recommendations": "Aanbevelingen Minimaliseren",
@ -57,15 +57,52 @@
"auto_play_next_video": "Volgende Video Automatisch Afspelen",
"remove_from_playlist": "Uit Afspeellijst Verwijderen",
"select_playlist": "Selecteer een Afspeellijst",
"delete_playlist_confirm": "Weet u zeker dat u deze afspeellijst wilt verwijderen?",
"delete_playlist_confirm": "Deze afspeellijst verwijderen?",
"please_select_playlist": "Kies een afspeellijst a.u.b.",
"instance_selection": "Instantie Selectie",
"import_from_json": "Importeren uit JSON/CSV",
"clear_history": "Geschiedenis Wissen",
"load_more_replies": "Laad meer Antwoorden",
"delete_playlist_video_confirm": "Weet u zeker dat u deze video uit deze afspeellijst wilt verwijderen?",
"delete_playlist_video_confirm": "Video van playlist verwijderen?",
"create_playlist": "Afspeellijst Maken",
"delete_playlist": "Afspeellijst Verwijderen"
"delete_playlist": "Afspeellijst Verwijderen",
"show_markers": "Toon markeringen op Speler",
"store_search_history": "Zoekgeschiedenis opslaan",
"minimize_chapters_default": "Hoofdstukken standaard minimaliseren",
"show_watch_on_youtube": "Toon Bekijk op YouTube knop",
"restore_preferences": "Voorkeuren herstellen",
"with_timecode": "Delen met tijdcode",
"piped_link": "Piped link",
"follow_link": "Volg link",
"copy_link": "Link kopiëren",
"hide_watched": "Verberg bekeken video's in de feed",
"minimize_comments": "Opmerkingen minimaliseren",
"instance_auth_selection": "Autenticatie Instantie Selectie",
"clone_playlist": "Afspeellijst klonen",
"download_as_txt": "Downloaden als .txt",
"rename_playlist": "Afspeellijst hernoemen",
"new_playlist_name": "Nieuwe afspeellijstnaam",
"share": "Delen",
"documentation": "Documentatie",
"status_page": "Status",
"time_code": "Tijdcode (in seconden)",
"show_chapters": "Hoofdstukken",
"source_code": "Broncode",
"instance_donations": "Instantie donaties",
"reply_count": "{count} antwoorden",
"no_valid_playlists": "Het bestand bevat geen geldige afspeellijsten!",
"clone_playlist_success": "Succesvol gekloond!",
"reset_preferences": "Voorkeuren opnieuw instellen",
"back_to_home": "Terug naar de start",
"minimize_comments_default": "Opmerkingen standaard minimaliseren",
"delete_account": "Account Verwijderen",
"logout": "Uitloggen van dit apparaat",
"minimize_recommendations_default": "Aanbevelingen standaard minimaliseren",
"confirm_reset_preferences": "Weet u zeker dat u uw voorkeuren opnieuw wilt instellen?",
"backup_preferences": "Back-up voorkeuren",
"invalidate_session": "Alle apparaten afmelden",
"different_auth_instance": "Gebruik een andere instantie voor authenticatie",
"with_playlist": "Delen met afspeellijst"
},
"titles": {
"register": "Registreren",
@ -75,7 +112,12 @@
"history": "Geschiedenis",
"subscriptions": "Abonnementen",
"trending": "Trending",
"playlists": "Afspeellijsten"
"playlists": "Afspeellijsten",
"account": "Account",
"instance": "Instantie",
"player": "Speler",
"livestreams": "Livestreams",
"channels": "Kanalen"
},
"player": {
"watch_on": "Kijk op {0}"
@ -102,7 +144,8 @@
"watched": "Gekeken",
"sponsor_segments": "Sponsorsegmenten",
"ratings_disabled": "Beoordelingen Uitgeschakeld",
"live": "{0} Live"
"live": "{0} Live",
"shorts": "Shorts"
},
"preferences": {
"has_cdn": "Heeft CDN?",
@ -114,6 +157,19 @@
"ssl_score": "SSL-score"
},
"comment": {
"pinned_by": "Vastgemaakt door {author}"
"pinned_by": "Vastgemaakt door {author}",
"user_disabled": "Reacties zijn uitgeschakeld in de instellingen.",
"loading": "Reacties laden...",
"disabled": "Reacties zijn uitgeschakeld door de uploader."
},
"info": {
"preferences_note": "Let op: voorkeuren worden opgeslagen in de lokale opslag van uw browser. Als u uw browsergegevens verwijdert, worden ze opnieuw ingesteld.",
"copied": "Gekopieerd!",
"cannot_copy": "Kan niet kopiëren!",
"page_not_found": "Pagina niet gevonden",
"local_storage": "Deze actie vereist lokale opslag, zijn cookies ingeschakeld?"
},
"subscriptions": {
"subscribed_channels_count": "Geabonneerd op: {0}"
}
}

View File

@ -119,7 +119,8 @@
"piped_link": "Link Piped",
"status_page": "Status",
"reply_count": "{count} odpowiedzi",
"no_valid_playlists": "Ten plik nie zawiera poprawnych playlist!"
"no_valid_playlists": "Ten plik nie zawiera poprawnych playlist!",
"with_playlist": "Udostępnij z playlistą"
},
"comment": {
"pinned_by": "Przypięty przez {author}",

View File

@ -1,9 +1,9 @@
{
"actions": {
"view_subscriptions": "Ver inscrições",
"view_subscriptions": "Ver Inscrições",
"back": "Voltar",
"most_recent": "Mais recente",
"least_recent": "Menos recente",
"most_recent": "Mais Recente",
"least_recent": "Menos Recente",
"sort_by": "Ordenar por:",
"channel_name_asc": "Nome do Canal (A-Z)",
"channel_name_desc": "Nome do Canal (Z-A)",
@ -28,7 +28,7 @@
"show_markers": "Exibir Marcadores no Player",
"skip_intro": "Pular Intervalo/Introdução Animada",
"skip_outro": "Pular Créditos/Cartões finais",
"skip_preview": "Pular Recapitulação",
"skip_preview": "Pular Pré-Visualização/Recapitulação",
"skip_highlight": "Pular Destaque",
"buffering_goal": "Cache de Buffer (em segundos)",
"skip_non_music": "Pular Música: Seção não Musical",
@ -101,7 +101,8 @@
"minimize_recommendations_default": "Minimizar Recomendações por padrão",
"show_watch_on_youtube": "Mostrar Botão Assistir no YouTube",
"minimize_chapters_default": "Minimizar Capítulos por padrão",
"no_valid_playlists": "O arquivo não contém playlists válidas!"
"no_valid_playlists": "O arquivo não contém playlists válidas!",
"with_playlist": "Compartilhar com playlist"
},
"titles": {
"history": "Histórico",

View File

@ -41,7 +41,7 @@
"enabled_codecs": "Activează Codecuri (Multiple)",
"loop_this_video": "Repornește Video-ul",
"donations": "Donații",
"show_recommendations": "Recomandări",
"show_recommendations": "Arată Recomandări",
"disable_lbry": "Oprește LBRY pentru Streaming",
"enable_lbry_proxy": "Activează Proxy pentru LBRY",
"view_ssl_score": "Vezi Scor SSL",
@ -90,17 +90,17 @@
"buffering_goal": "Buffering Goal (secunde)",
"instance_selection": "Selecție Instanță",
"store_watch_history": "Salvează Istoricul de Vizionare",
"minimize_comments": "Comentarii",
"minimize_description": "Descriere",
"minimize_comments": "Ascunde Comentarii",
"minimize_description": "Ascunde Descriere",
"show_more": "Mai Mult",
"no": "Nu",
"export_to_json": "Exportă ca JSON",
"import_from_json": "Importă din JSON/CSV",
"auto_play_next_video": "Autopornește următorul Video",
"minimize_recommendations": "Recomandări",
"minimize_recommendations": "Ascunde Recomandări",
"yes": "Da",
"show_comments": "Comentarii",
"show_description": "Descriere"
"show_comments": "Arată Comentarii",
"show_description": "Arată Descriere"
},
"preferences": {
"ssl_score": "Scor SSL",

View File

@ -7,7 +7,7 @@
"ratings_disabled": "Оцене су онемогућене",
"chapters": "Поглавља",
"live": "{0} Уживо",
"shorts": "Kratki video snimci"
"shorts": "Кратки видео снимци"
},
"actions": {
"view_ssl_score": "Погледај SSL скор/оцену",
@ -76,7 +76,7 @@
"add_to_playlist": "Додај у попис снимака",
"delete_playlist_confirm": "Избрисати овај попис снимака?",
"please_select_playlist": "Молим вас одаберите попис снимака",
"show_markers": "Prikaži obeleživače na plejeru",
"show_markers": "Прикажи обиљеживаче на покретнику",
"delete_account": "Обриши налог",
"logout": "Одјава са овог уређаја",
"minimize_recommendations_default": "Умањи Препоруке као Подразумевано",
@ -110,7 +110,9 @@
"minimize_comments": "Умањи коментаре",
"reply_count": "{count} одговора",
"minimize_chapters_default": "Умањи поглавља подразумевано",
"show_watch_on_youtube": "Прикажи сат на Јутјуб дугмету"
"show_watch_on_youtube": "Прикажите \"Гредај на YouTube-у\" дугме",
"no_valid_playlists": "Датотека не садржи важеће пописе снимака!",
"with_playlist": "Делите са пописом снимака"
},
"preferences": {
"instance_locations": "Локација инстанце",
@ -147,13 +149,13 @@
"playlists": "Пописи Снимака",
"account": "Рачун",
"instance": "Инстанца",
"player": лејер",
"player": окретник",
"livestreams": "Уживо преноси",
"channels": "Канали"
},
"comment": {
"pinned_by": "Закачено од {author}",
"disabled": "Отпремалац је онемогућио коментаре.",
"disabled": "Преносник је онемогућио коментаре.",
"user_disabled": "Коментари су онемогућени у подешавањима.",
"loading": "Учитавање коментара..."
},

View File

@ -101,7 +101,8 @@
"minimize_comments_default": "Yorumları Öntanımlı Olarak Küçült",
"show_watch_on_youtube": "YouTube'da İzle Düğmesini Göster",
"minimize_chapters_default": "Bölümleri Öntanımlı Olarak Küçült",
"no_valid_playlists": "Dosya geçerli oynatma listeleri içermiyor!"
"no_valid_playlists": "Dosya geçerli oynatma listeleri içermiyor!",
"with_playlist": "Oynatma listesiyle paylaş"
},
"player": {
"watch_on": "{0} Üzerinde İzle"

View File

@ -15,11 +15,11 @@
"auto": "Tự động",
"buffering_goal": "Bộ nhớ đệm (tính bằng giây)",
"least_recent": "Ít nhất gần đây",
"skip_intro": "Bỏ qua gián đoạn/Giới thiệu hoạt ảnh",
"skip_outro": "Bỏ qua màn hình kết thúc/Tín dụng",
"skip_intro": "Bỏ qua gián đoạn/hoạt hình intro",
"skip_outro": "Bỏ qua màn hình kết thúc/danh đề",
"skip_interaction": "Bỏ qua lời nhắc tương tác (Đăng ký)",
"skip_preview": "Bỏ qua xem trước/Tóm tắt",
"skip_self_promo": "Bỏ qua thanh toán/Tự quảng cáo",
"skip_preview": "Bỏ qua xem trước/tóm tắt",
"skip_self_promo": "Bỏ qua thanh toán/quảng cáo cho bản thân",
"skip_non_music": "Bỏ qua âm nhạc: Phần không phải âm nhạc",
"skip_highlight": "Bỏ qua phần đánh dấu",
"skip_filler_tangent": "Bỏ qua những đoạn không liên quan",
@ -41,7 +41,7 @@
"minimize_recommendations": "Giảm thiểu các đề xuất",
"show_recommendations": "Hiển thị các đề xuất",
"disable_lbry": "Tắt LBRY để phát trực tuyến",
"enable_lbry_proxy": "Bật Proxy cho LBRY",
"enable_lbry_proxy": "Bật proxy cho LBRY",
"view_ssl_score": "Hiện thị điểm số SSL",
"search": "Tìm kiếm",
"filter": "Bộ lọc",
@ -55,7 +55,7 @@
"minimize_description_default": "Thu nhỏ mô tả theo mặc định",
"instance_selection": "Lựa chọn phiên bản",
"yes": "Có",
"enabled_codecs": "Mã hóa được kích hoạt (Nhiều)",
"enabled_codecs": "Các codec được bật (Nhiều)",
"export_to_json": "Xuất định dạng JSON",
"no": "Không",
"remove_from_playlist": "Xóa khỏi danh sách phát",
@ -68,7 +68,17 @@
"please_select_playlist": "Hãy chọn một danh sách phát",
"copy_link": "Sao chép liên kết",
"source_code": "Mã nguồn",
"piped_link": "Liên kết Piped"
"piped_link": "Liên kết Piped",
"share": "Chia sẻ",
"minimize_comments_default": "Thu nhỏ bình luận theo mặc định",
"download_as_txt": "Tải về dưới định dạng .txt",
"delete_account": "Xóa tài khoản",
"minimize_recommendations_default": "Thu nhỏ đề xuất theo mặc định",
"logout": "Đăng xuất khỏi thiết bị này",
"minimize_comments": "Thu nhỏ bình luận",
"reply_count": "{count} phản hồi",
"status_page": "Trạng thái",
"new_playlist_name": "Tên danh sách phát mới"
},
"titles": {
"register": "Đăng ký",
@ -80,13 +90,18 @@
"feed": "Mới nhất",
"playlists": "Danh sách phát",
"account": "Tài khoản",
"channels": "Kênh"
"channels": "Kênh",
"instance": "Instance",
"player": "Trình phát video"
},
"player": {
"watch_on": "Xem trên {0}"
},
"comment": {
"pinned_by": "Được ghim bởi {author}"
"pinned_by": "Được ghim bởi {author}",
"loading": "Đang tải bình luận...",
"user_disabled": "Bình luận đã được tắt trong cài đặt.",
"disabled": "Bình luận đã bị tắt bởi người đăng video."
},
"preferences": {
"instance_name": "Tên phiên bản",
@ -94,7 +109,7 @@
"has_cdn": "Có CDN?",
"registered_users": "Người dùng đã đăng ký",
"version": "Phiên bản",
"up_to_date": "Cập nhật?",
"up_to_date": "Đã được cập nhật?",
"ssl_score": "Điểm SSL"
},
"login": {
@ -108,7 +123,8 @@
"ratings_disabled": "Xếp hạng đã tắt",
"live": "{0} Trực tiếp",
"chapters": "Chương",
"videos": "Video"
"videos": "Video",
"shorts": "Shorts"
},
"search": {
"did_you_mean": "Ý của bạn là: {0}?",
@ -122,6 +138,11 @@
"music_albums": "YT Music: Album"
},
"info": {
"copied": "Đã sao chép!"
"copied": "Đã sao chép!",
"cannot_copy": "Không thể sao chép!",
"page_not_found": "Không tìm thấy trang"
},
"subscriptions": {
"subscribed_channels_count": "Đã đăng ký cho: {0}"
}
}

408
yarn.lock
View File

@ -17,10 +17,10 @@
"@jridgewell/gen-mapping" "^0.1.0"
"@jridgewell/trace-mapping" "^0.3.9"
"@antfu/install-pkg@^0.1.0":
version "0.1.0"
resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-0.1.0.tgz#8d8c61820cbc32e5c37d82d515485ad3ee9bd052"
integrity sha512-VaIJd3d1o7irZfK1U0nvBsHMyjkuyMP3HKYVV53z8DKyulkHKmjhhtccXO51WSPeeSHIeoJEoNOKavYpS7jkZw==
"@antfu/install-pkg@^0.1.1":
version "0.1.1"
resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-0.1.1.tgz#157bb04f0de8100b9e4c01734db1a6c77e98bbb5"
integrity sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==
dependencies:
execa "^5.1.1"
find-up "^5.0.0"
@ -30,6 +30,11 @@
resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.5.2.tgz#8c2d931ff927be0ebe740169874a3d4004ab414b"
integrity sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==
"@antfu/utils@^0.7.2":
version "0.7.2"
resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.7.2.tgz#3bb6f37a6b188056fe9e2f363b6aa735ed65d7ca"
integrity sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==
"@apideck/better-ajv-errors@^0.3.1":
version "0.3.3"
resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.3.tgz#ab0b1e981e1749bf59736cf7ebe25cfc9f949c15"
@ -940,15 +945,15 @@
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1"
integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==
"@eslint/eslintrc@^1.3.3":
version "1.3.3"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95"
integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==
"@eslint/eslintrc@^1.4.1":
version "1.4.1"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e"
integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
espree "^9.4.0"
globals "^13.15.0"
globals "^13.19.0"
ignore "^5.2.0"
import-fresh "^3.2.1"
js-yaml "^4.1.0"
@ -986,14 +991,14 @@
resolved "https://registry.yarnpkg.com/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.2.tgz#1b2ec546caab790c38d3dcb38407485a70703dd2"
integrity sha512-xHVtVY8ASUeEvgcA/7vULUesENhD+pi/EirRHdMBqooHlXBqK+yrV6d8tUye1m5UKQKVgYAHMhUBfOnoiwvc8Q==
"@humanwhocodes/config-array@^0.11.6":
version "0.11.6"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.6.tgz#6a51d603a3aaf8d4cf45b42b3f2ac9318a4adc4b"
integrity sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg==
"@humanwhocodes/config-array@^0.11.8":
version "0.11.8"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
dependencies:
"@humanwhocodes/object-schema" "^1.2.1"
debug "^4.1.1"
minimatch "^3.0.4"
minimatch "^3.0.5"
"@humanwhocodes/module-importer@^1.0.1":
version "1.0.1"
@ -1005,29 +1010,29 @@
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.153":
version "2.1.153"
resolved "https://registry.yarnpkg.com/@iconify/json/-/json-2.1.153.tgz#aaf4024766a607f579b2aaed99a4caf92595a997"
integrity sha512-9DSzK1DIbrbjDK+LV8PTF/pTM8wJOrmRETEvVP47na093F6LEvcOQnq7Ett51e/WW0mA32GIj7LpO9opyJ/gtQ==
"@iconify/json@2.2.3":
version "2.2.3"
resolved "https://registry.yarnpkg.com/@iconify/json/-/json-2.2.3.tgz#c08ac45edfb8be1d640fc9c81e934e83e7fb3bcb"
integrity sha512-9o15HUqjUg/4VaT5webZAf0mJftToRkyzI2AI1AVjV+hffrJxkUx6Cbj8psHaMIfy4d369bnxksVBFwKKwOlAw==
dependencies:
"@iconify/types" "*"
pathe "^0.3.0"
pathe "^1.0.0"
"@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@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-2.0.2.tgz#d3986021d691c66a5fe8d29ae5113e0a0e221d71"
integrity sha512-13B3wJxDLmSNBEIEpKleKSkJVQgdAy9ra3Xsu233i/5qD5yXBGhpOFxTB/k8cqme0xVsMKBPV5vbvq9MgQlX+w==
"@iconify/utils@^2.0.9":
version "2.0.9"
resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-2.0.9.tgz#dee0bd6948609dfb6da95aa2aa44fb7e4c044d05"
integrity sha512-ropNqaeamoxZvXxvaTJXrI0MrqdWdDVIs/mW7/sEQbNi0aXYUGL2iuLs1da3QR163gyG63kiyTsqw2oQYamw3Q==
dependencies:
"@antfu/install-pkg" "^0.1.0"
"@antfu/utils" "^0.5.2"
"@antfu/install-pkg" "^0.1.1"
"@antfu/utils" "^0.7.2"
"@iconify/types" "^2.0.0"
debug "^4.3.4"
kolorist "^1.5.1"
kolorist "^1.6.0"
local-pkg "^0.4.2"
"@intlify/bundle-utils@^3.2.1":
@ -1303,168 +1308,170 @@
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.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/astro/-/astro-0.47.6.tgz#fa6a905e156c2f4adcf0c31d8392589ae0e366b9"
integrity sha512-8lR4KwuCeVxOTKk6g6hx6VUHhW1u+hki8oRsJaKEB0s5iUPmY6rCNtb/iaBJdceY11bZMMy5LZHJFTkod/T/zg==
"@unocss/astro@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/astro/-/astro-0.48.2.tgz#bfbbf525e8bdf3cd42629ae55a3e6def7e4a1e20"
integrity sha512-cLhKhRCyEMxsgMoQxpI/PUxgiY2guF4FgPFjyQyxbuQ1iKqNPSY5bN6Z7RjX2G52pvgQITbvV/UNTjARHA5zBw==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/reset" "0.47.6"
"@unocss/vite" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/reset" "0.48.2"
"@unocss/vite" "0.48.2"
"@unocss/cli@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/cli/-/cli-0.47.6.tgz#d53b0d0a299e79fb999fcf64b272c8afc9dec391"
integrity sha512-Lwuzl6xK+67LUb4pCKlyrMv9cDuTvywhlSBiYzDj1Su+21IQVRxUagpo10b1WlLXWWQz4J3bOJZYE/e/QV2/HQ==
"@unocss/cli@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/cli/-/cli-0.48.2.tgz#9111762c7251ad1a1a75b1e54a5300ad630473c0"
integrity sha512-1os3KnqvyTajbaPcB9Rbj9lhfFCVi3F8ie9JRP9vxLD50Hbb8yABUK7WNqSKU39x7B9Lw8JXOFbKwW31AZzinQ==
dependencies:
"@ampproject/remapping" "^2.2.0"
"@rollup/pluginutils" "^5.0.2"
"@unocss/config" "0.47.6"
"@unocss/core" "0.47.6"
"@unocss/preset-uno" "0.47.6"
"@unocss/config" "0.48.2"
"@unocss/core" "0.48.2"
"@unocss/preset-uno" "0.48.2"
cac "^6.7.14"
chokidar "^3.5.3"
colorette "^2.0.19"
consola "^2.15.3"
fast-glob "^3.2.12"
magic-string "^0.26.7"
magic-string "^0.27.0"
pathe "^1.0.0"
perfect-debounce "^0.1.3"
"@unocss/config@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/config/-/config-0.47.6.tgz#eb6848fc16db2f4139729d8ad93303c46f273aec"
integrity sha512-KycIrpKqPrTnrbNRLUgePuzfZUKk6afsKII6B53q9rVxxC1og4g7wCsvrn2D89lPipsJ6B9041VsdIhNqa8bFg==
"@unocss/config@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/config/-/config-0.48.2.tgz#cecc0a460a7806dc10e27f9ffd8b7fa4507a2516"
integrity sha512-HDb9vz4CVCWiyBdhcQ4ultHhQJzVK5Nijblu06PXRZV1n9gGr5an8Y/AbXxH3VE0DEBttgORONfviy7QrO0yiA==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/core" "0.48.2"
unconfig "^0.3.7"
"@unocss/core@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.47.6.tgz#9501cb903b45e33ef86d77bd99aa6b7ad05f615b"
integrity sha512-Pjg/NdpuTwZk2Ns3bzI/3XVPuXU+AQ78Sw+9QJyMgA56dArd3TlpNDN6UTOD9XAK6mxdPUu7rNSKpNTLpBW2og==
"@unocss/core@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.48.2.tgz#34863a9670d37b717d39aea4da845ce83b929320"
integrity sha512-QRgvN3IxIbkdM9LcSvgDq7ANIZ2XmCYvn6NOo2PHtvIi8fwebrjUpgw1HtAJkVnhAGWAhDLYDYrtsb+XpF/rkg==
"@unocss/inspector@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/inspector/-/inspector-0.47.6.tgz#b7cc2b9ea2d0ebb0401c30831083460acd409273"
integrity sha512-enYQJo7+/UtSbgzpyKzL4vZU9Tz3QyoPGDmuKoHXSIt6sAtB+DQelW7vMWjcmwA19uaISxIGXx9BJPj5XV67UA==
"@unocss/inspector@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/inspector/-/inspector-0.48.2.tgz#5f711e84f572e164bd50c17aac2395bb2bcdbefc"
integrity sha512-mMTHuAy3K75wdBAHE0f3coKCyKSKq+LwB6V4OlFPyd6Mv7L3vMj46j5rka3TH+qDneB0mSP0t/Czy8bg83ShIA==
dependencies:
gzip-size "^6.0.0"
sirv "^2.0.2"
"@unocss/preset-attributify@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/preset-attributify/-/preset-attributify-0.47.6.tgz#e8b0027df337d87340c3b3ec27a18c11b2f8fdc6"
integrity sha512-s5XB8JpBPbGCHjvzc2j+Cx9o+QQm2CjRdQ7UjL05+uQcVYb8PBjlfD3BeIA21eBH5IxXF9SdOJfx8kUWNa5WFQ==
"@unocss/preset-attributify@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/preset-attributify/-/preset-attributify-0.48.2.tgz#2b169358c4f7f1725511db2695d79e154cc2b35e"
integrity sha512-PAcmK1a4gr7/OqJXo8V0MCoPNGhflh1D8I4lRv+bz6vrXTYwE0W+tDFvdyfGrcFIPya4r2NSnTYiCWaI6ht3TQ==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/preset-icons@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/preset-icons/-/preset-icons-0.47.6.tgz#18cf2a0b68a55b0f44ebe107c1934d7e437fd128"
integrity sha512-YvANR5ueN+r1E4YOfqF1llyUzS6yxROrJ+7MGNdIfyNHFcTwdHRy0f6y8uyiMYWyLc6nGGrUjjdo+DEc30obSA==
"@unocss/preset-icons@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/preset-icons/-/preset-icons-0.48.2.tgz#ccf246ab9273dff2c5e6b7abeddb20f40ef3f3dd"
integrity sha512-XOKubPPXFJQ9g3pwpmqE9byBWBbsoX2nec0jZwdWQts/IhLh4F6ar9z4evHrw8Nu1ZZ5V9IPgNCrYBh5fF2sGg==
dependencies:
"@iconify/utils" "^2.0.2"
"@unocss/core" "0.47.6"
"@iconify/utils" "^2.0.9"
"@unocss/core" "0.48.2"
ohmyfetch "^0.4.21"
"@unocss/preset-mini@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/preset-mini/-/preset-mini-0.47.6.tgz#16fed207076f2ee427be411cc187084f9520884b"
integrity sha512-XP7ShDB42WU0xvZA1dG4E3LnzN4TYISm6AKQee3gmITUtE0ELTp9XutMgt0sqTe5FXeTRqw9XH7axv+4EqnE3Q==
"@unocss/preset-mini@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/preset-mini/-/preset-mini-0.48.2.tgz#7570d7a88b87b8d5270b8a41e388ddbf04d84ee8"
integrity sha512-6PnOe3bOTfm0o1pkPY0bLjSeiPfo59dYuG5U1Z5wAVy6f9XXAXKuB8xMwrlHlPnJMJvF+No9arotq+24AYclKw==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/preset-tagify@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/preset-tagify/-/preset-tagify-0.47.6.tgz#d6dfd03f40ad10ae9eafaa81b478a5e8c9dadecb"
integrity sha512-9MxgZAUWWEg5OPLY+fpEf/Clw88pi57HON95E9zKvRy816S5gqhbt3PSxal7pCB9WO+3JM6BFLazAJ7DHpT1qA==
"@unocss/preset-tagify@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/preset-tagify/-/preset-tagify-0.48.2.tgz#7bd0001f78323396967b1af088e1cc1f195566f4"
integrity sha512-zMgc05S47ZykNlpbfIRxtmijKRvY27lS+zbWn+TkrkjQ3F0hUwK9I20B5l5KJ1KF7lOLzEoXPx/zQjI54kBu/A==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/preset-typography@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/preset-typography/-/preset-typography-0.47.6.tgz#a953cc85ac70bb04b293a976a00113d41c87b7d8"
integrity sha512-/Hfsw05ogolLXqrxTu5bLFIgGGmVdRHGw5vSmY3g+YPy37HfWpbP3cOs8YEOv8r3lV9J7vzAxAKKT0MQgukiHQ==
"@unocss/preset-typography@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/preset-typography/-/preset-typography-0.48.2.tgz#b390105f9898a87e60a73986c0aac936f96a7a4d"
integrity sha512-nR0KhdJraChmFYdhfqLjnnpD8VdVLfx87V/rYRNE3zhTnbsEUMpzm4DgRwa1I9XVENZCHCc0p4S1UwWxOAzE5Q==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/preset-uno@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/preset-uno/-/preset-uno-0.47.6.tgz#2a81775850b8fa3e8f95abb33513b50c587b4d64"
integrity sha512-pDRuFmPzshX6ICaWhj7UBrnoL++rYD/QY52aljg9L4yAOZsZ1m0XRUlbnoXXXsEqDjw38SYNUzA1LtYcevBRvA==
"@unocss/preset-uno@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/preset-uno/-/preset-uno-0.48.2.tgz#e4cdab3e84e791fcd030100829cef4c6973c41c5"
integrity sha512-ZmeVP4B6FaxyyZw+9G63K3523z5mEYdjKjUmqdMeGP0bGQdkuz89JILdjoBMAMxnlYLcMx2fWe9vRnXwlSWFXg==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/preset-mini" "0.47.6"
"@unocss/preset-wind" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/preset-mini" "0.48.2"
"@unocss/preset-wind" "0.48.2"
"@unocss/preset-web-fonts@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/preset-web-fonts/-/preset-web-fonts-0.47.6.tgz#0e0a1291f6902572a38b40320f5b0c0c1b680ed2"
integrity sha512-TkN/etSSl61TtqxQJSVG/zfJUccdpgIuvqYrJOf4OZMj2rLwNHU2kOJEPFCfDyHTS+UjQ7LibfnE6snFDJ3pgQ==
"@unocss/preset-web-fonts@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/preset-web-fonts/-/preset-web-fonts-0.48.2.tgz#8bc9f26a4ec63dfc02965a3e6d021334c2dacc23"
integrity sha512-3dDruyIMcUvGUkoGQISUlNuiIrQv5p4wI0Rt9P8EsICrW5Aomgo7/7PbSk57RFP1dzmOjB4tmz6Q73OwyukgbA==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/core" "0.48.2"
ohmyfetch "^0.4.21"
"@unocss/preset-wind@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/preset-wind/-/preset-wind-0.47.6.tgz#3844db2615aa0bb62c9f815a35ac63fb41130a99"
integrity sha512-yl9zayR/CRfgnlM1iGEBKI3CkIVADv72UQHY+ZHqq/0VzeW8lSRG1KezqDKz2x3fMfrtbfls/fGLXQPNpD0mIw==
"@unocss/preset-wind@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/preset-wind/-/preset-wind-0.48.2.tgz#19c6ce4edf8bafe477b314c76426583ce652f07a"
integrity sha512-rRP13G4mLgNcsd3uK2sdqDTG2lZkQj3BhCYMVYwphnIRTz1hhywXVb2NbshulVUTNVvqwFtoNxwESghKjjrW+Q==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/preset-mini" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/preset-mini" "0.48.2"
"@unocss/reset@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/reset/-/reset-0.47.6.tgz#cde6769bad57f839a59edf189b7e7c3ce297ac59"
integrity sha512-bdc2dbuDg+CzgeLowEwO1URRIMdzmCE4RH4IKpCpT1Xoa+92RRubdtzK4N/9ZiSo8d4vvfWcc8fvhZko/6smPQ==
"@unocss/reset@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/reset/-/reset-0.48.2.tgz#4960f528fbc9ff117c2ddf978724920a2582bfb5"
integrity sha512-WwxPLGbosnaVHC4rzRE2Qbrma6otl7Gq/Hcgx6e1GEHgjDsqQaLCzdL3fQc+Mq3h0fnMu5mKFvNKfCvcmJ3O8g==
"@unocss/scope@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/scope/-/scope-0.47.6.tgz#c944a6412fd91bf06e94eb2f9e64ff679d9c678b"
integrity sha512-aI7B4Il5xYfMcr50AC90I+Igi3KB9U0JPX2yiU2/WhOaO33ZReBWJmBQ4LhBGrdgNh8vkHpeqs8ntwq/o25nbA==
"@unocss/scope@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/scope/-/scope-0.48.2.tgz#223e051fd70d2bf94c33c77b3ea054276391c23c"
integrity sha512-81XM3PCMupaPUMH5d6wrp2TqV2PyWbesf2wkgNZ49rn4CH8qxQbqyatZ4rWEPm2MBDa8iQzkbSMnhg5DSYtZGQ==
"@unocss/transformer-attributify-jsx@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.47.6.tgz#a94becbfd9e1d2200bcb3ae7e95798ee2304fba9"
integrity sha512-1sjBPNpczbg1ZsM4OKr9SCisc3vXEpW+3aeCRlBq7UGlJId3vJlX19Yp6IV9IEnVubsUkgo/3nr0B12OD58VdQ==
"@unocss/transformer-attributify-jsx@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.48.2.tgz#0dcc87f4fda79c182c4f58cc52bba3fc1c22c628"
integrity sha512-vVNUz2Yuq+LwhBglJKkS8dvpb1Bjo8WAIk4fUDLIPPru9BYVNK/rI7jD5Olva+BvoAjIkmgQ3WQnTiYOhSLn/A==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/transformer-compile-class@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/transformer-compile-class/-/transformer-compile-class-0.47.6.tgz#63080deb4407f2252dbd6f1ce2a462b1b8045ff6"
integrity sha512-/+O0qJlHFOF4iO+RVkK5sPLJJzWp8dkAJGH/ArBzpT4hnxe8W7c0tb0hlJxwUp5J7UcP4lDhd8VKKvlyadHkuA==
"@unocss/transformer-compile-class@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/transformer-compile-class/-/transformer-compile-class-0.48.2.tgz#42aba6dac66ff9b128f989cdefc63027330b8a48"
integrity sha512-J33r6kl6x+/XkxhIUoTizH/edu2jYYdKz0cIiFaaG8IvthkABX3wUK9DwV9nDjK53UaS/kmoML/+WrlJvPcVjg==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/transformer-directives@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.47.6.tgz#ac714d9952c2e217dc94d7839718b94769ab28a5"
integrity sha512-vRY9bNhE+iNlRpsnky86MtKpRb8ipk3IHvtuRkK5DSjcjn7RGmh5ZpH9pzg39NvbWtRYq5/EN19riIYQHRetnA==
"@unocss/transformer-directives@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.48.2.tgz#c3752c06870c13b3488013731436ddf78e6ebc39"
integrity sha512-Ehsb9cf6xOVK9+WHdJCOhZ/Sx/X+15/WyH3fCljcHqHgIRk2eUYBU4biSz8Y0JXFUUvbPUfPPwTbdhsih/YjaA==
dependencies:
"@unocss/core" "0.47.6"
css-tree "^2.2.1"
"@unocss/core" "0.48.2"
css-tree "^2.3.1"
"@unocss/transformer-variant-group@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/transformer-variant-group/-/transformer-variant-group-0.47.6.tgz#aeb2f046654a232b6fbfb72885bc602dec3b185f"
integrity sha512-+uXz0pOv6WbEzQuW5RbgDSiwO274blsOsE63PdiRBMID1eSYKffGBcmiDh875QWc9ncFpjSKml+4q8jU7I+a0w==
"@unocss/transformer-variant-group@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/transformer-variant-group/-/transformer-variant-group-0.48.2.tgz#34c75dfe2d1f99b32f279c61a619e3bfa6ff953c"
integrity sha512-FHrMh+iZiKHdQqh9DKqSIF+BP728JWdDROVDWf6pS+IXeGC6TQyWWtHofsBTkR/WT2joaZ9FR67HxBf+h2WBdA==
dependencies:
"@unocss/core" "0.47.6"
"@unocss/core" "0.48.2"
"@unocss/vite@0.47.6":
version "0.47.6"
resolved "https://registry.yarnpkg.com/@unocss/vite/-/vite-0.47.6.tgz#35cef2e954be69a69b0d06f698e310f4ccb3ace6"
integrity sha512-NL3A20sJHwMyCHOaxLlFXnr71QHEd118GN82e/mtFluEh7F3WyLndaZfWQLmLEeJ3z+P4nURFCLirZJIXr4XgQ==
"@unocss/vite@0.48.2":
version "0.48.2"
resolved "https://registry.yarnpkg.com/@unocss/vite/-/vite-0.48.2.tgz#61ac662a60aa275f88338f5a3efe5e278755fde5"
integrity sha512-2gAy87KuMSQbIb1m207y6XG6Tk5/XJOi9/iWMFlodRQXxWwlIXRyI1ee3aDQd1cSUV7M2kdP13FoRkmTs0bxAA==
dependencies:
"@ampproject/remapping" "^2.2.0"
"@rollup/pluginutils" "^5.0.2"
"@unocss/config" "0.47.6"
"@unocss/core" "0.47.6"
"@unocss/inspector" "0.47.6"
"@unocss/scope" "0.47.6"
"@unocss/transformer-directives" "0.47.6"
"@unocss/config" "0.48.2"
"@unocss/core" "0.48.2"
"@unocss/inspector" "0.48.2"
"@unocss/scope" "0.48.2"
"@unocss/transformer-directives" "0.48.2"
chokidar "^3.5.3"
fast-glob "^3.2.12"
magic-string "^0.27.0"
"@vitejs/plugin-legacy@3.0.1":
@ -1912,12 +1919,12 @@ crypto-random-string@^2.0.0:
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
css-tree@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032"
integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==
css-tree@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
dependencies:
mdn-data "2.0.28"
mdn-data "2.0.30"
source-map-js "^1.0.1"
cssesc@^3.0.0:
@ -1976,10 +1983,10 @@ dom-walk@^0.1.0:
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
dompurify@2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.1.tgz#f9cb1a275fde9af6f2d0a2644ef648dd6847b631"
integrity sha512-ewwFzHzrrneRjxzmK6oVz/rZn9VWspGFRDb4/rRtIsM1n36t9AKma/ye8syCpcw+XJ25kOK/hOG7t1j2I2yBqA==
dompurify@2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.2.tgz#c3409b49357804c9b00e1fbebea81f26514c5bc3"
integrity sha512-ckbbxcGpfTJ7SNHC2yT2pHSCYxo2oQgSfdoDHQANzMzQyGzVmalF9W/B+X97Cdik5xFwWtwJP232gIP2+1kNEA==
duplexer@^0.1.2:
version "0.1.2"
@ -2181,10 +2188,10 @@ escape-string-regexp@^4.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
eslint-config-prettier@8.5.0:
version "8.5.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
eslint-config-prettier@8.6.0:
version "8.6.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207"
integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==
eslint-plugin-prettier@4.2.1:
version "4.2.1"
@ -2243,13 +2250,13 @@ eslint-visitor-keys@^3.3.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@8.29.0:
version "8.29.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.29.0.tgz#d74a88a20fb44d59c51851625bc4ee8d0ec43f87"
integrity sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==
eslint@8.31.0:
version "8.31.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.31.0.tgz#75028e77cbcff102a9feae1d718135931532d524"
integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==
dependencies:
"@eslint/eslintrc" "^1.3.3"
"@humanwhocodes/config-array" "^0.11.6"
"@eslint/eslintrc" "^1.4.1"
"@humanwhocodes/config-array" "^0.11.8"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
ajv "^6.10.0"
@ -2268,7 +2275,7 @@ eslint@8.29.0:
file-entry-cache "^6.0.1"
find-up "^5.0.0"
glob-parent "^6.0.2"
globals "^13.15.0"
globals "^13.19.0"
grapheme-splitter "^1.0.4"
ignore "^5.2.0"
import-fresh "^3.0.0"
@ -2540,10 +2547,10 @@ globals@^11.1.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^13.15.0:
version "13.17.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4"
integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==
globals@^13.19.0:
version "13.19.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8"
integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==
dependencies:
type-fest "^0.20.2"
@ -2878,9 +2885,9 @@ json-stable-stringify-without-jsonify@^1.0.1:
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
json5@^2.1.2, json5@^2.2.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
jsonc-eslint-parser@^1.0.1:
version "1.4.1"
@ -2907,10 +2914,10 @@ jsonpointer@^5.0.0:
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.0.tgz#f802669a524ec4805fa7389eadbc9921d5dc8072"
integrity sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==
kolorist@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.5.1.tgz#c3d66dc4fabde4f6b7faa6efda84c00491f9e52b"
integrity sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==
kolorist@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.6.0.tgz#f43ac794305b30032a5bedcae7799d0f91d2ff36"
integrity sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==
leven@^3.1.0:
version "3.1.0"
@ -2971,7 +2978,7 @@ magic-string@^0.25.0, magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.8"
magic-string@^0.26.4, magic-string@^0.26.7:
magic-string@^0.26.4:
version "0.26.7"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f"
integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==
@ -2985,10 +2992,10 @@ magic-string@^0.27.0:
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.13"
mdn-data@2.0.28:
version "2.0.28"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba"
integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==
mdn-data@2.0.30:
version "2.0.30"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
merge-stream@^2.0.0:
version "2.0.0"
@ -3020,7 +3027,7 @@ min-document@^2.19.0:
dependencies:
dom-walk "^0.1.0"
minimatch@^3.0.4, minimatch@^3.1.2:
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@ -3193,11 +3200,6 @@ 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:
version "0.3.9"
resolved "https://registry.yarnpkg.com/pathe/-/pathe-0.3.9.tgz#4baff768f37f03e3d9341502865fb93116f65191"
integrity sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==
pathe@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.0.0.tgz#135fc11464fc57c84ef93d5c5ed21247e24571df"
@ -3816,28 +3818,28 @@ universalify@^2.0.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
unocss@0.47.6:
version "0.47.6"
resolved "https://registry.yarnpkg.com/unocss/-/unocss-0.47.6.tgz#530e9e952b782e7d14638d69c622c397183ca910"
integrity sha512-cc+m2h/Iky24zwAKir9ElmIhkPYNjZEUTemInctWlVN8QX9qpzsRZahAl7ZmKsBorXPFtux/JYoUCCtXftyxOw==
unocss@0.48.2:
version "0.48.2"
resolved "https://registry.yarnpkg.com/unocss/-/unocss-0.48.2.tgz#72e6c2b01b2c3f259b9befa251e04750d798250f"
integrity sha512-Sx94TuodV4CYVlTkeDaEzmMABbHa7NxAf8JoCN14uKrzu2/PDDeZy1XFj4JSrkaHz6RTgOuy/eKCUJDoyYXYCQ==
dependencies:
"@unocss/astro" "0.47.6"
"@unocss/cli" "0.47.6"
"@unocss/core" "0.47.6"
"@unocss/preset-attributify" "0.47.6"
"@unocss/preset-icons" "0.47.6"
"@unocss/preset-mini" "0.47.6"
"@unocss/preset-tagify" "0.47.6"
"@unocss/preset-typography" "0.47.6"
"@unocss/preset-uno" "0.47.6"
"@unocss/preset-web-fonts" "0.47.6"
"@unocss/preset-wind" "0.47.6"
"@unocss/reset" "0.47.6"
"@unocss/transformer-attributify-jsx" "0.47.6"
"@unocss/transformer-compile-class" "0.47.6"
"@unocss/transformer-directives" "0.47.6"
"@unocss/transformer-variant-group" "0.47.6"
"@unocss/vite" "0.47.6"
"@unocss/astro" "0.48.2"
"@unocss/cli" "0.48.2"
"@unocss/core" "0.48.2"
"@unocss/preset-attributify" "0.48.2"
"@unocss/preset-icons" "0.48.2"
"@unocss/preset-mini" "0.48.2"
"@unocss/preset-tagify" "0.48.2"
"@unocss/preset-typography" "0.48.2"
"@unocss/preset-uno" "0.48.2"
"@unocss/preset-web-fonts" "0.48.2"
"@unocss/preset-wind" "0.48.2"
"@unocss/reset" "0.48.2"
"@unocss/transformer-attributify-jsx" "0.48.2"
"@unocss/transformer-compile-class" "0.48.2"
"@unocss/transformer-directives" "0.48.2"
"@unocss/transformer-variant-group" "0.48.2"
"@unocss/vite" "0.48.2"
upath@^1.2.0:
version "1.2.0"
@ -3865,10 +3867,10 @@ vite-plugin-eslint@1.8.1:
"@types/eslint" "^8.4.5"
rollup "^2.77.2"
vite-plugin-pwa@0.14.0:
version "0.14.0"
resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-0.14.0.tgz#6782874c397cbea4212681db752b43076b56cc99"
integrity sha512-3wZx47PLWTckOQhc8Y6YZjAbNZ89Ovh4TdCT97MGhgl7aFd2LUekVnAmIgFwgMqyxzJ93nmkPF/ALpEW/i2qCg==
vite-plugin-pwa@0.14.1:
version "0.14.1"
resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-0.14.1.tgz#c32905d77916aab23e86522e2d4882c652f008d5"
integrity sha512-5zx7yhQ8RTLwV71+GA9YsQQ63ALKG8XXIMqRJDdZkR8ZYftFcRgnzM7wOWmQZ/DATspyhPih5wCdcZnAIsM+mA==
dependencies:
"@rollup/plugin-replace" "^5.0.1"
debug "^4.3.4"