From 02b70e693ccfc92bc2a934d7eebf1170d163992c Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 18 Jul 2023 12:36:20 -0500 Subject: [PATCH] feat(web): add better face management UI action (#3328) * add better face management menu * context menu * change name form * change name * navigate to merge face * fix web --- .../components/faces-page/people-card.svelte | 64 +++++++++ web/src/routes/(user)/people/+page.svelte | 134 +++++++++++++----- .../(user)/people/[personId]/+page.svelte | 7 + 3 files changed, 171 insertions(+), 34 deletions(-) create mode 100644 web/src/lib/components/faces-page/people-card.svelte diff --git a/web/src/lib/components/faces-page/people-card.svelte b/web/src/lib/components/faces-page/people-card.svelte new file mode 100644 index 0000000000..6b967e832f --- /dev/null +++ b/web/src/lib/components/faces-page/people-card.svelte @@ -0,0 +1,64 @@ + + +
+ +
+ +
+ {#if person.name} + + {person.name} + + {/if} +
+ + +
+ +{#if showContextMenu} + +
+ +{/if} diff --git a/web/src/routes/(user)/people/+page.svelte b/web/src/routes/(user)/people/+page.svelte index 745197adfa..7dde956efb 100644 --- a/web/src/routes/(user)/people/+page.svelte +++ b/web/src/routes/(user)/people/+page.svelte @@ -1,46 +1,112 @@ - {#if data.people.length > 0} -
-
- {#each data.people as person (person.id)} -
- -
- -
- {#if person.name} - - {person.name} - - {/if} -
+
+ {#if data.people.length > 0} +
+
+ {#each data.people as person (person.id)} + + {/each} +
+
+ {:else} +
+
+ +

No people

+
+
+ {/if} +
+ + {#if showChangeNameModal} + (showChangeNameModal = false)}> +
+
+

Change name

+
+ +
+
+ + +
- {/each} + +
+ + +
+
-
- {:else} -
-
- -

No people

-
-
+ {/if} diff --git a/web/src/routes/(user)/people/[personId]/+page.svelte b/web/src/routes/(user)/people/[personId]/+page.svelte index b96f4627dc..1b1d6aa63c 100644 --- a/web/src/routes/(user)/people/[personId]/+page.svelte +++ b/web/src/routes/(user)/people/[personId]/+page.svelte @@ -29,6 +29,7 @@ notificationController, } from '$lib/components/shared-components/notification/notification'; import MergeFaceSelector from '$lib/components/faces-page/merge-face-selector.svelte'; + import { onMount } from 'svelte'; export let data: PageData; let isEditingName = false; @@ -42,6 +43,12 @@ $: showAssets = !showMergeFacePanel && !showFaceThumbnailSelection; + onMount(() => { + const action = $page.url.searchParams.get('action'); + if (action == 'merge') { + showMergeFacePanel = true; + } + }); afterNavigate(({ from }) => { // Prevent setting previousRoute to the current page. if (from && from.route.id !== $page.route.id) {