Edit UI for people and life events; existing-person picker in family view
Person detail: an Edit form for name + gender + living status + privacy, and inline edit of each life event (type + structured date). Family view: the add-relative buttons now search existing people (link the real person) or create new — preventing duplicate spouses/parents — and adding a child to someone with one spouse links both parents. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Justin Paul <justin@jpaul.me>
This commit is contained in:
Vendored
+111
-2
@@ -243,7 +243,8 @@ export interface paths {
|
||||
delete: operations["delete_person_api_v1_trees__tree_id__persons__person_id__delete"];
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
/** Update Person */
|
||||
patch: operations["update_person_api_v1_trees__tree_id__persons__person_id__patch"];
|
||||
trace?: never;
|
||||
};
|
||||
"/api/v1/trees/{tree_id}/persons/{person_id}/restore": {
|
||||
@@ -312,7 +313,8 @@ export interface paths {
|
||||
delete: operations["delete_event_api_v1_trees__tree_id__events__event_id__delete"];
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
/** Update Event */
|
||||
patch: operations["update_event_api_v1_trees__tree_id__events__event_id__patch"];
|
||||
trace?: never;
|
||||
};
|
||||
"/api/v1/trees/{tree_id}/relationships": {
|
||||
@@ -676,6 +678,27 @@ export interface components {
|
||||
*/
|
||||
created_at: string;
|
||||
};
|
||||
/** EventUpdate */
|
||||
EventUpdate: {
|
||||
/** Event Type */
|
||||
event_type?: string | null;
|
||||
/** Place Id */
|
||||
place_id?: string | null;
|
||||
/** Date Value */
|
||||
date_value?: string | null;
|
||||
/** Date Start */
|
||||
date_start?: string | null;
|
||||
/** Date End */
|
||||
date_end?: string | null;
|
||||
/** Date Precision */
|
||||
date_precision?: string | null;
|
||||
/** Calendar */
|
||||
calendar?: string | null;
|
||||
/** Detail */
|
||||
detail?: string | null;
|
||||
/** Notes */
|
||||
notes?: string | null;
|
||||
};
|
||||
/** HTTPValidationError */
|
||||
HTTPValidationError: {
|
||||
/** Detail */
|
||||
@@ -798,6 +821,20 @@ export interface components {
|
||||
*/
|
||||
created_at: string;
|
||||
};
|
||||
/** PersonUpdate */
|
||||
PersonUpdate: {
|
||||
/** Given */
|
||||
given?: string | null;
|
||||
/** Surname */
|
||||
surname?: string | null;
|
||||
/** Gender */
|
||||
gender?: string | null;
|
||||
/** Is Living */
|
||||
is_living?: boolean | null;
|
||||
privacy?: components["schemas"]["PersonPrivacy"] | null;
|
||||
/** Notes */
|
||||
notes?: string | null;
|
||||
};
|
||||
/** RegisterRequest */
|
||||
RegisterRequest: {
|
||||
/** Email */
|
||||
@@ -1539,6 +1576,42 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
update_person_api_v1_trees__tree_id__persons__person_id__patch: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
tree_id: string;
|
||||
person_id: string;
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody: {
|
||||
content: {
|
||||
"application/json": components["schemas"]["PersonUpdate"];
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["PersonRead"];
|
||||
};
|
||||
};
|
||||
/** @description Validation Error */
|
||||
422: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HTTPValidationError"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
restore_person_api_v1_trees__tree_id__persons__person_id__restore_post: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -1699,6 +1772,42 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
update_event_api_v1_trees__tree_id__events__event_id__patch: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
tree_id: string;
|
||||
event_id: string;
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody: {
|
||||
content: {
|
||||
"application/json": components["schemas"]["EventUpdate"];
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["EventRead"];
|
||||
};
|
||||
};
|
||||
/** @description Validation Error */
|
||||
422: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HTTPValidationError"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
list_relationships_api_v1_trees__tree_id__relationships_get: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
|
||||
Reference in New Issue
Block a user