2020-06-23 13:44:14 +02:00
|
|
|
/*
|
|
|
|
|
|
|
|
Copyright (c) 2018 - 2020 Michael Mayer <hello@photoprism.org>
|
|
|
|
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU Affero General Public License as published
|
|
|
|
by the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU Affero General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
2020-06-23 13:53:11 +02:00
|
|
|
PhotoPrism™ is a registered trademark of Michael Mayer. You may use it as required
|
|
|
|
to describe our software, run your own server, for educational purposes, but not for
|
|
|
|
offering commercial goods, products, or services without prior written permission.
|
|
|
|
In other words, please ask.
|
2020-06-23 13:44:14 +02:00
|
|
|
|
|
|
|
Feel free to send an e-mail to hello@photoprism.org if you have questions,
|
|
|
|
want to support our work, or just want to say hello.
|
|
|
|
|
|
|
|
Additional information can be found in our Developer Guide:
|
|
|
|
https://docs.photoprism.org/developer-guide/
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2019-06-09 05:20:23 +02:00
|
|
|
import Photos from "pages/photos.vue";
|
2019-06-17 21:45:06 +02:00
|
|
|
import Albums from "pages/albums.vue";
|
2019-12-05 03:58:54 +01:00
|
|
|
import AlbumPhotos from "pages/album/photos.vue";
|
2019-06-09 05:20:23 +02:00
|
|
|
import Places from "pages/places.vue";
|
2020-06-04 14:56:27 +02:00
|
|
|
import Files from "pages/library/files.vue";
|
2019-05-28 03:49:44 +02:00
|
|
|
import Labels from "pages/labels.vue";
|
2019-06-09 04:37:02 +02:00
|
|
|
import People from "pages/people.vue";
|
2019-06-14 21:16:59 +02:00
|
|
|
import Library from "pages/library.vue";
|
2019-06-09 05:20:23 +02:00
|
|
|
import Settings from "pages/settings.vue";
|
2019-11-07 18:06:50 +01:00
|
|
|
import Login from "pages/login.vue";
|
2019-12-29 15:35:23 +01:00
|
|
|
import Discover from "pages/discover.vue";
|
2020-07-01 14:52:24 +02:00
|
|
|
import About from "pages/about/about.vue";
|
|
|
|
import License from "pages/about/license.vue";
|
2018-07-27 17:31:39 +02:00
|
|
|
|
2020-05-23 20:58:58 +02:00
|
|
|
const c = window.__CONFIG__;
|
2019-12-12 10:07:08 +01:00
|
|
|
|
2018-07-27 17:31:39 +02:00
|
|
|
export default [
|
2019-05-29 01:51:53 +02:00
|
|
|
{
|
2019-11-07 18:06:50 +01:00
|
|
|
name: "home",
|
2019-05-29 01:51:53 +02:00
|
|
|
path: "/",
|
|
|
|
redirect: "/photos",
|
|
|
|
},
|
2020-07-01 14:52:24 +02:00
|
|
|
{
|
|
|
|
name: "about",
|
|
|
|
path: "/about",
|
|
|
|
component: About,
|
|
|
|
meta: {title: "About", auth: false},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "license",
|
|
|
|
path: "/about/license",
|
|
|
|
component: License,
|
|
|
|
meta: {title: c.name, auth: false},
|
|
|
|
},
|
2019-05-29 01:51:53 +02:00
|
|
|
{
|
2019-11-07 18:06:50 +01:00
|
|
|
name: "login",
|
|
|
|
path: "/login",
|
|
|
|
component: Login,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Sign In", auth: false},
|
2019-11-07 18:06:50 +01:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "photos",
|
2019-05-29 01:51:53 +02:00
|
|
|
path: "/photos",
|
2019-06-09 05:20:23 +02:00
|
|
|
component: Photos,
|
2020-05-31 02:09:52 +02:00
|
|
|
meta: {title: c.siteCaption, auth: true},
|
2020-05-21 13:26:28 +02:00
|
|
|
props: {staticFilter: {photo: "true"}},
|
2019-05-29 01:51:53 +02:00
|
|
|
},
|
2020-05-29 12:21:17 +02:00
|
|
|
{
|
|
|
|
name: "moments",
|
|
|
|
path: "/moments",
|
|
|
|
component: Albums,
|
|
|
|
meta: {title: "Moments", auth: true},
|
2020-05-30 14:56:50 +02:00
|
|
|
props: {view: "moment", staticFilter: {type: "moment"}},
|
2020-05-29 12:21:17 +02:00
|
|
|
},
|
2020-05-30 01:41:47 +02:00
|
|
|
{
|
|
|
|
name: "moment",
|
2020-05-30 21:11:56 +02:00
|
|
|
path: "/moments/:uid/:slug",
|
2020-05-30 01:41:47 +02:00
|
|
|
component: AlbumPhotos,
|
2020-05-30 14:56:50 +02:00
|
|
|
meta: {title: "Moments", auth: true},
|
2020-05-30 01:41:47 +02:00
|
|
|
},
|
2019-06-17 21:45:06 +02:00
|
|
|
{
|
2019-11-07 18:06:50 +01:00
|
|
|
name: "albums",
|
2019-06-17 21:45:06 +02:00
|
|
|
path: "/albums",
|
|
|
|
component: Albums,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Albums", auth: true},
|
2020-05-30 14:56:50 +02:00
|
|
|
props: {view: "album", staticFilter: {type: "album"}},
|
2019-06-17 21:45:06 +02:00
|
|
|
},
|
2019-12-03 23:17:55 +01:00
|
|
|
{
|
2019-12-05 03:58:54 +01:00
|
|
|
name: "album",
|
2020-05-30 21:11:56 +02:00
|
|
|
path: "/albums/:uid/:slug",
|
2019-12-05 03:58:54 +01:00
|
|
|
component: AlbumPhotos,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Album", auth: true},
|
2019-12-03 23:17:55 +01:00
|
|
|
},
|
2020-05-30 14:56:50 +02:00
|
|
|
{
|
2020-05-30 21:11:56 +02:00
|
|
|
name: "calendar",
|
|
|
|
path: "/calendar",
|
2020-05-30 14:56:50 +02:00
|
|
|
component: Albums,
|
2020-05-30 21:11:56 +02:00
|
|
|
meta: {title: "Calendar", auth: true},
|
2020-05-30 14:56:50 +02:00
|
|
|
props: {view: "month", staticFilter: {type: "month"}},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "month",
|
2020-05-30 21:11:56 +02:00
|
|
|
path: "/calendar/:uid/:slug",
|
2020-05-30 14:56:50 +02:00
|
|
|
component: AlbumPhotos,
|
2020-05-30 21:11:56 +02:00
|
|
|
meta: {title: "Calendar", auth: true},
|
2020-05-30 14:56:50 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "folders",
|
|
|
|
path: "/folders",
|
|
|
|
component: Albums,
|
|
|
|
meta: {title: "Folders", auth: true},
|
|
|
|
props: {view: "folder", staticFilter: {type: "folder"}},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "folder",
|
2020-05-30 21:11:56 +02:00
|
|
|
path: "/folders/:uid:/:slug",
|
2020-05-30 14:56:50 +02:00
|
|
|
component: AlbumPhotos,
|
|
|
|
meta: {title: "Folders", auth: true},
|
|
|
|
},
|
2019-05-29 01:51:53 +02:00
|
|
|
{
|
2019-11-07 18:06:50 +01:00
|
|
|
name: "favorites",
|
2019-05-29 01:51:53 +02:00
|
|
|
path: "/favorites",
|
2019-06-09 05:20:23 +02:00
|
|
|
component: Photos,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Favorites", auth: true},
|
2020-05-14 19:03:12 +02:00
|
|
|
props: {staticFilter: {favorite: true}},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "videos",
|
|
|
|
path: "/videos",
|
|
|
|
component: Photos,
|
|
|
|
meta: {title: "Videos", auth: true},
|
2020-05-21 13:26:28 +02:00
|
|
|
props: {staticFilter: {video: "true"}},
|
2019-05-29 01:51:53 +02:00
|
|
|
},
|
2020-04-24 18:19:18 +02:00
|
|
|
{
|
|
|
|
name: "review",
|
|
|
|
path: "/review",
|
|
|
|
component: Photos,
|
|
|
|
meta: {title: "Review", auth: true},
|
|
|
|
props: {staticFilter: {review: true}},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "private",
|
|
|
|
path: "/private",
|
|
|
|
component: Photos,
|
|
|
|
meta: {title: "Private", auth: true},
|
|
|
|
props: {staticFilter: {private: true}},
|
|
|
|
},
|
2020-01-06 05:45:03 +01:00
|
|
|
{
|
2020-01-09 02:09:54 +01:00
|
|
|
name: "archive",
|
|
|
|
path: "/archive",
|
2020-01-06 05:45:03 +01:00
|
|
|
component: Photos,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Archive", auth: true},
|
2020-01-09 02:09:54 +01:00
|
|
|
props: {staticFilter: {archived: true}},
|
2020-01-06 05:45:03 +01:00
|
|
|
},
|
2019-05-29 01:51:53 +02:00
|
|
|
{
|
2019-11-07 18:06:50 +01:00
|
|
|
name: "places",
|
2019-05-29 01:51:53 +02:00
|
|
|
path: "/places",
|
2019-06-09 05:20:23 +02:00
|
|
|
component: Places,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Places", auth: true},
|
2019-05-29 01:51:53 +02:00
|
|
|
},
|
2020-01-15 04:04:33 +01:00
|
|
|
{
|
|
|
|
name: "place",
|
|
|
|
path: "/places/:q",
|
|
|
|
component: Places,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Places", auth: true},
|
2020-01-15 04:04:33 +01:00
|
|
|
},
|
2020-06-08 18:32:51 +02:00
|
|
|
{
|
|
|
|
name: "states",
|
2020-06-09 08:13:51 +02:00
|
|
|
path: "/states",
|
2020-06-08 18:32:51 +02:00
|
|
|
component: Albums,
|
|
|
|
meta: {title: "Places", auth: true},
|
|
|
|
props: {view: "state", staticFilter: {type: "state"}},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "state",
|
2020-06-09 08:13:51 +02:00
|
|
|
path: "/states/:uid/:slug",
|
2020-06-08 18:32:51 +02:00
|
|
|
component: AlbumPhotos,
|
|
|
|
meta: {title: "Places", auth: true},
|
|
|
|
},
|
2020-05-23 20:58:58 +02:00
|
|
|
{
|
2020-05-24 22:16:06 +02:00
|
|
|
name: "files",
|
2020-06-04 14:56:27 +02:00
|
|
|
path: "/library/files*",
|
2020-05-24 22:16:06 +02:00
|
|
|
component: Files,
|
2020-05-26 12:57:10 +02:00
|
|
|
meta: {title: "File Browser", auth: true},
|
2020-05-23 20:58:58 +02:00
|
|
|
},
|
2020-06-04 14:56:27 +02:00
|
|
|
{
|
|
|
|
name: "hidden",
|
|
|
|
path: "/library/hidden",
|
|
|
|
component: Photos,
|
2020-07-01 15:23:18 +02:00
|
|
|
meta: {title: "Hidden Files", auth: true},
|
2020-06-04 14:56:27 +02:00
|
|
|
props: {staticFilter: {hidden: true}},
|
|
|
|
},
|
2019-05-29 01:51:53 +02:00
|
|
|
{
|
2019-11-07 18:06:50 +01:00
|
|
|
name: "labels",
|
2019-06-09 04:37:02 +02:00
|
|
|
path: "/labels",
|
|
|
|
component: Labels,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Labels", auth: true},
|
2019-05-29 01:51:53 +02:00
|
|
|
},
|
2020-05-25 20:28:52 +02:00
|
|
|
{
|
|
|
|
name: "browse",
|
|
|
|
path: "/browse",
|
|
|
|
component: Photos,
|
2020-05-26 13:17:20 +02:00
|
|
|
meta: {title: "All photos and videos", auth: true},
|
2020-05-26 13:12:34 +02:00
|
|
|
props: {staticFilter: {quality: 0}},
|
2020-05-25 20:28:52 +02:00
|
|
|
},
|
2019-05-29 01:51:53 +02:00
|
|
|
{
|
2019-11-07 18:06:50 +01:00
|
|
|
name: "people",
|
2019-06-09 04:37:02 +02:00
|
|
|
path: "/people",
|
|
|
|
component: People,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "People", auth: true},
|
2019-05-29 01:51:53 +02:00
|
|
|
},
|
2019-12-12 10:07:08 +01:00
|
|
|
{
|
|
|
|
name: "library_logs",
|
|
|
|
path: "/library/logs",
|
|
|
|
component: Library,
|
2020-01-20 12:20:54 +01:00
|
|
|
meta: {title: "Server Logs", auth: true, background: "application-light"},
|
2019-12-09 18:10:20 +01:00
|
|
|
props: {tab: 2},
|
2019-12-02 02:43:41 +01:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "library_import",
|
|
|
|
path: "/library/import",
|
|
|
|
component: Library,
|
2020-06-03 09:42:40 +02:00
|
|
|
meta: {title: "Import", auth: true, background: "application-light"},
|
2019-12-02 02:43:41 +01:00
|
|
|
props: {tab: 1},
|
|
|
|
},
|
|
|
|
{
|
2019-12-09 18:10:20 +01:00
|
|
|
name: "library",
|
|
|
|
path: "/library",
|
2019-12-02 02:43:41 +01:00
|
|
|
component: Library,
|
2020-05-23 20:58:58 +02:00
|
|
|
meta: {title: "Originals", auth: true, background: "application-light"},
|
2019-12-09 18:10:20 +01:00
|
|
|
props: {tab: 0},
|
2019-05-29 01:51:53 +02:00
|
|
|
},
|
|
|
|
{
|
2019-11-07 18:06:50 +01:00
|
|
|
name: "settings",
|
2019-05-29 01:51:53 +02:00
|
|
|
path: "/settings",
|
2019-06-09 05:20:23 +02:00
|
|
|
component: Settings,
|
2020-01-23 07:39:04 +01:00
|
|
|
meta: {title: "Settings", auth: true, background: "application-light"},
|
2019-12-02 02:43:41 +01:00
|
|
|
props: {tab: 0},
|
|
|
|
},
|
2020-03-28 18:59:02 +01:00
|
|
|
{
|
2020-06-29 21:14:34 +02:00
|
|
|
name: "settings_sync",
|
|
|
|
path: "/settings/sync",
|
2020-03-28 18:59:02 +01:00
|
|
|
component: Settings,
|
|
|
|
meta: {title: "Settings", auth: true, background: "application-light"},
|
|
|
|
props: {tab: 1},
|
|
|
|
},
|
2020-06-29 21:14:34 +02:00
|
|
|
{
|
|
|
|
name: "settings_account",
|
|
|
|
path: "/settings/account",
|
|
|
|
component: Settings,
|
|
|
|
meta: {title: "Settings", auth: true, background: "application-light"},
|
|
|
|
props: {tab: 2},
|
|
|
|
},
|
2019-12-29 15:35:23 +01:00
|
|
|
{
|
|
|
|
name: "discover",
|
|
|
|
path: "/discover",
|
|
|
|
component: Discover,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Discover", auth: true, background: "application-light"},
|
2019-12-29 15:35:23 +01:00
|
|
|
props: {tab: 0},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "discover_similar",
|
|
|
|
path: "/discover/similar",
|
|
|
|
component: Discover,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Discover", auth: true, background: "application-light"},
|
2019-12-29 15:35:23 +01:00
|
|
|
props: {tab: 1},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "discover_season",
|
|
|
|
path: "/discover/season",
|
|
|
|
component: Discover,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Discover", auth: true, background: "application-light"},
|
2019-12-29 15:35:23 +01:00
|
|
|
props: {tab: 2},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "discover_random",
|
|
|
|
path: "/discover/random",
|
|
|
|
component: Discover,
|
2020-01-22 13:43:07 +01:00
|
|
|
meta: {title: "Discover", auth: true, background: "application-light"},
|
2019-12-29 15:35:23 +01:00
|
|
|
props: {tab: 3},
|
|
|
|
},
|
2019-05-29 01:51:53 +02:00
|
|
|
{
|
|
|
|
path: "*", redirect: "/photos",
|
|
|
|
},
|
2018-07-27 17:31:39 +02:00
|
|
|
];
|