diff options
Diffstat (limited to 'packages/client/src/components/MkFileListForAdmin.vue')
| -rw-r--r-- | packages/client/src/components/MkFileListForAdmin.vue | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/packages/client/src/components/MkFileListForAdmin.vue b/packages/client/src/components/MkFileListForAdmin.vue deleted file mode 100644 index 4910506a95..0000000000 --- a/packages/client/src/components/MkFileListForAdmin.vue +++ /dev/null @@ -1,117 +0,0 @@ -<template> -<div> - <MkPagination v-slot="{items}" :pagination="pagination" class="urempief" :class="{ grid: viewMode === 'grid' }"> - <MkA - v-for="file in items" - :key="file.id" - v-tooltip.mfm="`${file.type}\n${bytes(file.size)}\n${new Date(file.createdAt).toLocaleString()}\nby ${file.user ? '@' + Acct.toString(file.user) : 'system'}`" - :to="`/admin/file/${file.id}`" - class="file _button" - > - <div v-if="file.isSensitive" class="sensitive-label">{{ i18n.ts.sensitive }}</div> - <MkDriveFileThumbnail class="thumbnail" :file="file" fit="contain"/> - <div v-if="viewMode === 'list'" class="body"> - <div> - <small style="opacity: 0.7;">{{ file.name }}</small> - </div> - <div> - <MkAcct v-if="file.user" :user="file.user"/> - <div v-else>{{ i18n.ts.system }}</div> - </div> - <div> - <span style="margin-right: 1em;">{{ file.type }}</span> - <span>{{ bytes(file.size) }}</span> - </div> - <div> - <span>{{ i18n.ts.registeredDate }}: <MkTime :time="file.createdAt" mode="detail"/></span> - </div> - </div> - </MkA> - </MkPagination> -</div> -</template> - -<script lang="ts" setup> -import { computed } from 'vue'; -import * as Acct from 'misskey-js/built/acct'; -import MkPagination from '@/components/MkPagination.vue'; -import MkDriveFileThumbnail from '@/components/MkDriveFileThumbnail.vue'; -import bytes from '@/filters/bytes'; -import * as os from '@/os'; -import { i18n } from '@/i18n'; - -const props = defineProps<{ - pagination: any; - viewMode: 'grid' | 'list'; -}>(); -</script> - -<style lang="scss" scoped> -@keyframes sensitive-blink { - 0% { opacity: 1; } - 50% { opacity: 0; } -} - -.urempief { - margin-top: var(--margin); - - &.list { - > .file { - display: flex; - width: 100%; - box-sizing: border-box; - text-align: left; - align-items: center; - - &:hover { - color: var(--accent); - } - - > .thumbnail { - width: 128px; - height: 128px; - } - - > .body { - margin-left: 0.3em; - padding: 8px; - flex: 1; - - @media (max-width: 500px) { - font-size: 14px; - } - } - } - } - - &.grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); - grid-gap: 12px; - margin: var(--margin) 0; - - > .file { - position: relative; - aspect-ratio: 1; - - > .thumbnail { - width: 100%; - height: 100%; - } - - > .sensitive-label { - position: absolute; - z-index: 10; - top: 8px; - left: 8px; - padding: 2px 4px; - background: #ff0000bf; - color: #fff; - border-radius: 4px; - font-size: 85%; - animation: sensitive-blink 1s infinite; - } - } - } -} -</style> |