2018-07-27 15:31:39 +00:00
|
|
|
<template>
|
2019-05-19 16:19:41 +00:00
|
|
|
<div id="p-navigation">
|
2020-03-30 13:48:51 +00:00
|
|
|
<v-toolbar dark scroll-off-screen color="navigation darken-1" class="hidden-md-and-up p-navigation-small"
|
2019-11-07 17:06:50 +00:00
|
|
|
@click.stop="showNavigation()">
|
2019-05-20 16:51:59 +00:00
|
|
|
<v-toolbar-side-icon class="p-navigation-show"></v-toolbar-side-icon>
|
2018-09-26 11:56:13 +00:00
|
|
|
|
2020-05-31 10:52:41 +00:00
|
|
|
<v-toolbar-title class="p-navigation-title">{{ page.title }}</v-toolbar-title>
|
2018-09-26 11:56:13 +00:00
|
|
|
|
|
|
|
<v-spacer></v-spacer>
|
2020-01-30 00:53:18 +00:00
|
|
|
|
|
|
|
<v-toolbar-items>
|
2020-05-28 07:58:00 +00:00
|
|
|
<v-btn icon class="action-upload" @click.stop="upload.dialog = true" v-if="!readonly && $config.feature('upload')">
|
2020-01-30 00:53:18 +00:00
|
|
|
<v-icon>cloud_upload</v-icon>
|
|
|
|
</v-btn>
|
|
|
|
</v-toolbar-items>
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-toolbar>
|
|
|
|
<v-navigation-drawer
|
|
|
|
v-model="drawer"
|
2020-01-22 15:54:01 +00:00
|
|
|
:mini-variant="mini || !auth"
|
2020-03-30 13:48:51 +00:00
|
|
|
:width="270"
|
|
|
|
:mobile-break-point="960"
|
2019-12-02 13:17:03 +00:00
|
|
|
class="p-navigation-sidebar navigation"
|
2019-05-20 08:53:29 +00:00
|
|
|
fixed dark app
|
2018-09-26 11:56:13 +00:00
|
|
|
>
|
|
|
|
<v-toolbar flat>
|
2019-12-02 15:56:50 +00:00
|
|
|
<v-list class="navigation-home">
|
2020-02-02 05:55:35 +00:00
|
|
|
<v-list-tile class="p-navigation-logo">
|
2020-05-24 20:16:06 +00:00
|
|
|
<v-list-tile-avatar class="clickable" @click.stop.prevent="openDocs">
|
2020-02-02 01:09:41 +00:00
|
|
|
<img src="/static/img/logo.png" alt="Logo">
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-list-tile-avatar>
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title class="title">
|
|
|
|
PhotoPrism
|
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
2020-03-30 13:48:51 +00:00
|
|
|
<v-list-tile-action class="hidden-sm-and-down">
|
2019-05-20 09:10:03 +00:00
|
|
|
<v-btn icon @click.stop="mini = !mini" class="p-navigation-minimize">
|
2018-09-26 11:56:13 +00:00
|
|
|
<v-icon>chevron_left</v-icon>
|
|
|
|
</v-btn>
|
|
|
|
</v-list-tile-action>
|
|
|
|
</v-list-tile>
|
|
|
|
</v-list>
|
|
|
|
</v-toolbar>
|
|
|
|
|
2020-01-22 15:54:01 +00:00
|
|
|
<v-list class="pt-3" v-if="auth">
|
2019-05-20 09:10:03 +00:00
|
|
|
<v-list-tile v-if="mini" @click.stop="mini = !mini" class="p-navigation-expand">
|
2018-09-26 11:56:13 +00:00
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>chevron_right</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-01-22 15:54:01 +00:00
|
|
|
<v-list-tile v-if="mini" to="/photos" @click="" class="p-navigation-photos">
|
2018-09-26 11:56:13 +00:00
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>photo</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
2018-09-06 21:58:16 +00:00
|
|
|
<v-list-tile-content>
|
2020-05-23 18:58:58 +00:00
|
|
|
<v-list-tile-title><translate key="Photos">Photos</translate></v-list-tile-title>
|
2018-09-06 21:58:16 +00:00
|
|
|
</v-list-tile-content>
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-list-tile>
|
|
|
|
|
2020-01-22 15:54:01 +00:00
|
|
|
<v-list-group v-if="!mini" prepend-icon="photo" no-action>
|
2019-06-15 23:11:55 +00:00
|
|
|
<v-list-tile slot="activator" to="/photos" @click.stop="" class="p-navigation-photos">
|
|
|
|
<v-list-tile-content>
|
2019-12-10 20:58:36 +00:00
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Photos">Photos</translate>
|
2019-12-11 03:12:54 +00:00
|
|
|
<span v-if="config.count.photos > 0" class="p-navigation-count">{{ config.count.photos }}</span>
|
2019-12-10 20:58:36 +00:00
|
|
|
</v-list-tile-title>
|
2019-06-15 23:11:55 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-14 17:03:12 +00:00
|
|
|
<v-list-tile :to="{name: 'photos', query: { q: 'mono:true quality:3 photo:true' }}" :exact="true" @click="">
|
2019-06-15 23:11:55 +00:00
|
|
|
<v-list-tile-content>
|
2020-05-23 18:58:58 +00:00
|
|
|
<v-list-tile-title><translate key="Monochrome">Monochrome</translate></v-list-tile-title>
|
2019-06-15 23:11:55 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-28 07:58:00 +00:00
|
|
|
<v-list-tile to="/review" @click="" v-if="$config.feature('review') && config.count.review > 0" class="p-navigation-review">
|
2019-06-15 23:11:55 +00:00
|
|
|
<v-list-tile-content>
|
2020-05-23 18:58:58 +00:00
|
|
|
<v-list-tile-title>
|
|
|
|
<translate key="Review">Review</translate>
|
|
|
|
<span v-show="config.count.review > 0" class="p-navigation-count">{{ config.count.review }}</span>
|
|
|
|
</v-list-tile-title>
|
2019-06-15 23:11:55 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
2020-01-06 04:45:03 +00:00
|
|
|
|
2020-05-14 17:03:12 +00:00
|
|
|
<v-list-tile to="/archive" @click="" class="p-navigation-archive" v-show="$config.feature('archive')">
|
2020-01-06 04:45:03 +00:00
|
|
|
<v-list-tile-content>
|
2020-05-23 18:58:58 +00:00
|
|
|
<v-list-tile-title><translate key="Archive">Archive</translate></v-list-tile-title>
|
2020-01-06 04:45:03 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
2019-06-15 23:11:55 +00:00
|
|
|
</v-list-group>
|
|
|
|
|
2020-05-15 07:39:32 +00:00
|
|
|
<v-list-tile to="/favorites" @click="" class="p-navigation-favorites">
|
2020-05-14 17:03:12 +00:00
|
|
|
<v-list-tile-action>
|
2020-05-15 07:39:32 +00:00
|
|
|
<v-icon>favorite</v-icon>
|
2020-05-14 17:03:12 +00:00
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Favorites">Favorites</translate>
|
2020-05-15 07:39:32 +00:00
|
|
|
<span v-show="config.count.favorites > 0" class="p-navigation-count">{{ config.count.favorites }}</span>
|
2020-05-14 17:03:12 +00:00
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-15 07:39:32 +00:00
|
|
|
<v-list-tile to="/private" @click="" class="p-navigation-private" v-show="$config.feature('private')" >
|
2020-03-30 16:09:01 +00:00
|
|
|
<v-list-tile-action>
|
2020-05-15 07:39:32 +00:00
|
|
|
<v-icon>lock</v-icon>
|
2020-03-30 16:09:01 +00:00
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Private">Private</translate>
|
2020-05-15 07:39:32 +00:00
|
|
|
<span v-show="config.count.private > 0" class="p-navigation-count">{{ config.count.private }}</span>
|
2020-03-30 16:09:01 +00:00
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-15 07:39:32 +00:00
|
|
|
<v-list-tile to="/videos" @click="" class="p-navigation-video">
|
2020-04-24 16:19:18 +00:00
|
|
|
<v-list-tile-action>
|
2020-05-15 07:39:32 +00:00
|
|
|
<v-icon>movie_creation</v-icon>
|
2020-04-24 16:19:18 +00:00
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Videos">Videos</translate>
|
2020-05-15 07:39:32 +00:00
|
|
|
<span v-show="config.count.videos > 0" class="p-navigation-count">{{ config.count.videos }}</span>
|
2020-04-24 16:19:18 +00:00
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-01-22 15:54:01 +00:00
|
|
|
<v-list-tile v-if="mini" to="/albums" @click="">
|
2019-06-16 01:24:02 +00:00
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>folder</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
2019-12-10 20:58:36 +00:00
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Albums">Albums</translate>
|
2019-12-10 20:58:36 +00:00
|
|
|
</v-list-tile-title>
|
2019-06-16 01:24:02 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-29 23:41:47 +00:00
|
|
|
<v-list-group v-if="!mini" prepend-icon="folder" no-action>
|
2019-12-03 22:17:55 +00:00
|
|
|
<v-list-tile slot="activator" to="/albums" @click.stop="">
|
2019-06-16 01:24:02 +00:00
|
|
|
<v-list-tile-content>
|
2019-12-10 20:58:36 +00:00
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Albums">Albums</translate>
|
2019-12-11 03:12:54 +00:00
|
|
|
<span v-if="config.count.albums > 0" class="p-navigation-count">{{ config.count.albums }}</span>
|
2019-12-10 20:58:36 +00:00
|
|
|
</v-list-tile-title>
|
2019-06-16 01:24:02 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
2020-05-29 23:41:47 +00:00
|
|
|
|
2020-05-30 12:56:50 +00:00
|
|
|
<v-list-tile to="/folders">
|
2020-05-29 23:41:47 +00:00
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title><translate key="Folders">Folders</translate>
|
|
|
|
<span v-show="config.count.folders > 0"
|
|
|
|
class="p-navigation-count">{{ config.count.folders }}</span></v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
2019-06-16 01:24:02 +00:00
|
|
|
</v-list-group>
|
|
|
|
|
2020-05-30 19:11:56 +00:00
|
|
|
<v-list-tile :to="{ name: 'calendar' }" @click="" class="p-navigation-calendar">
|
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>date_range</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>
|
|
|
|
<translate key="Calendar">Calendar</translate>
|
|
|
|
<span v-show="config.count.months > 0"
|
|
|
|
class="p-navigation-count">{{ config.count.months }}</span>
|
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-23 18:58:58 +00:00
|
|
|
<v-list-tile :to="{ name: 'moments' }" @click="" class="p-navigation-moments"
|
2020-05-30 19:11:56 +00:00
|
|
|
v-show="$config.feature('moments')">
|
2018-09-06 21:58:16 +00:00
|
|
|
<v-list-tile-action>
|
2020-05-23 18:58:58 +00:00
|
|
|
<v-icon>star</v-icon>
|
2018-09-06 21:58:16 +00:00
|
|
|
</v-list-tile-action>
|
2018-09-26 11:56:13 +00:00
|
|
|
|
|
|
|
<v-list-tile-content>
|
2019-12-10 20:58:36 +00:00
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Moments">Moments</translate>
|
|
|
|
<span v-show="config.count.moments > 0"
|
|
|
|
class="p-navigation-count">{{ config.count.moments }}</span>
|
2019-12-10 20:58:36 +00:00
|
|
|
</v-list-tile-title>
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-list-tile-content>
|
2018-09-06 21:58:16 +00:00
|
|
|
</v-list-tile>
|
2018-07-27 15:31:39 +00:00
|
|
|
|
2020-05-23 18:58:58 +00:00
|
|
|
<!-- v-list-tile to="/events" @click="" class="p-navigation-events">
|
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>date_range</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>Events</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile -->
|
|
|
|
|
2020-04-15 12:27:05 +00:00
|
|
|
<v-list-tile :to="{ name: 'places' }" @click="" class="p-navigation-places"
|
2020-05-14 17:03:12 +00:00
|
|
|
v-show="$config.feature('places')">
|
2018-09-26 11:56:13 +00:00
|
|
|
<v-list-tile-action>
|
2019-12-11 03:12:54 +00:00
|
|
|
<v-icon>place</v-icon>
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-list-tile-action>
|
|
|
|
|
2018-09-07 08:57:23 +00:00
|
|
|
<v-list-tile-content>
|
2019-12-10 20:58:36 +00:00
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Places">Places</translate>
|
2020-05-14 17:03:12 +00:00
|
|
|
<span v-show="config.count.places > 0"
|
2020-02-02 05:55:35 +00:00
|
|
|
class="p-navigation-count">{{ config.count.places }}</span>
|
2019-12-10 20:58:36 +00:00
|
|
|
</v-list-tile-title>
|
2018-09-07 08:57:23 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-14 17:03:12 +00:00
|
|
|
<!-- v-list-tile to="/discover" @click="" class="p-navigation-discover" v-show="config.experimental">
|
2019-12-29 14:35:23 +00:00
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>color_lens</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>
|
|
|
|
<translate>Discover</translate>
|
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
2020-01-30 00:53:18 +00:00
|
|
|
</v-list-tile -->
|
2019-12-29 14:35:23 +00:00
|
|
|
|
2020-01-22 15:54:01 +00:00
|
|
|
<!-- v-list-tile to="/events" @click="" class="p-navigation-events">
|
2018-09-26 11:56:13 +00:00
|
|
|
<v-list-tile-action>
|
2019-06-03 13:34:23 +00:00
|
|
|
<v-icon>date_range</v-icon>
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-list-tile-action>
|
2018-09-07 08:57:23 +00:00
|
|
|
|
2018-09-26 11:56:13 +00:00
|
|
|
<v-list-tile-content>
|
2019-06-09 02:37:02 +00:00
|
|
|
<v-list-tile-title>Events</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
2019-11-11 21:28:40 +00:00
|
|
|
</v-list-tile -->
|
2019-06-09 02:37:02 +00:00
|
|
|
|
2020-01-22 15:54:01 +00:00
|
|
|
<!-- v-list-tile to="/people" @click="" class="p-navigation-people">
|
2019-06-09 02:37:02 +00:00
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>people</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>People</v-list-tile-title>
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-list-tile-content>
|
2019-11-11 21:28:40 +00:00
|
|
|
</v-list-tile -->
|
2018-09-07 08:57:23 +00:00
|
|
|
|
2020-05-23 18:58:58 +00:00
|
|
|
|
|
|
|
<!-- v-list-tile to="/folders" @click="" class="p-navigation-folders">
|
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>sd_storage</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>
|
|
|
|
<translate key="Folders">Folders</translate>
|
|
|
|
<span v-show="config.count.folders > 0" class="p-navigation-count">{{ config.count.folders }}</span>
|
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile -->
|
|
|
|
|
|
|
|
<v-list-tile to="/labels" @click="" class="p-navigation-labels" v-show="$config.feature('labels')">
|
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>label</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>
|
|
|
|
<translate key="Labels">Labels</translate>
|
|
|
|
<span v-show="config.count.labels > 0"
|
|
|
|
class="p-navigation-count">{{ config.count.labels }}</span>
|
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-24 20:16:06 +00:00
|
|
|
<v-list-tile v-if="mini" to="/library" @click="" class="p-navigation-library">
|
2018-09-26 11:56:13 +00:00
|
|
|
<v-list-tile-action>
|
2019-06-15 23:11:55 +00:00
|
|
|
<v-icon>camera_roll</v-icon>
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-list-tile-action>
|
2018-09-07 08:57:23 +00:00
|
|
|
|
|
|
|
<v-list-tile-content>
|
2019-12-10 20:58:36 +00:00
|
|
|
<v-list-tile-title>
|
2020-05-24 20:16:06 +00:00
|
|
|
<translate key="Library">Library</translate>
|
2019-12-10 20:58:36 +00:00
|
|
|
</v-list-tile-title>
|
2018-09-07 08:57:23 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-24 20:16:06 +00:00
|
|
|
<v-list-group v-if="!mini" prepend-icon="camera_roll" no-action>
|
|
|
|
<v-list-tile slot="activator" to="/library" @click.stop="" class="p-navigation-library">
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>
|
|
|
|
<translate key="Library">Library</translate>
|
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
|
|
|
<v-list-tile to="/files" @click="" class="p-navigation-files" v-show="$config.feature('files')">
|
|
|
|
<v-list-tile-content>
|
|
|
|
<v-list-tile-title>
|
|
|
|
<translate key="Files">Files</translate>
|
|
|
|
<span v-show="config.count.files > 0" class="p-navigation-count">{{ config.count.files }}</span>
|
|
|
|
</v-list-tile-title>
|
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
</v-list-group>
|
|
|
|
|
2020-05-14 17:03:12 +00:00
|
|
|
<v-list-tile to="/settings" @click="" class="p-navigation-settings" v-show="!config.disableSettings">
|
2018-09-07 08:57:23 +00:00
|
|
|
<v-list-tile-action>
|
2018-09-26 11:56:13 +00:00
|
|
|
<v-icon>settings</v-icon>
|
2018-09-07 08:57:23 +00:00
|
|
|
</v-list-tile-action>
|
2018-09-26 11:56:13 +00:00
|
|
|
|
|
|
|
<v-list-tile-content>
|
2019-12-10 20:58:36 +00:00
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Settings">Settings</translate>
|
2019-12-10 20:58:36 +00:00
|
|
|
</v-list-tile-title>
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-list-tile-content>
|
2018-09-07 08:57:23 +00:00
|
|
|
</v-list-tile>
|
2019-11-08 05:53:40 +00:00
|
|
|
|
2020-05-14 17:03:12 +00:00
|
|
|
<v-list-tile @click="logout" class="p-navigation-logout" v-show="!public && auth">
|
2019-11-08 05:53:40 +00:00
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>power_settings_new</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
2019-12-10 20:58:36 +00:00
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Logout">Logout</translate>
|
2019-12-10 20:58:36 +00:00
|
|
|
</v-list-tile-title>
|
2019-11-08 05:53:40 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
|
|
|
|
2020-05-14 17:03:12 +00:00
|
|
|
<v-list-tile to="/login" @click="" class="p-navigation-login" v-show="!auth">
|
2019-11-08 05:53:40 +00:00
|
|
|
<v-list-tile-action>
|
|
|
|
<v-icon>lock</v-icon>
|
|
|
|
</v-list-tile-action>
|
|
|
|
|
|
|
|
<v-list-tile-content>
|
2019-12-10 20:58:36 +00:00
|
|
|
<v-list-tile-title>
|
2020-05-23 18:58:58 +00:00
|
|
|
<translate key="Login">Login</translate>
|
2019-12-10 20:58:36 +00:00
|
|
|
</v-list-tile-title>
|
2019-11-08 05:53:40 +00:00
|
|
|
</v-list-tile-content>
|
|
|
|
</v-list-tile>
|
2020-01-30 00:53:18 +00:00
|
|
|
|
2018-09-26 11:56:13 +00:00
|
|
|
</v-list>
|
|
|
|
</v-navigation-drawer>
|
2020-04-15 12:27:05 +00:00
|
|
|
<p-upload-dialog :show="upload.dialog" @cancel="upload.dialog = false"
|
|
|
|
@confirm="upload.dialog = false"></p-upload-dialog>
|
|
|
|
<p-photo-edit-dialog :show="edit.dialog" :selection="edit.selection" :index="edit.index" :album="edit.album"
|
|
|
|
@close="edit.dialog = false"></p-photo-edit-dialog>
|
2018-09-26 11:56:13 +00:00
|
|
|
</div>
|
2018-07-27 15:31:39 +00:00
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2019-12-17 03:39:23 +00:00
|
|
|
import Album from "../model/album";
|
2020-01-30 00:53:18 +00:00
|
|
|
import Event from "pubsub-js";
|
2019-12-17 03:39:23 +00:00
|
|
|
|
2018-07-27 15:31:39 +00:00
|
|
|
export default {
|
2019-05-21 15:59:12 +00:00
|
|
|
name: "p-navigation",
|
2018-07-27 15:31:39 +00:00
|
|
|
data() {
|
2018-08-07 18:17:14 +00:00
|
|
|
return {
|
2018-09-06 21:58:16 +00:00
|
|
|
drawer: null,
|
2020-03-30 13:34:22 +00:00
|
|
|
mini: true,
|
2019-11-08 05:53:40 +00:00
|
|
|
session: this.$session,
|
2020-04-26 12:31:33 +00:00
|
|
|
public: this.$config.get("public"),
|
|
|
|
readonly: this.$config.get("readonly"),
|
2019-12-03 22:17:55 +00:00
|
|
|
config: this.$config.values,
|
2019-12-05 13:11:45 +00:00
|
|
|
page: this.$config.page,
|
2020-04-15 12:27:05 +00:00
|
|
|
upload: {
|
|
|
|
subscription: null,
|
2020-05-13 13:36:42 +00:00
|
|
|
dialog: false,
|
2020-04-15 12:27:05 +00:00
|
|
|
},
|
|
|
|
edit: {
|
|
|
|
subscription: null,
|
2020-05-13 13:36:42 +00:00
|
|
|
dialog: false,
|
2020-04-15 12:27:05 +00:00
|
|
|
album: null,
|
|
|
|
selection: [],
|
|
|
|
index: 0,
|
|
|
|
},
|
2018-08-07 18:17:14 +00:00
|
|
|
};
|
2018-07-27 15:31:39 +00:00
|
|
|
},
|
2020-01-22 12:43:07 +00:00
|
|
|
computed: {
|
|
|
|
auth() {
|
2020-01-30 00:53:18 +00:00
|
|
|
return this.session.auth || this.public
|
2020-01-22 12:43:07 +00:00
|
|
|
},
|
|
|
|
},
|
2018-07-27 15:31:39 +00:00
|
|
|
methods: {
|
2020-04-13 16:08:21 +00:00
|
|
|
feature(name) {
|
|
|
|
return this.$config.values.settings.features[name];
|
|
|
|
},
|
2020-02-02 05:55:35 +00:00
|
|
|
openDocs() {
|
|
|
|
window.open("https://docs.photoprism.org/", "_blank");
|
|
|
|
},
|
|
|
|
showNavigation() {
|
2018-09-26 11:56:13 +00:00
|
|
|
this.drawer = true;
|
|
|
|
this.mini = false;
|
2019-11-08 05:53:40 +00:00
|
|
|
},
|
2019-12-17 03:39:23 +00:00
|
|
|
createAlbum() {
|
2019-12-21 16:18:47 +00:00
|
|
|
let name = "New Album";
|
2020-05-26 07:02:19 +00:00
|
|
|
const album = new Album({Title: name, Favorite: true});
|
2019-12-21 16:18:47 +00:00
|
|
|
album.save();
|
2019-12-17 03:39:23 +00:00
|
|
|
},
|
2019-11-08 05:53:40 +00:00
|
|
|
logout() {
|
|
|
|
this.$session.logout();
|
|
|
|
},
|
2020-01-30 00:53:18 +00:00
|
|
|
},
|
|
|
|
created() {
|
2020-04-15 12:27:05 +00:00
|
|
|
this.upload.subscription = Event.subscribe("dialog.upload", () => this.upload.dialog = true);
|
2020-05-13 13:36:42 +00:00
|
|
|
|
2020-04-15 12:27:05 +00:00
|
|
|
this.edit.subscription = Event.subscribe("dialog.edit", (ev, data) => {
|
|
|
|
if (!this.edit.dialog) {
|
|
|
|
this.edit.index = data.index;
|
|
|
|
this.edit.selection = data.selection;
|
|
|
|
this.edit.album = data.album;
|
|
|
|
this.edit.dialog = true;
|
|
|
|
}
|
|
|
|
});
|
2020-01-30 00:53:18 +00:00
|
|
|
},
|
|
|
|
destroyed() {
|
2020-04-15 12:27:05 +00:00
|
|
|
Event.unsubscribe(this.upload.subscription);
|
|
|
|
Event.unsubscribe(this.edit.subscription);
|
2018-07-27 15:31:39 +00:00
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|