aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZephyrrus <[email protected]>2020-11-12 23:07:16 +0200
committerGitHub <[email protected]>2020-11-12 23:07:16 +0200
commitd6813fa9125ca16dfa969f28649d696703a9a94b (patch)
treee67ca699428d78593b48c6518fa6ed064b6bd60b /src
parentMerge pull request #3 from Zephyrrus/feature/custom_album_urls (diff)
parentchore: update package.json (diff)
downloadhost.fuwn.me-d6813fa9125ca16dfa969f28649d696703a9a94b.tar.xz
host.fuwn.me-d6813fa9125ca16dfa969f28649d696703a9a94b.zip
Merge pull request #4 from Zephyrrus/chore/update_buefy
Update buefy
Diffstat (limited to 'src')
-rw-r--r--src/site/components/album/AlbumDetails.vue77
-rw-r--r--src/site/components/grid/Grid.vue77
-rw-r--r--src/site/pages/dashboard/admin/users.vue94
3 files changed, 126 insertions, 122 deletions
diff --git a/src/site/components/album/AlbumDetails.vue b/src/site/components/album/AlbumDetails.vue
index ac6eba5..2d0bb5d 100644
--- a/src/site/components/album/AlbumDetails.vue
+++ b/src/site/components/album/AlbumDetails.vue
@@ -5,46 +5,49 @@
<b-table
:data="details.links || []"
:mobile-cards="true">
- <template slot-scope="props">
- <b-table-column
- field="identifier"
- label="Link"
- centered>
- <a
- :href="`${config.URL}/a/${props.row.identifier}`"
- target="_blank">
- {{ props.row.identifier }}
- </a>
- </b-table-column>
+ <b-table-column
+ v-slot="props"
+ field="identifier"
+ label="Link"
+ centered>
+ <a
+ :href="`${config.URL}/a/${props.row.identifier}`"
+ target="_blank">
+ {{ props.row.identifier }}
+ </a>
+ </b-table-column>
- <b-table-column
- field="views"
- label="Views"
- centered>
- {{ props.row.views }}
- </b-table-column>
+ <b-table-column
+ v-slot="props"
+ field="views"
+ label="Views"
+ centered>
+ {{ props.row.views }}
+ </b-table-column>
- <b-table-column
- field="enableDownload"
- label="Allow download"
- centered>
- <b-switch
- v-model="props.row.enableDownload"
- @input="updateLinkOptions(albumId, props.row)" />
- </b-table-column>
+ <b-table-column
+ v-slot="props"
+ field="enableDownload"
+ label="Allow download"
+ centered>
+ <b-switch
+ v-model="props.row.enableDownload"
+ @input="updateLinkOptions(albumId, props.row)" />
+ </b-table-column>
+
+ <b-table-column
+ v-slot="props"
+ field="enabled"
+ numeric>
+ <button
+ :class="{ 'is-loading': isDeleting(props.row.identifier) }"
+ class="button is-danger"
+ :disabled="isDeleting(props.row.identifier)"
+ @click="promptDeleteAlbumLink(albumId, props.row.identifier)">
+ Delete link
+ </button>
+ </b-table-column>
- <b-table-column
- field="enabled"
- numeric>
- <button
- :class="{ 'is-loading': isDeleting(props.row.identifier) }"
- class="button is-danger"
- :disabled="isDeleting(props.row.identifier)"
- @click="promptDeleteAlbumLink(albumId, props.row.identifier)">
- Delete link
- </button>
- </b-table-column>
- </template>
<template slot="empty">
<div class="has-text-centered">
<i class="icon-misc-mood-sad" />
diff --git a/src/site/components/grid/Grid.vue b/src/site/components/grid/Grid.vue
index 7170709..1fa3167 100644
--- a/src/site/components/grid/Grid.vue
+++ b/src/site/components/grid/Grid.vue
@@ -92,48 +92,45 @@
</template>
<div v-else>
<b-table :data="gridFiles || []" :mobile-cards="true">
- <template slot-scope="props">
- <template v-if="!props.row.hideFromList">
- <b-table-column field="url" label="URL">
- <a :href="props.row.url" target="_blank">{{ props.row.url }}</a>
- </b-table-column>
-
- <b-table-column field="albums" label="Albums" centered>
- <template v-for="(album, index) in props.row.albums">
- <nuxt-link :key="index" :to="`/dashboard/albums/${album.id}`">
- {{ album.name }}
- </nuxt-link>
- <template v-if="index < props.row.albums.length - 1">
- ,
- </template>
- </template>
+ <b-table-column v-slot="props" field="url" label="URL">
+ <a :href="props.row.url" target="_blank">{{ props.row.url }}</a>
+ </b-table-column>
+
+ <b-table-column v-slot="props" field="albums" label="Albums" centered>
+ <template v-for="(album, index) in props.row.albums">
+ <nuxt-link :key="index" :to="`/dashboard/albums/${album.id}`">
+ {{ album.name }}
+ </nuxt-link>
+ <template v-if="index < props.row.albums.length - 1">
+ ,
+ </template>
+ </template>
- {{ props.row.username }}
- </b-table-column>
+ {{ props.row.username }}
+ </b-table-column>
- <b-table-column field="uploaded" label="Uploaded" centered>
- <span><timeago :since="props.row.createdAt" /></span>
- </b-table-column>
+ <b-table-column v-slot="props" field="uploaded" label="Uploaded" centered>
+ <span><timeago :since="props.row.createdAt" /></span>
+ </b-table-column>
+
+ <b-table-column v-slot="props" field="purge" centered>
+ <b-tooltip label="Edit" position="is-top">
+ <a class="btn" @click="handleFileModal(props.row)">
+ <i class="mdi mdi-pencil" />
+ </a>
+ </b-tooltip>
+ <b-tooltip label="Delete" position="is-top" class="is-danger">
+ <a class="is-danger" @click="deleteFile(props.row)">
+ <i class="mdi mdi-delete" />
+ </a>
+ </b-tooltip>
+ <b-tooltip v-if="user && user.isAdmin" label="More info" position="is-top" class="more">
+ <nuxt-link :to="`/dashboard/admin/file/${props.row.id}`">
+ <i class="mdi mdi-dots-horizontal" />
+ </nuxt-link>
+ </b-tooltip>
+ </b-table-column>
- <b-table-column field="purge" centered>
- <b-tooltip label="Edit" position="is-top">
- <a class="btn" @click="handleFileModal(props.row)">
- <i class="mdi mdi-pencil" />
- </a>
- </b-tooltip>
- <b-tooltip label="Delete" position="is-top" class="is-danger">
- <a class="is-danger" @click="deleteFile(props.row)">
- <i class="mdi mdi-delete" />
- </a>
- </b-tooltip>
- <b-tooltip v-if="user && user.isAdmin" label="More info" position="is-top" class="more">
- <nuxt-link :to="`/dashboard/admin/file/${props.row.id}`">
- <i class="mdi mdi-dots-horizontal" />
- </nuxt-link>
- </b-tooltip>
- </b-table-column>
- </template>
- </template>
<template slot="empty">
<div class="has-text-centered">
<i class="icon-misc-mood-sad" />
@@ -226,7 +223,7 @@ export default {
return require('@/assets/images/blank.png');
},
gridFiles() {
- return this.files;
+ return (this.files || []).filter((v) => !v.hideFromList);
},
},
created() {
diff --git a/src/site/pages/dashboard/admin/users.vue b/src/site/pages/dashboard/admin/users.vue
index bed4c2b..60d030a 100644
--- a/src/site/pages/dashboard/admin/users.vue
+++ b/src/site/pages/dashboard/admin/users.vue
@@ -15,51 +15,55 @@
<b-table
:data="users"
:mobile-cards="true">
- <template slot-scope="props">
- <b-table-column
- field="id"
- label="Id"
- centered>
- {{ props.row.id }}
- </b-table-column>
-
- <b-table-column
- field="username"
- label="Username"
- centered>
- <nuxt-link :to="`/dashboard/admin/user/${props.row.id}`">
- {{ props.row.username }}
- </nuxt-link>
- </b-table-column>
-
- <b-table-column
- field="enabled"
- label="Enabled"
- centered>
- <b-switch
- :value="props.row.enabled"
- @input="changeEnabledStatus(props.row)" />
- </b-table-column>
-
- <b-table-column
- field="isAdmin"
- label="Admin"
- centered>
- <b-switch
- :value="props.row.isAdmin"
- @input="changeIsAdmin(props.row)" />
- </b-table-column>
-
- <b-table-column
- field="purge"
- centered>
- <b-button
- type="is-danger"
- @click="promptPurgeFiles(props.row)">
- Purge files
- </b-button>
- </b-table-column>
- </template>
+ <b-table-column
+ v-slot="props"
+ field="id"
+ label="Id"
+ centered>
+ {{ props.row.id }}
+ </b-table-column>
+
+ <b-table-column
+ v-slot="props"
+ field="username"
+ label="Username"
+ centered>
+ <nuxt-link :to="`/dashboard/admin/user/${props.row.id}`">
+ {{ props.row.username }}
+ </nuxt-link>
+ </b-table-column>
+
+ <b-table-column
+ v-slot="props"
+ field="enabled"
+ label="Enabled"
+ centered>
+ <b-switch
+ :value="props.row.enabled"
+ @input="changeEnabledStatus(props.row)" />
+ </b-table-column>
+
+ <b-table-column
+ v-slot="props"
+ field="isAdmin"
+ label="Admin"
+ centered>
+ <b-switch
+ :value="props.row.isAdmin"
+ @input="changeIsAdmin(props.row)" />
+ </b-table-column>
+
+ <b-table-column
+ v-slot="props"
+ field="purge"
+ centered>
+ <b-button
+ type="is-danger"
+ @click="promptPurgeFiles(props.row)">
+ Purge files
+ </b-button>
+ </b-table-column>
+
<template slot="empty">
<div class="has-text-centered">
<i class="icon-misc-mood-sad" />