diff options
Diffstat (limited to 'packages/client/src/pages/admin/abuses.vue')
| -rw-r--r-- | packages/client/src/pages/admin/abuses.vue | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/packages/client/src/pages/admin/abuses.vue b/packages/client/src/pages/admin/abuses.vue deleted file mode 100644 index 973ec871ab..0000000000 --- a/packages/client/src/pages/admin/abuses.vue +++ /dev/null @@ -1,97 +0,0 @@ -<template> -<MkStickyContainer> - <template #header><XHeader :actions="headerActions" :tabs="headerTabs"/></template> - <MkSpacer :content-max="900"> - <div class="lcixvhis"> - <div class="_section reports"> - <div class="_content"> - <div class="inputs" style="display: flex;"> - <MkSelect v-model="state" style="margin: 0; flex: 1;"> - <template #label>{{ i18n.ts.state }}</template> - <option value="all">{{ i18n.ts.all }}</option> - <option value="unresolved">{{ i18n.ts.unresolved }}</option> - <option value="resolved">{{ i18n.ts.resolved }}</option> - </MkSelect> - <MkSelect v-model="targetUserOrigin" style="margin: 0; flex: 1;"> - <template #label>{{ i18n.ts.reporteeOrigin }}</template> - <option value="combined">{{ i18n.ts.all }}</option> - <option value="local">{{ i18n.ts.local }}</option> - <option value="remote">{{ i18n.ts.remote }}</option> - </MkSelect> - <MkSelect v-model="reporterOrigin" style="margin: 0; flex: 1;"> - <template #label>{{ i18n.ts.reporterOrigin }}</template> - <option value="combined">{{ i18n.ts.all }}</option> - <option value="local">{{ i18n.ts.local }}</option> - <option value="remote">{{ i18n.ts.remote }}</option> - </MkSelect> - </div> - <!-- TODO - <div class="inputs" style="display: flex; padding-top: 1.2em;"> - <MkInput v-model="searchUsername" style="margin: 0; flex: 1;" type="text" :spellcheck="false"> - <span>{{ i18n.ts.username }}</span> - </MkInput> - <MkInput v-model="searchHost" style="margin: 0; flex: 1;" type="text" :spellcheck="false" :disabled="pagination.params().origin === 'local'"> - <span>{{ i18n.ts.host }}</span> - </MkInput> - </div> - --> - - <MkPagination v-slot="{items}" ref="reports" :pagination="pagination" style="margin-top: var(--margin);"> - <XAbuseReport v-for="report in items" :key="report.id" :report="report" @resolved="resolved"/> - </MkPagination> - </div> - </div> - </div> - </MkSpacer> -</MkStickyContainer> -</template> - -<script lang="ts" setup> -import { computed } from 'vue'; - -import XHeader from './_header_.vue'; -import MkInput from '@/components/form/input.vue'; -import MkSelect from '@/components/form/select.vue'; -import MkPagination from '@/components/MkPagination.vue'; -import XAbuseReport from '@/components/MkAbuseReport.vue'; -import * as os from '@/os'; -import { i18n } from '@/i18n'; -import { definePageMetadata } from '@/scripts/page-metadata'; - -let reports = $ref<InstanceType<typeof MkPagination>>(); - -let state = $ref('unresolved'); -let reporterOrigin = $ref('combined'); -let targetUserOrigin = $ref('combined'); -let searchUsername = $ref(''); -let searchHost = $ref(''); - -const pagination = { - endpoint: 'admin/abuse-user-reports' as const, - limit: 10, - params: computed(() => ({ - state, - reporterOrigin, - targetUserOrigin, - })), -}; - -function resolved(reportId) { - reports.removeItem(item => item.id === reportId); -} - -const headerActions = $computed(() => []); - -const headerTabs = $computed(() => []); - -definePageMetadata({ - title: i18n.ts.abuseReports, - icon: 'ti ti-exclamation-circle', -}); -</script> - -<style lang="scss" scoped> -.lcixvhis { - margin: var(--margin); -} -</style> |