From 11d19cf04907ec42620ca1247c62ed54cf30e249 Mon Sep 17 00:00:00 2001 From: BFlat Date: Sat, 30 Dec 2023 19:39:02 +0700 Subject: [PATCH] SD weight upload page --- .../common/Card/ImageCard/ImageCard.tsx | 2 +- .../components/common/TempInput/TempInput.tsx | 8 +- .../common/TempSelect/TempSelect.tsx | 72 ++++--- .../common/TempTextArea/TempTextArea.tsx | 26 ++- .../fakeyou.com/src/scss/site-refresh.scss | 7 + .../fakeyou.com/src/v2/view/PageContainer.tsx | 7 + .../view/pages/upload/UploadSdWeightPage.tsx | 137 +++++++++++++ .../v2/view/pages/weight/WeightEditPage.tsx | 187 ++++++++++++------ 8 files changed, 349 insertions(+), 97 deletions(-) create mode 100644 packages/fakeyou.com/src/v2/view/pages/upload/UploadSdWeightPage.tsx diff --git a/packages/fakeyou.com/src/components/common/Card/ImageCard/ImageCard.tsx b/packages/fakeyou.com/src/components/common/Card/ImageCard/ImageCard.tsx index b25cae811a..a963fa390e 100644 --- a/packages/fakeyou.com/src/components/common/Card/ImageCard/ImageCard.tsx +++ b/packages/fakeyou.com/src/components/common/Card/ImageCard/ImageCard.tsx @@ -55,7 +55,7 @@ export default function ImageCard({ let coverImage = "/images/avatars/default-pfp.png"; if (type === "media") { - coverImage = bucketConfig.getCdnUrl(data.public_bucket_path, 400, 100); + coverImage = bucketConfig.getCdnUrl(data.public_bucket_path, 600, 100); } else if (type === "weights") { if (data.maybe_cover_image_public_bucket_path) { coverImage = bucketConfig.getCdnUrl( diff --git a/packages/fakeyou.com/src/components/common/TempInput/TempInput.tsx b/packages/fakeyou.com/src/components/common/TempInput/TempInput.tsx index 88ba698134..bf743ce1fc 100644 --- a/packages/fakeyou.com/src/components/common/TempInput/TempInput.tsx +++ b/packages/fakeyou.com/src/components/common/TempInput/TempInput.tsx @@ -6,17 +6,23 @@ interface InputProps extends React.InputHTMLAttributes { icon?: IconDefinition; label?: string; textArea?: boolean; + required?: boolean; } export default function TempInput({ label, icon, textArea, + required, ...rest }: InputProps) { return ( <> - {label && } + {label && ( + + )}
{icon && ( diff --git a/packages/fakeyou.com/src/components/common/TempSelect/TempSelect.tsx b/packages/fakeyou.com/src/components/common/TempSelect/TempSelect.tsx index 1c3b3212da..7ac093c8e8 100644 --- a/packages/fakeyou.com/src/components/common/TempSelect/TempSelect.tsx +++ b/packages/fakeyou.com/src/components/common/TempSelect/TempSelect.tsx @@ -16,15 +16,33 @@ export interface SelectProps extends ReactSelectProps { small?: boolean; options: Option[]; onChange?: (value: any) => void; + required?: boolean; } -export default function Select({ label, icon, name, onChange: inChange = () => {}, options = [], rounded, small, value, ...rest }: SelectProps) { - const valueLabel = options.find((option: any) => option.value === value)?.label || ""; - const onChange = ({ value }: any) => inChange({ target: { value, name, type: "select" } }); - const className = `form-group${ icon ? " input-icon" : "" }${ small ? " select-small" : "" }`; +export default function Select({ + label, + icon, + name, + onChange: inChange = () => {}, + options = [], + rounded, + small, + value, + required, + ...rest +}: SelectProps) { + const valueLabel = + options.find((option: any) => option.value === value)?.label || ""; + const onChange = ({ value }: any) => + inChange({ target: { value, name, type: "select" } }); + const className = `form-group${icon ? " input-icon" : ""}${ + small ? " select-small" : "" + }`; const classNames = { control: ({ isFocused }: { isFocused: boolean }) => - `select${icon ? " with-icon" : ""}${rounded ? " rounded-full" : ""}${ isFocused ? " focused" : "" }`, + `select${icon ? " with-icon" : ""}${rounded ? " rounded-full" : ""}${ + isFocused ? " focused" : "" + }`, option: () => "select-option", input: () => "select-input", placeholder: () => "select-placeholder", @@ -33,23 +51,31 @@ export default function Select({ label, icon, name, onChange: inChange = () => { indicatorSeparator: () => "select-separator", }; - return <> - { label && } -
- { icon && } -
- + return ( + <> + {label && ( + + )} +
+ {icon && ( + + )} +
+ +
-
- ; + + ); } diff --git a/packages/fakeyou.com/src/components/common/TempTextArea/TempTextArea.tsx b/packages/fakeyou.com/src/components/common/TempTextArea/TempTextArea.tsx index 34dac2cac4..9c86b75baf 100644 --- a/packages/fakeyou.com/src/components/common/TempTextArea/TempTextArea.tsx +++ b/packages/fakeyou.com/src/components/common/TempTextArea/TempTextArea.tsx @@ -4,13 +4,25 @@ interface TextAreaProps extends React.TextareaHTMLAttributes { label?: string; textArea?: boolean; + required?: boolean; } -export default function TempTextArea({ label, textArea, ...rest }: TextAreaProps) { - return <> - { label && } -
-