From caa63127caf49b875d006cef5ebce40ea9528f64 Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Wed, 16 Oct 2019 09:57:24 +1100 Subject: [PATCH] Add performer list view. Add images to list views. --- ui/v2/src/components/Stats.tsx | 1 - .../components/performers/PerformerList.tsx | 3 +- .../performers/PerformerListTable.tsx | 107 ++++++++++ .../src/components/scenes/SceneListTable.tsx | 192 ++++++++++-------- ui/v2/src/index.scss | 19 ++ 5 files changed, 234 insertions(+), 88 deletions(-) create mode 100644 ui/v2/src/components/performers/PerformerListTable.tsx diff --git a/ui/v2/src/components/Stats.tsx b/ui/v2/src/components/Stats.tsx index b14a58727..a45485546 100644 --- a/ui/v2/src/components/Stats.tsx +++ b/ui/v2/src/components/Stats.tsx @@ -57,7 +57,6 @@ export const Stats: FunctionComponent = () => { * Filters for performers and studios only supports one item, even though it's a multi select. TODO: - * List view for scenes / performers * Websocket connection to display logs in the UI `} diff --git a/ui/v2/src/components/performers/PerformerList.tsx b/ui/v2/src/components/performers/PerformerList.tsx index 965aeb1cb..2ddde6df7 100644 --- a/ui/v2/src/components/performers/PerformerList.tsx +++ b/ui/v2/src/components/performers/PerformerList.tsx @@ -7,6 +7,7 @@ import { IBaseProps } from "../../models/base-props"; import { ListFilterModel } from "../../models/list-filter/filter"; import { DisplayMode, FilterMode } from "../../models/list-filter/types"; import { PerformerCard } from "./PerformerCard"; +import { PerformerListTable } from "./PerformerListTable"; interface IPerformerListProps extends IBaseProps {} @@ -27,7 +28,7 @@ export const PerformerList: FunctionComponent = (props: IPe ); } else if (filter.displayMode === DisplayMode.List) { - return

TODO

; + return ; } else if (filter.displayMode === DisplayMode.Wall) { return; } diff --git a/ui/v2/src/components/performers/PerformerListTable.tsx b/ui/v2/src/components/performers/PerformerListTable.tsx new file mode 100644 index 000000000..98f8b6c49 --- /dev/null +++ b/ui/v2/src/components/performers/PerformerListTable.tsx @@ -0,0 +1,107 @@ +import { + HTMLTable, + H5, + H6, + Button, + } from "@blueprintjs/core"; +import React, { FunctionComponent } from "react"; +import { Link } from "react-router-dom"; +import * as GQL from "../../core/generated-graphql"; +import { NavigationUtils } from "../../utils/navigation"; + +interface IPerformerListTableProps { + performers: GQL.PerformerDataFragment[]; +} + +export const PerformerListTable: FunctionComponent = (props: IPerformerListTableProps) => { + + function maybeRenderFavoriteHeart(performer : GQL.PerformerDataFragment) { + if (!performer.favorite) { return; } + return ( +