diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2023-04-15 15:29:57 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-15 15:29:57 +0900 |
| commit | bcbf06ac8cdff0b81f4da5a780a8d3c1bbc838e8 (patch) | |
| tree | 56d3185d96e043d151451575f2b445654a4529c6 /packages/frontend/src/components/MkMediaImage.vue | |
| parent | Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff) | |
| download | sharkey-bcbf06ac8cdff0b81f4da5a780a8d3c1bbc838e8.tar.gz sharkey-bcbf06ac8cdff0b81f4da5a780a8d3c1bbc838e8.tar.bz2 sharkey-bcbf06ac8cdff0b81f4da5a780a8d3c1bbc838e8.zip | |
feat(client): データセーバーモードの追加 (#10478)
* change nsfw settings
* Update CHANGELOG.md
* (fix) eliminate warning message when manually hide
* Apply suggestions from code review
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
* (change) translation key
* revert nsfw settings (partial)
* (add) data saver setting
* Integrate MkMediaBlurhash and MkImgWithBlurhash
* Update CHANGELOG.md
* :art:
* リモートのファイルでsizeが0の場合は表示しない, refを作らない
* fix
* かっこ
---------
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Diffstat (limited to 'packages/frontend/src/components/MkMediaImage.vue')
| -rw-r--r-- | packages/frontend/src/components/MkMediaImage.vue | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/packages/frontend/src/components/MkMediaImage.vue b/packages/frontend/src/components/MkMediaImage.vue index a4065dcd07..8d0877ef61 100644 --- a/packages/frontend/src/components/MkMediaImage.vue +++ b/packages/frontend/src/components/MkMediaImage.vue @@ -1,9 +1,10 @@ <template> <div v-if="hide" :class="$style.hidden" @click="hide = false"> - <ImgWithBlurhash style="filter: brightness(0.5);" :hash="image.blurhash" :title="image.comment" :alt="image.comment"/> + <ImgWithBlurhash style="filter: brightness(0.5);" :hash="image.blurhash" :title="image.comment" :alt="image.comment" :force-blurhash="defaultStore.state.enableDataSaverMode" /> <div :class="$style.hiddenText"> <div :class="$style.hiddenTextWrapper"> - <b style="display: block;"><i class="ti ti-alert-triangle"></i> {{ i18n.ts.sensitive }}</b> + <b v-if="image.isSensitive" style="display: block;"><i class="ti ti-alert-triangle"></i> {{ i18n.ts.sensitive }}{{ defaultStore.state.enableDataSaverMode ? ` (${i18n.ts.image}${image.size ? ' ' + bytes(image.size) : ''})` : '' }}</b> + <b v-else style="display: block;"><i class="ti ti-photo"></i> {{ defaultStore.state.enableDataSaverMode && image.size ? bytes(image.size) : i18n.ts.image }}</b> <span style="display: block;">{{ i18n.ts.clickToShow }}</span> </div> </div> @@ -28,6 +29,7 @@ import { watch } from 'vue'; import * as misskey from 'misskey-js'; import { getStaticImageUrl } from '@/scripts/media-proxy'; +import bytes from '@/filters/bytes'; import ImgWithBlurhash from '@/components/MkImgWithBlurhash.vue'; import { defaultStore } from '@/store'; import { i18n } from '@/i18n'; @@ -38,7 +40,7 @@ const props = defineProps<{ }>(); let hide = $ref(true); -let darkMode = $ref(defaultStore.state.darkMode); +let darkMode: boolean = $ref(defaultStore.state.darkMode); const url = (props.raw || defaultStore.state.loadRawImages) ? props.image.url @@ -48,7 +50,7 @@ const url = (props.raw || defaultStore.state.loadRawImages) // Plugin:register_note_view_interruptor を使って書き換えられる可能性があるためwatchする watch(() => props.image, () => { - hide = (defaultStore.state.nsfw === 'force') ? true : props.image.isSensitive && (defaultStore.state.nsfw !== 'ignore'); + hide = (defaultStore.state.nsfw === 'force' || defaultStore.state.enableDataSaverMode) ? true : (props.image.isSensitive && defaultStore.state.nsfw !== 'ignore'); }, { deep: true, immediate: true, |