summaryrefslogtreecommitdiff
path: root/packages/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend')
-rw-r--r--packages/frontend/src/pages/admin/roles.editor.vue30
-rw-r--r--packages/frontend/src/pages/admin/roles.vue18
2 files changed, 48 insertions, 0 deletions
diff --git a/packages/frontend/src/pages/admin/roles.editor.vue b/packages/frontend/src/pages/admin/roles.editor.vue
index 9d26707423..2fceaf9ce2 100644
--- a/packages/frontend/src/pages/admin/roles.editor.vue
+++ b/packages/frontend/src/pages/admin/roles.editor.vue
@@ -152,6 +152,30 @@
</MkInput>
</div>
</MkFolder>
+
+ <MkFolder>
+ <template #label>{{ i18n.ts._role._options.clipMax }}</template>
+ <template #suffix>{{ options_clipLimit_useDefault ? i18n.ts._role.useBaseValue : (options_clipLimit_value) }}</template>
+ <div class="_gaps">
+ <MkSwitch v-model="options_clipLimit_useDefault" :readonly="readonly">
+ <template #label>{{ i18n.ts._role.useBaseValue }}</template>
+ </MkSwitch>
+ <MkInput v-model="options_clipLimit_value" :disabled="options_clipLimit_useDefault" type="number" :readonly="readonly">
+ </MkInput>
+ </div>
+ </MkFolder>
+
+ <MkFolder>
+ <template #label>{{ i18n.ts._role._options.noteEachClipsMax }}</template>
+ <template #suffix>{{ options_noteEachClipsLimit_useDefault ? i18n.ts._role.useBaseValue : (options_noteEachClipsLimit_value) }}</template>
+ <div class="_gaps">
+ <MkSwitch v-model="options_noteEachClipsLimit_useDefault" :readonly="readonly">
+ <template #label>{{ i18n.ts._role.useBaseValue }}</template>
+ </MkSwitch>
+ <MkInput v-model="options_noteEachClipsLimit_value" :disabled="options_noteEachClipsLimit_useDefault" type="number" :readonly="readonly">
+ </MkInput>
+ </div>
+ </MkFolder>
</div>
</FormSlot>
@@ -223,6 +247,10 @@ let options_wordMuteLimit_useDefault = $ref(role?.options?.wordMuteLimit?.useDef
let options_wordMuteLimit_value = $ref(role?.options?.wordMuteLimit?.value ?? 0);
let options_webhookLimit_useDefault = $ref(role?.options?.webhookLimit?.useDefault ?? true);
let options_webhookLimit_value = $ref(role?.options?.webhookLimit?.value ?? 0);
+let options_clipLimit_useDefault = $ref(role?.options?.clipLimit?.useDefault ?? true);
+let options_clipLimit_value = $ref(role?.options?.clipLimit?.value ?? 0);
+let options_noteEachClipsLimit_useDefault = $ref(role?.options?.noteEachClipsLimit?.useDefault ?? true);
+let options_noteEachClipsLimit_value = $ref(role?.options?.noteEachClipsLimit?.value ?? 0);
if (_DEV_) {
watch($$(condFormula), () => {
@@ -241,6 +269,8 @@ function getOptions() {
antennaLimit: { useDefault: options_antennaLimit_useDefault, value: options_antennaLimit_value },
wordMuteLimit: { useDefault: options_wordMuteLimit_useDefault, value: options_wordMuteLimit_value },
webhookLimit: { useDefault: options_webhookLimit_useDefault, value: options_webhookLimit_value },
+ clipLimit: { useDefault: options_clipLimit_useDefault, value: options_clipLimit_value },
+ noteEachClipsLimit: { useDefault: options_noteEachClipsLimit_useDefault, value: options_noteEachClipsLimit_value },
};
}
diff --git a/packages/frontend/src/pages/admin/roles.vue b/packages/frontend/src/pages/admin/roles.vue
index cde5142a63..13b893ba46 100644
--- a/packages/frontend/src/pages/admin/roles.vue
+++ b/packages/frontend/src/pages/admin/roles.vue
@@ -78,6 +78,20 @@
</MkInput>
</MkFolder>
+ <MkFolder>
+ <template #label>{{ i18n.ts._role._options.clipMax }}</template>
+ <template #suffix>{{ options_clipLimit }}</template>
+ <MkInput v-model="options_clipLimit" type="number">
+ </MkInput>
+ </MkFolder>
+
+ <MkFolder>
+ <template #label>{{ i18n.ts._role._options.noteEachClipsMax }}</template>
+ <template #suffix>{{ options_noteEachClipsLimit }}</template>
+ <MkInput v-model="options_noteEachClipsLimit" type="number">
+ </MkInput>
+ </MkFolder>
+
<MkButton primary rounded @click="updateBaseRole">{{ i18n.ts.save }}</MkButton>
</div>
</MkFolder>
@@ -119,6 +133,8 @@ let options_driveCapacityMb = $ref(instance.baseRole.driveCapacityMb);
let options_antennaLimit = $ref(instance.baseRole.antennaLimit);
let options_wordMuteLimit = $ref(instance.baseRole.wordMuteLimit);
let options_webhookLimit = $ref(instance.baseRole.webhookLimit);
+let options_clipLimit = $ref(instance.baseRole.clipLimit);
+let options_noteEachClipsLimit = $ref(instance.baseRole.noteEachClipsLimit);
async function updateBaseRole() {
await os.apiWithDialog('admin/roles/update-default-role-override', {
@@ -132,6 +148,8 @@ async function updateBaseRole() {
antennaLimit: options_antennaLimit,
wordMuteLimit: options_wordMuteLimit,
webhookLimit: options_webhookLimit,
+ clipLimit: options_clipLimit,
+ noteEachClipsLimit: options_noteEachClipsLimit,
},
});
}