From 7aab2293b1c33b70f04d32034bce39bfe91c53b6 Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 2 Jan 2024 21:34:54 -0500 Subject: [PATCH] added TintSpinner component to SplitPanel, which ise used WeightEditPage to block input while the POST is being made --- .../src/api/weights/UpdateWeight.ts | 2 +- .../CoverImageInput/CoverImageInput.tsx | 62 ++++++++++ .../common/CoverImageInput/index.ts | 1 + .../common/SplitPanel/SplitPanel.tsx | 5 +- .../common/TintSpinner/TintSpinner.tsx | 14 +++ .../components/common/TintSpinner/index.ts | 1 + .../src/components/common/index.tsx | 6 +- .../hooks/useWeightFetch/useWeightFetch.tsx | 2 +- .../src/resources/basicTransition.ts | 11 ++ packages/fakeyou.com/src/resources/index.tsx | 3 +- .../v2/view/pages/weight/WeightEditPage.scss | 14 +++ .../v2/view/pages/weight/WeightEditPage.tsx | 108 ++---------------- 12 files changed, 127 insertions(+), 102 deletions(-) create mode 100644 packages/fakeyou.com/src/components/common/CoverImageInput/CoverImageInput.tsx create mode 100644 packages/fakeyou.com/src/components/common/CoverImageInput/index.ts create mode 100644 packages/fakeyou.com/src/components/common/TintSpinner/TintSpinner.tsx create mode 100644 packages/fakeyou.com/src/components/common/TintSpinner/index.ts create mode 100644 packages/fakeyou.com/src/resources/basicTransition.ts diff --git a/packages/components/src/api/weights/UpdateWeight.ts b/packages/components/src/api/weights/UpdateWeight.ts index d73e3c3721..378f536c26 100644 --- a/packages/components/src/api/weights/UpdateWeight.ts +++ b/packages/components/src/api/weights/UpdateWeight.ts @@ -1,7 +1,7 @@ import MakeRequest from "../MakeRequest"; export interface UpdateWeightRequest { - cover_image_media_file_token: string; + cover_image_media_file_token?: string; description_markdown: string, description_rendered_html: string, title: string, diff --git a/packages/fakeyou.com/src/components/common/CoverImageInput/CoverImageInput.tsx b/packages/fakeyou.com/src/components/common/CoverImageInput/CoverImageInput.tsx new file mode 100644 index 0000000000..23d6bbfe62 --- /dev/null +++ b/packages/fakeyou.com/src/components/common/CoverImageInput/CoverImageInput.tsx @@ -0,0 +1,62 @@ +import React, { useState } from 'react'; +import { a, useTransition } from "@react-spring/web"; +import { FetchStatus } from "@storyteller/components/src/api/_common/SharedFetchTypes"; +import { Button, ImageInput } from "components/common"; +import { WorkIndicator } from "components/svg"; +import { faImage } from "@fortawesome/pro-solid-svg-icons"; +import { basicTransition } from "resources"; + +interface Props { + currentPath?: string, + onClick: (x: any) => any, + status: FetchStatus +} + +interface UploadCtrlProps { + onClick: (x: any) => any, + status: FetchStatus +} + +const UploadControl = ({ onClick, status }: UploadCtrlProps) => { + const failure = status === FetchStatus.error; + const success = status === FetchStatus.success; + + return status === FetchStatus.ready ?