Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(client): データセーバーモードの追加 #10478

Merged
merged 30 commits into from
Apr 15, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
15ff40e
change nsfw settings
kakkokari-gtyih Apr 4, 2023
006b12f
Update CHANGELOG.md
kakkokari-gtyih Apr 4, 2023
eeab8cd
(fix) eliminate warning message when manually hide
kakkokari-gtyih Apr 4, 2023
a48f834
Apply suggestions from code review
kakkokari-gtyih Apr 4, 2023
9bbd070
Merge branch 'misskey-dev:develop' into datasaver
kakkokari-gtyih Apr 4, 2023
06da066
(change) translation key
kakkokari-gtyih Apr 5, 2023
e36bf4d
Merge branch 'datasaver' of https://github.com/kakkokari-gtyih/misske…
kakkokari-gtyih Apr 5, 2023
2c19112
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 6, 2023
f1a27f2
revert nsfw settings (partial)
kakkokari-gtyih Apr 6, 2023
ca96bf5
Merge branch 'datasaver' of https://github.com/kakkokari-gtyih/misske…
kakkokari-gtyih Apr 6, 2023
afa3cba
(add) data saver setting
kakkokari-gtyih Apr 6, 2023
6c9e74e
Integrate MkMediaBlurhash and MkImgWithBlurhash
kakkokari-gtyih Apr 6, 2023
5477737
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 6, 2023
de199e7
Update CHANGELOG.md
kakkokari-gtyih Apr 6, 2023
fa05f57
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 6, 2023
a994f63
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 6, 2023
54de1b8
Merge branch 'misskey-dev:develop' into datasaver
kakkokari-gtyih Apr 6, 2023
5c43c79
Merge branch 'misskey-dev:develop' into datasaver
kakkokari-gtyih Apr 7, 2023
e641f8b
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 8, 2023
bc42ac9
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 9, 2023
fb8700e
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 9, 2023
e3b5f73
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 10, 2023
28869f6
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 11, 2023
1f1467c
:art:
tamaina Apr 12, 2023
967b798
リモートのファイルでsizeが0の場合は表示しない, refを作らない
tamaina Apr 12, 2023
0bf2191
fix
tamaina Apr 12, 2023
6d73795
かっこ
tamaina Apr 12, 2023
6bb8263
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 12, 2023
f628aec
Merge branch 'misskey-dev:develop' into datasaver
kakkokari-gtyih Apr 13, 2023
9602624
Merge branch 'develop' into datasaver
kakkokari-gtyih Apr 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
- 左耳は上からおよそ 10%, 左からおよそ 20% の位置で決定します
- 右耳は上からおよそ 10%, 左からおよそ 80% の位置で決定します
- 「UIのアニメーションを減らす」 (`reduceAnimation`) で猫耳を撫でられなくなります
- 「閲覧注意」設定の文言を「メディアの表示」に変更、設定によってデータ通信量を削減できる旨を追記
- 非NSFWメディアが隠れている際にも「閲覧注意」が出てしまう問題を修正

### Server
- ノート作成時のパフォーマンスを向上
Expand Down
10 changes: 6 additions & 4 deletions locales/ja-JP.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1387,10 +1387,12 @@ _aboutMisskey:
morePatrons: "他にも多くの方が支援してくれています。ありがとうございます🥰"
patrons: "支援者"

_nsfw:
respect: "閲覧注意のメディアは隠す"
ignore: "閲覧注意のメディアを隠さない"
force: "常にメディアを隠す"
_mediaAppearance:
title: "メディアの表示"
respect: "閲覧注意のみ隠す"
ignore: "すべて表示"
force: "すべて隠す"
description: "メディアを隠すと、手動で表示するまではメディアが読み込まれないため、データ通信量を削減できます。"
kakkokari-gtyih marked this conversation as resolved.
Show resolved Hide resolved

