From 38becd42ac92910a8b3af059ceefc498d1a600e4 Mon Sep 17 00:00:00 2001 From: Ebube Date: Sun, 17 Mar 2024 20:04:31 +0100 Subject: [PATCH] . --- src/components/GetStarted/BasicInfo.tsx | 12 ++++ src/components/GetStarted/GetStarted.tsx | 16 +++-- src/components/shared/Button.tsx | 12 +++- src/components/shared/InputCompOne.tsx | 81 ++++++++++++++++++++++++ src/components/shared/index.ts | 3 +- src/pages/index.ts | 2 +- 6 files changed, 116 insertions(+), 10 deletions(-) create mode 100644 src/components/GetStarted/BasicInfo.tsx create mode 100644 src/components/shared/InputCompOne.tsx diff --git a/src/components/GetStarted/BasicInfo.tsx b/src/components/GetStarted/BasicInfo.tsx new file mode 100644 index 0000000..1ba7a55 --- /dev/null +++ b/src/components/GetStarted/BasicInfo.tsx @@ -0,0 +1,12 @@ +import React from 'react' +import { InputCompOne } from '..' + +const BasicInfo = () => { + return ( +
+ +
+ ) +} + +export default BasicInfo diff --git a/src/components/GetStarted/GetStarted.tsx b/src/components/GetStarted/GetStarted.tsx index 8c7e9a1..ea6a80d 100644 --- a/src/components/GetStarted/GetStarted.tsx +++ b/src/components/GetStarted/GetStarted.tsx @@ -1,17 +1,23 @@ import { FC } from "react"; +import BasicInfo from "./BasicInfo"; const GetStarted: FC = () => { return (
+ {/* Header */}

Let’s Get You Started

-
-

- BASIC INFORMATION -

-
+ {/* Main */} +
+
+

+ BASIC INFORMATION +

+
+ +
); diff --git a/src/components/shared/Button.tsx b/src/components/shared/Button.tsx index 3c22961..2bf778d 100644 --- a/src/components/shared/Button.tsx +++ b/src/components/shared/Button.tsx @@ -1,11 +1,17 @@ - +import { FC } from "react"; type ButtonProps = { className?: string; text: string; }; -const Button = ({ text, className }: ButtonProps) => { - return ; +const Button = ({ text, className }: ButtonProps): FC => { + return ( + + ); }; export default Button; diff --git a/src/components/shared/InputCompOne.tsx b/src/components/shared/InputCompOne.tsx new file mode 100644 index 0000000..fad54aa --- /dev/null +++ b/src/components/shared/InputCompOne.tsx @@ -0,0 +1,81 @@ +import React from "react"; + +interface InputCompOneProps { + label: string; + labelClass: string; + placeholder?: string; + value: string; + onChange: (e: React.ChangeEvent) => void; + onInput?: (e: React.FormEvent) => void; + name: string; + tabIndex?: number; + ref?: React.RefObject; + selectValue?: string; + parentInputClass?: string; + input?: boolean; + select?: boolean; + inputType?: string; + selectOptions?: { value: string; label: string }[]; + icon?: string | React.ReactNode; // Type for the icon +} + +const InputCompOne: React.FC = ({ + label, + labeClass, + placeholder = "Placeholder", + value, + onChange, + onInput, + name, + tabIndex, + ref, + selectValue, + input, + select, + inputType = "text", + selectOptions, + icon, +}) => { + return ( +
+ {label && ( + + )} + {input && ( +
+ + {icon && ( +
+ {typeof icon === "string" ? icon : icon} +
+ )} +
+ )} + {select && ( +
+ +
+ )} +
+ ); +}; + +export default InputCompOne; diff --git a/src/components/shared/index.ts b/src/components/shared/index.ts index 4f733f4..750e379 100644 --- a/src/components/shared/index.ts +++ b/src/components/shared/index.ts @@ -1,3 +1,4 @@ import Button from "./Button"; +import InputCompOne from "./InputCompOne"; -export {Button} \ No newline at end of file +export {Button, InputCompOne} \ No newline at end of file diff --git a/src/pages/index.ts b/src/pages/index.ts index b052ca2..0b20d2c 100644 --- a/src/pages/index.ts +++ b/src/pages/index.ts @@ -2,4 +2,4 @@ import HomePage from "./HomePage"; import LoginPage from "./LoginPage"; import GetStartedPage from "./GetStartedPage"; -export {HomePage, LoginPage, GetStartedPage} \ No newline at end of file +export {HomePage, LoginPage, GetStartedPage} \ No newline at end of file