Porównaj commity

..

15 Commity

Autor SHA1 Wiadomość Data
renovate[bot] 010d7da142
Merge dbf4da47e8 into 09cae9f924 2024-04-22 22:28:21 +09:00
TAKAHASHI Shuuji 09cae9f924
fix(ui): fix publish dialog layout (#2842) 2024-04-22 12:54:20 +00:00
TAKAHASHI Shuuji bd8cfc7b57
fix(i18n,a11y): fix missing or incorrect translations in `aria-label` strings (#2837) 2024-04-21 10:26:35 +00:00
Joaquín Sánchez 77f0e2c2f8
feat(a11y): add semantic markup to preference settings (#2811) 2024-04-21 07:14:12 +00:00
lazzzis 57ff04853b
fix(ui): show custom emoji in spoiler text (#2836) 2024-04-21 05:25:40 +00:00
Joaquín Sánchez 1eaaa6ce9a
feat(i18n): add `manage lists` spanish translation (#2832) 2024-04-18 19:39:08 +00:00
patak-dev 1526847a18 chore: release v0.14.0 2024-04-18 14:53:14 +02:00
Duy cc1d149ac8
feat(i18n): Update vi-VN.json (#2830) 2024-04-18 07:26:04 +00:00
Duy 569604646d
feat(i18n): Update vi-VN.json (#2825) 2024-04-18 04:20:15 +00:00
Dohány Tamás 6f47d1aeff
feat(i18n): update hu-HU.json (#2828) 2024-04-18 04:20:10 +00:00
Francesco 9d62edf295
feat(i18n): Update it-IT locale (#2827) 2024-04-18 04:20:06 +00:00
Xabi 7f4d8c04c6
feat(i18n): update eu-ES.json (#2826) 2024-04-18 04:20:01 +00:00
Emanuel Pina 79c6714bac
feat(i18n): Update pt-PT language (#2829) 2024-04-18 04:19:57 +00:00
renovate[bot] dbf4da47e8
chore(deps): update dependency @antfu/eslint-config to ^2.15.0 2024-04-18 02:01:01 +00:00
lazzzis ecd7a6f8cb
feat(ui): add manage list at the end of the lists (#2824) 2024-04-16 17:51:27 +00:00
21 zmienionych plików z 291 dodań i 259 usunięć

Wyświetl plik

@ -56,7 +56,7 @@ async function removeUserNote() {
<template>
<CommonDropdown :eager-mount="command">
<button flex gap-1 items-center w-full rounded op75 hover="op100 text-purple" group aria-label="More actions">
<button flex gap-1 items-center w-full rounded op75 hover="op100 text-purple" group :aria-label="t('actions.more')">
<div rounded-5 p2 elk-group-hover="bg-purple/10">
<div i-ri:more-2-fill />
</div>

Wyświetl plik

@ -8,7 +8,7 @@ const vAutoFocus = (el: HTMLElement) => el.focus()
<template>
<div my-8 px-3 sm:px-8 md:max-w-200 flex="~ col gap-4" relative>
<button v-auto-focus type="button" btn-action-icon absolute top--8 right-0 m1 aria-label="Close" @click="emit('close')">
<button v-auto-focus type="button" btn-action-icon absolute top--8 right-0 m1 :aria-label="$t('action.close')" @click="emit('close')">
<span i-ri:close-line />
</button>

Wyświetl plik

@ -30,7 +30,7 @@ async function edit(listId: string) {
</script>
<template>
<CommonPaginator :end-message="false" :paginator="paginator">
<CommonPaginator :paginator="paginator">
<template #default="{ item }">
<div p4 hover:bg-active block w="100%" flex justify-between items-center gap-4>
<p>{{ item.title }}</p>
@ -49,5 +49,13 @@ async function edit(listId: string) {
</CommonTooltip>
</div>
</template>
<template #done>
<NuxtLink
p4 hover:bg-active block w="100%" flex justify-between items-center gap-4
to="/lists"
>
<p>{{ $t('list.manage') }}</p>
</NuxtLink>
</template>
</CommonPaginator>
</template>

Wyświetl plik

@ -63,7 +63,7 @@ function handleFavouritedBoostedByClose() {
</ModalDialog>
<ModalDialog
v-model="isPublishDialogOpen"
max-w-180 flex
max-w-180 flex flex-col
@close="handlePublishClose"
>
<!-- This `w-0` style is used to avoid overflow problems in flex layoutsso don't remove it unless you know what you're doing -->

Wyświetl plik

@ -39,14 +39,14 @@ onUnmounted(() => locked.value = false)
<template>
<div relative h-full w-full flex pt-12 @click="onClick">
<button
v-if="hasNext" pointer-events-auto btn-action-icon bg="black/20" :aria-label="$t('action.previous')"
v-if="hasNext" pointer-events-auto btn-action-icon bg="black/20" :aria-label="$t('action.next')"
hover:bg="black/40" dark:bg="white/30" dark-hover:bg="white/20" absolute top="1/2" right-1 z5
:title="$t('action.next')" @click="next"
>
<div i-ri:arrow-right-s-line text-white />
</button>
<button
v-if="hasPrev" pointer-events-auto btn-action-icon bg="black/20" aria-label="action.next"
v-if="hasPrev" pointer-events-auto btn-action-icon bg="black/20" :aria-label="$t('action.prev')"
hover:bg="black/40" dark:bg="white/30" dark:hover-bg="white/20" absolute top="1/2" left-1 z5
:title="$t('action.prev')" @click="prev"
>
@ -71,7 +71,7 @@ onUnmounted(() => locked.value = false)
<div absolute top-0 w-full flex justify-end>
<button
btn-action-icon bg="black/30" aria-label="action.close" hover:bg="black/40" dark:bg="white/30"
btn-action-icon bg="black/30" :aria-label="$t('action.close')" hover:bg="black/40" dark:bg="white/30"
dark:hover-bg="white/20" pointer-events-auto shrink-0 @click="emit('close')"
>
<div i-ri:close-line text-white />

Wyświetl plik

@ -10,7 +10,7 @@ defineModel<boolean>()
<button
flex items-center place-content-center h-full flex-1 class="select-none"
:class="show ? '!text-primary' : ''"
aria-label="More menu"
:aria-label="$t('nav.more_menu')"
@click="toggleVisible"
>
<span :class="show ? 'i-ri:close-fill' : 'i-ri:more-fill'" />

Wyświetl plik

@ -97,7 +97,7 @@ function resetModal() {
<b text-primary>@{{ account.acct }}</b>
</i18n-t>
</h2>
<button ref="dismissButton" btn-action-icon absolute top--8 right-0 m1 aria-label="Close" @click="emit('close')">
<button ref="dismissButton" btn-action-icon absolute top--8 right-0 m1 :aria-label="$t('action.close')" @click="emit('close')">
<div i-ri:close-line />
</button>

Wyświetl plik

@ -211,7 +211,7 @@ watch(shouldLoadAttachment, () => {
rounded-lg
h-full
w-full
aria-label="Open image preview dialog"
:aria-label="$t('action.open_image_preview_dialog')"
relative
@click="!shouldLoadAttachment ? loadAttachment() : openMediaPreview(attachments ? attachments : [attachment], attachments?.indexOf(attachment) || 0)"
>

Wyświetl plik

@ -44,7 +44,9 @@ const allowEmbeddedMedia = computed(() => status.card?.html && embeddedMediaPref
<StatusBody v-if="(!isFiltered && isSensitiveNonSpoiler) || hideAllMedia" :status="status" :newer="newer" :with-action="!isDetails" :class="isDetails ? 'text-xl' : ''" />
<StatusSpoiler :enabled="hasSpoilerOrSensitiveMedia || isFiltered" :filter="isFiltered" :sensitive-non-spoiler="isSensitiveNonSpoiler || hideAllMedia" :is-d-m="isDM">
<template v-if="spoilerTextPresent" #spoiler>
<p>{{ status.spoilerText }}</p>
<p>
<ContentRich :content="status.spoilerText" :emojis="status.emojis" :markdown="false" />
</p>
</template>
<template v-else-if="filterPhrase" #spoiler>
<p>{{ `${$t('status.filter_hidden_phrase')}: ${filterPhrase}` }}</p>

Wyświetl plik

@ -20,7 +20,7 @@ function clickUser(user: UserLogin) {
<button
flex rounded
cursor-pointer
aria-label="Switch user"
:aria-label="$t('action.switch_account')"
:class="user.account.acct === currentUser?.account.acct ? '' : 'op25 grayscale'"
hover="filter-none op100"
@click="clickUser(user)"

Wyświetl plik

@ -36,7 +36,7 @@ function processSignIn() {
<button
flex rounded px4 py3 text-left
hover:bg-active cursor-pointer transition-100
aria-label="Switch user"
:aria-label="$t('action.switch_account')"
@click="clickUser(user)"
>
<AccountInfo :account="user.account" :hover-card="false" square />

Wyświetl plik

@ -73,6 +73,7 @@
"favourited": "Favorited",
"more": "More",
"next": "Next",
"open_image_preview_dialog": "Open image preview dialog",
"prev": "Prev",
"publish": "Publish",
"publish_thread": "Publish thread",
@ -222,6 +223,7 @@
"error": "There was an error while creating the list",
"error_prefix": "Error: ",
"list_title_placeholder": "List title",
"manage": "Manage lists",
"modify_account": "Modify lists with account",
"remove_account": "Remove account from list",
"save": "Save changes"

Wyświetl plik

@ -217,11 +217,12 @@
"create": "Crear",
"delete": "Eliminar esta lista",
"delete_error": "Se produjo un error eliminando la lista",
"edit": "Ediar esta lista",
"edit": "Editar esta lista",
"edit_error": "Se produjo un error modificando la lista",
"error": "Se produjo un error creando la lista",
"error_prefix": "Error: ",
"list_title_placeholder": "Título de la lista",
"manage": "Administrar listas",
"modify_account": "Modificar listas con cuenta",
"remove_account": "Eliminar cuenta de la lista",
"save": "Guardar"

Wyświetl plik

@ -222,6 +222,7 @@
"error": "Errorea gertatu da zerrenda sortzerakoan",
"error_prefix": "Errorea: ",
"list_title_placeholder": "Zerrendaren izena",
"manage": "Kudeatu zerrendak",
"modify_account": "Aldatu honako kontua duten zerrendak:",
"remove_account": "Kendu kontua zerrendatik",
"save": "Gorde aldaketak"

Wyświetl plik

@ -222,6 +222,7 @@
"error": "Hiba történt a lista létrehozása közben",
"error_prefix": "Hiba: ",
"list_title_placeholder": "Lista címe",
"manage": "Listák kezelése",
"modify_account": "Listák módosítása fiókkal",
"remove_account": "Fiók eltávolítása a listáról",
"save": "Változtatások mentése"

Wyświetl plik

@ -222,6 +222,7 @@
"error": "C'è stato un errore nella creazione della lista",
"error_prefix": "Errore: ",
"list_title_placeholder": "Titolo lista",
"manage": "Gestisci liste",
"modify_account": "Modifica liste con account",
"remove_account": "Rimuovi account dalla lista",
"save": "Salva modifiche"
@ -660,7 +661,7 @@
"report": "Segnalazione",
"sign_up": "Iscrizione"
},
"notifications_all": "Tutti",
"notifications_all": "Tutte",
"notifications_favourite": "Apprezzamento",
"notifications_follow": "Nuovo seguace",
"notifications_follow_request": "Richiesta di seguire",

Wyświetl plik

@ -222,6 +222,7 @@
"error": "Ocorreu um erro ao criar a lista",
"error_prefix": "Erro: ",
"list_title_placeholder": "Título da lista",
"manage": "Gerir listas",
"modify_account": "Modificar listas com a conta",
"remove_account": "Remover conta da lista",
"save": "Salvar alterações"

Wyświetl plik

@ -58,6 +58,7 @@
"boost": "Đăng lại",
"boost_count": "{0}",
"boosted": "Đã đăng lại",
"clear": "Xóa",
"clear_publish_failed": "Xóa lỗi khi đăng tút",
"clear_save_failed": "Xóa lỗi khi lưu tút",
"clear_upload_failed": "Xóa lỗi khi xóa file",
@ -196,7 +197,7 @@
"desc3": "Đừng đăng nhập bằng tài khoản chính.",
"title": "Bản dựng"
},
"desc_highlight": "Sẽ có một số lỗi và tính năng bị thiếu ở đây.",
"desc_highlight": "Sẽ có lỗi và một số tính năng bị thiếu.",
"desc_para1": "Elk là một ứng dụng web Mastodon nhanh nhẹn. Sử dụng để đăng nhập Mastodon và tương tác với Fediverse.",
"desc_para2": "Elk là Mã Nguồn Mở và chúng tôi cải tiến nó như một dự án cộng đồng. Hãy tham gia và cùng xây dựng!",
"desc_para3": "Để thúc đẩy sự phát triển, bạn có thể tài trợ cho Nhóm thông qua GitHub Sponsors. Chúng tôi hy vọng bạn thích Elk!",
@ -221,6 +222,7 @@
"error": "Xảy ra lỗi khi tạo danh sách",
"error_prefix": "Lỗi: ",
"list_title_placeholder": "Tên danh sách",
"manage": "Quản lý danh sách",
"modify_account": "Sửa danh sách có người này",
"remove_account": "Xóa người ra khỏi danh sách",
"save": "Lưu thay đổi"
@ -316,6 +318,7 @@
"list": "Danh sách",
"lists": "Danh sách",
"local": "Máy chủ",
"more_menu": "Thêm",
"muted_users": "Người đã ẩn",
"notifications": "Thông báo",
"privacy": "Bảo mật",
@ -450,6 +453,8 @@
"label": "Cài đặt tài khoản"
},
"interface": {
"bottom_nav": "Menu dưới màn hình",
"bottom_nav_instructions": "Chọn tối đa năm nút điều hướng yêu thích của bạn. Bao gồm nút \"Thêm\" ",
"color_mode": "Chủ đề",
"dark_mode": "Tối",
"default": " (mặc định)",
@ -488,14 +493,14 @@
"title": "Bạn muốn nhận những kiểu thông báo nào?"
},
"description": "Nhận thông báo kể cả khi bạn không sử dụng Elk.",
"instructions": "Đừng quên lưu các thay đổi của bạn bằng cách @:settings.notifications.push_notifications.save_settings button!",
"instructions": "Nhớ lưu các thay đổi của bạn bằng cách nhấn @:settings.notifications.push_notifications.save_settings !",
"label": "Cài đặt thông báo đẩy",
"policy": {
"all": "Từ bất kỳ ai",
"followed": "Từ người tôi theo dõi",
"follower": "Từ người theo dõi tôi",
"followed": "Từ người bạn theo dõi",
"follower": "Từ người theo dõi bạn",
"none": "Không ai cả",
"title": "Tôi sẽ nhận thông báo từ ai?"
"title": "Bạn muốn nhận thông báo từ ai?"
},
"save_settings": "Lưu cài đặt",
"subscription_error": {

Wyświetl plik

@ -1,7 +1,7 @@
{
"name": "@elk-zone/elk",
"type": "module",
"version": "0.13.2",
"version": "0.14.0",
"packageManager": "pnpm@8.15.5",
"license": "MIT",
"homepage": "https://elk.zone/",
@ -112,7 +112,7 @@
"ws": "^8.15.1"
},
"devDependencies": {
"@antfu/eslint-config": "^2.14.0",
"@antfu/eslint-config": "^2.15.0",
"@antfu/ni": "^0.21.12",
"@types/chroma-js": "^2.4.4",
"@types/file-saver": "^2.0.7",

Wyświetl plik

@ -15,162 +15,172 @@ const userSettings = useUserSettings()
{{ $t('settings.preferences.label') }}
</h1>
</template>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideAltIndicatorOnPosts')"
@click="togglePreferences('hideAltIndicatorOnPosts')"
>
{{ $t('settings.preferences.hide_alt_indi_on_posts') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideGifIndicatorOnPosts')"
@click="togglePreferences('hideGifIndicatorOnPosts')"
>
{{ $t('settings.preferences.hide_gif_indi_on_posts') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideAccountHoverCard')"
@click="togglePreferences('hideAccountHoverCard')"
>
{{ $t('settings.preferences.hide_account_hover_card') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideTagHoverCard')"
@click="togglePreferences('hideTagHoverCard')"
>
{{ $t('settings.preferences.hide_tag_hover_card') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'enableAutoplay')"
:disabled="getPreferences(userSettings, 'enableDataSaving')"
@click="togglePreferences('enableAutoplay')"
>
{{ $t('settings.preferences.enable_autoplay') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'optimizeForLowPerformanceDevice')"
@click="togglePreferences('optimizeForLowPerformanceDevice')"
>
{{ $t('settings.preferences.optimize_for_low_performance_device') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'enableDataSaving')"
@click="togglePreferences('enableDataSaving')"
>
{{ $t("settings.preferences.enable_data_saving") }}
<template #description>
{{ $t("settings.preferences.enable_data_saving_description") }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'enablePinchToZoom')"
@click="togglePreferences('enablePinchToZoom')"
>
{{ $t('settings.preferences.enable_pinch_to_zoom') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'useStarFavoriteIcon')"
@click="togglePreferences('useStarFavoriteIcon')"
>
{{ $t('settings.preferences.use_star_favorite_icon') }}
</SettingsToggleItem>
<h2 px6 py4 mt2 font-bold text-xl flex="~ gap-1" items-center>
<div i-ri-hearts-line />
{{ $t('settings.preferences.wellbeing') }}
</h2>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'grayscaleMode')"
@click="togglePreferences('grayscaleMode')"
>
{{ $t('settings.preferences.grayscale_mode') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideBoostCount')"
@click="togglePreferences('hideBoostCount')"
>
{{ $t('settings.preferences.hide_boost_count') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideFavoriteCount')"
@click="togglePreferences('hideFavoriteCount')"
>
{{ $t('settings.preferences.hide_favorite_count') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideReplyCount')"
@click="togglePreferences('hideReplyCount')"
>
{{ $t('settings.preferences.hide_reply_count') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideFollowerCount')"
@click="togglePreferences('hideFollowerCount')"
>
{{ $t('settings.preferences.hide_follower_count') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideUsernameEmojis')"
@click="togglePreferences('hideUsernameEmojis')"
>
{{ $t("settings.preferences.hide_username_emojis") }}
<template #description>
{{ $t('settings.preferences.hide_username_emojis_description') }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideNews')"
@click="togglePreferences('hideNews')"
>
{{ $t("settings.preferences.hide_news") }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'zenMode')"
@click="togglePreferences('zenMode')"
>
{{ $t("settings.preferences.zen_mode") }}
<template #description>
{{ $t('settings.preferences.zen_mode_description') }}
</template>
</SettingsToggleItem>
<h2 px6 py4 mt2 font-bold text-xl flex="~ gap-1" items-center>
<div i-ri-flask-line />
{{ $t('settings.preferences.title') }}
</h2>
<!-- Embedded Media -->
<SettingsToggleItem
:checked="getPreferences(userSettings, 'experimentalEmbeddedMedia')"
@click="togglePreferences('experimentalEmbeddedMedia')"
>
{{ $t('settings.preferences.embedded_media') }}
<template #description>
{{ $t('settings.preferences.embedded_media_description') }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'experimentalVirtualScroller')"
@click="togglePreferences('experimentalVirtualScroller')"
>
{{ $t('settings.preferences.virtual_scroll') }}
<template #description>
{{ $t('settings.preferences.virtual_scroll_description') }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'experimentalGitHubCards')"
@click="togglePreferences('experimentalGitHubCards')"
>
{{ $t('settings.preferences.github_cards') }}
<template #description>
{{ $t('settings.preferences.github_cards_description') }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'experimentalUserPicker')"
@click="togglePreferences('experimentalUserPicker')"
>
{{ $t('settings.preferences.user_picker') }}
<template #description>
{{ $t('settings.preferences.user_picker_description') }}
</template>
</SettingsToggleItem>
<section>
<h2 px6 py4 mt2 font-bold text-xl flex="~ gap-1" items-center sr-only>
<span aria-hidden="true" block i-ri-equalizer-line />
{{ $t('settings.preferences.label') }}
</h2>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideAltIndicatorOnPosts')"
@click="togglePreferences('hideAltIndicatorOnPosts')"
>
{{ $t('settings.preferences.hide_alt_indi_on_posts') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideGifIndicatorOnPosts')"
@click="togglePreferences('hideGifIndicatorOnPosts')"
>
{{ $t('settings.preferences.hide_gif_indi_on_posts') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideAccountHoverCard')"
@click="togglePreferences('hideAccountHoverCard')"
>
{{ $t('settings.preferences.hide_account_hover_card') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideTagHoverCard')"
@click="togglePreferences('hideTagHoverCard')"
>
{{ $t('settings.preferences.hide_tag_hover_card') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'enableAutoplay')"
:disabled="getPreferences(userSettings, 'enableDataSaving')"
@click="togglePreferences('enableAutoplay')"
>
{{ $t('settings.preferences.enable_autoplay') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'optimizeForLowPerformanceDevice')"
@click="togglePreferences('optimizeForLowPerformanceDevice')"
>
{{ $t('settings.preferences.optimize_for_low_performance_device') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'enableDataSaving')"
@click="togglePreferences('enableDataSaving')"
>
{{ $t("settings.preferences.enable_data_saving") }}
<template #description>
{{ $t("settings.preferences.enable_data_saving_description") }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'enablePinchToZoom')"
@click="togglePreferences('enablePinchToZoom')"
>
{{ $t('settings.preferences.enable_pinch_to_zoom') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'useStarFavoriteIcon')"
@click="togglePreferences('useStarFavoriteIcon')"
>
{{ $t('settings.preferences.use_star_favorite_icon') }}
</SettingsToggleItem>
</section>
<section>
<h2 px6 py4 mt2 font-bold text-xl flex="~ gap-1" items-center>
<span aria-hidden="true" block i-ri-hearts-line />
{{ $t('settings.preferences.wellbeing') }}
</h2>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'grayscaleMode')"
@click="togglePreferences('grayscaleMode')"
>
{{ $t('settings.preferences.grayscale_mode') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideBoostCount')"
@click="togglePreferences('hideBoostCount')"
>
{{ $t('settings.preferences.hide_boost_count') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideFavoriteCount')"
@click="togglePreferences('hideFavoriteCount')"
>
{{ $t('settings.preferences.hide_favorite_count') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideReplyCount')"
@click="togglePreferences('hideReplyCount')"
>
{{ $t('settings.preferences.hide_reply_count') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideFollowerCount')"
@click="togglePreferences('hideFollowerCount')"
>
{{ $t('settings.preferences.hide_follower_count') }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideUsernameEmojis')"
@click="togglePreferences('hideUsernameEmojis')"
>
{{ $t("settings.preferences.hide_username_emojis") }}
<template #description>
{{ $t('settings.preferences.hide_username_emojis_description') }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'hideNews')"
@click="togglePreferences('hideNews')"
>
{{ $t("settings.preferences.hide_news") }}
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'zenMode')"
@click="togglePreferences('zenMode')"
>
{{ $t("settings.preferences.zen_mode") }}
<template #description>
{{ $t('settings.preferences.zen_mode_description') }}
</template>
</SettingsToggleItem>
</section>
<section>
<h2 px6 py4 mt2 font-bold text-xl flex="~ gap-1" items-center>
<span aria-hidden="true" block i-ri-flask-line />
{{ $t('settings.preferences.title') }}
</h2>
<!-- Embedded Media -->
<SettingsToggleItem
:checked="getPreferences(userSettings, 'experimentalEmbeddedMedia')"
@click="togglePreferences('experimentalEmbeddedMedia')"
>
{{ $t('settings.preferences.embedded_media') }}
<template #description>
{{ $t('settings.preferences.embedded_media_description') }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'experimentalVirtualScroller')"
@click="togglePreferences('experimentalVirtualScroller')"
>
{{ $t('settings.preferences.virtual_scroll') }}
<template #description>
{{ $t('settings.preferences.virtual_scroll_description') }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'experimentalGitHubCards')"
@click="togglePreferences('experimentalGitHubCards')"
>
{{ $t('settings.preferences.github_cards') }}
<template #description>
{{ $t('settings.preferences.github_cards_description') }}
</template>
</SettingsToggleItem>
<SettingsToggleItem
:checked="getPreferences(userSettings, 'experimentalUserPicker')"
@click="togglePreferences('experimentalUserPicker')"
>
{{ $t('settings.preferences.user_picker') }}
<template #description>
{{ $t('settings.preferences.user_picker_description') }}
</template>
</SettingsToggleItem>
</section>
</MainContent>
</template>

Wyświetl plik

@ -254,8 +254,8 @@ importers:
version: 8.16.0
devDependencies:
'@antfu/eslint-config':
specifier: ^2.14.0
version: 2.14.0(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0)
specifier: ^2.15.0
version: 2.15.0(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0)
'@antfu/ni':
specifier: ^0.21.12
version: 0.21.12
@ -367,16 +367,16 @@ packages:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
/@antfu/eslint-config@2.14.0(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0):
resolution: {integrity: sha512-9yn/5n/dZnH7qSlCTk1Z3VWPbNb3Wfq31GflQuXkh3jUqSCHuDbuspfDAQ3/ABnrPRJSP1Nm7yTKJbXfcQ3p+A==}
/@antfu/eslint-config@2.15.0(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0):
resolution: {integrity: sha512-qoqw+0N8bqz0vBIigGJamaIf1LdzXcmCDuleygJAF3EtACLieKyIMvpOdc2TU9AnuPbMBFCkN40340UWRChELw==}
hasBin: true
peerDependencies:
'@eslint-react/eslint-plugin': ^1.5.8
'@unocss/eslint-plugin': '>=0.50.0'
astro-eslint-parser: ^0.16.3
eslint: '>=8.40.0'
eslint-plugin-astro: ^0.31.4
eslint-plugin-format: '>=0.1.0'
eslint-plugin-react: ^7.33.2
eslint-plugin-react-hooks: ^4.6.0
eslint-plugin-react-refresh: ^0.4.4
eslint-plugin-solid: ^0.13.2
@ -385,6 +385,8 @@ packages:
prettier-plugin-slidev: ^1.0.5
svelte-eslint-parser: ^0.33.1
peerDependenciesMeta:
'@eslint-react/eslint-plugin':
optional: true
'@unocss/eslint-plugin':
optional: true
astro-eslint-parser:
@ -393,8 +395,6 @@ packages:
optional: true
eslint-plugin-format:
optional: true
eslint-plugin-react:
optional: true
eslint-plugin-react-hooks:
optional: true
eslint-plugin-react-refresh:
@ -412,9 +412,9 @@ packages:
dependencies:
'@antfu/install-pkg': 0.3.2
'@clack/prompts': 0.7.0
'@stylistic/eslint-plugin': 1.7.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.4)
'@stylistic/eslint-plugin': 1.7.2(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.4)
eslint: 8.57.0
eslint-config-flat-gitignore: 0.1.5
eslint-flat-config-utils: 0.2.3
@ -431,11 +431,11 @@ packages:
eslint-plugin-perfectionist: 2.9.0(eslint@8.57.0)(typescript@5.4.4)(vue-eslint-parser@9.4.2)
eslint-plugin-toml: 0.11.0(eslint@8.57.0)
eslint-plugin-unicorn: 52.0.0(eslint@8.57.0)
eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)
eslint-plugin-vitest: 0.5.3(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0)
eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.7.0)(eslint@8.57.0)
eslint-plugin-vitest: 0.5.3(@typescript-eslint/eslint-plugin@7.7.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0)
eslint-plugin-vue: 9.25.0(eslint@8.57.0)
eslint-plugin-yml: 1.14.0(eslint@8.57.0)
eslint-processor-vue-blocks: 0.1.1(@vue/compiler-sfc@3.4.21)(eslint@8.57.0)
eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.21)(eslint@8.57.0)
globals: 15.0.0
jsonc-eslint-parser: 2.4.0
local-pkg: 0.5.0
@ -4404,13 +4404,13 @@ packages:
resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==}
dev: true
/@stylistic/eslint-plugin-js@1.7.0(eslint@8.57.0):
resolution: {integrity: sha512-PN6On/+or63FGnhhMKSQfYcWutRlzOiYlVdLM6yN7lquoBTqUJHYnl4TA4MHwiAt46X5gRxDr1+xPZ1lOLcL+Q==}
/@stylistic/eslint-plugin-js@1.7.2(eslint@8.57.0):
resolution: {integrity: sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: '>=8.40.0'
dependencies:
'@types/eslint': 8.56.5
'@types/eslint': 8.56.9
acorn: 8.11.3
escape-string-regexp: 4.0.0
eslint: 8.57.0
@ -4418,25 +4418,25 @@ packages:
espree: 9.6.1
dev: true
/@stylistic/eslint-plugin-jsx@1.7.0(eslint@8.57.0):
resolution: {integrity: sha512-BACdBwXakQvjYIST5N2WWhRbvhRsIxa/F59BiZol+0IH4FSmDXhie7v/yaxDIIA9CbfElzOmIA5nWNYTVXcnwQ==}
/@stylistic/eslint-plugin-jsx@1.7.2(eslint@8.57.0):
resolution: {integrity: sha512-lNZR5PR0HLJPs+kY0y8fy6KroKlYqA5PwsYWpVYWzqZWiL5jgAeUo4s9yLFYjJjzildJ5MsTVMy/xP81Qz6GXg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: '>=8.40.0'
dependencies:
'@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0)
'@types/eslint': 8.56.5
'@stylistic/eslint-plugin-js': 1.7.2(eslint@8.57.0)
'@types/eslint': 8.56.9
eslint: 8.57.0
estraverse: 5.3.0
picomatch: 4.0.1
picomatch: 4.0.2
dev: true
/@stylistic/eslint-plugin-plus@1.7.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==}
/@stylistic/eslint-plugin-plus@1.7.2(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-luUfRVbBVtt0+/FNt8/76BANJEzb/nHWasHD7UUjyMrch2U9xUKpObrkTCzqBuisKek+uFupwGjqXqDP07+fQw==}
peerDependencies:
eslint: '*'
dependencies:
'@types/eslint': 8.56.5
'@types/eslint': 8.56.9
'@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4)
eslint: 8.57.0
transitivePeerDependencies:
@ -4444,14 +4444,14 @@ packages:
- typescript
dev: true
/@stylistic/eslint-plugin-ts@1.7.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==}
/@stylistic/eslint-plugin-ts@1.7.2(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-szX89YPocwCe4T0eT3alj7MwEzDHt5+B+kb/vQfSSLIjI9CGgoWrgj50zU8PtaDctTh4ZieFBzU/lRmkSUo0RQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: '>=8.40.0'
dependencies:
'@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0)
'@types/eslint': 8.56.5
'@stylistic/eslint-plugin-js': 1.7.2(eslint@8.57.0)
'@types/eslint': 8.56.9
'@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4)
eslint: 8.57.0
transitivePeerDependencies:
@ -4459,17 +4459,17 @@ packages:
- typescript
dev: true
/@stylistic/eslint-plugin@1.7.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==}
/@stylistic/eslint-plugin@1.7.2(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-TesaPR4AOCeD4unwu9gZCdTe8SsUpykriICuwXV8GFBgESuVbfVp+S8g6xTWe9ntVR803bNMtnr2UhxHW0iFqg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: '>=8.40.0'
dependencies:
'@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0)
'@stylistic/eslint-plugin-jsx': 1.7.0(eslint@8.57.0)
'@stylistic/eslint-plugin-plus': 1.7.0(eslint@8.57.0)(typescript@5.4.4)
'@stylistic/eslint-plugin-ts': 1.7.0(eslint@8.57.0)(typescript@5.4.4)
'@types/eslint': 8.56.5
'@stylistic/eslint-plugin-js': 1.7.2(eslint@8.57.0)
'@stylistic/eslint-plugin-jsx': 1.7.2(eslint@8.57.0)
'@stylistic/eslint-plugin-plus': 1.7.2(eslint@8.57.0)(typescript@5.4.4)
'@stylistic/eslint-plugin-ts': 1.7.2(eslint@8.57.0)(typescript@5.4.4)
'@types/eslint': 8.56.9
eslint: 8.57.0
transitivePeerDependencies:
- supports-color
@ -4967,8 +4967,8 @@ packages:
'@types/node': 20.8.6
dev: true
/@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==}
/@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
'@typescript-eslint/parser': ^7.0.0
@ -4979,11 +4979,11 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/scope-manager': 7.6.0
'@typescript-eslint/type-utils': 7.6.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/visitor-keys': 7.6.0
'@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/scope-manager': 7.7.0
'@typescript-eslint/type-utils': 7.7.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/utils': 7.7.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/visitor-keys': 7.7.0
debug: 4.3.4
eslint: 8.57.0
graphemer: 1.4.0
@ -4996,8 +4996,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==}
/@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@ -5006,10 +5006,10 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 7.6.0
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4)
'@typescript-eslint/visitor-keys': 7.6.0
'@typescript-eslint/scope-manager': 7.7.0
'@typescript-eslint/types': 7.7.0
'@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.4)
'@typescript-eslint/visitor-keys': 7.7.0
debug: 4.3.4
eslint: 8.57.0
typescript: 5.4.4
@ -5033,16 +5033,16 @@ packages:
'@typescript-eslint/visitor-keys': 7.5.0
dev: true
/@typescript-eslint/scope-manager@7.6.0:
resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==}
/@typescript-eslint/scope-manager@7.7.0:
resolution: {integrity: sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==}
engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/visitor-keys': 7.6.0
'@typescript-eslint/types': 7.7.0
'@typescript-eslint/visitor-keys': 7.7.0
dev: true
/@typescript-eslint/type-utils@7.6.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==}
/@typescript-eslint/type-utils@7.7.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@ -5051,8 +5051,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4)
'@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.4)
'@typescript-eslint/utils': 7.7.0(eslint@8.57.0)(typescript@5.4.4)
debug: 4.3.4
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.4.4)
@ -5071,8 +5071,8 @@ packages:
engines: {node: ^18.18.0 || >=20.0.0}
dev: true
/@typescript-eslint/types@7.6.0:
resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==}
/@typescript-eslint/types@7.7.0:
resolution: {integrity: sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==}
engines: {node: ^18.18.0 || >=20.0.0}
dev: true
@ -5120,8 +5120,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.4):
resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==}
/@typescript-eslint/typescript-estree@7.7.0(typescript@5.4.4):
resolution: {integrity: sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript: '*'
@ -5129,8 +5129,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/visitor-keys': 7.6.0
'@typescript-eslint/types': 7.7.0
'@typescript-eslint/visitor-keys': 7.7.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@ -5180,8 +5180,8 @@ packages:
- typescript
dev: true
/@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==}
/@typescript-eslint/utils@7.7.0(eslint@8.57.0)(typescript@5.4.4):
resolution: {integrity: sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@ -5189,9 +5189,9 @@ packages:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 7.6.0
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4)
'@typescript-eslint/scope-manager': 7.7.0
'@typescript-eslint/types': 7.7.0
'@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.4)
eslint: 8.57.0
semver: 7.6.0
transitivePeerDependencies:
@ -5215,11 +5215,11 @@ packages:
eslint-visitor-keys: 3.4.3
dev: true
/@typescript-eslint/visitor-keys@7.6.0:
resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==}
/@typescript-eslint/visitor-keys@7.7.0:
resolution: {integrity: sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==}
engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
'@typescript-eslint/types': 7.6.0
'@typescript-eslint/types': 7.7.0
eslint-visitor-keys: 3.4.3
dev: true
@ -8645,7 +8645,7 @@ packages:
- supports-color
dev: true
/eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0):
/eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.7.0)(eslint@8.57.0):
resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@ -8655,12 +8655,12 @@ packages:
'@typescript-eslint/eslint-plugin':
optional: true
dependencies:
'@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.4.4)
eslint: 8.57.0
eslint-rule-composer: 0.3.0
dev: true
/eslint-plugin-vitest@0.5.3(@typescript-eslint/eslint-plugin@7.6.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0):
/eslint-plugin-vitest@0.5.3(@typescript-eslint/eslint-plugin@7.7.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0):
resolution: {integrity: sha512-D0iu6ppP6FmNSZP4cdhEXqyI+fuW6JwwWdECRrNymd1jiVgUmDgSvtryytonNxHQQWhGNmZM3V/qvpXttH1rRQ==}
engines: {node: ^18.0.0 || >= 20.0.0}
peerDependencies:
@ -8673,8 +8673,8 @@ packages:
vitest:
optional: true
dependencies:
'@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0)(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/utils': 7.7.0(eslint@8.57.0)(typescript@5.4.4)
eslint: 8.57.0
vitest: 1.4.0(happy-dom@10.5.2)
transitivePeerDependencies:
@ -8717,11 +8717,11 @@ packages:
- supports-color
dev: true
/eslint-processor-vue-blocks@0.1.1(@vue/compiler-sfc@3.4.21)(eslint@8.57.0):
resolution: {integrity: sha512-9+dU5lU881log570oBwpelaJmOfOzSniben7IWEDRYQPPWwlvaV7NhOtsTuUWDqpYT+dtKKWPsgz4OkOi+aZnA==}
/eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.21)(eslint@8.57.0):
resolution: {integrity: sha512-PfpJ4uKHnqeL/fXUnzYkOax3aIenlwewXRX8jFinA1a2yCFnLgMuiH3xvCgvHHUlV2xJWQHbCTdiJWGwb3NqpQ==}
peerDependencies:
'@vue/compiler-sfc': ^3.3.0
eslint: ^8.50.0
eslint: ^8.50.0 || ^9.0.0
dependencies:
'@vue/compiler-sfc': 3.4.21
eslint: 8.57.0
@ -12266,8 +12266,8 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
/picomatch@4.0.1:
resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==}
/picomatch@4.0.2:
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
engines: {node: '>=12'}
dev: true