From 44c32a91d370d33d4caf9b9fb09897208bb3bd3d Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Fri, 14 Aug 2020 09:41:01 +1000 Subject: [PATCH] UI improvements (#726) * Use rating stars in movie * Make multiset button more obvious * Hide select all/none buttons where not selectable * Make add the default multi-set mode --- ui/v2.5/src/components/List/ListFilter.tsx | 2 +- .../components/Movies/MovieDetails/Movie.tsx | 19 +++++++++++-------- .../components/Scenes/EditScenesDialog.tsx | 4 ++-- ui/v2.5/src/components/Scenes/SceneList.tsx | 1 + ui/v2.5/src/components/Shared/MultiSet.tsx | 2 +- ui/v2.5/src/hooks/ListHook.tsx | 5 +++-- 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/ui/v2.5/src/components/List/ListFilter.tsx b/ui/v2.5/src/components/List/ListFilter.tsx index f709aa0da..c6581a6e3 100644 --- a/ui/v2.5/src/components/List/ListFilter.tsx +++ b/ui/v2.5/src/components/List/ListFilter.tsx @@ -361,7 +361,7 @@ export const ListFilter: React.FC = ( } function renderMore() { - const options = [renderSelectAll(), renderSelectNone()]; + const options = [renderSelectAll(), renderSelectNone()].filter((o) => o); if (props.otherOperations) { props.otherOperations diff --git a/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx b/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx index 116cddf06..68964ebc1 100644 --- a/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx +++ b/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx @@ -27,6 +27,7 @@ import { TextUtils, DurationUtils, } from "src/utils"; +import { RatingStars } from "src/components/Scenes/SceneDetails/RatingStars"; import { MovieScenesPanel } from "./MovieScenesPanel"; import { MovieScrapeDialog } from "./MovieScrapeDialog"; @@ -517,14 +518,16 @@ export const Movie: React.FC = () => { isEditing, onChange: setDirector, })} - {TableUtils.renderHtmlSelect({ - title: "Rating", - value: rating ?? "", - isEditing, - onChange: (value: string) => - setRating(Number.parseInt(value, 10)), - selectOptions: ["", "1", "2", "3", "4", "5"], - })} + + Rating + + setRating(value)} + /> + + diff --git a/ui/v2.5/src/components/Scenes/EditScenesDialog.tsx b/ui/v2.5/src/components/Scenes/EditScenesDialog.tsx index a19e44f3d..acdfeebc8 100644 --- a/ui/v2.5/src/components/Scenes/EditScenesDialog.tsx +++ b/ui/v2.5/src/components/Scenes/EditScenesDialog.tsx @@ -22,10 +22,10 @@ export const EditScenesDialog: React.FC = ( const [studioId, setStudioId] = useState(); const [performerMode, setPerformerMode] = React.useState< GQL.BulkUpdateIdMode - >(GQL.BulkUpdateIdMode.Set); + >(GQL.BulkUpdateIdMode.Add); const [performerIds, setPerformerIds] = useState(); const [tagMode, setTagMode] = React.useState( - GQL.BulkUpdateIdMode.Set + GQL.BulkUpdateIdMode.Add ); const [tagIds, setTagIds] = useState(); diff --git a/ui/v2.5/src/components/Scenes/SceneList.tsx b/ui/v2.5/src/components/Scenes/SceneList.tsx index 4f544de7a..40a4fc374 100644 --- a/ui/v2.5/src/components/Scenes/SceneList.tsx +++ b/ui/v2.5/src/components/Scenes/SceneList.tsx @@ -56,6 +56,7 @@ export const SceneList: React.FC = ({ const listData = useScenesList({ zoomable: true, + selectable: true, otherOperations, renderContent, renderEditDialog: renderEditScenesDialog, diff --git a/ui/v2.5/src/components/Shared/MultiSet.tsx b/ui/v2.5/src/components/Shared/MultiSet.tsx index 713cee05c..907d43f9c 100644 --- a/ui/v2.5/src/components/Shared/MultiSet.tsx +++ b/ui/v2.5/src/components/Shared/MultiSet.tsx @@ -64,7 +64,7 @@ const MultiSet: React.FunctionComponent = (