diff --git a/packages/backend/src/server/api/endpoints/watermark/update.ts b/packages/backend/src/server/api/endpoints/watermark/update.ts
index a88318fc7..ca6c4a5ec 100644
--- a/packages/backend/src/server/api/endpoints/watermark/update.ts
+++ b/packages/backend/src/server/api/endpoints/watermark/update.ts
@@ -27,7 +27,7 @@ export const paramDef = {
background: { type: 'string' },
rotate: { type: 'number' },
},
- required: ['fileId'],
+ required: [],
} as const;
// eslint-disable-next-line import/no-default-export
diff --git a/packages/frontend/src/pages/settings/drive.vue b/packages/frontend/src/pages/settings/drive.vue
index 1b8f993b0..9073a3594 100644
--- a/packages/frontend/src/pages/settings/drive.vue
+++ b/packages/frontend/src/pages/settings/drive.vue
@@ -52,12 +52,30 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
- {{ i18n.ts.selectFile }}
- {{ i18n.ts.defa }}
-
-
+
+
+ {{ i18n.ts.selectFile }}
+ {{ i18n.ts.default }}
+
+
+ {{ i18n.ts.placement }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -105,6 +123,7 @@ import { signinRequired } from '@/account.js';
import MkInfo from "@/components/MkInfo.vue";
import MkButton from "@/components/MkButton.vue";
import MkFolder from "@/components/MkFolder.vue";
+import MkRadios from "@/components/MkRadios.vue";
const $i = signinRequired();
@@ -132,6 +151,7 @@ const keepOriginalFilename = computed(defaultStore.makeGetterSetter('keepOrigina
const useWatermark = computed(defaultStore.makeGetterSetter('useWatermark'));
const watermarkConfig = computed(defaultStore.makeGetterSetter('watermarkConfig'));
+const watermarkPreset = ref<{ placement: string }>({});
misskeyApi('drive').then(info => {
capacity.value = info.capacity;