From bdd704ddef340fa9bdbc0459f9f00889afb6b294 Mon Sep 17 00:00:00 2001
From: Friendly C <52448715+friendlycrab@users.noreply.github.com>
Date: Tue, 2 Jul 2019 13:17:30 +0200
Subject: [PATCH] Remove UI V1
---
ui/v1/LICENSE | 21 -
ui/v1/README.md | 8 -
ui/v1/angular.json | 105 -
ui/v1/codegen.yml | 13 -
ui/v1/package.json | 66 -
ui/v1/src/app/app-routing.module.ts | 25 -
ui/v1/src/app/app.component.ts | 12 -
ui/v1/src/app/app.module.ts | 30 -
ui/v1/src/app/core/core.module.ts | 45 -
.../core/dashboard/dashboard.component.css | 0
.../core/dashboard/dashboard.component.html | 50 -
.../app/core/dashboard/dashboard.component.ts | 23 -
ui/v1/src/app/core/graphql-generated.ts | 2305 -----
.../navigation-bar.component.css | 0
.../navigation-bar.component.html | 38 -
.../navigation-bar.component.ts | 22 -
.../page-not-found.component.css | 0
.../page-not-found.component.html | 1 -
.../page-not-found.component.ts | 15 -
ui/v1/src/app/core/stash.service.ts | 508 --
.../app/galleries/galleries-routing.module.ts | 22 -
ui/v1/src/app/galleries/galleries.module.ts | 25 -
ui/v1/src/app/galleries/galleries.service.ts | 11 -
.../galleries/galleries.component.ts | 13 -
.../gallery-detail.component.css | 40 -
.../gallery-detail.component.html | 22 -
.../gallery-detail.component.ts | 92 -
.../gallery-list/gallery-list.component.html | 7 -
.../gallery-list/gallery-list.component.ts | 23 -
.../performer-detail.component.css | 0
.../performer-detail.component.html | 122 -
.../performer-detail.component.ts | 56 -
.../performer-form.component.css | 0
.../performer-form.component.html | 118 -
.../performer-form.component.ts | 204 -
.../performer-list.component.html | 7 -
.../performer-list.component.ts | 23 -
.../performers/performers-routing.module.ts | 29 -
ui/v1/src/app/performers/performers.module.ts | 29 -
.../src/app/performers/performers.service.ts | 11 -
.../performers/performers.component.ts | 13 -
.../marker-list/marker-list.component.ts | 16 -
.../scene-detail-marker-manager.component.css | 0
...scene-detail-marker-manager.component.html | 87 -
.../scene-detail-marker-manager.component.ts | 162 -
.../scene-detail-scrubber.component.css | 128 -
.../scene-detail-scrubber.component.html | 30 -
.../scene-detail-scrubber.component.ts | 232 -
.../scene-detail/scene-detail.component.css | 0
.../scene-detail/scene-detail.component.html | 96 -
.../scene-detail/scene-detail.component.ts | 82 -
.../scene-form/scene-form.component.css | 0
.../scene-form/scene-form.component.html | 98 -
.../scenes/scene-form/scene-form.component.ts | 87 -
.../scenes/scene-list/scene-list.component.ts | 16 -
.../scene-wall/scene-wall.component.css | 0
.../scene-wall/scene-wall.component.html | 37 -
.../scenes/scene-wall/scene-wall.component.ts | 84 -
ui/v1/src/app/scenes/scenes-routing.module.ts | 32 -
ui/v1/src/app/scenes/scenes.module.ts | 35 -
ui/v1/src/app/scenes/scenes.service.ts | 11 -
.../src/app/scenes/scenes/scenes.component.ts | 13 -
.../app/settings/settings-routing.module.ts | 16 -
ui/v1/src/app/settings/settings.module.ts | 16 -
.../settings/settings/settings.component.html | 20 -
.../settings/settings/settings.component.ts | 58 -
ui/v1/src/app/shared/age.pipe.ts | 23 -
.../base-wall-item.component.ts | 85 -
ui/v1/src/app/shared/capitalize.pipe.ts | 15 -
ui/v1/src/app/shared/file-name.pipe.ts | 13 -
ui/v1/src/app/shared/file-size.pipe.ts | 29 -
.../gallery-card/gallery-card.component.css | 0
.../gallery-card/gallery-card.component.html | 9 -
.../gallery-card/gallery-card.component.ts | 28 -
.../gallery-preview.component.css | 0
.../gallery-preview.component.html | 11 -
.../gallery-preview.component.ts | 98 -
.../shared/jwplayer/jwplayer.component.css | 0
.../shared/jwplayer/jwplayer.component.html | 4 -
.../app/shared/jwplayer/jwplayer.component.ts | 139 -
.../list-filter/list-filter.component.html | 121 -
.../list-filter/list-filter.component.ts | 105 -
ui/v1/src/app/shared/list/list.component.css | 0
ui/v1/src/app/shared/list/list.component.html | 85 -
ui/v1/src/app/shared/list/list.component.ts | 95 -
ui/v1/src/app/shared/models/gallery.model.ts | 5 -
.../src/app/shared/models/list-state.model.ts | 426 -
.../performer-card.component.css | 0
.../performer-card.component.html | 18 -
.../performer-card.component.ts | 21 -
.../performer-list-item.component.html | 32 -
.../performer-list-item.component.scss | 0
.../performer-list-item.component.ts | 44 -
.../scene-card/scene-card.component.css | 0
.../scene-card/scene-card.component.html | 89 -
.../shared/scene-card/scene-card.component.ts | 58 -
.../scene-list-item.component.css | 0
.../scene-list-item.component.html | 36 -
.../scene-list-item.component.ts | 32 -
.../scene-marker-wall-item.component.html | 38 -
.../scene-marker-wall-item.component.ts | 25 -
.../scene-wall-item.component.html | 13 -
.../scene-wall-item.component.ts | 37 -
ui/v1/src/app/shared/seconds.pipe.ts | 12 -
ui/v1/src/app/shared/shared.module.ts | 105 -
ui/v1/src/app/shared/shuffle.pipe.ts | 30 -
.../studio-card/studio-card.component.css | 0
.../studio-card/studio-card.component.html | 5 -
.../studio-card/studio-card.component.ts | 27 -
.../sui-pagination.component.css | 0
.../sui-pagination.component.html | 19 -
.../sui-pagination.component.ts | 39 -
ui/v1/src/app/shared/truncate.pipe.ts | 12 -
ui/v1/src/app/shared/visible.directive.ts | 57 -
.../studio-detail.component.html | 51 -
.../studio-detail.component.scss | 0
.../studio-detail/studio-detail.component.ts | 48 -
.../studio-form/studio-form.component.html | 38 -
.../studio-form/studio-form.component.ts | 89 -
.../studio-list/studio-list.component.html | 7 -
.../studio-list/studio-list.component.ts | 22 -
.../src/app/studios/studios-routing.module.ts | 25 -
ui/v1/src/app/studios/studios.module.ts | 27 -
ui/v1/src/app/studios/studios.service.ts | 11 -
.../app/studios/studios/studios.component.ts | 13 -
.../tags/tag-detail/tag-detail.component.ts | 47 -
.../app/tags/tag-form/tag-form.component.html | 13 -
.../app/tags/tag-form/tag-form.component.scss | 0
.../app/tags/tag-form/tag-form.component.ts | 71 -
.../app/tags/tag-list/tag-list.component.html | 35 -
.../app/tags/tag-list/tag-list.component.scss | 0
.../app/tags/tag-list/tag-list.component.ts | 44 -
ui/v1/src/app/tags/tags-routing.module.ts | 25 -
ui/v1/src/app/tags/tags.module.ts | 22 -
ui/v1/src/app/tags/tags/tags.component.ts | 13 -
ui/v1/src/assets/.gitkeep | 0
ui/v1/src/assets/semantic.min.css | 372 -
.../default/assets/fonts/brand-icons.eot | Bin 98640 -> 0 bytes
.../default/assets/fonts/brand-icons.svg | 1008 ---
.../default/assets/fonts/brand-icons.ttf | Bin 98404 -> 0 bytes
.../default/assets/fonts/brand-icons.woff | Bin 63728 -> 0 bytes
.../default/assets/fonts/brand-icons.woff2 | Bin 54488 -> 0 bytes
.../themes/default/assets/fonts/icons.eot | Bin 106004 -> 0 bytes
.../themes/default/assets/fonts/icons.otf | Bin 93888 -> 0 bytes
.../themes/default/assets/fonts/icons.svg | 1518 ----
.../themes/default/assets/fonts/icons.ttf | Bin 105784 -> 0 bytes
.../themes/default/assets/fonts/icons.woff | Bin 50524 -> 0 bytes
.../themes/default/assets/fonts/icons.woff2 | Bin 40148 -> 0 bytes
.../default/assets/fonts/outline-icons.eot | Bin 31156 -> 0 bytes
.../default/assets/fonts/outline-icons.svg | 366 -
.../default/assets/fonts/outline-icons.ttf | Bin 30928 -> 0 bytes
.../default/assets/fonts/outline-icons.woff | Bin 14712 -> 0 bytes
.../default/assets/fonts/outline-icons.woff2 | Bin 12240 -> 0 bytes
.../themes/default/assets/images/flags.png | Bin 28123 -> 0 bytes
ui/v1/src/browserslist | 9 -
ui/v1/src/environments/environment.prod.ts | 3 -
ui/v1/src/environments/environment.ts | 15 -
ui/v1/src/favicon.ico | Bin 3134 -> 0 bytes
ui/v1/src/index.html | 18 -
ui/v1/src/main.ts | 12 -
ui/v1/src/polyfills.ts | 80 -
ui/v1/src/styles.scss | 432 -
ui/v1/src/tsconfig.app.json | 12 -
ui/v1/src/tslint.json | 18 -
ui/v1/tsconfig.json | 22 -
ui/v1/tslint.json | 130 -
ui/v1/yarn.lock | 7833 -----------------
167 files changed, 19999 deletions(-)
delete mode 100644 ui/v1/LICENSE
delete mode 100644 ui/v1/README.md
delete mode 100644 ui/v1/angular.json
delete mode 100644 ui/v1/codegen.yml
delete mode 100644 ui/v1/package.json
delete mode 100644 ui/v1/src/app/app-routing.module.ts
delete mode 100644 ui/v1/src/app/app.component.ts
delete mode 100644 ui/v1/src/app/app.module.ts
delete mode 100644 ui/v1/src/app/core/core.module.ts
delete mode 100644 ui/v1/src/app/core/dashboard/dashboard.component.css
delete mode 100644 ui/v1/src/app/core/dashboard/dashboard.component.html
delete mode 100644 ui/v1/src/app/core/dashboard/dashboard.component.ts
delete mode 100644 ui/v1/src/app/core/graphql-generated.ts
delete mode 100644 ui/v1/src/app/core/navigation-bar/navigation-bar.component.css
delete mode 100644 ui/v1/src/app/core/navigation-bar/navigation-bar.component.html
delete mode 100644 ui/v1/src/app/core/navigation-bar/navigation-bar.component.ts
delete mode 100644 ui/v1/src/app/core/page-not-found/page-not-found.component.css
delete mode 100644 ui/v1/src/app/core/page-not-found/page-not-found.component.html
delete mode 100644 ui/v1/src/app/core/page-not-found/page-not-found.component.ts
delete mode 100644 ui/v1/src/app/core/stash.service.ts
delete mode 100644 ui/v1/src/app/galleries/galleries-routing.module.ts
delete mode 100644 ui/v1/src/app/galleries/galleries.module.ts
delete mode 100644 ui/v1/src/app/galleries/galleries.service.ts
delete mode 100644 ui/v1/src/app/galleries/galleries/galleries.component.ts
delete mode 100644 ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.css
delete mode 100644 ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.html
delete mode 100644 ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.ts
delete mode 100644 ui/v1/src/app/galleries/gallery-list/gallery-list.component.html
delete mode 100644 ui/v1/src/app/galleries/gallery-list/gallery-list.component.ts
delete mode 100644 ui/v1/src/app/performers/performer-detail/performer-detail.component.css
delete mode 100644 ui/v1/src/app/performers/performer-detail/performer-detail.component.html
delete mode 100644 ui/v1/src/app/performers/performer-detail/performer-detail.component.ts
delete mode 100644 ui/v1/src/app/performers/performer-form/performer-form.component.css
delete mode 100644 ui/v1/src/app/performers/performer-form/performer-form.component.html
delete mode 100644 ui/v1/src/app/performers/performer-form/performer-form.component.ts
delete mode 100644 ui/v1/src/app/performers/performer-list/performer-list.component.html
delete mode 100644 ui/v1/src/app/performers/performer-list/performer-list.component.ts
delete mode 100644 ui/v1/src/app/performers/performers-routing.module.ts
delete mode 100644 ui/v1/src/app/performers/performers.module.ts
delete mode 100644 ui/v1/src/app/performers/performers.service.ts
delete mode 100644 ui/v1/src/app/performers/performers/performers.component.ts
delete mode 100644 ui/v1/src/app/scenes/marker-list/marker-list.component.ts
delete mode 100644 ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.css
delete mode 100644 ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.html
delete mode 100644 ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.ts
delete mode 100644 ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.css
delete mode 100644 ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.html
delete mode 100644 ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.ts
delete mode 100644 ui/v1/src/app/scenes/scene-detail/scene-detail.component.css
delete mode 100644 ui/v1/src/app/scenes/scene-detail/scene-detail.component.html
delete mode 100644 ui/v1/src/app/scenes/scene-detail/scene-detail.component.ts
delete mode 100644 ui/v1/src/app/scenes/scene-form/scene-form.component.css
delete mode 100644 ui/v1/src/app/scenes/scene-form/scene-form.component.html
delete mode 100644 ui/v1/src/app/scenes/scene-form/scene-form.component.ts
delete mode 100644 ui/v1/src/app/scenes/scene-list/scene-list.component.ts
delete mode 100644 ui/v1/src/app/scenes/scene-wall/scene-wall.component.css
delete mode 100644 ui/v1/src/app/scenes/scene-wall/scene-wall.component.html
delete mode 100644 ui/v1/src/app/scenes/scene-wall/scene-wall.component.ts
delete mode 100644 ui/v1/src/app/scenes/scenes-routing.module.ts
delete mode 100644 ui/v1/src/app/scenes/scenes.module.ts
delete mode 100644 ui/v1/src/app/scenes/scenes.service.ts
delete mode 100644 ui/v1/src/app/scenes/scenes/scenes.component.ts
delete mode 100644 ui/v1/src/app/settings/settings-routing.module.ts
delete mode 100644 ui/v1/src/app/settings/settings.module.ts
delete mode 100644 ui/v1/src/app/settings/settings/settings.component.html
delete mode 100644 ui/v1/src/app/settings/settings/settings.component.ts
delete mode 100644 ui/v1/src/app/shared/age.pipe.ts
delete mode 100644 ui/v1/src/app/shared/base-wall-item/base-wall-item.component.ts
delete mode 100644 ui/v1/src/app/shared/capitalize.pipe.ts
delete mode 100644 ui/v1/src/app/shared/file-name.pipe.ts
delete mode 100644 ui/v1/src/app/shared/file-size.pipe.ts
delete mode 100644 ui/v1/src/app/shared/gallery-card/gallery-card.component.css
delete mode 100644 ui/v1/src/app/shared/gallery-card/gallery-card.component.html
delete mode 100644 ui/v1/src/app/shared/gallery-card/gallery-card.component.ts
delete mode 100644 ui/v1/src/app/shared/gallery-preview/gallery-preview.component.css
delete mode 100644 ui/v1/src/app/shared/gallery-preview/gallery-preview.component.html
delete mode 100644 ui/v1/src/app/shared/gallery-preview/gallery-preview.component.ts
delete mode 100644 ui/v1/src/app/shared/jwplayer/jwplayer.component.css
delete mode 100644 ui/v1/src/app/shared/jwplayer/jwplayer.component.html
delete mode 100644 ui/v1/src/app/shared/jwplayer/jwplayer.component.ts
delete mode 100644 ui/v1/src/app/shared/list-filter/list-filter.component.html
delete mode 100644 ui/v1/src/app/shared/list-filter/list-filter.component.ts
delete mode 100644 ui/v1/src/app/shared/list/list.component.css
delete mode 100644 ui/v1/src/app/shared/list/list.component.html
delete mode 100644 ui/v1/src/app/shared/list/list.component.ts
delete mode 100644 ui/v1/src/app/shared/models/gallery.model.ts
delete mode 100644 ui/v1/src/app/shared/models/list-state.model.ts
delete mode 100644 ui/v1/src/app/shared/performer-card/performer-card.component.css
delete mode 100644 ui/v1/src/app/shared/performer-card/performer-card.component.html
delete mode 100644 ui/v1/src/app/shared/performer-card/performer-card.component.ts
delete mode 100644 ui/v1/src/app/shared/performer-list-item/performer-list-item.component.html
delete mode 100644 ui/v1/src/app/shared/performer-list-item/performer-list-item.component.scss
delete mode 100644 ui/v1/src/app/shared/performer-list-item/performer-list-item.component.ts
delete mode 100644 ui/v1/src/app/shared/scene-card/scene-card.component.css
delete mode 100644 ui/v1/src/app/shared/scene-card/scene-card.component.html
delete mode 100644 ui/v1/src/app/shared/scene-card/scene-card.component.ts
delete mode 100644 ui/v1/src/app/shared/scene-list-item/scene-list-item.component.css
delete mode 100644 ui/v1/src/app/shared/scene-list-item/scene-list-item.component.html
delete mode 100644 ui/v1/src/app/shared/scene-list-item/scene-list-item.component.ts
delete mode 100644 ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.html
delete mode 100644 ui/v1/src/app/shared/scene-marker-wall-item/scene-marker-wall-item.component.ts
delete mode 100644 ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.html
delete mode 100644 ui/v1/src/app/shared/scene-wall-item/scene-wall-item.component.ts
delete mode 100644 ui/v1/src/app/shared/seconds.pipe.ts
delete mode 100644 ui/v1/src/app/shared/shared.module.ts
delete mode 100644 ui/v1/src/app/shared/shuffle.pipe.ts
delete mode 100644 ui/v1/src/app/shared/studio-card/studio-card.component.css
delete mode 100644 ui/v1/src/app/shared/studio-card/studio-card.component.html
delete mode 100644 ui/v1/src/app/shared/studio-card/studio-card.component.ts
delete mode 100644 ui/v1/src/app/shared/sui-pagination/sui-pagination.component.css
delete mode 100644 ui/v1/src/app/shared/sui-pagination/sui-pagination.component.html
delete mode 100644 ui/v1/src/app/shared/sui-pagination/sui-pagination.component.ts
delete mode 100644 ui/v1/src/app/shared/truncate.pipe.ts
delete mode 100644 ui/v1/src/app/shared/visible.directive.ts
delete mode 100644 ui/v1/src/app/studios/studio-detail/studio-detail.component.html
delete mode 100644 ui/v1/src/app/studios/studio-detail/studio-detail.component.scss
delete mode 100644 ui/v1/src/app/studios/studio-detail/studio-detail.component.ts
delete mode 100644 ui/v1/src/app/studios/studio-form/studio-form.component.html
delete mode 100644 ui/v1/src/app/studios/studio-form/studio-form.component.ts
delete mode 100644 ui/v1/src/app/studios/studio-list/studio-list.component.html
delete mode 100644 ui/v1/src/app/studios/studio-list/studio-list.component.ts
delete mode 100644 ui/v1/src/app/studios/studios-routing.module.ts
delete mode 100644 ui/v1/src/app/studios/studios.module.ts
delete mode 100644 ui/v1/src/app/studios/studios.service.ts
delete mode 100644 ui/v1/src/app/studios/studios/studios.component.ts
delete mode 100644 ui/v1/src/app/tags/tag-detail/tag-detail.component.ts
delete mode 100644 ui/v1/src/app/tags/tag-form/tag-form.component.html
delete mode 100644 ui/v1/src/app/tags/tag-form/tag-form.component.scss
delete mode 100644 ui/v1/src/app/tags/tag-form/tag-form.component.ts
delete mode 100644 ui/v1/src/app/tags/tag-list/tag-list.component.html
delete mode 100644 ui/v1/src/app/tags/tag-list/tag-list.component.scss
delete mode 100644 ui/v1/src/app/tags/tag-list/tag-list.component.ts
delete mode 100644 ui/v1/src/app/tags/tags-routing.module.ts
delete mode 100644 ui/v1/src/app/tags/tags.module.ts
delete mode 100644 ui/v1/src/app/tags/tags/tags.component.ts
delete mode 100644 ui/v1/src/assets/.gitkeep
delete mode 100755 ui/v1/src/assets/semantic.min.css
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.eot
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.svg
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.ttf
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.woff
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/brand-icons.woff2
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.eot
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.otf
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.svg
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.ttf
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.woff
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/icons.woff2
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.eot
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.svg
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.ttf
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.woff
delete mode 100755 ui/v1/src/assets/themes/default/assets/fonts/outline-icons.woff2
delete mode 100755 ui/v1/src/assets/themes/default/assets/images/flags.png
delete mode 100644 ui/v1/src/browserslist
delete mode 100644 ui/v1/src/environments/environment.prod.ts
delete mode 100644 ui/v1/src/environments/environment.ts
delete mode 100644 ui/v1/src/favicon.ico
delete mode 100644 ui/v1/src/index.html
delete mode 100644 ui/v1/src/main.ts
delete mode 100644 ui/v1/src/polyfills.ts
delete mode 100644 ui/v1/src/styles.scss
delete mode 100644 ui/v1/src/tsconfig.app.json
delete mode 100644 ui/v1/src/tslint.json
delete mode 100644 ui/v1/tsconfig.json
delete mode 100644 ui/v1/tslint.json
delete mode 100644 ui/v1/yarn.lock
diff --git a/ui/v1/LICENSE b/ui/v1/LICENSE
deleted file mode 100644
index 187095e9b..000000000
--- a/ui/v1/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2018 StashApp
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/ui/v1/README.md b/ui/v1/README.md
deleted file mode 100644
index 91388cc6b..000000000
--- a/ui/v1/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Stash Frontend V1
-
-## Dev
-
-* `yarn install` to install the modules
-* `yarn start` to start the dev UI server on port 4200
-* `yarn schema` to regenerate graphql code
-* `ng build --prod` to build the dist directory
diff --git a/ui/v1/angular.json b/ui/v1/angular.json
deleted file mode 100644
index 9e0d37925..000000000
--- a/ui/v1/angular.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
- "version": 1,
- "newProjectRoot": "projects",
- "projects": {
- "stash-frontend": {
- "root": "",
- "sourceRoot": "src",
- "projectType": "application",
- "prefix": "app",
- "schematics": {
- "@schematics/angular:component": {
- "styleext": "scss",
- "spec": false
- },
- "@schematics/angular:class": {
- "spec": false
- },
- "@schematics/angular:directive": {
- "spec": false
- },
- "@schematics/angular:guard": {
- "spec": false
- },
- "@schematics/angular:module": {
- "spec": false
- },
- "@schematics/angular:pipe": {
- "spec": false
- },
- "@schematics/angular:service": {
- "spec": false
- }
- },
- "architect": {
- "build": {
- "builder": "@angular-devkit/build-angular:browser",
- "options": {
- "outputPath": "dist/stash-frontend",
- "index": "src/index.html",
- "main": "src/main.ts",
- "polyfills": "src/polyfills.ts",
- "tsConfig": "src/tsconfig.app.json",
- "assets": [
- "src/favicon.ico",
- "src/assets"
- ],
- "styles": [
- "src/styles.scss"
- ],
- "scripts": []
- },
- "configurations": {
- "production": {
- "fileReplacements": [
- {
- "replace": "src/environments/environment.ts",
- "with": "src/environments/environment.prod.ts"
- }
- ],
- "optimization": true,
- "outputHashing": "all",
- "sourceMap": false,
- "extractCss": true,
- "namedChunks": false,
- "aot": true,
- "extractLicenses": true,
- "vendorChunk": false,
- "buildOptimizer": true
- }
- }
- },
- "serve": {
- "builder": "@angular-devkit/build-angular:dev-server",
- "options": {
- "browserTarget": "stash-frontend:build"
- },
- "configurations": {
- "production": {
- "browserTarget": "stash-frontend:build:production"
- }
- }
- },
- "extract-i18n": {
- "builder": "@angular-devkit/build-angular:extract-i18n",
- "options": {
- "browserTarget": "stash-frontend:build"
- }
- },
- "lint": {
- "builder": "@angular-devkit/build-angular:tslint",
- "options": {
- "tsConfig": [
- "src/tsconfig.app.json"
- ],
- "exclude": [
- "**/node_modules/**"
- ]
- }
- }
- }
- }
- },
- "defaultProject": "stash-frontend"
-}
\ No newline at end of file
diff --git a/ui/v1/codegen.yml b/ui/v1/codegen.yml
deleted file mode 100644
index 13d6227aa..000000000
--- a/ui/v1/codegen.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-schema: "../../graphql/schema/**/*.graphql"
-overwrite: true
-generates:
- ./../../schema/schema.json:
- - introspection
- ./src/app/core/graphql-generated.ts:
- documents: ./../../graphql/documents/**/*.graphql
- plugins:
- - add: "/* tslint:disable */"
- - time
- - typescript-common
- - typescript-client
- - typescript-apollo-angular
\ No newline at end of file
diff --git a/ui/v1/package.json b/ui/v1/package.json
deleted file mode 100644
index b1b7e8c61..000000000
--- a/ui/v1/package.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "name": "stash-frontend",
- "version": "0.0.0",
- "license": "MIT",
- "scripts": {
- "ng": "ng",
- "start": "ng serve",
- "build": "ng build",
- "test": "ng test",
- "lint": "ng lint",
- "e2e": "ng e2e",
- "dev:server": "ng serve --disableHostCheck --host=0.0.0.0 --port 7001 --ssl true --ssl-cert '../../certs/server.crt' --ssl-key '../../certs/server.key'",
- "schema": "gql-gen"
- },
- "private": true,
- "dependencies": {
- "@angular/animations": "7.2.1",
- "@angular/common": "7.2.1",
- "@angular/compiler": "7.2.1",
- "@angular/core": "7.2.1",
- "@angular/forms": "7.2.1",
- "@angular/http": "7.2.1",
- "@angular/platform-browser": "7.2.1",
- "@angular/platform-browser-dynamic": "7.2.1",
- "@angular/router": "7.2.1",
- "apollo-angular": "1.5.0",
- "apollo-angular-link-http": "1.4.0",
- "apollo-cache-inmemory": "1.4.2",
- "apollo-client": "2.4.12",
- "apollo-link": "1.2.6",
- "apollo-link-error": "1.1.5",
- "apollo-link-ws": "1.0.14",
- "core-js": "2.6.2",
- "graphql": "14.1.1",
- "graphql-code-generator": "0.15.2",
- "graphql-codegen-add": "0.15.2",
- "graphql-codegen-introspection": "0.15.2",
- "graphql-codegen-time": "0.15.2",
- "graphql-codegen-typescript-apollo-angular": "0.15.2",
- "graphql-codegen-typescript-client": "0.15.2",
- "graphql-codegen-typescript-common": "0.15.2",
- "graphql-codegen-typescript-resolvers": "0.15.2",
- "graphql-codegen-typescript-server": "0.15.2",
- "graphql-tag": "2.10.1",
- "ng-lazyload-image": "5.0.0",
- "ng2-semantic-ui": "0.9.7",
- "ngx-clipboard": "11.1.9",
- "ngx-pagination": "3.2.1",
- "rxjs": "6.3.3",
- "rxjs-compat": "6.3.3",
- "subscriptions-transport-ws": "0.9.15",
- "zone.js": "0.8.28"
- },
- "devDependencies": {
- "@angular/cli": "7.2.2",
- "@angular/compiler-cli": "7.2.1",
- "@angular/language-service": "7.2.1",
- "@angular-devkit/build-angular": "0.12.2",
- "@types/node": "10.12.18",
- "@types/zen-observable": "0.8.0",
- "codelyzer": "4.5.0",
- "ts-node": "7.0.1",
- "tslint": "5.12.1",
- "typescript": "3.2.4"
- }
-}
\ No newline at end of file
diff --git a/ui/v1/src/app/app-routing.module.ts b/ui/v1/src/app/app-routing.module.ts
deleted file mode 100644
index a9f22e08c..000000000
--- a/ui/v1/src/app/app-routing.module.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { NgModule } from '@angular/core';
-import { RouterModule, Routes } from '@angular/router';
-
-import { PageNotFoundComponent } from './core/page-not-found/page-not-found.component';
-import { DashboardComponent } from './core/dashboard/dashboard.component';
-
-const appRoutes: Routes = [
- { path: '', component: DashboardComponent },
- { path: 'scenes', loadChildren: './scenes/scenes.module#ScenesModule' },
- { path: 'galleries', loadChildren: './galleries/galleries.module#GalleriesModule' },
- { path: 'performers', loadChildren: './performers/performers.module#PerformersModule' },
- { path: 'studios', loadChildren: './studios/studios.module#StudiosModule' },
- { path: 'tags', loadChildren: './tags/tags.module#TagsModule' },
- { path: 'settings', loadChildren: './settings/settings.module#SettingsModule' },
- { path: '**', component: PageNotFoundComponent }
-];
-
-@NgModule({
- imports: [
- RouterModule.forRoot(appRoutes)
- ],
- exports: [RouterModule],
- providers: []
-})
-export class AppRoutingModule {}
diff --git a/ui/v1/src/app/app.component.ts b/ui/v1/src/app/app.component.ts
deleted file mode 100644
index ec821cf81..000000000
--- a/ui/v1/src/app/app.component.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'app-root',
- template: `
-
-
-
-
- `
-})
-export class AppComponent {}
diff --git a/ui/v1/src/app/app.module.ts b/ui/v1/src/app/app.module.ts
deleted file mode 100644
index 5e779e3c6..000000000
--- a/ui/v1/src/app/app.module.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { NgModule } from '@angular/core';
-import { BrowserModule } from '@angular/platform-browser';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import { Router } from '@angular/router';
-
-// App
-import { AppComponent } from './app.component';
-
-// Modules
-import { CoreModule } from './core/core.module';
-import { AppRoutingModule } from './app-routing.module';
-
-@NgModule({
- imports: [
- BrowserModule,
- BrowserAnimationsModule,
- // Only include non-lazy loaded modules here
- CoreModule,
- // Keep app routing last so that other module routes install first
- AppRoutingModule
- ],
- declarations: [AppComponent],
- bootstrap: [AppComponent]
-})
-export class AppModule {
- // Diagnostic only: inspect router configuration
- constructor(router: Router) {
- console.log('Routes: ', JSON.stringify(router.config, undefined, 2));
- }
-}
diff --git a/ui/v1/src/app/core/core.module.ts b/ui/v1/src/app/core/core.module.ts
deleted file mode 100644
index ab4f513dd..000000000
--- a/ui/v1/src/app/core/core.module.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { NgModule, Optional, SkipSelf } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { RouterModule } from '@angular/router';
-import { FormsModule, ReactiveFormsModule } from '@angular/forms';
-import { HttpClientModule } from '@angular/common/http';
-import { ApolloModule } from 'apollo-angular';
-import { HttpLinkModule } from 'apollo-angular-link-http';
-
-import { NavigationBarComponent } from './navigation-bar/navigation-bar.component';
-import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
-import { DashboardComponent } from './dashboard/dashboard.component';
-
-import { StashService } from './stash.service';
-
-@NgModule({
- imports: [
- CommonModule,
- RouterModule,
- HttpClientModule,
- FormsModule,
- ReactiveFormsModule,
- ApolloModule,
- HttpLinkModule
- ],
- declarations: [
- NavigationBarComponent,
- PageNotFoundComponent,
- DashboardComponent
- ],
- exports: [
- NavigationBarComponent,
- PageNotFoundComponent,
- DashboardComponent
- ],
- providers: [
- StashService
- ]
-})
-export class CoreModule {
- constructor (@Optional() @SkipSelf() parentModule: CoreModule) {
- if (parentModule) {
- throw new Error('CoreModule is already loaded. Import it in the AppModule only');
- }
- }
-}
diff --git a/ui/v1/src/app/core/dashboard/dashboard.component.css b/ui/v1/src/app/core/dashboard/dashboard.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/core/dashboard/dashboard.component.html b/ui/v1/src/app/core/dashboard/dashboard.component.html
deleted file mode 100644
index f2dd2bc81..000000000
--- a/ui/v1/src/app/core/dashboard/dashboard.component.html
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
- {{stats?.scene_count}}
-
-
- Scenes
-
-
-
-
- {{stats?.gallery_count}}
-
-
- Galleries
-
-
-
-
- {{stats?.performer_count}}
-
-
- Performers
-
-
-
-
- {{stats?.studio_count}}
-
-
- Studios
-
-
-
-
- {{stats?.tag_count}}
-
-
- Tags
-
-
-
-
-
-
diff --git a/ui/v1/src/app/core/dashboard/dashboard.component.ts b/ui/v1/src/app/core/dashboard/dashboard.component.ts
deleted file mode 100644
index 37aa454c8..000000000
--- a/ui/v1/src/app/core/dashboard/dashboard.component.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { StashService } from '../stash.service';
-
-@Component({
- selector: 'app-dashboard',
- templateUrl: './dashboard.component.html',
- styleUrls: ['./dashboard.component.css']
-})
-export class DashboardComponent implements OnInit {
- stats: any;
-
- constructor(private stashService: StashService) {}
-
- ngOnInit() {
- this.fetchStats();
- }
-
- async fetchStats() {
- const result = await this.stashService.stats().result();
- this.stats = result.data.stats;
- }
-
-}
diff --git a/ui/v1/src/app/core/graphql-generated.ts b/ui/v1/src/app/core/graphql-generated.ts
deleted file mode 100644
index e2e7c8d82..000000000
--- a/ui/v1/src/app/core/graphql-generated.ts
+++ /dev/null
@@ -1,2305 +0,0 @@
-/* tslint:disable */
-// Generated in 2019-02-09T01:48:09-08:00
-export type Maybe = T | null;
-
-export interface SceneFilterType {
- /** Filter by rating */
- rating?: Maybe;
- /** Filter by resolution */
- resolution?: Maybe;
- /** Filter to only include scenes which have markers. `true` or `false` */
- has_markers?: Maybe;
- /** Filter to only include scenes missing this property */
- is_missing?: Maybe;
- /** Filter to only include scenes with this studio */
- studio_id?: Maybe;
- /** Filter to only include scenes with these tags */
- tags?: Maybe;
- /** Filter to only include scenes with this performer */
- performer_id?: Maybe;
-}
-
-export interface FindFilterType {
- q?: Maybe;
-
- page?: Maybe;
-
- per_page?: Maybe;
-
- sort?: Maybe;
-
- direction?: Maybe;
-}
-
-export interface SceneMarkerFilterType {
- /** Filter to only include scene markers with this tag */
- tag_id?: Maybe;
- /** Filter to only include scene markers with these tags */
- tags?: Maybe;
- /** Filter to only include scene markers attached to a scene with these tags */
- scene_tags?: Maybe;
- /** Filter to only include scene markers with these performers */
- performers?: Maybe;
-}
-
-export interface PerformerFilterType {
- /** Filter by favorite */
- filter_favorites?: Maybe;
-}
-
-export interface SceneUpdateInput {
- clientMutationId?: Maybe;
-
- id: string;
-
- title?: Maybe;
-
- details?: Maybe;
-
- url?: Maybe;
-
- date?: Maybe;
-
- rating?: Maybe;
-
- studio_id?: Maybe;
-
- gallery_id?: Maybe;
-
- performer_ids?: Maybe;
-
- tag_ids?: Maybe;
-}
-
-export interface SceneMarkerCreateInput {
- title: string;
-
- seconds: number;
-
- scene_id: string;
-
- primary_tag_id: string;
-
- tag_ids?: Maybe;
-}
-
-export interface SceneMarkerUpdateInput {
- id: string;
-
- title: string;
-
- seconds: number;
-
- scene_id: string;
-
- primary_tag_id: string;
-
- tag_ids?: Maybe;
-}
-
-export interface PerformerCreateInput {
- name?: Maybe;
-
- url?: Maybe;
-
- birthdate?: Maybe;
-
- ethnicity?: Maybe;
-
- country?: Maybe;
-
- eye_color?: Maybe;
-
- height?: Maybe;
-
- measurements?: Maybe;
-
- fake_tits?: Maybe;
-
- career_length?: Maybe;
-
- tattoos?: Maybe;
-
- piercings?: Maybe;
-
- aliases?: Maybe;
-
- twitter?: Maybe;
-
- instagram?: Maybe;
-
- favorite?: Maybe;
- /** This should be base64 encoded */
- image: string;
-}
-
-export interface PerformerUpdateInput {
- id: string;
-
- name?: Maybe;
-
- url?: Maybe;
-
- birthdate?: Maybe;
-
- ethnicity?: Maybe;
-
- country?: Maybe;
-
- eye_color?: Maybe;
-
- height?: Maybe;
-
- measurements?: Maybe;
-
- fake_tits?: Maybe;
-
- career_length?: Maybe;
-
- tattoos?: Maybe;
-
- piercings?: Maybe;
-
- aliases?: Maybe;
-
- twitter?: Maybe;
-
- instagram?: Maybe;
-
- favorite?: Maybe;
- /** This should be base64 encoded */
- image?: Maybe;
-}
-
-export interface StudioCreateInput {
- name: string;
-
- url?: Maybe;
- /** This should be base64 encoded */
- image: string;
-}
-
-export interface StudioUpdateInput {
- id: string;
-
- name?: Maybe;
-
- url?: Maybe;
- /** This should be base64 encoded */
- image?: Maybe;
-}
-
-export interface TagCreateInput {
- name: string;
-}
-
-export interface TagUpdateInput {
- id: string;
-
- name: string;
-}
-
-export interface TagDestroyInput {
- id: string;
-}
-
-export enum ResolutionEnum {
- Low = "LOW",
- Standard = "STANDARD",
- StandardHd = "STANDARD_HD",
- FullHd = "FULL_HD",
- FourK = "FOUR_K"
-}
-
-export enum SortDirectionEnum {
- Asc = "ASC",
- Desc = "DESC"
-}
-
-// ====================================================
-// Documents
-// ====================================================
-
-export namespace FindScenes {
- export type Variables = {
- filter?: Maybe;
- scene_filter?: Maybe;
- scene_ids?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findScenes: FindScenes;
- };
-
- export type FindScenes = {
- __typename?: "FindScenesResultType";
-
- count: number;
-
- scenes: Scenes[];
- };
-
- export type Scenes = SlimSceneData.Fragment;
-}
-
-export namespace FindScene {
- export type Variables = {
- id: string;
- checksum?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findScene: Maybe;
-
- sceneMarkerTags: SceneMarkerTags[];
- };
-
- export type FindScene = SceneData.Fragment;
-
- export type SceneMarkerTags = {
- __typename?: "SceneMarkerTag";
-
- tag: Tag;
-
- scene_markers: SceneMarkers[];
- };
-
- export type Tag = {
- __typename?: "Tag";
-
- id: string;
-
- name: string;
- };
-
- export type SceneMarkers = SceneMarkerData.Fragment;
-}
-
-export namespace FindSceneForEditing {
- export type Variables = {
- id?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findScene: Maybe;
-
- allPerformers: AllPerformers[];
-
- allTags: AllTags[];
-
- allStudios: AllStudios[];
-
- validGalleriesForScene: ValidGalleriesForScene[];
- };
-
- export type FindScene = SceneData.Fragment;
-
- export type AllPerformers = {
- __typename?: "Performer";
-
- id: string;
-
- name: Maybe;
-
- birthdate: Maybe;
-
- image_path: Maybe;
- };
-
- export type AllTags = {
- __typename?: "Tag";
-
- id: string;
-
- name: string;
- };
-
- export type AllStudios = {
- __typename?: "Studio";
-
- id: string;
-
- name: string;
- };
-
- export type ValidGalleriesForScene = {
- __typename?: "Gallery";
-
- id: string;
-
- path: string;
- };
-}
-
-export namespace FindSceneMarkers {
- export type Variables = {
- filter?: Maybe;
- scene_marker_filter?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findSceneMarkers: FindSceneMarkers;
- };
-
- export type FindSceneMarkers = {
- __typename?: "FindSceneMarkersResultType";
-
- count: number;
-
- scene_markers: SceneMarkers[];
- };
-
- export type SceneMarkers = SceneMarkerData.Fragment;
-}
-
-export namespace SceneWall {
- export type Variables = {
- q?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- sceneWall: SceneWall[];
- };
-
- export type SceneWall = SceneData.Fragment;
-}
-
-export namespace MarkerWall {
- export type Variables = {
- q?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- markerWall: MarkerWall[];
- };
-
- export type MarkerWall = SceneMarkerData.Fragment;
-}
-
-export namespace FindPerformers {
- export type Variables = {
- filter?: Maybe;
- performer_filter?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findPerformers: FindPerformers;
- };
-
- export type FindPerformers = {
- __typename?: "FindPerformersResultType";
-
- count: number;
-
- performers: Performers[];
- };
-
- export type Performers = PerformerData.Fragment;
-}
-
-export namespace FindPerformer {
- export type Variables = {
- id: string;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findPerformer: Maybe;
- };
-
- export type FindPerformer = PerformerData.Fragment;
-}
-
-export namespace FindStudios {
- export type Variables = {
- filter?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findStudios: FindStudios;
- };
-
- export type FindStudios = {
- __typename?: "FindStudiosResultType";
-
- count: number;
-
- studios: Studios[];
- };
-
- export type Studios = StudioData.Fragment;
-}
-
-export namespace FindStudio {
- export type Variables = {
- id: string;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findStudio: Maybe;
- };
-
- export type FindStudio = StudioData.Fragment;
-}
-
-export namespace FindGalleries {
- export type Variables = {
- filter?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findGalleries: FindGalleries;
- };
-
- export type FindGalleries = {
- __typename?: "FindGalleriesResultType";
-
- count: number;
-
- galleries: Galleries[];
- };
-
- export type Galleries = GalleryData.Fragment;
-}
-
-export namespace FindGallery {
- export type Variables = {
- id: string;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findGallery: Maybe;
- };
-
- export type FindGallery = GalleryData.Fragment;
-}
-
-export namespace FindTag {
- export type Variables = {
- id: string;
- };
-
- export type Query = {
- __typename?: "Query";
-
- findTag: Maybe;
- };
-
- export type FindTag = TagData.Fragment;
-}
-
-export namespace MarkerStrings {
- export type Variables = {
- q?: Maybe;
- sort?: Maybe;
- };
-
- export type Query = {
- __typename?: "Query";
-
- markerStrings: (Maybe)[];
- };
-
- export type MarkerStrings = {
- __typename?: "MarkerStringsResultType";
-
- id: string;
-
- count: number;
-
- title: string;
- };
-}
-
-export namespace ScrapeFreeones {
- export type Variables = {
- performer_name: string;
- };
-
- export type Query = {
- __typename?: "Query";
-
- scrapeFreeones: Maybe;
- };
-
- export type ScrapeFreeones = {
- __typename?: "ScrapedPerformer";
-
- name: Maybe;
-
- url: Maybe;
-
- twitter: Maybe;
-
- instagram: Maybe;
-
- birthdate: Maybe;
-
- ethnicity: Maybe;
-
- country: Maybe;
-
- eye_color: Maybe;
-
- height: Maybe;
-
- measurements: Maybe;
-
- fake_tits: Maybe;
-
- career_length: Maybe;
-
- tattoos: Maybe;
-
- piercings: Maybe;
-
- aliases: Maybe;
- };
-}
-
-export namespace ScrapeFreeonesPerformers {
- export type Variables = {
- q: string;
- };
-
- export type Query = {
- __typename?: "Query";
-
- scrapeFreeonesPerformerList: string[];
- };
-}
-
-export namespace AllTags {
- export type Variables = {};
-
- export type Query = {
- __typename?: "Query";
-
- allTags: AllTags[];
- };
-
- export type AllTags = TagData.Fragment;
-}
-
-export namespace AllPerformersForFilter {
- export type Variables = {};
-
- export type Query = {
- __typename?: "Query";
-
- allPerformers: AllPerformers[];
- };
-
- export type AllPerformers = SlimPerformerData.Fragment;
-}
-
-export namespace AllTagsForFilter {
- export type Variables = {};
-
- export type Query = {
- __typename?: "Query";
-
- allTags: AllTags[];
- };
-
- export type AllTags = {
- __typename?: "Tag";
-
- id: string;
-
- name: string;
- };
-}
-
-export namespace Stats {
- export type Variables = {};
-
- export type Query = {
- __typename?: "Query";
-
- stats: Stats;
- };
-
- export type Stats = {
- __typename?: "StatsResultType";
-
- scene_count: number;
-
- gallery_count: number;
-
- performer_count: number;
-
- studio_count: number;
-
- tag_count: number;
- };
-}
-
-export namespace SceneUpdate {
- export type Variables = {
- id: string;
- title?: Maybe;
- details?: Maybe;
- url?: Maybe;
- date?: Maybe;
- rating?: Maybe;
- studio_id?: Maybe;
- gallery_id?: Maybe;
- performer_ids?: Maybe;
- tag_ids?: Maybe;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- sceneUpdate: Maybe;
- };
-
- export type SceneUpdate = SceneData.Fragment;
-}
-
-export namespace PerformerCreate {
- export type Variables = {
- name?: Maybe;
- url?: Maybe;
- birthdate?: Maybe;
- ethnicity?: Maybe;
- country?: Maybe;
- eye_color?: Maybe;
- height?: Maybe;
- measurements?: Maybe;
- fake_tits?: Maybe;
- career_length?: Maybe;
- tattoos?: Maybe;
- piercings?: Maybe;
- aliases?: Maybe;
- twitter?: Maybe;
- instagram?: Maybe;
- favorite?: Maybe;
- image: string;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- performerCreate: Maybe;
- };
-
- export type PerformerCreate = PerformerData.Fragment;
-}
-
-export namespace PerformerUpdate {
- export type Variables = {
- id: string;
- name?: Maybe;
- url?: Maybe;
- birthdate?: Maybe;
- ethnicity?: Maybe;
- country?: Maybe;
- eye_color?: Maybe;
- height?: Maybe;
- measurements?: Maybe;
- fake_tits?: Maybe;
- career_length?: Maybe;
- tattoos?: Maybe;
- piercings?: Maybe;
- aliases?: Maybe;
- twitter?: Maybe;
- instagram?: Maybe;
- favorite?: Maybe;
- image?: Maybe;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- performerUpdate: Maybe;
- };
-
- export type PerformerUpdate = PerformerData.Fragment;
-}
-
-export namespace StudioCreate {
- export type Variables = {
- name: string;
- url?: Maybe;
- image: string;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- studioCreate: Maybe;
- };
-
- export type StudioCreate = StudioData.Fragment;
-}
-
-export namespace StudioUpdate {
- export type Variables = {
- id: string;
- name?: Maybe;
- url?: Maybe;
- image?: Maybe;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- studioUpdate: Maybe;
- };
-
- export type StudioUpdate = StudioData.Fragment;
-}
-
-export namespace TagCreate {
- export type Variables = {
- name: string;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- tagCreate: Maybe;
- };
-
- export type TagCreate = TagData.Fragment;
-}
-
-export namespace TagDestroy {
- export type Variables = {
- id: string;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- tagDestroy: boolean;
- };
-}
-
-export namespace TagUpdate {
- export type Variables = {
- id: string;
- name: string;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- tagUpdate: Maybe;
- };
-
- export type TagUpdate = TagData.Fragment;
-}
-
-export namespace SceneMarkerCreate {
- export type Variables = {
- title: string;
- seconds: number;
- scene_id: string;
- primary_tag_id: string;
- tag_ids?: Maybe;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- sceneMarkerCreate: Maybe;
- };
-
- export type SceneMarkerCreate = SceneMarkerData.Fragment;
-}
-
-export namespace SceneMarkerUpdate {
- export type Variables = {
- id: string;
- title: string;
- seconds: number;
- scene_id: string;
- primary_tag_id: string;
- tag_ids?: Maybe;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- sceneMarkerUpdate: Maybe;
- };
-
- export type SceneMarkerUpdate = SceneMarkerData.Fragment;
-}
-
-export namespace SceneMarkerDestroy {
- export type Variables = {
- id: string;
- };
-
- export type Mutation = {
- __typename?: "Mutation";
-
- sceneMarkerDestroy: boolean;
- };
-}
-
-export namespace MetadataImport {
- export type Variables = {};
-
- export type Query = {
- __typename?: "Query";
-
- metadataImport: string;
- };
-}
-
-export namespace MetadataExport {
- export type Variables = {};
-
- export type Query = {
- __typename?: "Query";
-
- metadataExport: string;
- };
-}
-
-export namespace MetadataScan {
- export type Variables = {};
-
- export type Query = {
- __typename?: "Query";
-
- metadataScan: string;
- };
-}
-
-export namespace MetadataGenerate {
- export type Variables = {};
-
- export type Query = {
- __typename?: "Query";
-
- metadataGenerate: string;
- };
-}
-
-export namespace MetadataClean {
- export type Variables = {};
-
- export type Query = {
- __typename?: "Query";
-
- metadataClean: string;
- };
-}
-
-export namespace MetadataUpdate {
- export type Variables = {};
-
- export type Subscription = {
- __typename?: "Subscription";
-
- metadataUpdate: string;
- };
-}
-
-export namespace GalleryData {
- export type Fragment = {
- __typename?: "Gallery";
-
- id: string;
-
- checksum: string;
-
- path: string;
-
- title: Maybe;
-
- files: Files[];
- };
-
- export type Files = {
- __typename?: "GalleryFilesType";
-
- index: number;
-
- name: Maybe;
-
- path: Maybe;
- };
-}
-
-export namespace SlimPerformerData {
- export type Fragment = {
- __typename?: "Performer";
-
- id: string;
-
- name: Maybe;
-
- image_path: Maybe;
- };
-}
-
-export namespace PerformerData {
- export type Fragment = {
- __typename?: "Performer";
-
- id: string;
-
- checksum: string;
-
- name: Maybe;
-
- url: Maybe;
-
- twitter: Maybe;
-
- instagram: Maybe;
-
- birthdate: Maybe;
-
- ethnicity: Maybe;
-
- country: Maybe;
-
- eye_color: Maybe;
-
- height: Maybe;
-
- measurements: Maybe;
-
- fake_tits: Maybe;
-
- career_length: Maybe;
-
- tattoos: Maybe;
-
- piercings: Maybe;
-
- aliases: Maybe;
-
- favorite: boolean;
-
- image_path: Maybe;
-
- scene_count: Maybe;
- };
-}
-
-export namespace SceneMarkerData {
- export type Fragment = {
- __typename?: "SceneMarker";
-
- id: string;
-
- title: string;
-
- seconds: number;
-
- stream: string;
-
- preview: string;
-
- scene: Scene;
-
- primary_tag: PrimaryTag;
-
- tags: Tags[];
- };
-
- export type Scene = {
- __typename?: "Scene";
-
- id: string;
- };
-
- export type PrimaryTag = {
- __typename?: "Tag";
-
- id: string;
-
- name: string;
- };
-
- export type Tags = {
- __typename?: "Tag";
-
- id: string;
-
- name: string;
- };
-}
-
-export namespace SlimSceneData {
- export type Fragment = {
- __typename?: "Scene";
-
- id: string;
-
- checksum: string;
-
- title: Maybe;
-
- details: Maybe;
-
- url: Maybe;
-
- date: Maybe;
-
- rating: Maybe;
-
- path: string;
-
- file: File;
-
- paths: Paths;
-
- scene_markers: SceneMarkers[];
-
- gallery: Maybe;
-
- studio: Maybe;
-
- tags: Tags[];
-
- performers: Performers[];
- };
-
- export type File = {
- __typename?: "SceneFileType";
-
- size: Maybe;
-
- duration: Maybe;
-
- video_codec: Maybe;
-
- audio_codec: Maybe;
-
- width: Maybe;
-
- height: Maybe;
-
- framerate: Maybe;
-
- bitrate: Maybe;
- };
-
- export type Paths = {
- __typename?: "ScenePathsType";
-
- screenshot: Maybe;
-
- preview: Maybe;
-
- stream: Maybe;
-
- webp: Maybe;
-
- vtt: Maybe;
-
- chapters_vtt: Maybe;
- };
-
- export type SceneMarkers = {
- __typename?: "SceneMarker";
-
- id: string;
-
- title: string;
-
- seconds: number;
- };
-
- export type Gallery = {
- __typename?: "Gallery";
-
- id: string;
-
- path: string;
-
- title: Maybe;
- };
-
- export type Studio = {
- __typename?: "Studio";
-
- id: string;
-
- name: string;
-
- image_path: Maybe;
- };
-
- export type Tags = {
- __typename?: "Tag";
-
- id: string;
-
- name: string;
- };
-
- export type Performers = {
- __typename?: "Performer";
-
- id: string;
-
- name: Maybe;
-
- favorite: boolean;
-
- image_path: Maybe;
- };
-}
-
-export namespace SceneData {
- export type Fragment = {
- __typename?: "Scene";
-
- id: string;
-
- checksum: string;
-
- title: Maybe;
-
- details: Maybe;
-
- url: Maybe;
-
- date: Maybe;
-
- rating: Maybe;
-
- path: string;
-
- file: File;
-
- paths: Paths;
-
- scene_markers: SceneMarkers[];
-
- is_streamable: boolean;
-
- gallery: Maybe;
-
- studio: Maybe;
-
- tags: Tags[];
-
- performers: Performers[];
- };
-
- export type File = {
- __typename?: "SceneFileType";
-
- size: Maybe;
-
- duration: Maybe;
-
- video_codec: Maybe;
-
- audio_codec: Maybe;
-
- width: Maybe;
-
- height: Maybe;
-
- framerate: Maybe;
-
- bitrate: Maybe;
- };
-
- export type Paths = {
- __typename?: "ScenePathsType";
-
- screenshot: Maybe;
-
- preview: Maybe;
-
- stream: Maybe;
-
- webp: Maybe;
-
- vtt: Maybe;
-
- chapters_vtt: Maybe;
- };
-
- export type SceneMarkers = SceneMarkerData.Fragment;
-
- export type Gallery = GalleryData.Fragment;
-
- export type Studio = StudioData.Fragment;
-
- export type Tags = TagData.Fragment;
-
- export type Performers = PerformerData.Fragment;
-}
-
-export namespace StudioData {
- export type Fragment = {
- __typename?: "Studio";
-
- id: string;
-
- checksum: string;
-
- name: string;
-
- url: Maybe;
-
- image_path: Maybe;
-
- scene_count: Maybe;
- };
-}
-
-export namespace TagData {
- export type Fragment = {
- __typename?: "Tag";
-
- id: string;
-
- name: string;
-
- scene_count: Maybe;
-
- scene_marker_count: Maybe;
- };
-}
-
-// ====================================================
-// START: Apollo Angular template
-// ====================================================
-
-import { Injectable } from "@angular/core";
-import * as Apollo from "apollo-angular";
-
-import gql from "graphql-tag";
-
-// ====================================================
-// GraphQL Fragments
-// ====================================================
-
-export const SlimPerformerDataFragment = gql`
- fragment SlimPerformerData on Performer {
- id
- name
- image_path
- }
-`;
-
-export const SlimSceneDataFragment = gql`
- fragment SlimSceneData on Scene {
- id
- checksum
- title
- details
- url
- date
- rating
- path
- file {
- size
- duration
- video_codec
- audio_codec
- width
- height
- framerate
- bitrate
- }
- paths {
- screenshot
- preview
- stream
- webp
- vtt
- chapters_vtt
- }
- scene_markers {
- id
- title
- seconds
- }
- gallery {
- id
- path
- title
- }
- studio {
- id
- name
- image_path
- }
- tags {
- id
- name
- }
- performers {
- id
- name
- favorite
- image_path
- }
- }
-`;
-
-export const SceneMarkerDataFragment = gql`
- fragment SceneMarkerData on SceneMarker {
- id
- title
- seconds
- stream
- preview
- scene {
- id
- }
- primary_tag {
- id
- name
- }
- tags {
- id
- name
- }
- }
-`;
-
-export const GalleryDataFragment = gql`
- fragment GalleryData on Gallery {
- id
- checksum
- path
- title
- files {
- index
- name
- path
- }
- }
-`;
-
-export const StudioDataFragment = gql`
- fragment StudioData on Studio {
- id
- checksum
- name
- url
- image_path
- scene_count
- }
-`;
-
-export const TagDataFragment = gql`
- fragment TagData on Tag {
- id
- name
- scene_count
- scene_marker_count
- }
-`;
-
-export const PerformerDataFragment = gql`
- fragment PerformerData on Performer {
- id
- checksum
- name
- url
- twitter
- instagram
- birthdate
- ethnicity
- country
- eye_color
- height
- measurements
- fake_tits
- career_length
- tattoos
- piercings
- aliases
- favorite
- image_path
- scene_count
- }
-`;
-
-export const SceneDataFragment = gql`
- fragment SceneData on Scene {
- id
- checksum
- title
- details
- url
- date
- rating
- path
- file {
- size
- duration
- video_codec
- audio_codec
- width
- height
- framerate
- bitrate
- }
- paths {
- screenshot
- preview
- stream
- webp
- vtt
- chapters_vtt
- }
- scene_markers {
- ...SceneMarkerData
- }
- is_streamable
- gallery {
- ...GalleryData
- }
- studio {
- ...StudioData
- }
- tags {
- ...TagData
- }
- performers {
- ...PerformerData
- }
- }
-
- ${SceneMarkerDataFragment}
- ${GalleryDataFragment}
- ${StudioDataFragment}
- ${TagDataFragment}
- ${PerformerDataFragment}
-`;
-
-// ====================================================
-// Apollo Services
-// ====================================================
-
-@Injectable({
- providedIn: "root"
-})
-export class FindScenesGQL extends Apollo.Query<
- FindScenes.Query,
- FindScenes.Variables
-> {
- document: any = gql`
- query FindScenes(
- $filter: FindFilterType
- $scene_filter: SceneFilterType
- $scene_ids: [Int!]
- ) {
- findScenes(
- filter: $filter
- scene_filter: $scene_filter
- scene_ids: $scene_ids
- ) {
- count
- scenes {
- ...SlimSceneData
- }
- }
- }
-
- ${SlimSceneDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindSceneGQL extends Apollo.Query<
- FindScene.Query,
- FindScene.Variables
-> {
- document: any = gql`
- query FindScene($id: ID!, $checksum: String) {
- findScene(id: $id, checksum: $checksum) {
- ...SceneData
- }
- sceneMarkerTags(scene_id: $id) {
- tag {
- id
- name
- }
- scene_markers {
- ...SceneMarkerData
- }
- }
- }
-
- ${SceneDataFragment}
- ${SceneMarkerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindSceneForEditingGQL extends Apollo.Query<
- FindSceneForEditing.Query,
- FindSceneForEditing.Variables
-> {
- document: any = gql`
- query FindSceneForEditing($id: ID) {
- findScene(id: $id) {
- ...SceneData
- }
- allPerformers {
- id
- name
- birthdate
- image_path
- }
- allTags {
- id
- name
- }
- allStudios {
- id
- name
- }
- validGalleriesForScene(scene_id: $id) {
- id
- path
- }
- }
-
- ${SceneDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindSceneMarkersGQL extends Apollo.Query<
- FindSceneMarkers.Query,
- FindSceneMarkers.Variables
-> {
- document: any = gql`
- query FindSceneMarkers(
- $filter: FindFilterType
- $scene_marker_filter: SceneMarkerFilterType
- ) {
- findSceneMarkers(
- filter: $filter
- scene_marker_filter: $scene_marker_filter
- ) {
- count
- scene_markers {
- ...SceneMarkerData
- }
- }
- }
-
- ${SceneMarkerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class SceneWallGQL extends Apollo.Query<
- SceneWall.Query,
- SceneWall.Variables
-> {
- document: any = gql`
- query SceneWall($q: String) {
- sceneWall(q: $q) {
- ...SceneData
- }
- }
-
- ${SceneDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class MarkerWallGQL extends Apollo.Query<
- MarkerWall.Query,
- MarkerWall.Variables
-> {
- document: any = gql`
- query MarkerWall($q: String) {
- markerWall(q: $q) {
- ...SceneMarkerData
- }
- }
-
- ${SceneMarkerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindPerformersGQL extends Apollo.Query<
- FindPerformers.Query,
- FindPerformers.Variables
-> {
- document: any = gql`
- query FindPerformers(
- $filter: FindFilterType
- $performer_filter: PerformerFilterType
- ) {
- findPerformers(filter: $filter, performer_filter: $performer_filter) {
- count
- performers {
- ...PerformerData
- }
- }
- }
-
- ${PerformerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindPerformerGQL extends Apollo.Query<
- FindPerformer.Query,
- FindPerformer.Variables
-> {
- document: any = gql`
- query FindPerformer($id: ID!) {
- findPerformer(id: $id) {
- ...PerformerData
- }
- }
-
- ${PerformerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindStudiosGQL extends Apollo.Query<
- FindStudios.Query,
- FindStudios.Variables
-> {
- document: any = gql`
- query FindStudios($filter: FindFilterType) {
- findStudios(filter: $filter) {
- count
- studios {
- ...StudioData
- }
- }
- }
-
- ${StudioDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindStudioGQL extends Apollo.Query<
- FindStudio.Query,
- FindStudio.Variables
-> {
- document: any = gql`
- query FindStudio($id: ID!) {
- findStudio(id: $id) {
- ...StudioData
- }
- }
-
- ${StudioDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindGalleriesGQL extends Apollo.Query<
- FindGalleries.Query,
- FindGalleries.Variables
-> {
- document: any = gql`
- query FindGalleries($filter: FindFilterType) {
- findGalleries(filter: $filter) {
- count
- galleries {
- ...GalleryData
- }
- }
- }
-
- ${GalleryDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindGalleryGQL extends Apollo.Query<
- FindGallery.Query,
- FindGallery.Variables
-> {
- document: any = gql`
- query FindGallery($id: ID!) {
- findGallery(id: $id) {
- ...GalleryData
- }
- }
-
- ${GalleryDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class FindTagGQL extends Apollo.Query {
- document: any = gql`
- query FindTag($id: ID!) {
- findTag(id: $id) {
- ...TagData
- }
- }
-
- ${TagDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class MarkerStringsGQL extends Apollo.Query<
- MarkerStrings.Query,
- MarkerStrings.Variables
-> {
- document: any = gql`
- query MarkerStrings($q: String, $sort: String) {
- markerStrings(q: $q, sort: $sort) {
- id
- count
- title
- }
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class ScrapeFreeonesGQL extends Apollo.Query<
- ScrapeFreeones.Query,
- ScrapeFreeones.Variables
-> {
- document: any = gql`
- query ScrapeFreeones($performer_name: String!) {
- scrapeFreeones(performer_name: $performer_name) {
- name
- url
- twitter
- instagram
- birthdate
- ethnicity
- country
- eye_color
- height
- measurements
- fake_tits
- career_length
- tattoos
- piercings
- aliases
- }
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class ScrapeFreeonesPerformersGQL extends Apollo.Query<
- ScrapeFreeonesPerformers.Query,
- ScrapeFreeonesPerformers.Variables
-> {
- document: any = gql`
- query ScrapeFreeonesPerformers($q: String!) {
- scrapeFreeonesPerformerList(query: $q)
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class AllTagsGQL extends Apollo.Query {
- document: any = gql`
- query AllTags {
- allTags {
- ...TagData
- }
- }
-
- ${TagDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class AllPerformersForFilterGQL extends Apollo.Query<
- AllPerformersForFilter.Query,
- AllPerformersForFilter.Variables
-> {
- document: any = gql`
- query AllPerformersForFilter {
- allPerformers {
- ...SlimPerformerData
- }
- }
-
- ${SlimPerformerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class AllTagsForFilterGQL extends Apollo.Query<
- AllTagsForFilter.Query,
- AllTagsForFilter.Variables
-> {
- document: any = gql`
- query AllTagsForFilter {
- allTags {
- id
- name
- }
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class StatsGQL extends Apollo.Query {
- document: any = gql`
- query Stats {
- stats {
- scene_count
- gallery_count
- performer_count
- studio_count
- tag_count
- }
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class SceneUpdateGQL extends Apollo.Mutation<
- SceneUpdate.Mutation,
- SceneUpdate.Variables
-> {
- document: any = gql`
- mutation SceneUpdate(
- $id: ID!
- $title: String
- $details: String
- $url: String
- $date: String
- $rating: Int
- $studio_id: ID
- $gallery_id: ID
- $performer_ids: [ID!] = []
- $tag_ids: [ID!] = []
- ) {
- sceneUpdate(
- input: {
- id: $id
- title: $title
- details: $details
- url: $url
- date: $date
- rating: $rating
- studio_id: $studio_id
- gallery_id: $gallery_id
- performer_ids: $performer_ids
- tag_ids: $tag_ids
- }
- ) {
- ...SceneData
- }
- }
-
- ${SceneDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class PerformerCreateGQL extends Apollo.Mutation<
- PerformerCreate.Mutation,
- PerformerCreate.Variables
-> {
- document: any = gql`
- mutation PerformerCreate(
- $name: String
- $url: String
- $birthdate: String
- $ethnicity: String
- $country: String
- $eye_color: String
- $height: String
- $measurements: String
- $fake_tits: String
- $career_length: String
- $tattoos: String
- $piercings: String
- $aliases: String
- $twitter: String
- $instagram: String
- $favorite: Boolean
- $image: String!
- ) {
- performerCreate(
- input: {
- name: $name
- url: $url
- birthdate: $birthdate
- ethnicity: $ethnicity
- country: $country
- eye_color: $eye_color
- height: $height
- measurements: $measurements
- fake_tits: $fake_tits
- career_length: $career_length
- tattoos: $tattoos
- piercings: $piercings
- aliases: $aliases
- twitter: $twitter
- instagram: $instagram
- favorite: $favorite
- image: $image
- }
- ) {
- ...PerformerData
- }
- }
-
- ${PerformerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class PerformerUpdateGQL extends Apollo.Mutation<
- PerformerUpdate.Mutation,
- PerformerUpdate.Variables
-> {
- document: any = gql`
- mutation PerformerUpdate(
- $id: ID!
- $name: String
- $url: String
- $birthdate: String
- $ethnicity: String
- $country: String
- $eye_color: String
- $height: String
- $measurements: String
- $fake_tits: String
- $career_length: String
- $tattoos: String
- $piercings: String
- $aliases: String
- $twitter: String
- $instagram: String
- $favorite: Boolean
- $image: String
- ) {
- performerUpdate(
- input: {
- id: $id
- name: $name
- url: $url
- birthdate: $birthdate
- ethnicity: $ethnicity
- country: $country
- eye_color: $eye_color
- height: $height
- measurements: $measurements
- fake_tits: $fake_tits
- career_length: $career_length
- tattoos: $tattoos
- piercings: $piercings
- aliases: $aliases
- twitter: $twitter
- instagram: $instagram
- favorite: $favorite
- image: $image
- }
- ) {
- ...PerformerData
- }
- }
-
- ${PerformerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class StudioCreateGQL extends Apollo.Mutation<
- StudioCreate.Mutation,
- StudioCreate.Variables
-> {
- document: any = gql`
- mutation StudioCreate($name: String!, $url: String, $image: String!) {
- studioCreate(input: { name: $name, url: $url, image: $image }) {
- ...StudioData
- }
- }
-
- ${StudioDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class StudioUpdateGQL extends Apollo.Mutation<
- StudioUpdate.Mutation,
- StudioUpdate.Variables
-> {
- document: any = gql`
- mutation StudioUpdate(
- $id: ID!
- $name: String
- $url: String
- $image: String
- ) {
- studioUpdate(input: { id: $id, name: $name, url: $url, image: $image }) {
- ...StudioData
- }
- }
-
- ${StudioDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class TagCreateGQL extends Apollo.Mutation<
- TagCreate.Mutation,
- TagCreate.Variables
-> {
- document: any = gql`
- mutation TagCreate($name: String!) {
- tagCreate(input: { name: $name }) {
- ...TagData
- }
- }
-
- ${TagDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class TagDestroyGQL extends Apollo.Mutation<
- TagDestroy.Mutation,
- TagDestroy.Variables
-> {
- document: any = gql`
- mutation TagDestroy($id: ID!) {
- tagDestroy(input: { id: $id })
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class TagUpdateGQL extends Apollo.Mutation<
- TagUpdate.Mutation,
- TagUpdate.Variables
-> {
- document: any = gql`
- mutation TagUpdate($id: ID!, $name: String!) {
- tagUpdate(input: { id: $id, name: $name }) {
- ...TagData
- }
- }
-
- ${TagDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class SceneMarkerCreateGQL extends Apollo.Mutation<
- SceneMarkerCreate.Mutation,
- SceneMarkerCreate.Variables
-> {
- document: any = gql`
- mutation SceneMarkerCreate(
- $title: String!
- $seconds: Float!
- $scene_id: ID!
- $primary_tag_id: ID!
- $tag_ids: [ID!] = []
- ) {
- sceneMarkerCreate(
- input: {
- title: $title
- seconds: $seconds
- scene_id: $scene_id
- primary_tag_id: $primary_tag_id
- tag_ids: $tag_ids
- }
- ) {
- ...SceneMarkerData
- }
- }
-
- ${SceneMarkerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class SceneMarkerUpdateGQL extends Apollo.Mutation<
- SceneMarkerUpdate.Mutation,
- SceneMarkerUpdate.Variables
-> {
- document: any = gql`
- mutation SceneMarkerUpdate(
- $id: ID!
- $title: String!
- $seconds: Float!
- $scene_id: ID!
- $primary_tag_id: ID!
- $tag_ids: [ID!] = []
- ) {
- sceneMarkerUpdate(
- input: {
- id: $id
- title: $title
- seconds: $seconds
- scene_id: $scene_id
- primary_tag_id: $primary_tag_id
- tag_ids: $tag_ids
- }
- ) {
- ...SceneMarkerData
- }
- }
-
- ${SceneMarkerDataFragment}
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class SceneMarkerDestroyGQL extends Apollo.Mutation<
- SceneMarkerDestroy.Mutation,
- SceneMarkerDestroy.Variables
-> {
- document: any = gql`
- mutation SceneMarkerDestroy($id: ID!) {
- sceneMarkerDestroy(id: $id)
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class MetadataImportGQL extends Apollo.Query<
- MetadataImport.Query,
- MetadataImport.Variables
-> {
- document: any = gql`
- query MetadataImport {
- metadataImport
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class MetadataExportGQL extends Apollo.Query<
- MetadataExport.Query,
- MetadataExport.Variables
-> {
- document: any = gql`
- query MetadataExport {
- metadataExport
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class MetadataScanGQL extends Apollo.Query<
- MetadataScan.Query,
- MetadataScan.Variables
-> {
- document: any = gql`
- query MetadataScan {
- metadataScan
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class MetadataGenerateGQL extends Apollo.Query<
- MetadataGenerate.Query,
- MetadataGenerate.Variables
-> {
- document: any = gql`
- query MetadataGenerate {
- metadataGenerate
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class MetadataCleanGQL extends Apollo.Query<
- MetadataClean.Query,
- MetadataClean.Variables
-> {
- document: any = gql`
- query MetadataClean {
- metadataClean
- }
- `;
-}
-@Injectable({
- providedIn: "root"
-})
-export class MetadataUpdateGQL extends Apollo.Subscription<
- MetadataUpdate.Subscription,
- MetadataUpdate.Variables
-> {
- document: any = gql`
- subscription MetadataUpdate {
- metadataUpdate
- }
- `;
-}
-
-// ====================================================
-// END: Apollo Angular template
-// ====================================================
diff --git a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.css b/ui/v1/src/app/core/navigation-bar/navigation-bar.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.html b/ui/v1/src/app/core/navigation-bar/navigation-bar.component.html
deleted file mode 100644
index 9fcac07b4..000000000
--- a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
\ No newline at end of file
diff --git a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.ts b/ui/v1/src/app/core/navigation-bar/navigation-bar.component.ts
deleted file mode 100644
index 18139465f..000000000
--- a/ui/v1/src/app/core/navigation-bar/navigation-bar.component.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'app-navigation-bar',
- templateUrl: './navigation-bar.component.html',
- styleUrls: ['./navigation-bar.component.css']
-})
-export class NavigationBarComponent implements OnInit {
-
- constructor(private router: Router) { }
-
- ngOnInit() {
- }
-
- isScenesActiveHack(rla) {
- return rla.isActive &&
- this.router.url !== '/scenes/wall' &&
- !this.router.url.includes('/scenes/markers');
- }
-
-}
diff --git a/ui/v1/src/app/core/page-not-found/page-not-found.component.css b/ui/v1/src/app/core/page-not-found/page-not-found.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/core/page-not-found/page-not-found.component.html b/ui/v1/src/app/core/page-not-found/page-not-found.component.html
deleted file mode 100644
index 81b0d6084..000000000
--- a/ui/v1/src/app/core/page-not-found/page-not-found.component.html
+++ /dev/null
@@ -1 +0,0 @@
-Page not found
diff --git a/ui/v1/src/app/core/page-not-found/page-not-found.component.ts b/ui/v1/src/app/core/page-not-found/page-not-found.component.ts
deleted file mode 100644
index c5c55a794..000000000
--- a/ui/v1/src/app/core/page-not-found/page-not-found.component.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-@Component({
- selector: 'app-page-not-found',
- templateUrl: './page-not-found.component.html',
- styleUrls: ['./page-not-found.component.css']
-})
-export class PageNotFoundComponent implements OnInit {
-
- constructor() { }
-
- ngOnInit() {
- }
-
-}
diff --git a/ui/v1/src/app/core/stash.service.ts b/ui/v1/src/app/core/stash.service.ts
deleted file mode 100644
index 1ec0a789d..000000000
--- a/ui/v1/src/app/core/stash.service.ts
+++ /dev/null
@@ -1,508 +0,0 @@
-import { Injectable } from '@angular/core';
-import { PlatformLocation } from '@angular/common';
-
-import { ListFilter } from '../shared/models/list-state.model';
-
-import { Apollo, QueryRef } from 'apollo-angular';
-import { HttpLink } from 'apollo-angular-link-http';
-import { InMemoryCache } from 'apollo-cache-inmemory';
-import { onError } from 'apollo-link-error';
-import { ApolloLink } from 'apollo-link';
-import { getMainDefinition } from 'apollo-utilities';
-
-import * as GQL from './graphql-generated';
-import {WebSocketLink} from "apollo-link-ws";
-
-@Injectable()
-export class StashService {
- private findScenesGQL = new GQL.FindScenesGQL(this.apollo);
- private findSceneGQL = new GQL.FindSceneGQL(this.apollo);
- private findSceneForEditingGQL = new GQL.FindSceneForEditingGQL(this.apollo);
- private findSceneMarkersGQL = new GQL.FindSceneMarkersGQL(this.apollo);
- private sceneWallGQL = new GQL.SceneWallGQL(this.apollo);
- private markerWallGQL = new GQL.MarkerWallGQL(this.apollo);
- private findPerformersGQL = new GQL.FindPerformersGQL(this.apollo);
- private findPerformerGQL = new GQL.FindPerformerGQL(this.apollo);
- private findStudiosGQL = new GQL.FindStudiosGQL(this.apollo);
- private findStudioGQL = new GQL.FindStudioGQL(this.apollo);
- private findGalleriesGQL = new GQL.FindGalleriesGQL(this.apollo);
- private findGalleryGQL = new GQL.FindGalleryGQL(this.apollo);
- private findTagGQL = new GQL.FindTagGQL(this.apollo);
- private markerStringsGQL = new GQL.MarkerStringsGQL(this.apollo);
- private scrapeFreeonesGQL = new GQL.ScrapeFreeonesGQL(this.apollo);
- private scrapeFreeonesPerformersGQL = new GQL.ScrapeFreeonesPerformersGQL(this.apollo);
- private allTagsGQL = new GQL.AllTagsGQL(this.apollo);
- private allTagsForFilterGQL = new GQL.AllTagsForFilterGQL(this.apollo);
- private allPerformersForFilterGQL = new GQL.AllPerformersForFilterGQL(this.apollo);
- private statsGQL = new GQL.StatsGQL(this.apollo);
- private sceneUpdateGQL = new GQL.SceneUpdateGQL(this.apollo);
- private performerCreateGQL = new GQL.PerformerCreateGQL(this.apollo);
- private performerUpdateGQL = new GQL.PerformerUpdateGQL(this.apollo);
- private studioCreateGQL = new GQL.StudioCreateGQL(this.apollo);
- private studioUpdateGQL = new GQL.StudioUpdateGQL(this.apollo);
- private tagCreateGQL = new GQL.TagCreateGQL(this.apollo);
- private tagDestroyGQL = new GQL.TagDestroyGQL(this.apollo);
- private tagUpdateGQL = new GQL.TagUpdateGQL(this.apollo);
- private sceneMarkerCreateGQL = new GQL.SceneMarkerCreateGQL(this.apollo);
- private sceneMarkerUpdateGQL = new GQL.SceneMarkerUpdateGQL(this.apollo);
- private sceneMarkerDestroyGQL = new GQL.SceneMarkerDestroyGQL(this.apollo);
- private metadataImportGQL = new GQL.MetadataImportGQL(this.apollo);
- private metadataExportGQL = new GQL.MetadataExportGQL(this.apollo);
- private metadataScanGQL = new GQL.MetadataScanGQL(this.apollo);
- private metadataGenerateGQL = new GQL.MetadataGenerateGQL(this.apollo);
- private metadataCleanGQL = new GQL.MetadataCleanGQL(this.apollo);
- private metadataUpdateGQL = new GQL.MetadataUpdateGQL(this.apollo);
-
- constructor(private apollo: Apollo, private platformLocation: PlatformLocation, private httpLink: HttpLink) {
- const platform: any = platformLocation;
- const platformUrl = new URL(platform.location.origin);
- platformUrl.port = platformUrl.protocol === 'https:' ? '9999' : '9998';
- const url = platformUrl.toString().slice(0, -1);
- const webSocketScheme = platformUrl.protocol === 'https:' ? 'wss' : 'ws';
-
- const wsLink = new WebSocketLink({
- uri: `${webSocketScheme}://${platform.location.hostname}:${platformUrl.port}/graphql`,
- options: {
- reconnect: true
- }
- });
-
- const errorLink = onError(({ graphQLErrors, networkError }) => {
- if (graphQLErrors) {
- graphQLErrors.map(({ message, locations, path }) =>
- console.log(
- `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`,
- ),
- );
- }
-
- if (networkError) {
- console.log(`[Network error]: ${networkError}`);
- }
- });
-
- const httpLinkHandler = httpLink.create({uri: `${url}/graphql`});
-
- const splitLink = ApolloLink.split(
- // split based on operation type
- ({ query }) => {
- const definition = getMainDefinition(query);
- return definition.kind === 'OperationDefinition' && definition.operation === 'subscription';
- },
- wsLink,
- httpLinkHandler
- );
-
- const link = ApolloLink.from([
- errorLink,
- splitLink
- ]);
-
- apollo.create({
- link: link,
- defaultOptions: {
- watchQuery: {
- fetchPolicy: 'network-only',
- errorPolicy: 'all'
- },
- },
- cache: new InMemoryCache({
- // dataIdFromObject: o => {
- // if (o.__typename === "MarkerStringsResultType") {
- // return `${o.__typename}:${o.title}`
- // } else {
- // return `${o.__typename}:${o.id}`
- // }
- // },
-
- cacheRedirects: {
- Query: {
- findScene: (rootValue, args, context) => {
- return context.getCacheKey({__typename: 'Scene', id: args.id});
- }
- }
- },
- })
- });
- }
-
- findScenes(page?: number, filter?: ListFilter): QueryRef> {
- let scene_filter = {};
- if (filter.criteriaFilterOpen) {
- scene_filter = filter.makeSceneFilter();
- }
- if (filter.customCriteria) {
- filter.customCriteria.forEach(criteria => {
- scene_filter[criteria.key] = criteria.value;
- });
- }
-
- return this.findScenesGQL.watch({
- filter: {
- q: filter.searchTerm,
- page: page,
- per_page: filter.itemsPerPage,
- sort: filter.sortBy,
- direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc
- },
- scene_filter: scene_filter
- });
- }
-
- findScene(id?: any, checksum?: string) {
- return this.findSceneGQL.watch({
- id: id,
- checksum: checksum
- });
- }
-
- findSceneForEditing(id?: any) {
- return this.findSceneForEditingGQL.watch({
- id: id
- });
- }
-
- findSceneMarkers(page?: number, filter?: ListFilter) {
- let scene_marker_filter = {};
- if (filter.criteriaFilterOpen) {
- scene_marker_filter = filter.makeSceneMarkerFilter();
- }
- if (filter.customCriteria) {
- filter.customCriteria.forEach(criteria => {
- scene_marker_filter[criteria.key] = criteria.value;
- });
- }
-
- return this.findSceneMarkersGQL.watch({
- filter: {
- q: filter.searchTerm,
- page: page,
- per_page: filter.itemsPerPage,
- sort: filter.sortBy,
- direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc
- },
- scene_marker_filter: scene_marker_filter
- });
- }
-
- sceneWall(q?: string) {
- return this.sceneWallGQL.watch({
- q: q
- },
- {
- fetchPolicy: 'network-only'
- });
- }
-
- markerWall(q?: string) {
- return this.markerWallGQL.watch({
- q: q
- },
- {
- fetchPolicy: 'network-only'
- });
- }
-
- findPerformers(page?: number, filter?: ListFilter) {
- let performer_filter = {};
- if (filter.criteriaFilterOpen) {
- performer_filter = filter.makePerformerFilter();
- }
- // if (filter.customCriteria) {
- // filter.customCriteria.forEach(criteria => {
- // scene_filter[criteria.key] = criteria.value;
- // });
- // }
-
- return this.findPerformersGQL.watch({
- filter: {
- q: filter.searchTerm,
- page: page,
- per_page: filter.itemsPerPage,
- sort: filter.sortBy,
- direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc
- },
- performer_filter: performer_filter
- });
- }
-
- findPerformer(id: any) {
- return this.findPerformerGQL.watch({
- id: id
- });
- }
-
- findStudios(page?: number, filter?: ListFilter) {
- return this.findStudiosGQL.watch({
- filter: {
- q: filter.searchTerm,
- page: page,
- per_page: filter.itemsPerPage,
- sort: filter.sortBy,
- direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc
- }
- });
- }
-
- findStudio(id: any) {
- return this.findStudioGQL.watch({
- id: id
- });
- }
-
- findGalleries(page?: number, filter?: ListFilter) {
- return this.findGalleriesGQL.watch({
- filter: {
- q: filter.searchTerm,
- page: page,
- per_page: filter.itemsPerPage,
- sort: filter.sortBy,
- direction: filter.sortDirection === 'asc' ? GQL.SortDirectionEnum.Asc : GQL.SortDirectionEnum.Desc
- }
- });
- }
-
- findGallery(id: any) {
- return this.findGalleryGQL.watch({
- id: id
- });
- }
-
- findTag(id: any) {
- return this.findTagGQL.watch({
- id: id
- });
- }
-
- markerStrings(q?: string, sort?: string) {
- return this.markerStringsGQL.watch({
- q: q,
- sort: sort
- });
- }
-
- scrapeFreeones(performer_name: string) {
- return this.scrapeFreeonesGQL.watch({
- performer_name: performer_name
- });
- }
-
- scrapeFreeonesPerformers(query: string) {
- return this.scrapeFreeonesPerformersGQL.watch({
- q: query
- });
- }
-
- allTags() {
- return this.allTagsGQL.watch();
- }
-
- allTagsForFilter() {
- return this.allTagsForFilterGQL.watch();
- }
-
- allPerformersForFilter() {
- return this.allPerformersForFilterGQL.watch();
- }
-
- stats() {
- return this.statsGQL.watch();
- }
-
- sceneUpdate(scene: GQL.SceneUpdate.Variables) {
- return this.sceneUpdateGQL.mutate({
- id: scene.id,
- title: scene.title,
- details: scene.details,
- url: scene.url,
- date: scene.date,
- rating: scene.rating,
- studio_id: scene.studio_id,
- gallery_id: scene.gallery_id,
- performer_ids: scene.performer_ids,
- tag_ids: scene.tag_ids
- },
- {
- refetchQueries: [
- {
- query: this.findSceneGQL.document,
- variables: {
- id: scene.id
- }
- }
- ]
- });
- }
-
- performerCreate(performer: GQL.PerformerCreate.Variables) {
- return this.performerCreateGQL.mutate({
- name: performer.name,
- url: performer.url,
- birthdate: performer.birthdate,
- ethnicity: performer.ethnicity,
- country: performer.country,
- eye_color: performer.eye_color,
- height: performer.height,
- measurements: performer.measurements,
- fake_tits: performer.fake_tits,
- career_length: performer.career_length,
- tattoos: performer.tattoos,
- piercings: performer.piercings,
- aliases: performer.aliases,
- twitter: performer.twitter,
- instagram: performer.instagram,
- favorite: performer.favorite,
- image: performer.image
- });
- }
-
- performerUpdate(performer: GQL.PerformerUpdate.Variables) {
- return this.performerUpdateGQL.mutate({
- id: performer.id,
- name: performer.name,
- url: performer.url,
- birthdate: performer.birthdate,
- ethnicity: performer.ethnicity,
- country: performer.country,
- eye_color: performer.eye_color,
- height: performer.height,
- measurements: performer.measurements,
- fake_tits: performer.fake_tits,
- career_length: performer.career_length,
- tattoos: performer.tattoos,
- piercings: performer.piercings,
- aliases: performer.aliases,
- twitter: performer.twitter,
- instagram: performer.instagram,
- favorite: performer.favorite,
- image: performer.image
- },
- {
- refetchQueries: [
- {
- query: this.findPerformerGQL.document,
- variables: {
- id: performer.id
- }
- }
- ],
- });
- }
-
- studioCreate(studio: GQL.StudioCreate.Variables) {
- return this.studioCreateGQL.mutate({
- name: studio.name,
- url: studio.url,
- image: studio.image
- });
- }
-
- studioUpdate(studio: GQL.StudioUpdate.Variables) {
- return this.studioUpdateGQL.mutate({
- id: studio.id,
- name: studio.name,
- url: studio.url,
- image: studio.image
- },
- {
- refetchQueries: [
- {
- query: this.findStudioGQL.document,
- variables: {
- id: studio.id
- }
- }
- ],
- });
- }
-
- tagCreate(tag: GQL.TagCreate.Variables) {
- return this.tagCreateGQL.mutate({
- name: tag.name
- });
- }
-
- tagDestroy(tag: GQL.TagDestroy.Variables) {
- return this.tagDestroyGQL.mutate({
- id: tag.id
- });
- }
-
- tagUpdate(tag: GQL.TagUpdate.Variables) {
- return this.tagUpdateGQL.mutate({
- id: tag.id,
- name: tag.name
- },
- {
- refetchQueries: [
- {
- query: this.findTagGQL.document,
- variables: {
- id: tag.id
- }
- }
- ],
- });
- }
-
- markerCreate(marker: GQL.SceneMarkerCreate.Variables) {
- return this.sceneMarkerCreateGQL.mutate({
- title: marker.title,
- seconds: marker.seconds,
- scene_id: marker.scene_id,
- primary_tag_id: marker.primary_tag_id,
- tag_ids: marker.tag_ids
- },
- {
- refetchQueries: () => ['FindScene']
- });
- }
-
- markerUpdate(marker: GQL.SceneMarkerUpdate.Variables) {
- return this.sceneMarkerUpdateGQL.mutate({
- id: marker.id,
- title: marker.title,
- seconds: marker.seconds,
- scene_id: marker.scene_id,
- primary_tag_id: marker.primary_tag_id,
- tag_ids: marker.tag_ids
- },
- {
- refetchQueries: () => ['FindScene']
- });
- }
-
- markerDestroy(id: any, scene_id: any) {
- return this.sceneMarkerDestroyGQL.mutate({
- id: id
- },
- {
- refetchQueries: () => ['FindScene']
- });
- }
-
- metadataImport() {
- return this.metadataImportGQL.watch();
- }
-
- metadataExport() {
- return this.metadataExportGQL.watch();
- }
-
- metadataScan() {
- return this.metadataScanGQL.watch();
- }
-
- metadataGenerate() {
- return this.metadataGenerateGQL.watch();
- }
-
- metadataClean() {
- return this.metadataCleanGQL.watch();
- }
-
- metadataUpdate() {
- return this.metadataUpdateGQL.subscribe()
- }
-
-}
diff --git a/ui/v1/src/app/galleries/galleries-routing.module.ts b/ui/v1/src/app/galleries/galleries-routing.module.ts
deleted file mode 100644
index a4399d289..000000000
--- a/ui/v1/src/app/galleries/galleries-routing.module.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { NgModule } from '@angular/core';
-import { Routes, RouterModule } from '@angular/router';
-
-import { GalleriesComponent } from './galleries/galleries.component';
-import { GalleryListComponent } from './gallery-list/gallery-list.component';
-import { GalleryDetailComponent } from './gallery-detail/gallery-detail.component';
-
-const routes: Routes = [
- { path: '',
- component: GalleriesComponent,
- children: [
- { path: '', component: GalleryListComponent },
- { path: ':id', component: GalleryDetailComponent },
- ]
- }
-];
-
-@NgModule({
- imports: [RouterModule.forChild(routes)],
- exports: [RouterModule]
-})
-export class GalleriesRoutingModule { }
diff --git a/ui/v1/src/app/galleries/galleries.module.ts b/ui/v1/src/app/galleries/galleries.module.ts
deleted file mode 100644
index c7cb54330..000000000
--- a/ui/v1/src/app/galleries/galleries.module.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { NgModule } from '@angular/core';
-import { SharedModule } from '../shared/shared.module';
-
-import { GalleriesRoutingModule } from './galleries-routing.module';
-import { GalleriesService } from './galleries.service';
-
-import { GalleriesComponent } from './galleries/galleries.component';
-import { GalleryDetailComponent } from './gallery-detail/gallery-detail.component';
-import { GalleryListComponent } from './gallery-list/gallery-list.component';
-
-@NgModule({
- imports: [
- SharedModule,
- GalleriesRoutingModule
- ],
- declarations: [
- GalleriesComponent,
- GalleryDetailComponent,
- GalleryListComponent
- ],
- providers: [
- GalleriesService
- ]
-})
-export class GalleriesModule { }
diff --git a/ui/v1/src/app/galleries/galleries.service.ts b/ui/v1/src/app/galleries/galleries.service.ts
deleted file mode 100644
index 09982679e..000000000
--- a/ui/v1/src/app/galleries/galleries.service.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Injectable } from '@angular/core';
-
-import { GalleryListState } from '../shared/models/list-state.model';
-
-@Injectable()
-export class GalleriesService {
- listState: GalleryListState = new GalleryListState();
-
- constructor() { }
-
-}
diff --git a/ui/v1/src/app/galleries/galleries/galleries.component.ts b/ui/v1/src/app/galleries/galleries/galleries.component.ts
deleted file mode 100644
index bbfa1108f..000000000
--- a/ui/v1/src/app/galleries/galleries/galleries.component.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-@Component({
- selector: 'app-galleries',
- template: ''
-})
-export class GalleriesComponent implements OnInit {
-
- constructor() {}
-
- ngOnInit() {}
-
-}
diff --git a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.css b/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.css
deleted file mode 100644
index 690eb5529..000000000
--- a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.css
+++ /dev/null
@@ -1,40 +0,0 @@
-#gallery-modal-container {
- width: 100%;
- height: 100%;
- left: 0;
- top: 0;
- overflow: hidden;
- z-index: 1500;
- position: fixed;
-}
-
-#gallery-modal-background {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- background:rgba(0,0,0,0.5);
-}
-
-#gallery-modal-image-wrapper {
- position: absolute;
- transform-origin: left top;
- transition: transform 333ms cubic-bezier(.4,0,.22,1);
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- display: block;
- justify-content: center;
- align-content: center;
-}
-
-#gallery-modal-image {
- width: 100%;
- height: 100%;
- object-fit: contain;
- padding: 20px;
- background: rgba(17, 17, 17, 0.5);
- z-index: 1;
-}
\ No newline at end of file
diff --git a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.html b/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.html
deleted file mode 100644
index 1406f8543..000000000
--- a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
![]()
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.ts b/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.ts
deleted file mode 100644
index 647b983d6..000000000
--- a/ui/v1/src/app/galleries/gallery-detail/gallery-detail.component.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-import { Component, OnInit, HostListener } from '@angular/core';
-import { ActivatedRoute } from '@angular/router';
-
-import { StashService } from '../../core/stash.service';
-
-import { GalleryImage } from '../../shared/models/gallery.model';
-import { GalleryData } from '../../core/graphql-generated';
-
-@Component({
- selector: 'app-gallery-detail',
- templateUrl: './gallery-detail.component.html',
- styleUrls: ['./gallery-detail.component.css']
-})
-export class GalleryDetailComponent implements OnInit {
- gallery: GalleryData.Fragment;
- displayedImage: GalleryImage = null;
-
- constructor(
- private route: ActivatedRoute,
- private stashService: StashService
- ) {}
-
- ngOnInit() {
- this.getGallery();
- window.scrollTo(0, 0);
- }
-
- async getGallery() {
- const id = parseInt(this.route.snapshot.params['id'], 10);
- const result = await this.stashService.findGallery(id).result();
- this.gallery = result.data.findGallery;
- }
-
- @HostListener('mousewheel', ['$event'])
- onMousewheel(event) {
- this.displayedImage = null;
- }
-
- @HostListener('window:mouseup', ['$event'])
- onMouseup(event: MouseEvent) {
- if (event.button !== 0 || !(event.target instanceof HTMLDivElement)) { return; }
- const target: HTMLDivElement = event.target;
- if (target.id !== 'gallery-image') {
- this.displayedImage = null;
- } else {
- window.open(this.displayedImage.path, '_blank');
- }
- }
-
- onClickEdit() {
- // TODO
- console.log('edit');
- }
-
- onClickCard(galleryImage: GalleryImage) {
- console.log(galleryImage);
- this.displayedImage = galleryImage;
- }
-
- onKey(event) {
- const i = this.displayedImage.index;
- console.log(event);
-
- switch (event.key) {
- case 'ArrowLeft': {
- this.displayedImage = this.gallery.files[i - 1];
- break;
- }
-
- case 'ArrowRight': {
- this.displayedImage = this.gallery.files[i + 1];
- break;
- }
-
- case 'ArrowUp': {
- window.open(this.displayedImage.path, '_blank');
- break;
- }
-
- case 'ArrowDown': {
- this.displayedImage = null;
- break;
- }
-
- default:
- break;
- }
-
- event.preventDefault();
- }
-
-}
diff --git a/ui/v1/src/app/galleries/gallery-list/gallery-list.component.html b/ui/v1/src/app/galleries/gallery-list/gallery-list.component.html
deleted file mode 100644
index df7ba507c..000000000
--- a/ui/v1/src/app/galleries/gallery-list/gallery-list.component.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ui/v1/src/app/galleries/gallery-list/gallery-list.component.ts b/ui/v1/src/app/galleries/gallery-list/gallery-list.component.ts
deleted file mode 100644
index 397fd0ff4..000000000
--- a/ui/v1/src/app/galleries/gallery-list/gallery-list.component.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { ActivatedRoute, Router } from '@angular/router';
-
-import { GalleriesService } from '../galleries.service';
-
-@Component({
- selector: 'app-gallery-list',
- templateUrl: './gallery-list.component.html'
-})
-export class GalleryListComponent implements OnInit {
- state = this.galleriesService.listState;
-
- constructor(private galleriesService: GalleriesService,
- private route: ActivatedRoute,
- private router: Router) {}
-
- ngOnInit() {}
-
- onClickNew() {
- this.router.navigate(['new'], { relativeTo: this.route });
- }
-
-}
diff --git a/ui/v1/src/app/performers/performer-detail/performer-detail.component.css b/ui/v1/src/app/performers/performer-detail/performer-detail.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/performers/performer-detail/performer-detail.component.html b/ui/v1/src/app/performers/performer-detail/performer-detail.component.html
deleted file mode 100644
index cfc3ec927..000000000
--- a/ui/v1/src/app/performers/performer-detail/performer-detail.component.html
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
-
-
-
-
![]()
-
-
-
-
-
-
-
{{performer.aliases}}
-
-
-
-
-
-
-
-
-
- Career Length
- {{performer.career_length}}
-
-
- Country
- {{performer.country}}
-
-
- Ethnicity
- {{performer.ethnicity?.toUpperCase()}}
-
-
- Eye Color
- {{performer.eye_color}}
-
-
- Height (cm)
- {{performer.height}}
-
-
- Measurements
- {{performer.measurements}}
-
-
- Fake Tits
- {{performer.fake_tits}}
-
-
- Tattoos
- {{performer.tattoos}}
-
-
- Piercings
- {{performer.piercings}}
-
-
-
-
-
-
-
-
-
-
-
0 || performer?.instagram?.length > 0" class="ui basic segment">
-
Social
-
-
-
-
-
-
-
diff --git a/ui/v1/src/app/performers/performer-detail/performer-detail.component.ts b/ui/v1/src/app/performers/performer-detail/performer-detail.component.ts
deleted file mode 100644
index 5e034290f..000000000
--- a/ui/v1/src/app/performers/performer-detail/performer-detail.component.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { ActivatedRoute, Router } from '@angular/router';
-
-import { StashService } from '../../core/stash.service';
-import { PerformersService } from '../performers.service';
-
-import { PerformerData } from '../../core/graphql-generated';
-
-import { SceneListState, CustomCriteria } from '../../shared/models/list-state.model';
-
-@Component({
- selector: 'app-performer-detail',
- templateUrl: './performer-detail.component.html',
- styleUrls: ['./performer-detail.component.css']
-})
-export class PerformerDetailComponent implements OnInit {
- performer: PerformerData.Fragment;
- sceneListState: SceneListState;
-
- constructor(
- private route: ActivatedRoute,
- private stashService: StashService,
- private performerService: PerformersService,
- private router: Router
- ) {}
-
- ngOnInit() {
- const id = parseInt(this.route.snapshot.params['id'], 10);
- this.sceneListState = this.performerService.detailsSceneListState;
- this.sceneListState.filter.customCriteria = [];
- this.sceneListState.filter.customCriteria.push(new CustomCriteria('performer_id', id.toString()));
-
- this.getPerformer();
- window.scrollTo(0, 0);
- }
-
- getPerformer() {
- const id = parseInt(this.route.snapshot.params['id'], 10);
-
- this.stashService.findPerformer(id).valueChanges.subscribe(performer => {
- this.performer = performer.data.findPerformer;
- });
- }
-
- onClickEdit() {
- this.router.navigate(['edit'], { relativeTo: this.route });
- }
-
- twitterLink(): string {
- return 'http://www.twitter.com/' + this.performer.twitter;
- }
-
- instagramLink(): string {
- return 'http://www.instagram.com/' + this.performer.instagram;
- }
-}
diff --git a/ui/v1/src/app/performers/performer-form/performer-form.component.css b/ui/v1/src/app/performers/performer-form/performer-form.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/performers/performer-form/performer-form.component.html b/ui/v1/src/app/performers/performer-form/performer-form.component.html
deleted file mode 100644
index fb2608a35..000000000
--- a/ui/v1/src/app/performers/performer-form/performer-form.component.html
+++ /dev/null
@@ -1,118 +0,0 @@
-
\ No newline at end of file
diff --git a/ui/v1/src/app/performers/performer-form/performer-form.component.ts b/ui/v1/src/app/performers/performer-form/performer-form.component.ts
deleted file mode 100644
index 7acb12aa8..000000000
--- a/ui/v1/src/app/performers/performer-form/performer-form.component.ts
+++ /dev/null
@@ -1,204 +0,0 @@
-import { Component, OnInit, OnDestroy } from '@angular/core';
-import { ActivatedRoute, Router } from '@angular/router';
-
-import { StashService } from '../../core/stash.service';
-
-import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
-
-import { FormControl } from '@angular/forms';
-
-@Component({
- selector: 'app-performer-form',
- templateUrl: './performer-form.component.html',
- styleUrls: ['./performer-form.component.css']
-})
-export class PerformerFormComponent implements OnInit, OnDestroy {
- name: string;
- favorite: boolean;
- aliases: string;
- country: string;
- birthdate: string;
- ethnicity: string;
- eye_color: string;
- height: string;
- measurements: string;
- fake_tits: string;
- career_length: string;
- tattoos: string;
- piercings: string;
- url: string;
- twitter: string;
- instagram: string;
- image: string;
-
- loading = true;
- imagePreview: string;
- image_path: string;
- ethnicityOptions: string[] = ['white', 'black', 'asian', 'hispanic'];
- performerNameOptions: string[] = [];
- selectedName: string;
-
- searchFormControl = new FormControl();
-
- constructor(
- private route: ActivatedRoute,
- private stashService: StashService,
- private router: Router
- ) {}
-
- ngOnInit() {
- this.getPerformer();
-
- this.searchFormControl.valueChanges.pipe(
- debounceTime(400),
- distinctUntilChanged()
- ).subscribe(term => {
- this.name = term;
- this.getPerformerNames(term);
- });
- }
-
- ngOnDestroy() {}
-
- async getPerformer() {
- const id = parseInt(this.route.snapshot.params['id'], 10);
- if (!!id === false) {
- console.log('new performer');
- this.loading = false;
- return;
- }
-
- const result = await this.stashService.findPerformer(id).result();
- this.loading = result.loading;
-
- this.name = result.data.findPerformer.name;
- this.selectedName = this.name;
- this.searchFormControl.setValue(this.name);
- this.favorite = result.data.findPerformer.favorite;
- this.aliases = result.data.findPerformer.aliases;
- this.country = result.data.findPerformer.country;
- this.birthdate = result.data.findPerformer.birthdate;
- this.ethnicity = result.data.findPerformer.ethnicity;
- this.eye_color = result.data.findPerformer.eye_color;
- this.height = result.data.findPerformer.height;
- this.measurements = result.data.findPerformer.measurements;
- this.fake_tits = result.data.findPerformer.fake_tits;
- this.career_length = result.data.findPerformer.career_length;
- this.tattoos = result.data.findPerformer.tattoos;
- this.piercings = result.data.findPerformer.piercings;
- this.url = result.data.findPerformer.url;
- this.twitter = result.data.findPerformer.twitter;
- this.instagram = result.data.findPerformer.instagram;
-
- this.image_path = result.data.findPerformer.image_path;
- this.imagePreview = this.image_path;
- }
-
- async getPerformerNames(query: string) {
- if (query === undefined) { return; }
- if (this.selectedName !== this.name) { this.selectedName = null; }
- const result = await this.stashService.scrapeFreeonesPerformers(query).result();
- this.performerNameOptions = result.data.scrapeFreeonesPerformerList;
- }
-
- onClickedPerformerName(name) {
- this.name = name;
- this.selectedName = name;
- this.searchFormControl.setValue(this.name);
- }
-
- onImageChange(event) {
- const file: File = event.target.files[0];
- const reader: FileReader = new FileReader();
-
- reader.onloadend = (e) => {
- this.image = reader.result as string;
- this.imagePreview = this.image;
- };
- reader.readAsDataURL(file);
- }
-
- onResetImage(imageInput) {
- imageInput.value = '';
- this.imagePreview = this.image_path;
- this.image = null;
- }
-
- onFavoriteChange() {
- this.favorite = !this.favorite;
- }
-
- onSubmit() {
- const id = this.route.snapshot.params['id'];
-
- if (!!id) {
- this.stashService.performerUpdate({
- id: id,
- name: this.name,
- url: this.url,
- birthdate: this.birthdate,
- ethnicity: this.ethnicity,
- country: this.country,
- eye_color: this.eye_color,
- height: this.height,
- measurements: this.measurements,
- fake_tits: this.fake_tits,
- career_length: this.career_length,
- tattoos: this.tattoos,
- piercings: this.piercings,
- aliases: this.aliases,
- twitter: this.twitter,
- instagram: this.instagram,
- favorite: this.favorite,
- image: this.image
- }).subscribe(result => {
- this.router.navigate(['/performers', id]);
- });
- } else {
- this.stashService.performerCreate({
- name: this.name,
- url: this.url,
- birthdate: this.birthdate,
- ethnicity: this.ethnicity,
- country: this.country,
- eye_color: this.eye_color,
- height: this.height,
- measurements: this.measurements,
- fake_tits: this.fake_tits,
- career_length: this.career_length,
- tattoos: this.tattoos,
- piercings: this.piercings,
- aliases: this.aliases,
- twitter: this.twitter,
- instagram: this.instagram,
- favorite: this.favorite,
- image: this.image
- }).subscribe(result => {
- this.router.navigate(['/performers', result.data.performerCreate.id]);
- });
- }
- }
-
- async onScrape() {
- this.loading = true;
- const result = await this.stashService.scrapeFreeones(this.name).result();
- this.loading = false;
-
- this.url = result.data.scrapeFreeones.url;
- this.name = result.data.scrapeFreeones.name;
- this.searchFormControl.setValue(this.name);
- this.aliases = result.data.scrapeFreeones.aliases;
- this.country = result.data.scrapeFreeones.country;
- this.birthdate = result.data.scrapeFreeones.birthdate ? result.data.scrapeFreeones.birthdate : this.birthdate;
- this.ethnicity = result.data.scrapeFreeones.ethnicity;
- this.eye_color = result.data.scrapeFreeones.eye_color;
- this.height = result.data.scrapeFreeones.height;
- this.measurements = result.data.scrapeFreeones.measurements;
- this.fake_tits = result.data.scrapeFreeones.fake_tits;
- this.career_length = result.data.scrapeFreeones.career_length;
- this.tattoos = result.data.scrapeFreeones.tattoos;
- this.piercings = result.data.scrapeFreeones.piercings;
- this.twitter = result.data.scrapeFreeones.twitter;
- this.instagram = result.data.scrapeFreeones.instagram;
- }
-}
diff --git a/ui/v1/src/app/performers/performer-list/performer-list.component.html b/ui/v1/src/app/performers/performer-list/performer-list.component.html
deleted file mode 100644
index df7ba507c..000000000
--- a/ui/v1/src/app/performers/performer-list/performer-list.component.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ui/v1/src/app/performers/performer-list/performer-list.component.ts b/ui/v1/src/app/performers/performer-list/performer-list.component.ts
deleted file mode 100644
index 1c83beba2..000000000
--- a/ui/v1/src/app/performers/performer-list/performer-list.component.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { ActivatedRoute, Router } from '@angular/router';
-
-import { PerformersService } from '../performers.service';
-
-@Component({
- selector: 'app-performer-list',
- templateUrl: './performer-list.component.html'
-})
-export class PerformerListComponent implements OnInit {
- state = this.performersService.performerListState;
-
- constructor(private performersService: PerformersService,
- private route: ActivatedRoute,
- private router: Router) {}
-
- ngOnInit() {}
-
- onClickNew() {
- this.router.navigate(['new'], { relativeTo: this.route });
- }
-
-}
diff --git a/ui/v1/src/app/performers/performers-routing.module.ts b/ui/v1/src/app/performers/performers-routing.module.ts
deleted file mode 100644
index c8c98ca7a..000000000
--- a/ui/v1/src/app/performers/performers-routing.module.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { NgModule } from '@angular/core';
-import { RouterModule, Routes } from '@angular/router';
-
-import { PerformersComponent } from './performers/performers.component';
-import { PerformerListComponent } from './performer-list/performer-list.component';
-import { PerformerDetailComponent } from './performer-detail/performer-detail.component';
-import { PerformerFormComponent } from './performer-form/performer-form.component';
-
-const performersRoutes: Routes = [
- { path: '',
- component: PerformersComponent,
- children: [
- { path: '', component: PerformerListComponent },
- { path: 'new', component: PerformerFormComponent },
- { path: ':id', component: PerformerDetailComponent },
- { path: ':id/edit', component: PerformerFormComponent }
- ]
- }
-];
-
-@NgModule({
- imports: [
- RouterModule.forChild(performersRoutes)
- ],
- exports: [
- RouterModule
- ]
-})
-export class PerformersRoutingModule {}
diff --git a/ui/v1/src/app/performers/performers.module.ts b/ui/v1/src/app/performers/performers.module.ts
deleted file mode 100644
index be7b4d1ff..000000000
--- a/ui/v1/src/app/performers/performers.module.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { NgModule } from '@angular/core';
-import { SharedModule } from '../shared/shared.module';
-import { ReactiveFormsModule } from '@angular/forms';
-
-import { PerformersRoutingModule } from './performers-routing.module';
-import { PerformersService } from './performers.service';
-
-import { PerformersComponent } from './performers/performers.component';
-import { PerformerListComponent } from './performer-list/performer-list.component';
-import { PerformerDetailComponent } from './performer-detail/performer-detail.component';
-import { PerformerFormComponent } from './performer-form/performer-form.component';
-
-@NgModule({
- imports: [
- ReactiveFormsModule,
- SharedModule,
- PerformersRoutingModule
- ],
- declarations: [
- PerformersComponent,
- PerformerListComponent,
- PerformerDetailComponent,
- PerformerFormComponent
- ],
- providers: [
- PerformersService
- ]
-})
-export class PerformersModule {}
diff --git a/ui/v1/src/app/performers/performers.service.ts b/ui/v1/src/app/performers/performers.service.ts
deleted file mode 100644
index 620f40d9a..000000000
--- a/ui/v1/src/app/performers/performers.service.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Injectable } from '@angular/core';
-
-import { PerformerListState, SceneListState } from '../shared/models/list-state.model';
-
-@Injectable()
-export class PerformersService {
- performerListState: PerformerListState = new PerformerListState();
- detailsSceneListState: SceneListState = new SceneListState();
-
- constructor() {}
-}
diff --git a/ui/v1/src/app/performers/performers/performers.component.ts b/ui/v1/src/app/performers/performers/performers.component.ts
deleted file mode 100644
index b41e5ccff..000000000
--- a/ui/v1/src/app/performers/performers/performers.component.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-@Component({
- selector: 'app-performers',
- template: ''
-})
-export class PerformersComponent implements OnInit {
-
- constructor() {}
-
- ngOnInit() {}
-
-}
diff --git a/ui/v1/src/app/scenes/marker-list/marker-list.component.ts b/ui/v1/src/app/scenes/marker-list/marker-list.component.ts
deleted file mode 100644
index 554d05ae1..000000000
--- a/ui/v1/src/app/scenes/marker-list/marker-list.component.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-import { ScenesService } from '../scenes.service';
-
-@Component({
- selector: 'app-marker-list',
- template: ''
-})
-export class MarkerListComponent implements OnInit {
- state = this.scenesService.sceneMarkerListState;
-
- constructor(private scenesService: ScenesService) {}
-
- ngOnInit() {}
-
-}
diff --git a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.css b/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.html b/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.html
deleted file mode 100644
index 9bf9c7f2a..000000000
--- a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{marker.seconds | seconds}}
-
-
-
-
-
-
-
-
diff --git a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.ts b/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.ts
deleted file mode 100644
index 085ad6aeb..000000000
--- a/ui/v1/src/app/scenes/scene-detail-marker-manager/scene-detail-marker-manager.component.ts
+++ /dev/null
@@ -1,162 +0,0 @@
-import { Component, OnInit, OnChanges, SimpleChanges, Input } from '@angular/core';
-import { FormControl } from '@angular/forms';
-
-import { StashService } from '../../core/stash.service';
-
-import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
-
-import { MarkerStrings, SceneMarkerData, SceneData, AllTagsForFilter } from '../../core/graphql-generated';
-
-
-@Component({
- selector: 'app-scene-detail-marker-manager',
- templateUrl: './scene-detail-marker-manager.component.html',
- styleUrls: ['./scene-detail-marker-manager.component.css']
-})
-export class SceneDetailMarkerManagerComponent implements OnInit, OnChanges {
- @Input() scene: SceneData.Fragment;
- @Input() player: any;
-
- showingMarkerModal = false;
- markerOptions: MarkerStrings.Query['markerStrings'];
- filteredMarkerOptions: string[] = [];
- hasFocus = false;
- editingMarker: SceneMarkerData.Fragment;
- deleteClickCount = 0;
-
- searchFormControl = new FormControl();
-
- // Form input
- title: string;
- seconds: number;
- primary_tag_id: string;
- tag_ids: string[] = [];
-
- // From the network
- tags: AllTagsForFilter.AllTags[];
-
- constructor(private stashService: StashService) {}
-
- ngOnInit() {
- this.stashService.allTagsForFilter().valueChanges.subscribe(result => {
- this.tags = result.data.allTags;
- });
-
- this.stashService.markerStrings().valueChanges.subscribe(result => {
- this.markerOptions = result.data.markerStrings;
- });
-
- this.searchFormControl.valueChanges.pipe(
- debounceTime(400),
- distinctUntilChanged()
- ).subscribe(term => {
- this.filteredMarkerOptions = this.markerOptions.filter(value => {
- return value.title.toLowerCase().includes(term.toLowerCase());
- }).map(value => {
- return value.title;
- }).slice(0, 15);
- });
- }
-
- ngOnChanges(changes: SimpleChanges): void {
- if (changes['scene']) {
- }
- }
-
- onSubmit() {
- this.title = this.searchFormControl.value;
- const input = {
- id: null,
- title: this.title,
- seconds: this.seconds,
- scene_id: this.scene.id,
- primary_tag_id: this.primary_tag_id,
- tag_ids: this.tag_ids
- };
-
- if (this.editingMarker == null) {
- this.stashService.markerCreate(input).subscribe(response => {
- console.log(response);
- this.hideModal();
- }, error => {
- console.log(error);
- });
- } else {
- input.id = this.editingMarker.id;
- this.stashService.markerUpdate(input).subscribe(response => {
- console.log(response);
- this.hideModal();
- }, error => {
- console.log(error);
- });
- }
- }
-
- onCancel() {
- this.hideModal();
- }
-
- onClickDelete() {
- this.deleteClickCount += 1;
- if (this.deleteClickCount > 2) {
- this.stashService.markerDestroy(this.editingMarker.id, this.scene.id).subscribe(response => {
- console.log('Delete successfull:', response);
- this.hideModal();
- });
- }
- }
-
- onClickAddMarker() {
- this.player.pause();
- this.showModal();
- }
-
- onClickMarker(marker: SceneMarkerData.Fragment) {
- this.player.seek(marker.seconds);
- }
-
- onClickEditMarker(marker: SceneMarkerData.Fragment) {
- this.showModal(marker);
- }
-
- onClickMarkerTitle(title: string) {
- this.setTitle(title);
- }
-
- setHasFocus(hasFocus: boolean) {
- if (hasFocus === false) {
- setTimeout(() => { this.hasFocus = false; }, 400);
- } else {
- this.hasFocus = hasFocus;
- }
- }
-
- private hideModal() {
- this.showingMarkerModal = false;
- this.editingMarker = null;
- }
-
- private showModal(marker: SceneMarkerData.Fragment = null) {
- this.deleteClickCount = 0;
- this.showingMarkerModal = true;
-
- this.setTitle('');
- this.primary_tag_id = null;
- this.tag_ids = [];
- this.seconds = Math.round(this.player.getPosition());
-
- if (marker == null) { return; }
-
- this.editingMarker = marker;
-
- this.setTitle(marker.title);
- this.seconds = marker.seconds;
- this.primary_tag_id = marker.primary_tag.id;
- this.tag_ids = marker.tags.map(value => value.id);
- }
-
- private setTitle(title: string) {
- this.title = title;
- this.searchFormControl.setValue(title);
- }
-}
diff --git a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.css b/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.css
deleted file mode 100644
index aefc6f310..000000000
--- a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.css
+++ /dev/null
@@ -1,128 +0,0 @@
-.scrubber-wrapper {
- position: relative;
- overflow: hidden;
- margin: 5px 0;
-}
-
-#scrubber-back {
- float: left;
-}
-
-#scrubber-forward {
- float: right;
-}
-
-.scrubber-button {
- width: 1.5%;
- height: 100%;
- line-height: 120px;
- padding: 0;
- text-align: center;
- border: 1px solid #555;
- font-weight: 800;
- font-size: 20px;
- color: #FFF;
- cursor: pointer;
-}
-
-.scrubber-content {
- -webkit-user-select: none;
- -webkit-overflow-scrolling: touch;
- cursor: -webkit-grab;
- height: 120px;
- width: 96%;
- margin: 0 0.5%;
- display: inline-block;
- position: relative;
- overflow: hidden;
-}
-
-.scrubber-content.dragging {
- cursor: -webkit-grabbing;
-}
-
-.scrubber-tags-background {
- background-color: #555;
- position: absolute;
- left: 0;
- right: 0;
- height: 20px;
-}
-
-#scrubber-position-indicator {
- background-color: #CCC;
- width: 100%;
- left: -100%;
- height: 20px;
- z-index: 0;
- position: absolute;
-}
-
-#scrubber-current-position {
- background-color: #FFF;
- width: 2px;
- height: 30px;
- left: 50%;
- z-index: 100;
- position: absolute;
-}
-
-.scrubber-viewport {
- position: static;
- height: 100%;
- overflow: hidden;
-}
-
-.scrubber-slider {
- position: absolute;
- width: 100%;
- height: 100%;
- left: 0;
- transition: 333ms ease-out;
-}
-
-.scrubber-tags {
- height: 20px;
- position: relative;
- margin-bottom: 10px;
-}
-
-.scrubber-tag {
- position: absolute;
- background-color: #000;
- font-size: 10px;
- white-space: nowrap;
- padding: 0 10px;
- cursor: pointer;
-}
-.scrubber-tag:hover {
- z-index: 1;
- background-color: #444;
-}
-.scrubber-tag:after {
- content: "";
- position: absolute;
- bottom: -5px;
- left: 50%;
- margin-left: -5px;
- border-top: solid 5px #000;
- border-left: solid 5px transparent;
- border-right: solid 5px transparent;
-}
-
-.scrubber-item {
- position: absolute;
- display: flex;
- margin-right: 10px;
- cursor: pointer;
- color: white;
- text-shadow: 1px 1px black;
- text-align: center;
- font-size: 10px;
-}
-
-.scrubber-item span {
- display: inline-block;
- align-self: flex-end;
- width: 100%;
-}
\ No newline at end of file
diff --git a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.html b/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.html
deleted file mode 100644
index f1d4500c1..000000000
--- a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
<
-
-
-
-
-
-
-
-
- {{spriteItem.start | seconds}} - {{spriteItem.end | seconds}}
-
-
-
-
-
>
-
diff --git a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.ts b/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.ts
deleted file mode 100644
index 62887615b..000000000
--- a/ui/v1/src/app/scenes/scene-detail-scrubber/scene-detail-scrubber.component.ts
+++ /dev/null
@@ -1,232 +0,0 @@
-import {
- Component,
- OnInit,
- OnChanges,
- SimpleChanges,
- Input,
- Output,
- HostListener,
- ViewChild,
- EventEmitter
-} from '@angular/core';
-
-import { HttpClient } from '@angular/common/http';
-
-import { SceneData } from '../../core/graphql-generated';
-
-class SceneSpriteItem {
- start: number;
- end: number;
- x: number;
- y: number;
- w: number;
- h: number;
-}
-
-@Component({
- selector: 'app-scene-detail-scrubber',
- templateUrl: './scene-detail-scrubber.component.html',
- styleUrls: ['./scene-detail-scrubber.component.css']
-})
-export class SceneDetailScrubberComponent implements OnInit, OnChanges {
- @Input() scene: SceneData.Fragment;
- @Output() seek: EventEmitter = new EventEmitter();
- @Output() scrolled: EventEmitter = new EventEmitter();
-
- slider: HTMLElement;
- @ViewChild('scrubberSlider') sliderTag: any;
-
- indicator: HTMLElement;
- @ViewChild('positionIndicator') indicatorTag: any;
-
- spriteItems: SceneSpriteItem[] = [];
-
- private mouseDown = false;
- private last: MouseEvent;
- private start: MouseEvent;
- private velocity = 0;
-
- private _position = 0;
- getPostion(): number { return this._position; }
- setPosition(newPostion: number, shouldEmit: boolean = true) {
- if (shouldEmit) { this.scrolled.emit(); }
-
- const midpointOffset = this.slider.clientWidth / 2;
-
- const bounds = this.getBounds() * -1;
- if (newPostion > midpointOffset) {
- this._position = midpointOffset;
- } else if (newPostion < bounds - midpointOffset) {
- this._position = bounds - midpointOffset;
- } else {
- this._position = newPostion;
- }
-
- this.slider.style.transform = `translateX(${this._position}px)`;
-
- const indicatorPosition = ((newPostion - midpointOffset) / (bounds - (midpointOffset * 2)) * this.slider.clientWidth);
- this.indicator.style.transform = `translateX(${indicatorPosition}px)`;
- }
-
- @HostListener('window:mouseup', ['$event'])
- onMouseup(event: MouseEvent) {
- if (!this.start) { return; }
- this.mouseDown = false;
- const delta = Math.abs(event.clientX - this.start.clientX);
- if (delta < 1 && event.target instanceof HTMLDivElement) {
- const target: HTMLDivElement = event.target;
- let seekSeconds: number = null;
-
- const spriteIdString = target.getAttribute('data-sprite-item-id');
- if (spriteIdString != null) {
- const spritePercentage = event.offsetX / target.clientWidth;
- const offset = target.offsetLeft + (target.clientWidth * spritePercentage);
- const percentage = offset / this.slider.scrollWidth;
- seekSeconds = percentage * this.scene.file.duration;
- }
-
- const markerIdString = target.getAttribute('data-marker-id');
- if (markerIdString != null) {
- const marker = this.scene.scene_markers[Number(markerIdString)];
- seekSeconds = marker.seconds;
- }
-
- if (!!seekSeconds) { this.seek.emit(seekSeconds); }
- } else if (Math.abs(this.velocity) > 25) {
- const newPosition = this.getPostion() + (this.velocity * 10);
- this.setPosition(newPosition);
- this.velocity = 0;
- }
- }
-
- @HostListener('mousedown', ['$event'])
- onMousedown(event) {
- event.preventDefault();
- this.mouseDown = true;
- this.last = event;
- this.start = event;
- this.velocity = 0;
- }
-
- @HostListener('mousemove', ['$event'])
- onMousemove(event: MouseEvent) {
- if (!this.mouseDown) { return; }
-
- // negative dragging right (past), positive left (future)
- const delta = event.clientX - this.last.clientX;
-
- const movement = event.movementX;
- this.velocity = movement;
-
- const newPostion = this.getPostion() + delta;
- this.setPosition(newPostion);
- this.last = event;
- }
-
- constructor(private http: HttpClient) {}
-
- ngOnInit() {
- this.slider = this.sliderTag.nativeElement;
- this.indicator = this.indicatorTag.nativeElement;
-
- this.slider.style.transform = `translateX(${this.slider.clientWidth / 2}px)`;
- }
-
- ngOnChanges(changes: SimpleChanges): void {
- if (changes['scene']) {
- this.fetchSpriteInfo();
- }
- }
-
- fetchSpriteInfo() {
- if (!this.scene) { return; }
-
- this.http.get(this.scene.paths.vtt, {responseType: 'text'}).subscribe(res => {
- // TODO: This is gnarly
- const lines = res.split('\n');
- if (lines.shift() !== 'WEBVTT') { return; }
- if (lines.shift() !== '') { return; }
- let item = new SceneSpriteItem();
- this.spriteItems = [];
- while (lines.length) {
- const line = lines.shift();
-
- if (line.includes('#') && line.includes('=') && line.includes(',')) {
- const size = line.split('#')[1].split('=')[1].split(',');
- item.x = Number(size[0]);
- item.y = Number(size[1]);
- item.w = Number(size[2]);
- item.h = Number(size[3]);
-
- this.spriteItems.push(item);
- item = new SceneSpriteItem();
- } else if (line.includes(' --> ')) {
- const times = line.split(' --> ');
-
- const start = times[0].split(':');
- item.start = (+start[0]) * 60 * 60 + (+start[1]) * 60 + (+start[2]);
-
- const end = times[1].split(':');
- item.end = (+end[0]) * 60 * 60 + (+end[1]) * 60 + (+end[2]);
- }
- }
- }, error => {
- console.log(error);
- });
- }
-
- getBounds(): number {
- return this.slider.scrollWidth - this.slider.clientWidth;
- }
-
- getStyleForSprite(i) {
- const sprite = this.spriteItems[i];
- const left = sprite.w * i;
- const path = this.scene.paths.vtt.replace('_thumbs.vtt', '_sprite.jpg'); // TODO: Gnarly
- return {
- 'width.px': sprite.w,
- 'height.px': sprite.h,
- 'margin': '0px auto',
- 'background-position': -sprite.x + 'px ' + -sprite.y + 'px',
- 'background-image': `url(${path})`,
- 'left.px': left
- };
- }
-
- getTagStyle(tag: HTMLDivElement, i: number) {
- if (!this.slider || this.spriteItems.length === 0 || this.getBounds() === 0) { return {}; }
-
- const marker = this.scene.scene_markers[i];
- const duration = Number(this.scene.file.duration);
- const percentage = marker.seconds / duration;
-
- // TODO: this doesn't seem necessary anymore. Double check.
- // Need to offset from the left margin or the tags are slightly off.
- // const offset = Number(window.getComputedStyle(this.slider.offsetParent).marginLeft.replace('px', ''));
- const offset = 0;
-
- const left = (this.slider.scrollWidth * percentage) - (tag.clientWidth / 2) + offset;
- return {
- 'left.px': left,
- 'height.px': 20
- };
- }
-
- goBack() {
- const newPosition = this.getPostion() + this.slider.clientWidth;
- this.setPosition(newPosition);
- }
-
- goForward() {
- const newPosition = this.getPostion() - this.slider.clientWidth;
- this.setPosition(newPosition);
- }
-
- public scrollTo(seconds: number) {
- const duration = Number(this.scene.file.duration);
- const percentage = seconds / duration;
- const position = ((this.slider.scrollWidth * percentage) - (this.slider.clientWidth / 2)) * -1;
- this.setPosition(position, false);
- }
-
-}
diff --git a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.css b/ui/v1/src/app/scenes/scene-detail/scene-detail.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.html b/ui/v1/src/app/scenes/scene-detail/scene-detail.component.html
deleted file mode 100644
index 6ed72ffa5..000000000
--- a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.html
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-
-
-
-
Details
-
{{scene.details}}
-
-
-
0" class="ui inverted attached segment">
-
Performers
-
-
-
-
0" class="ui inverted attached segment">
-
Tags
-
-
-
-
-
-
-
diff --git a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.ts b/ui/v1/src/app/scenes/scene-detail/scene-detail.component.ts
deleted file mode 100644
index d93cfa805..000000000
--- a/ui/v1/src/app/scenes/scene-detail/scene-detail.component.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { Component, OnInit, ViewChild } from '@angular/core';
-import { ActivatedRoute, Router } from '@angular/router';
-
-import { StashService } from '../../core/stash.service';
-
-import { SceneData } from '../../core/graphql-generated';
-
-@Component({
- selector: 'app-scene-detail',
- templateUrl: './scene-detail.component.html',
- styleUrls: ['./scene-detail.component.css']
-})
-export class SceneDetailComponent implements OnInit {
- scene: SceneData.Fragment;
-
- private lastTime = 0;
-
- private isPlayerSetup = false;
-
- @ViewChild('jwplayer') jwplayer: any;
- @ViewChild('scrubber') scrubber: any;
-
- constructor(private route: ActivatedRoute, private stashService: StashService, private router: Router) { }
-
- ngOnInit() {
- this.getScene();
- window.scrollTo(0, 0);
- }
-
- getScene() {
- const id = parseInt(this.route.snapshot.params['id'], 10);
-
- this.stashService.findScene(id).valueChanges.subscribe(result => {
- this.scene = Object.assign({scene_marker_tags: result.data.sceneMarkerTags}, result.data.findScene);
-
- // TODO: Check this, this didn't matter before...
- if (!this.isPlayerSetup) {
- const streamPath = this.scene.paths.stream;
- const screenshotPath = this.scene.paths.screenshot;
- const vttPath = this.scene.paths.vtt;
- const chaptersVttPath = this.scene.paths.chapters_vtt;
- this.jwplayer.setupPlayer(streamPath, screenshotPath, vttPath, chaptersVttPath);
- this.isPlayerSetup = true;
-
- this.route.queryParams.subscribe(params => {
- if (params['t'] != null) {
- this.jwplayer.player.seek(params['t']);
- }
- });
- }
- }, error => {
- console.log(error);
- });
- }
-
- onClickEdit() {
- this.router.navigate(['edit'], { relativeTo: this.route });
- }
-
- onSeeked() {
- const position = this.jwplayer.player.getPosition();
- this.scrubber.scrollTo(position);
- this.jwplayer.player.play();
- }
-
- onTime(data) {
- const position = this.jwplayer.player.getPosition();
- const difference = Math.abs(position - this.lastTime);
- if (difference > 1) {
- this.lastTime = position;
- this.scrubber.scrollTo(position);
- }
- }
-
- scrubberSeek(seconds) {
- this.jwplayer.player.seek(seconds);
- }
-
- scrubberScrolled() {
- this.jwplayer.player.pause();
- }
-}
diff --git a/ui/v1/src/app/scenes/scene-form/scene-form.component.css b/ui/v1/src/app/scenes/scene-form/scene-form.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/scenes/scene-form/scene-form.component.html b/ui/v1/src/app/scenes/scene-form/scene-form.component.html
deleted file mode 100644
index 4bdbc0302..000000000
--- a/ui/v1/src/app/scenes/scene-form/scene-form.component.html
+++ /dev/null
@@ -1,98 +0,0 @@
-
diff --git a/ui/v1/src/app/scenes/scene-form/scene-form.component.ts b/ui/v1/src/app/scenes/scene-form/scene-form.component.ts
deleted file mode 100644
index 583476390..000000000
--- a/ui/v1/src/app/scenes/scene-form/scene-form.component.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { ActivatedRoute, Router } from '@angular/router';
-
-import { StashService } from '../../core/stash.service';
-
-import { FindSceneForEditing } from '../../core/graphql-generated';
-
-@Component({
- selector: 'app-scene-form',
- templateUrl: './scene-form.component.html',
- styleUrls: ['./scene-form.component.css']
-})
-export class SceneFormComponent implements OnInit {
- loading = true;
-
- title: string;
- details: string;
- url: string;
- date: string;
- rating: number;
- gallery_id: string;
- studio_id: string;
- performer_ids: string[] = [];
- tag_ids: string[] = [];
-
- performers: FindSceneForEditing.Query['allPerformers'];
- tags: FindSceneForEditing.Query['allTags'];
- studios: FindSceneForEditing.Query['allStudios'];
- galleries: FindSceneForEditing.Query['validGalleriesForScene'];
-
- constructor(
- private route: ActivatedRoute,
- private stashService: StashService,
- private router: Router
- ) {}
-
- ngOnInit() {
- this.getScene();
- }
-
- getScene() {
- const id = parseInt(this.route.snapshot.params['id'], 10);
-
- if (!!id === false) {
- console.log('new scene');
- return;
- }
-
- this.stashService.findSceneForEditing(id).valueChanges.subscribe(result => {
- this.title = result.data.findScene.title;
- this.details = result.data.findScene.details;
- this.url = result.data.findScene.url;
- this.date = result.data.findScene.date;
- this.rating = result.data.findScene.rating;
- this.gallery_id = !!result.data.findScene.gallery ? result.data.findScene.gallery.id : null;
- this.studio_id = !!result.data.findScene.studio ? result.data.findScene.studio.id : null;
- this.performer_ids = result.data.findScene.performers.map(performer => performer.id);
- this.tag_ids = result.data.findScene.tags.map(tag => tag.id);
-
- this.performers = result.data.allPerformers;
- this.tags = result.data.allTags;
- this.studios = result.data.allStudios;
- this.galleries = result.data.validGalleriesForScene;
-
- this.loading = result.loading;
- });
- }
-
- onSubmit() {
- const id = this.route.snapshot.params['id'];
- this.stashService.sceneUpdate({
- id: id,
- title: this.title,
- details: this.details,
- url: this.url,
- date: this.date,
- rating: this.rating,
- studio_id: this.studio_id,
- gallery_id: this.gallery_id,
- performer_ids: this.performer_ids,
- tag_ids: this.tag_ids
- }).subscribe(result => {
- this.router.navigate(['/scenes', id]);
- });
- }
-
-}
diff --git a/ui/v1/src/app/scenes/scene-list/scene-list.component.ts b/ui/v1/src/app/scenes/scene-list/scene-list.component.ts
deleted file mode 100644
index 9aa451ae2..000000000
--- a/ui/v1/src/app/scenes/scene-list/scene-list.component.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-import { ScenesService } from '../scenes.service';
-
-@Component({
- selector: 'app-scene-list',
- template: ''
-})
-export class SceneListComponent implements OnInit {
- state = this.scenesService.sceneListState;
-
- constructor(private scenesService: ScenesService) {}
-
- ngOnInit() {}
-
-}
diff --git a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.css b/ui/v1/src/app/scenes/scene-wall/scene-wall.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.html b/ui/v1/src/app/scenes/scene-wall/scene-wall.component.html
deleted file mode 100644
index a751d1682..000000000
--- a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.ts b/ui/v1/src/app/scenes/scene-wall/scene-wall.component.ts
deleted file mode 100644
index 462374adf..000000000
--- a/ui/v1/src/app/scenes/scene-wall/scene-wall.component.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl } from '@angular/forms';
-
-import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
-
-import { StashService } from '../../core/stash.service';
-
-export enum WallMode {
- Scenes,
- Markers
-}
-
-@Component({
- selector: 'app-scene-wall',
- templateUrl: './scene-wall.component.html',
- styleUrls: ['./scene-wall.component.css']
-})
-export class SceneWallComponent implements OnInit {
- WallMode = WallMode;
- items: any[]; // scenes or scene markers
- markerOptions: any[];
- showingMarkerList = false;
- searchTerm = '';
- searchFormControl = new FormControl();
- mode: WallMode = WallMode.Markers;
-
- constructor(
- private stashService: StashService
- ) {}
-
- ngOnInit() {
- this.searchFormControl.valueChanges.pipe(
- debounceTime(1000),
- distinctUntilChanged()
- ).subscribe(term => {
- this.getScenes(term);
- });
- this.stashService.markerStrings().valueChanges.subscribe(result => {
- this.markerOptions = result.data.markerStrings;
- });
- this.searchFormControl.setValue(this.searchTerm);
- }
-
- async getScenes(q: string) {
- this.items = null;
- this.searchTerm = q;
- if (this.mode === WallMode.Scenes) {
- const response = await this.stashService.sceneWall(q).result();
- this.items = response.data.sceneWall;
- } else {
- const response = await this.stashService.markerWall(q).result();
- this.items = response.data.markerWall;
- }
- }
-
- toggleMode() {
- if (this.mode === WallMode.Scenes) {
- this.mode = WallMode.Markers;
- } else {
- this.mode = WallMode.Scenes;
- }
- this.getScenes(this.searchTerm);
- }
-
- toggleMarkerList() {
- this.showingMarkerList = !this.showingMarkerList;
- }
-
- refresh() {
- this.getScenes(this.searchTerm);
- }
-
- onClickMarker(marker) {
- this.searchTerm = `${marker.title}`;
- this.searchFormControl.setValue(this.searchTerm);
- this.showingMarkerList = false;
- }
-
- async sortMarkers(by) {
- const result = await this.stashService.markerStrings(null, by).result();
- this.markerOptions = result.data.markerStrings;
- }
-
-}
diff --git a/ui/v1/src/app/scenes/scenes-routing.module.ts b/ui/v1/src/app/scenes/scenes-routing.module.ts
deleted file mode 100644
index cc7c20ac3..000000000
--- a/ui/v1/src/app/scenes/scenes-routing.module.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import { NgModule } from '@angular/core';
-import { RouterModule, Routes } from '@angular/router';
-
-import { ScenesComponent } from './scenes/scenes.component';
-import { SceneListComponent } from './scene-list/scene-list.component';
-import { SceneDetailComponent } from './scene-detail/scene-detail.component';
-import { SceneFormComponent } from './scene-form/scene-form.component';
-import { SceneWallComponent } from './scene-wall/scene-wall.component';
-import { MarkerListComponent } from './marker-list/marker-list.component';
-
-const scenesRoutes: Routes = [
- { path: 'wall', component: SceneWallComponent },
- { path: 'markers', component: MarkerListComponent },
- { path: '',
- component: ScenesComponent,
- children: [
- { path: '', component: SceneListComponent },
- { path: ':id', component: SceneDetailComponent },
- { path: ':id/edit', component: SceneFormComponent }
- ]
- }
-];
-
-@NgModule({
- imports: [
- RouterModule.forChild(scenesRoutes)
- ],
- exports: [
- RouterModule
- ]
-})
-export class ScenesRoutingModule {}
diff --git a/ui/v1/src/app/scenes/scenes.module.ts b/ui/v1/src/app/scenes/scenes.module.ts
deleted file mode 100644
index 526985337..000000000
--- a/ui/v1/src/app/scenes/scenes.module.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { NgModule } from '@angular/core';
-import { SharedModule } from '../shared/shared.module';
-
-import { ScenesRoutingModule } from './scenes-routing.module';
-import { ScenesService } from './scenes.service';
-
-import { ScenesComponent } from './scenes/scenes.component';
-import { SceneListComponent } from './scene-list/scene-list.component';
-import { SceneDetailComponent } from './scene-detail/scene-detail.component';
-import { SceneFormComponent } from './scene-form/scene-form.component';
-import { SceneWallComponent } from './scene-wall/scene-wall.component';
-import { SceneDetailScrubberComponent } from './scene-detail-scrubber/scene-detail-scrubber.component';
-import { SceneDetailMarkerManagerComponent } from './scene-detail-marker-manager/scene-detail-marker-manager.component';
-import { MarkerListComponent } from './marker-list/marker-list.component';
-
-@NgModule({
- imports: [
- SharedModule,
- ScenesRoutingModule
- ],
- declarations: [
- ScenesComponent,
- SceneListComponent,
- SceneDetailComponent,
- SceneFormComponent,
- SceneWallComponent,
- SceneDetailScrubberComponent,
- SceneDetailMarkerManagerComponent,
- MarkerListComponent
- ],
- providers: [
- ScenesService
- ]
-})
-export class ScenesModule {}
diff --git a/ui/v1/src/app/scenes/scenes.service.ts b/ui/v1/src/app/scenes/scenes.service.ts
deleted file mode 100644
index 58aa9d0a6..000000000
--- a/ui/v1/src/app/scenes/scenes.service.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Injectable } from '@angular/core';
-
-import { SceneListState, SceneMarkerListState } from '../shared/models/list-state.model';
-
-@Injectable()
-export class ScenesService {
- sceneListState: SceneListState = new SceneListState();
- sceneMarkerListState: SceneMarkerListState = new SceneMarkerListState();
-
- constructor() {}
-}
diff --git a/ui/v1/src/app/scenes/scenes/scenes.component.ts b/ui/v1/src/app/scenes/scenes/scenes.component.ts
deleted file mode 100644
index 8ff906060..000000000
--- a/ui/v1/src/app/scenes/scenes/scenes.component.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-@Component({
- selector: 'app-scenes',
- template: ''
-})
-export class ScenesComponent implements OnInit {
-
- constructor() {}
-
- ngOnInit() {}
-
-}
diff --git a/ui/v1/src/app/settings/settings-routing.module.ts b/ui/v1/src/app/settings/settings-routing.module.ts
deleted file mode 100644
index 1f1b360a7..000000000
--- a/ui/v1/src/app/settings/settings-routing.module.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { NgModule } from '@angular/core';
-import { Routes, RouterModule } from '@angular/router';
-
-import { SettingsComponent } from './settings/settings.component';
-
-const routes: Routes = [
- { path: '',
- component: SettingsComponent
- }
-];
-
-@NgModule({
- imports: [RouterModule.forChild(routes)],
- exports: [RouterModule]
-})
-export class SettingsRoutingModule {}
diff --git a/ui/v1/src/app/settings/settings.module.ts b/ui/v1/src/app/settings/settings.module.ts
deleted file mode 100644
index b5bde6d08..000000000
--- a/ui/v1/src/app/settings/settings.module.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { NgModule } from '@angular/core';
-import { SharedModule } from '../shared/shared.module';
-
-import { SettingsRoutingModule } from './settings-routing.module';
-import { SettingsComponent } from './settings/settings.component';
-
-@NgModule({
- imports: [
- SharedModule,
- SettingsRoutingModule
- ],
- declarations: [
- SettingsComponent
- ]
-})
-export class SettingsModule {}
diff --git a/ui/v1/src/app/settings/settings/settings.component.html b/ui/v1/src/app/settings/settings/settings.component.html
deleted file mode 100644
index bf850f466..000000000
--- a/ui/v1/src/app/settings/settings/settings.component.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-{{message}}
-
-
-
-
-
- {{log.type}} - {{log.message}}
-
-
\ No newline at end of file
diff --git a/ui/v1/src/app/settings/settings/settings.component.ts b/ui/v1/src/app/settings/settings/settings.component.ts
deleted file mode 100644
index f78a7cb18..000000000
--- a/ui/v1/src/app/settings/settings/settings.component.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { Component, OnInit, OnDestroy } from '@angular/core';
-import { Subscription } from 'rxjs';
-
-import { StashService } from '../../core/stash.service';
-
-@Component({
- selector: 'app-settings',
- templateUrl: './settings.component.html'
-})
-export class SettingsComponent implements OnInit, OnDestroy {
- progress: number;
- message: string;
- logs: string[];
- statusObservable: Subscription;
- importClickCount = 0;
-
- constructor(private stashService: StashService) {}
-
- ngOnInit() {
- this.statusObservable = this.stashService.metadataUpdate().subscribe(response => {
- const result = JSON.parse(response.data.metadataUpdate);
-
- this.progress = result.progress;
- this.message = result.message;
- this.logs = result.logs;
- });
- }
-
- ngOnDestroy() {
- if (!this.statusObservable) { return; }
- this.statusObservable.unsubscribe();
- }
-
- onClickImport() {
- this.importClickCount += 1;
- if (this.importClickCount > 2) {
- this.stashService.metadataImport().refetch();
- this.importClickCount = 0;
- }
- }
-
- onClickExport() {
- this.stashService.metadataExport().refetch();
- }
-
- onClickScan() {
- this.stashService.metadataScan().refetch();
- }
-
- onClickGenerate() {
- this.stashService.metadataGenerate().refetch();
- }
-
- onClickClean() {
- this.stashService.metadataClean().refetch();
- }
-
-}
diff --git a/ui/v1/src/app/shared/age.pipe.ts b/ui/v1/src/app/shared/age.pipe.ts
deleted file mode 100644
index 2ffc0185f..000000000
--- a/ui/v1/src/app/shared/age.pipe.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core';
-
-@Pipe({
- name: 'age'
-})
-export class AgePipe implements PipeTransform {
-
- transform(value: string, ageFromDate?: string): number {
- if (!!value === false) { return 0; }
-
- const birthdate = new Date(value);
- const fromDate = !!ageFromDate ? new Date(ageFromDate) : new Date();
-
- let age = fromDate.getFullYear() - birthdate.getFullYear();
- if (birthdate.getMonth() > fromDate.getMonth() ||
- (birthdate.getMonth() >= fromDate.getMonth() && birthdate.getDay() > fromDate.getDay())) {
- age -= 1;
- }
-
- return age;
- }
-
-}
diff --git a/ui/v1/src/app/shared/base-wall-item/base-wall-item.component.ts b/ui/v1/src/app/shared/base-wall-item/base-wall-item.component.ts
deleted file mode 100644
index 6ec3fb61e..000000000
--- a/ui/v1/src/app/shared/base-wall-item/base-wall-item.component.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { Component, OnInit, ViewChild, ElementRef, HostListener } from '@angular/core';
-
-@Component({
- selector: 'app-base-wall-item',
- template: ''
-})
-export class BaseWallItemComponent implements OnInit {
- private video: any;
- private hoverTimeout: any = null;
- isHovering = false;
-
- title = '';
- imagePath = '';
- videoPath = '';
-
- @ViewChild('videoTag')
- set videoTag(videoTag: ElementRef) {
- if (videoTag === undefined) { return; }
- this.video = videoTag.nativeElement;
- this.video.volume = 0.05;
- this.video.loop = true;
- this.video.oncanplay = () => {
- this.video.play();
- };
- }
-
- constructor() {}
-
- ngOnInit() {}
-
- @HostListener('mouseenter', ['$event'])
- onMouseEnter(e) {
- if (!!this.hoverTimeout) { return; }
-
- const that = this;
- this.hoverTimeout = setTimeout(function() {
- that.configureTimeout(e);
- }, 1000);
- }
-
- @HostListener('mouseleave')
- onMouseLeave() {
- if (!!this.hoverTimeout) {
- clearTimeout(this.hoverTimeout);
- this.hoverTimeout = null;
- }
- if (this.video !== undefined) {
- this.video.pause();
- this.video.src = '';
- }
- this.isHovering = false;
- }
-
- @HostListener('mousemove', ['$event'])
- onMouseMove(event: MouseEvent) {
- if (!!this.hoverTimeout) {
- clearTimeout(this.hoverTimeout);
- this.hoverTimeout = null;
- }
- this.configureTimeout(event);
- }
-
- transitionEnd(event) {
- if (event.target.classList.contains('double-scale')) {
- event.target.style.zIndex = 2;
- } else {
- event.target.style.zIndex = null;
- }
- }
-
- private configureTimeout(event: MouseEvent) {
- const that = this;
- this.hoverTimeout = setTimeout(function() {
- if (event.target instanceof HTMLElement) {
- const target: HTMLElement = event.target;
- if (target.className === 'scene-wall-item-text-container' ||
- target.offsetParent.className === 'scene-wall-item-text-container') {
- that.configureTimeout(event);
- return;
- }
- }
- that.isHovering = true;
- }, 1000);
- }
-}
diff --git a/ui/v1/src/app/shared/capitalize.pipe.ts b/ui/v1/src/app/shared/capitalize.pipe.ts
deleted file mode 100644
index 4102f87f4..000000000
--- a/ui/v1/src/app/shared/capitalize.pipe.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core';
-
-@Pipe({
- name: 'capitalize'
-})
-export class CapitalizePipe implements PipeTransform {
-
- transform(value: any, args?: any): any {
- if (value) {
- return value.charAt(0).toUpperCase() + value.slice(1);
- }
- return value;
- }
-
-}
diff --git a/ui/v1/src/app/shared/file-name.pipe.ts b/ui/v1/src/app/shared/file-name.pipe.ts
deleted file mode 100644
index e9473f764..000000000
--- a/ui/v1/src/app/shared/file-name.pipe.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core';
-
-@Pipe({
- name: 'filename'
-})
-export class FileNamePipe implements PipeTransform {
-
- transform(value: string, args?: any): string {
- if (!!value === false) { return 'No File Name'; }
- return value.replace(/^.*[\\\/]/, '');
- }
-
-}
diff --git a/ui/v1/src/app/shared/file-size.pipe.ts b/ui/v1/src/app/shared/file-size.pipe.ts
deleted file mode 100644
index ed6779b21..000000000
--- a/ui/v1/src/app/shared/file-size.pipe.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core';
-
-@Pipe({
- name: 'fileSize'
-})
-export class FileSizePipe implements PipeTransform {
-
- private units = [
- 'bytes',
- 'kB',
- 'MB',
- 'GB',
- 'TB',
- 'PB'
- ];
-
- transform(bytes: number = 0, precision: number = 2): string {
- if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) { return '?'; }
-
- let unit = 0;
- while ( bytes >= 1024 ) {
- bytes /= 1024;
- unit++;
- }
-
- return bytes.toFixed(+precision) + ' ' + this.units[ unit ];
- }
-
-}
diff --git a/ui/v1/src/app/shared/gallery-card/gallery-card.component.css b/ui/v1/src/app/shared/gallery-card/gallery-card.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/shared/gallery-card/gallery-card.component.html b/ui/v1/src/app/shared/gallery-card/gallery-card.component.html
deleted file mode 100644
index b8ceceb0f..000000000
--- a/ui/v1/src/app/shared/gallery-card/gallery-card.component.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/ui/v1/src/app/shared/gallery-card/gallery-card.component.ts b/ui/v1/src/app/shared/gallery-card/gallery-card.component.ts
deleted file mode 100644
index be7cae3e6..000000000
--- a/ui/v1/src/app/shared/gallery-card/gallery-card.component.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { Component, OnInit, Input, HostBinding } from '@angular/core';
-import { Router } from '@angular/router';
-
-import { GalleryData } from '../../core/graphql-generated';
-
-@Component({
- selector: 'app-gallery-card',
- templateUrl: './gallery-card.component.html',
- styleUrls: ['./gallery-card.component.css']
-})
-export class GalleryCardComponent implements OnInit {
- @Input() gallery: GalleryData.Fragment;
-
- // The host class needs to be card
- @HostBinding('class') class = 'card';
-
- constructor(
- private router: Router
- ) {}
-
- ngOnInit() {
- }
-
- onSelect(): void {
- this.router.navigate(['/galleries', this.gallery.id]);
- }
-
-}
diff --git a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.css b/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.html b/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.html
deleted file mode 100644
index 87aa0b8cc..000000000
--- a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.ts b/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.ts
deleted file mode 100644
index fe7853c4c..000000000
--- a/ui/v1/src/app/shared/gallery-preview/gallery-preview.component.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';
-import { Router } from '@angular/router';
-
-import { StashService } from '../../core/stash.service';
-
-import { GalleryImage } from '../../shared/models/gallery.model';
-import { GalleryData } from '../../core/graphql-generated';
-
-@Component({
- selector: 'app-gallery-preview',
- templateUrl: './gallery-preview.component.html',
- styleUrls: ['./gallery-preview.component.css']
-})
-export class GalleryPreviewComponent implements OnInit, OnChanges {
- @Input() gallery: GalleryData.Fragment;
- @Input() galleryId: number;
- @Input() type = 'random';
- @Input() numberOfRandomImages = 12;
- @Input() showTitles = true;
- @Input() numberPerRow = 4;
- @Output() clicked: EventEmitter = new EventEmitter();
- files: GalleryImage[];
-
- constructor(
- private router: Router,
- private stashService: StashService
- ) {}
-
- ngOnInit() {
- if (!!this.galleryId) {
- this.fetchGallery();
- }
- }
-
- async fetchGallery() {
- const result = await this.stashService.findGallery(this.galleryId).result();
- this.gallery = result.data.findGallery;
- this.setupFiles();
- }
-
- imagePath(image) {
- return `${image.path}?thumb=true`;
- }
-
- shuffle(a) {
- for (let i = a.length; i; i--) {
- const j = Math.floor(Math.random() * i);
- [a[i - 1], a[j]] = [a[j], a[i - 1]];
- }
- }
-
- onClickGallery() {
- if (this.type === 'random') {
- this.router.navigate(['galleries', this.gallery.id]);
- }
- }
-
- onClickImage(image) {
- if (this.type === 'full') {
- this.clicked.emit(image);
- }
- }
-
- suiWidthForNumberPerRow(): string {
- switch (this.numberPerRow) {
- case 1: {
- return 'sixteen';
- }
- case 2: {
- return 'eight';
- }
- case 4: {
- return 'four';
- }
- default:
- return 'four';
- }
- }
-
- setupFiles() {
- if (!this.gallery) { return; }
-
- this.files = [...this.gallery.files];
- if (this.type === 'random') {
- this.shuffle(this.files);
- this.files = this.files.slice(0, this.numberOfRandomImages);
- } else if (this.type === 'gallery') {
-
- }
- }
-
- ngOnChanges(changes: any) {
- if (!!changes.gallery) {
- this.setupFiles();
- }
- }
-
-}
diff --git a/ui/v1/src/app/shared/jwplayer/jwplayer.component.css b/ui/v1/src/app/shared/jwplayer/jwplayer.component.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/ui/v1/src/app/shared/jwplayer/jwplayer.component.html b/ui/v1/src/app/shared/jwplayer/jwplayer.component.html
deleted file mode 100644
index 96eb71cf5..000000000
--- a/ui/v1/src/app/shared/jwplayer/jwplayer.component.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
\ No newline at end of file
diff --git a/ui/v1/src/app/shared/jwplayer/jwplayer.component.ts b/ui/v1/src/app/shared/jwplayer/jwplayer.component.ts
deleted file mode 100644
index 580762065..000000000
--- a/ui/v1/src/app/shared/jwplayer/jwplayer.component.ts
+++ /dev/null
@@ -1,139 +0,0 @@
-import { Component, EventEmitter, Input, Output, ElementRef } from '@angular/core';
-
-declare var jwplayer: any;
-
-@Component({
- selector: 'app-jwplayer',
- templateUrl: './jwplayer.component.html',
- styleUrls: ['./jwplayer.component.css']
-})
-export class JwplayerComponent {
- @Input() public title: string;
- @Input() public file: string;
- @Input() public image: string;
- @Input() public height: string;
- @Input() public width: string;
- @Output() public bufferChange: EventEmitter = new EventEmitter();
- @Output() public complete: EventEmitter = new EventEmitter();
- @Output() public buffer: EventEmitter = new EventEmitter();
- @Output() public error: EventEmitter = new EventEmitter();
- @Output() public play: EventEmitter = new EventEmitter();
- @Output() public start: EventEmitter = new EventEmitter