_instanceTicker:
none: "表示しない"
Expand Down
13 changes: 11 additions & 2 deletions packages/frontend/src/components/MkMediaImage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,14 @@
<ImgWithBlurhash style="filter: brightness(0.5);" :hash="image.blurhash" :title="image.comment" :alt="image.comment"/>
<div :class="$style.hiddenText">
<div :class="$style.hiddenTextWrapper">
<b style="display: block;"><i class="ti ti-alert-triangle"></i> {{ i18n.ts.sensitive }}</b>
<span style="display: block;">{{ i18n.ts.clickToShow }}</span>
<template v-if="image.isSensitive">
<b style="display: block;"><i class="ti ti-alert-triangle"></i> {{ i18n.ts.sensitive }}</b>
<span style="display: block;">{{ i18n.ts.clickToShow }}</span>
</template>
<template v-else>
<b style="display: block;"><i class="ti ti-photo"></i> {{ bytes(image.size) }}</b>
<span style="display: block;">{{ i18n.ts.clickToShow }}</span>
</template>
kakkokari-gtyih marked this conversation as resolved.
Show resolved Hide resolved
</div>
</div>
</div>
Expand All @@ -28,6 +34,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';
Expand All @@ -38,6 +45,7 @@ const props = defineProps<{
}>();

let hide = $ref(true);
let mediaAppearance = $ref(defaultStore.state.nsfw);
kakkokari-gtyih marked this conversation as resolved.
Show resolved Hide resolved
let darkMode = $ref(defaultStore.state.darkMode);

const url = (props.raw || defaultStore.state.loadRawImages)
Expand All @@ -53,6 +61,7 @@ watch(() => props.image, () => {
deep: true,
immediate: true,
});

kakkokari-gtyih marked this conversation as resolved.
Show resolved Hide resolved
</script>

<style lang="scss" module>
Expand Down
9 changes: 8 additions & 1 deletion packages/frontend/src/components/MkMediaVideo.vue
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
<template>
<div v-if="hide" class="icozogqfvdetwohsdglrbswgrejoxbdj" @click="hide = false">
<div>
<div v-if="video.isSensitive">
<b><i class="ti ti-alert-triangle"></i> {{ i18n.ts.sensitive }}</b>
<span>{{ i18n.ts.clickToShow }}</span>
</div>
<div v-else>
<b><i class="ti ti-movie"></i> {{ bytes(video.size) }}</b>
<span>{{ i18n.ts.clickToShow }}</span>
</div>
kakkokari-gtyih marked this conversation as resolved.
Show resolved Hide resolved
</div>
<div v-else class="kkjnbbplepmiyuadieoenjgutgcmtsvu">
<VuePlyr :options="{ volume: 0.5 }">
Expand All @@ -25,6 +29,7 @@
<script lang="ts" setup>
import { ref } from 'vue';
import * as misskey from 'misskey-js';
import bytes from '@/filters/bytes';
import VuePlyr from 'vue-plyr';
import { defaultStore } from '@/store';
import 'vue-plyr/dist/vue-plyr.css';
Expand All @@ -34,6 +39,8 @@ const props = defineProps<{
video: misskey.entities.DriveFile;
}>();

const mediaAppearance = ref(defaultStore.state.nsfw);

kakkokari-gtyih marked this conversation as resolved.
Show resolved Hide resolved
const hide = ref((defaultStore.state.nsfw === 'force') ? true : props.video.isSensitive && (defaultStore.state.nsfw !== 'ignore'));
</script>

Expand Down
9 changes: 5 additions & 4 deletions packages/frontend/src/pages/settings/general.vue
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,11 @@
</MkSelect>

<MkSelect v-model="nsfw">
<template #label>{{ i18n.ts.nsfw }}</template>
<option value="respect">{{ i18n.ts._nsfw.respect }}</option>
<option value="ignore">{{ i18n.ts._nsfw.ignore }}</option>
<option value="force">{{ i18n.ts._nsfw.force }}</option>
<template #label>{{ i18n.ts._mediaAppearance.title }}</template>
<option value="respect">{{ i18n.ts._mediaAppearance.respect }}</option>
<option value="ignore">{{ i18n.ts._mediaAppearance.ignore }}</option>
<option value="force">{{ i18n.ts._mediaAppearance.force }}</option>
<template #caption>{{ i18n.ts._mediaAppearance.description }}</template>
</MkSelect>

<MkRange v-model="numberOfPageCache" :min="1" :max="10" :step="1" easing>
Expand Down