summaryrefslogtreecommitdiff
path: root/packages/frontend/src/pages/settings
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-09-24 09:01:06 +0900
committerGitHub <noreply@github.com>2025-09-24 09:01:06 +0900
commit0f8c068e84c8b7961f0f9c50c565a9f778a0cbf6 (patch)
tree7928f1c2198522fd906b1b80915e7595a81f7cdb /packages/frontend/src/pages/settings
parentBump version to 2025.9.1-alpha.1 (diff)
downloadmisskey-0f8c068e84c8b7961f0f9c50c565a9f778a0cbf6.tar.gz
misskey-0f8c068e84c8b7961f0f9c50c565a9f778a0cbf6.tar.bz2
misskey-0f8c068e84c8b7961f0f9c50c565a9f778a0cbf6.zip
feat(frontend): Video compression (#16574)
* wip * Update CHANGELOG.md * wip * wip * wip * wip * Update use-uploader.ts * Update use-uploader.ts
Diffstat (limited to 'packages/frontend/src/pages/settings')
-rw-r--r--packages/frontend/src/pages/settings/drive.vue35
1 files changed, 30 insertions, 5 deletions
diff --git a/packages/frontend/src/pages/settings/drive.vue b/packages/frontend/src/pages/settings/drive.vue
index 2d794f2e30..f58ff4c78c 100644
--- a/packages/frontend/src/pages/settings/drive.vue
+++ b/packages/frontend/src/pages/settings/drive.vue
@@ -129,13 +129,37 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkSelect
v-model="defaultImageCompressionLevel" :items="[
{ label: i18n.ts.none, value: 0 },
- { label: i18n.ts.low, value: 1 },
- { label: i18n.ts.medium, value: 2 },
- { label: i18n.ts.high, value: 3 },
+ { label: `${i18n.ts.low} (${i18n.ts._compression._quality.high}; ${i18n.ts._compression._size.large})`, value: 1 },
+ { label: `${i18n.ts.medium} (${i18n.ts._compression._quality.medium}; ${i18n.ts._compression._size.medium})`, value: 2 },
+ { label: `${i18n.ts.high} (${i18n.ts._compression._quality.low}; ${i18n.ts._compression._size.small})`, value: 3 },
]"
>
- <template #label><SearchLabel>{{ i18n.ts.defaultImageCompressionLevel }}</SearchLabel></template>
- <template #caption><div v-html="i18n.ts.defaultImageCompressionLevel_description"></div></template>
+ <template #label><SearchLabel>{{ i18n.ts.defaultCompressionLevel }}</SearchLabel></template>
+ <template #caption><div v-html="i18n.ts.defaultCompressionLevel_description"></div></template>
+ </MkSelect>
+ </MkPreferenceContainer>
+ </SearchMarker>
+ </div>
+ </FormSection>
+ </SearchMarker>
+
+ <SearchMarker :keywords="['video']">
+ <FormSection>
+ <template #label><SearchLabel>{{ i18n.ts.video }}</SearchLabel></template>
+
+ <div class="_gaps_m">
+ <SearchMarker :keywords="['default', 'video', 'compression']">
+ <MkPreferenceContainer k="defaultVideoCompressionLevel">
+ <MkSelect
+ v-model="defaultVideoCompressionLevel" :items="[
+ { label: i18n.ts.none, value: 0 },
+ { label: `${i18n.ts.low} (${i18n.ts._compression._quality.high}; ${i18n.ts._compression._size.large})`, value: 1 },
+ { label: `${i18n.ts.medium} (${i18n.ts._compression._quality.medium}; ${i18n.ts._compression._size.medium})`, value: 2 },
+ { label: `${i18n.ts.high} (${i18n.ts._compression._quality.low}; ${i18n.ts._compression._size.small})`, value: 3 },
+ ]"
+ >
+ <template #label><SearchLabel>{{ i18n.ts.defaultCompressionLevel }}</SearchLabel></template>
+ <template #caption><div v-html="i18n.ts.defaultCompressionLevel_description"></div></template>
</MkSelect>
</MkPreferenceContainer>
</SearchMarker>
@@ -196,6 +220,7 @@ const meterStyle = computed(() => {
const keepOriginalFilename = prefer.model('keepOriginalFilename');
const defaultWatermarkPresetId = prefer.model('defaultWatermarkPresetId');
const defaultImageCompressionLevel = prefer.model('defaultImageCompressionLevel');
+const defaultVideoCompressionLevel = prefer.model('defaultVideoCompressionLevel');
const watermarkPresetsSyncEnabled = ref(prefer.isSyncEnabled('watermarkPresets'));