more
This commit is contained in:
@@ -7,7 +7,6 @@ import { db, auth } from "../../firebase";
|
|||||||
import { createUserWithEmailAndPassword } from "firebase/auth";
|
import { createUserWithEmailAndPassword } from "firebase/auth";
|
||||||
import { Link, useNavigate } from "react-router-dom";
|
import { Link, useNavigate } from "react-router-dom";
|
||||||
import TextInput from "../../pageElements/TextInput";
|
import TextInput from "../../pageElements/TextInput";
|
||||||
import Radiogroup from "../../pageElements/Radiogroup";
|
|
||||||
import { v4 as uuidv4 } from "uuid";
|
import { v4 as uuidv4 } from "uuid";
|
||||||
import { collection, setDoc, doc } from "firebase/firestore";
|
import { collection, setDoc, doc } from "firebase/firestore";
|
||||||
import { splitEvery } from "../../Utils/Array";
|
import { splitEvery } from "../../Utils/Array";
|
||||||
@@ -22,6 +21,7 @@ import { signupFields } from "../../Constants/Fields/SignupFields";
|
|||||||
import { paymentfields } from "../../Constants/Fields/PaymentFields";
|
import { paymentfields } from "../../Constants/Fields/PaymentFields";
|
||||||
import { signupRadioFields } from "../../Constants/Fields/RadioFields";
|
import { signupRadioFields } from "../../Constants/Fields/RadioFields";
|
||||||
import PaymentModal from "../Modals/PaymentModal";
|
import PaymentModal from "../Modals/PaymentModal";
|
||||||
|
import Radio from "../../pageElements/Radio";
|
||||||
import "../../styles/signup.scss";
|
import "../../styles/signup.scss";
|
||||||
import Stripe from "stripe";
|
import Stripe from "stripe";
|
||||||
|
|
||||||
@@ -404,17 +404,9 @@ const SignupPage = () => {
|
|||||||
</h5>
|
</h5>
|
||||||
</div>
|
</div>
|
||||||
<div className="radio-group-box">
|
<div className="radio-group-box">
|
||||||
{signupRadioFields?.map((group, i) => (
|
{signupRadioFields?.map((radio, i) => {
|
||||||
<div className="signup-radio-wrapper">
|
console.log("radio", radio);
|
||||||
<Radiogroup
|
})}
|
||||||
title=""
|
|
||||||
options={group}
|
|
||||||
value={group[i].value}
|
|
||||||
disabled={isBusy}
|
|
||||||
onClick={(e) => handleChangeRadioInput(e, group[i])}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="select-sub-right">
|
<div className="select-sub-right">
|
||||||
|
|||||||
@@ -1,23 +1,95 @@
|
|||||||
|
import { CircleFill, Circle } from "react-bootstrap-icons";
|
||||||
|
|
||||||
const Radio = ({
|
const Radio = (props) => {
|
||||||
rightLabel,
|
const {
|
||||||
leftLabel,
|
className,
|
||||||
containerClassName,
|
classNames,
|
||||||
labelClassName,
|
labelText,
|
||||||
...props
|
title,
|
||||||
}) => {
|
price,
|
||||||
|
ref,
|
||||||
|
onClick,
|
||||||
|
value,
|
||||||
|
options,
|
||||||
|
disabled,
|
||||||
|
} = props;
|
||||||
|
const classCheckbox = "checkbox";
|
||||||
|
const classOption = "option";
|
||||||
|
const foo = [];
|
||||||
return (
|
return (
|
||||||
<div className={containerClassName}>
|
<div>
|
||||||
<label className={labelClassName}>
|
{options.map((option) => (
|
||||||
<input {...props} type="radio" />
|
<>{option.name}</>
|
||||||
{leftLabel && <span>{leftLabel}</span>}
|
))}
|
||||||
<div></div>
|
|
||||||
{rightLabel && <span>{rightLabel}</span>}
|
|
||||||
</label>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A radio button is a quick way to extract a single coded answer from our users by presenting multiple possibilities and allowing only one option to be chosen.
|
||||||
|
*/
|
||||||
|
|
||||||
export default Radio;
|
export default Radio;
|
||||||
|
|
||||||
//
|
/*
|
||||||
|
{options &&
|
||||||
|
options?.length &&
|
||||||
|
options.map((option, index) => (
|
||||||
|
<div
|
||||||
|
className="option-container"
|
||||||
|
key={option.name}
|
||||||
|
onClick={() => !disabled && onClick && onClick(option)}
|
||||||
|
>
|
||||||
|
<div className="checked-icon">
|
||||||
|
{value === option.value ? (
|
||||||
|
<div className="zora">
|
||||||
|
<div className="circle-container">
|
||||||
|
<CircleFill
|
||||||
|
className={
|
||||||
|
value === option.value
|
||||||
|
? "clickable-icon-active"
|
||||||
|
: "clieckable-icon"
|
||||||
|
}
|
||||||
|
color="#1a76c7"
|
||||||
|
size="20px"
|
||||||
|
onClick={(e) => {
|
||||||
|
!disabled && onClick(e);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
className="option-label"
|
||||||
|
htmlFor={"helper-radio-" + index}
|
||||||
|
>
|
||||||
|
{option.name}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<div className="zora">
|
||||||
|
<div className="circle-container">
|
||||||
|
<Circle
|
||||||
|
className={
|
||||||
|
value === option.value
|
||||||
|
? "clickable-icon-active"
|
||||||
|
: "clieckable-icon"
|
||||||
|
}
|
||||||
|
color="#1a76c7"
|
||||||
|
size="20px"
|
||||||
|
onClick={(e) => {
|
||||||
|
!disabled && onClick(e);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
className="option-label"
|
||||||
|
htmlFor={"helper-radio-" + index}
|
||||||
|
>
|
||||||
|
{option.name}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
*/
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { CircleFill, Circle } from "react-bootstrap-icons";
|
import { CircleFill, Circle } from "react-bootstrap-icons";
|
||||||
|
|
||||||
const Radiogroup = (props) => {
|
const Radiogroup = (props) => {
|
||||||
console.log("hello");
|
|
||||||
const {
|
const {
|
||||||
className,
|
className,
|
||||||
classNames,
|
classNames,
|
||||||
@@ -13,37 +12,25 @@ const Radiogroup = (props) => {
|
|||||||
value,
|
value,
|
||||||
options,
|
options,
|
||||||
disabled,
|
disabled,
|
||||||
dynamicClassName,
|
|
||||||
optionContainerDynamicClass,
|
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
const classCheckbox = "checkbox";
|
const classCheckbox = "checkbox";
|
||||||
const classOption = "option";
|
const classOption = "option";
|
||||||
|
|
||||||
const dynamicClass =
|
|
||||||
dynamicClassName === "signup-option-div"
|
|
||||||
? dynamicClassName
|
|
||||||
: "checkbox-option-div";
|
|
||||||
|
|
||||||
const optionContainerDynamic = optionContainerDynamicClass
|
|
||||||
? optionContainerDynamicClass
|
|
||||||
: "";
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="radio-option-container">
|
<div className="radio-option-container">
|
||||||
{title && <div className="checkbox-title">{title}</div>}
|
{title && <div className="checkbox-title">{title}</div>}
|
||||||
<div className={`${dynamicClass}`}>
|
<div className="checkbox-option-div">
|
||||||
{options &&
|
{options &&
|
||||||
options?.length &&
|
options?.length &&
|
||||||
options.map((option, index) => (
|
options.map((option, index) => (
|
||||||
<div
|
<div
|
||||||
className={`option-container`}
|
className="option-container"
|
||||||
key={option.name}
|
key={option.name}
|
||||||
onClick={() => !disabled && onClick && onClick(option)}
|
onClick={() => !disabled && onClick && onClick(option)}
|
||||||
>
|
>
|
||||||
<div className="checked-icon">
|
<div className="checked-icon">
|
||||||
{value === option.value ? (
|
{value === option.value ? (
|
||||||
<div className={`zora ${optionContainerDynamic}`}>
|
<div className="zora">
|
||||||
<div className="circle-container">
|
<div className="circle-container">
|
||||||
<CircleFill
|
<CircleFill
|
||||||
className={
|
className={
|
||||||
@@ -60,14 +47,14 @@ const Radiogroup = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
className={`option-label ${optionContainerDynamic}`}
|
className="option-label"
|
||||||
htmlFor={"helper-radio-" + index}
|
htmlFor={"helper-radio-" + index}
|
||||||
>
|
>
|
||||||
{option.name}
|
{option.name}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className={`zora ${optionContainerDynamic}`}>
|
<div className="zora">
|
||||||
<div className="circle-container">
|
<div className="circle-container">
|
||||||
<Circle
|
<Circle
|
||||||
className={
|
className={
|
||||||
@@ -98,4 +85,8 @@ const Radiogroup = (props) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A radio button is a quick way to extract a single coded answer from our users by presenting multiple possibilities and allowing only one option to be chosen.
|
||||||
|
*/
|
||||||
|
|
||||||
export default Radiogroup;
|
export default Radiogroup;
|
||||||
|
|||||||
Reference in New Issue
Block a user