Porównaj commity

...

15 Commity

Autor SHA1 Wiadomość Data
renovate[bot] 6269046c17
Merge c279d15205 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
lazzzis ecd7a6f8cb
feat(ui): add manage list at the end of the lists (#2824) 2024-04-16 17:51:27 +00:00
renovate[bot] c279d15205
chore(deps): update dependency vitest to v1.5.0 2024-04-15 01:30:35 +00:00
21 zmienionych plików z 274 dodań i 222 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/",
@ -139,7 +139,7 @@
"simple-git-hooks": "^2.11.1",
"tsx": "^4.7.2",
"typescript": "^5.4.4",
"vitest": "1.4.0",
"vitest": "1.5.0",
"vue-tsc": "^2.0.10"
},
"pnpm": {
@ -151,7 +151,7 @@
}
},
"resolutions": {
"vitest": "1.4.0",
"vitest": "1.5.0",
"vue": "^3.4.21"
},
"simple-git-hooks": {

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

@ -5,7 +5,7 @@ settings:
excludeLinksFromLockfile: false
overrides:
vitest: 1.4.0
vitest: 1.5.0
vue: ^3.4.21
unstorage: ^1.10.2
@ -38,7 +38,7 @@ importers:
version: 1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2)(fuse.js@6.6.2)(idb-keyval@6.2.1)(nuxt@3.11.2)(rollup@4.14.0)(unocss@0.58.9)(vite@5.2.8)(vue@3.4.21)
'@nuxt/test-utils':
specifier: ^3.12.0
version: 3.12.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21)
version: 3.12.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.5.0)(vue-router@4.3.0)(vue@3.4.21)
'@nuxtjs/color-mode':
specifier: ^3.3.2
version: 3.3.2(rollup@4.14.0)
@ -255,7 +255,7 @@ importers:
devDependencies:
'@antfu/eslint-config':
specifier: ^2.9.0
version: 2.9.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)
version: 2.9.0(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.5.0)
'@antfu/ni':
specifier: ^0.21.12
version: 0.21.12
@ -335,8 +335,8 @@ importers:
specifier: ^5.4.4
version: 5.4.4
vitest:
specifier: 1.4.0
version: 1.4.0(happy-dom@10.5.2)
specifier: 1.5.0
version: 1.5.0(happy-dom@10.5.2)
vue-tsc:
specifier: ^2.0.10
version: 2.0.10(typescript@5.4.4)
@ -367,7 +367,7 @@ packages:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
/@antfu/eslint-config@2.9.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/eslint-config@2.9.0(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.5.0):
resolution: {integrity: sha512-BFN0tLLp8Ga0JP0UnHr2pCO39LR6afnHRnLogMzpPA+yvWwdLhuVS1TD4oaUAngAQbiRvjLIXO/W6LkQA3h+aA==}
hasBin: true
peerDependencies:
@ -432,7 +432,7 @@ packages:
eslint-plugin-toml: 0.9.2(eslint@8.57.0)
eslint-plugin-unicorn: 51.0.1(eslint@8.57.0)
eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.2.0)(eslint@8.57.0)
eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.2.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0)
eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.2.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.5.0)
eslint-plugin-vue: 9.23.0(eslint@8.57.0)
eslint-plugin-yml: 1.12.2(eslint@8.57.0)
eslint-processor-vue-blocks: 0.1.1(@vue/compiler-sfc@3.4.21)(eslint@8.57.0)
@ -3458,7 +3458,7 @@ packages:
- rollup
- supports-color
/@nuxt/test-utils@3.12.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21):
/@nuxt/test-utils@3.12.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.5.0)(vue-router@4.3.0)(vue@3.4.21):
resolution: {integrity: sha512-Q3HP53TDIYeqHT65r31HZhK/gRwVBmchSdVj1tfiYECyqstckvsQ4Cyt/GX/XmD7cLdD3d5aHow8LaMfP+BSqQ==}
engines: {node: ^14.18.0 || >=16.10.0}
peerDependencies:
@ -3473,7 +3473,7 @@ packages:
jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0
playwright-core: ^1.34.3
vite: '*'
vitest: 1.4.0
vitest: 1.5.0
vue: ^3.4.21
vue-router: ^4.0.0
peerDependenciesMeta:
@ -3524,8 +3524,8 @@ packages:
unenv: 1.9.0
unplugin: 1.10.1
vite: 5.2.8
vitest: 1.4.0(happy-dom@10.5.2)
vitest-environment-nuxt: 1.0.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21)
vitest: 1.5.0(happy-dom@10.5.2)
vitest-environment-nuxt: 1.0.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.5.0)(vue-router@4.3.0)(vue@3.4.21)
vue: 3.4.21(typescript@5.4.4)
vue-router: 4.3.0(vue@3.4.21)
transitivePeerDependencies:
@ -5659,34 +5659,34 @@ packages:
vite: 5.2.8
vue: 3.4.21(typescript@5.4.4)
/@vitest/expect@1.4.0:
resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==}
/@vitest/expect@1.5.0:
resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==}
dependencies:
'@vitest/spy': 1.4.0
'@vitest/utils': 1.4.0
'@vitest/spy': 1.5.0
'@vitest/utils': 1.5.0
chai: 4.3.10
/@vitest/runner@1.4.0:
resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==}
/@vitest/runner@1.5.0:
resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==}
dependencies:
'@vitest/utils': 1.4.0
'@vitest/utils': 1.5.0
p-limit: 5.0.0
pathe: 1.1.2
/@vitest/snapshot@1.4.0:
resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==}
/@vitest/snapshot@1.5.0:
resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==}
dependencies:
magic-string: 0.30.9
pathe: 1.1.2
pretty-format: 29.7.0
/@vitest/spy@1.4.0:
resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==}
/@vitest/spy@1.5.0:
resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==}
dependencies:
tinyspy: 2.2.0
/@vitest/utils@1.4.0:
resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==}
/@vitest/utils@1.5.0:
resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==}
dependencies:
diff-sequences: 29.6.3
estree-walker: 3.0.3
@ -8726,13 +8726,13 @@ packages:
eslint-rule-composer: 0.3.0
dev: true
/eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.2.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.4.0):
/eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.2.0)(eslint@8.57.0)(typescript@5.4.4)(vitest@1.5.0):
resolution: {integrity: sha512-oxe5JSPgRjco8caVLTh7Ti8PxpwJdhSV0hTQAmkFcNcmy/9DnqLB/oNVRA11RmVRP//2+jIIT6JuBEcpW3obYg==}
engines: {node: ^18.0.0 || >= 20.0.0}
peerDependencies:
'@typescript-eslint/eslint-plugin': '*'
eslint: '>=8.0.0'
vitest: 1.4.0
vitest: 1.5.0
peerDependenciesMeta:
'@typescript-eslint/eslint-plugin':
optional: true
@ -8742,7 +8742,7 @@ packages:
'@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.4.4)
'@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4)
eslint: 8.57.0
vitest: 1.4.0(happy-dom@10.5.2)
vitest: 1.5.0(happy-dom@10.5.2)
transitivePeerDependencies:
- supports-color
- typescript
@ -14307,8 +14307,8 @@ packages:
resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
dev: true
/tinypool@0.8.2:
resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==}
/tinypool@0.8.3:
resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==}
engines: {node: '>=14.0.0'}
/tinyspy@2.2.0:
@ -15127,6 +15127,26 @@ packages:
- supports-color
- terser
/vite-node@1.5.0:
resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
dependencies:
cac: 6.7.14
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.0
vite: 5.2.8
transitivePeerDependencies:
- '@types/node'
- less
- lightningcss
- sass
- stylus
- sugarss
- supports-color
- terser
/vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.4)(vite@5.2.8)(vue-tsc@2.0.10):
resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==}
engines: {node: '>=14.16'}
@ -15303,10 +15323,10 @@ packages:
optionalDependencies:
fsevents: 2.3.3
/vitest-environment-nuxt@1.0.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21):
/vitest-environment-nuxt@1.0.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.5.0)(vue-router@4.3.0)(vue@3.4.21):
resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==}
dependencies:
'@nuxt/test-utils': 3.12.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.4.0)(vue-router@4.3.0)(vue@3.4.21)
'@nuxt/test-utils': 3.12.0(@vue/test-utils@2.4.5)(h3@1.11.1)(happy-dom@10.5.2)(rollup@4.14.0)(vite@5.2.8)(vitest@1.5.0)(vue-router@4.3.0)(vue@3.4.21)
transitivePeerDependencies:
- '@cucumber/cucumber'
- '@jest/globals'
@ -15326,15 +15346,15 @@ packages:
- vue-router
dev: false
/vitest@1.4.0(happy-dom@10.5.2):
resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==}
/vitest@1.5.0(happy-dom@10.5.2):
resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@types/node': ^18.0.0 || >=20.0.0
'@vitest/browser': 1.4.0
'@vitest/ui': 1.4.0
'@vitest/browser': 1.5.0
'@vitest/ui': 1.5.0
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@ -15351,11 +15371,11 @@ packages:
jsdom:
optional: true
dependencies:
'@vitest/expect': 1.4.0
'@vitest/runner': 1.4.0
'@vitest/snapshot': 1.4.0
'@vitest/spy': 1.4.0
'@vitest/utils': 1.4.0
'@vitest/expect': 1.5.0
'@vitest/runner': 1.5.0
'@vitest/snapshot': 1.5.0
'@vitest/spy': 1.5.0
'@vitest/utils': 1.5.0
acorn-walk: 8.3.2
chai: 4.3.10
debug: 4.3.4
@ -15368,9 +15388,9 @@ packages:
std-env: 3.7.0
strip-literal: 2.1.0
tinybench: 2.5.1
tinypool: 0.8.2
tinypool: 0.8.3
vite: 5.2.8
vite-node: 1.4.0
vite-node: 1.5.0
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less