From 65c764e12d35728a122e1ac24fbf9151bc7e8d9b Mon Sep 17 00:00:00 2001 From: okatu-loli Date: Tue, 24 Sep 2024 18:17:43 +0800 Subject: [PATCH] feat: Reduce code duplication in form item rendering --- web/src/auth/SignupPage.js | 244 ++++++------------------------------- 1 file changed, 36 insertions(+), 208 deletions(-) diff --git a/web/src/auth/SignupPage.js b/web/src/auth/SignupPage.js index 17186e72..75574628 100644 --- a/web/src/auth/SignupPage.js +++ b/web/src/auth/SignupPage.js @@ -50,6 +50,38 @@ const formItemLayout = { }, }; +const renderFormItem = (signupItem) => { + const commonProps = { + name: signupItem.name.toLowerCase(), + label: signupItem.label || signupItem.name, + rules: [ + { + required: signupItem.required, + message: i18next.t(`signup:Please input your ${signupItem.label || signupItem.name}!`), + }, + ], + }; + + if (!signupItem.type || signupItem.type === "Input") { + return ( + + + + ); + } else if (signupItem.type === "Single Choice" || signupItem.type === "Multiple Choices") { + return ( + + - - ); - } - if (!signupItem.type || signupItem.type === "Input") { - return ( - - - - ); - } else if (signupItem.type === "Single Choice" || signupItem.type === "Multiple Choices") { - return ( - - - - ); - } - if (!signupItem.type || signupItem.type === "Input") { - return ( - - - - ); - } else if (signupItem.type === "Single Choice" || signupItem.type === "Multiple Choices") { - return ( - - - - ); - } - if (!signupItem.type || signupItem.type === "Input") { - return ( - - - - ); - } else if (signupItem.type === "Single Choice" || signupItem.type === "Multiple Choices") { - return ( - - - - ); - } - if (!signupItem.type || signupItem.type === "Input") { - return ( - - - - ); - } else if (signupItem.type === "Single Choice" || signupItem.type === "Multiple Choices") { - return ( - -