From fad8948e2bfef9d7ff8cd38c880702fbf96e03a8 Mon Sep 17 00:00:00 2001 From: Himanshu Aggarwal <aggarwah@mcmaster.ca> Date: Fri, 18 Mar 2022 20:58:45 -0400 Subject: [PATCH] Make radio components modular --- .../components/dropdown/FilterDropdown.js | 2 +- src/cryptometrics/components/radio/Radio.js | 25 ++++++++++++++++++ .../components/radio/RadioForm.js | 26 +++---------------- 3 files changed, 29 insertions(+), 24 deletions(-) create mode 100644 src/cryptometrics/components/radio/Radio.js diff --git a/src/cryptometrics/components/dropdown/FilterDropdown.js b/src/cryptometrics/components/dropdown/FilterDropdown.js index 12af95a..ec8b87f 100644 --- a/src/cryptometrics/components/dropdown/FilterDropdown.js +++ b/src/cryptometrics/components/dropdown/FilterDropdown.js @@ -2,7 +2,7 @@ import { ArrowRightIcon } from "@heroicons/react/outline"; import classNames from "classnames"; import React, { useState, useEffect, useRef } from "react"; import Button from "../button/Button"; -import { RadioInputForm } from "../radio/RadioForm"; +import RadioInputForm from "../radio/RadioForm"; import { CSSTransition } from "react-transition-group"; export function FilterDropdown({ diff --git a/src/cryptometrics/components/radio/Radio.js b/src/cryptometrics/components/radio/Radio.js new file mode 100644 index 0000000..ff781fd --- /dev/null +++ b/src/cryptometrics/components/radio/Radio.js @@ -0,0 +1,25 @@ +import React from "react"; +import classNames from "classnames"; + +function Radio({ selected, radioValue, radioLabel, onChange }) { + return ( + <label className="inline-flex items-center w-full"> + <input + type="radio" + className="form-radio h-4 w-4 accent-indigo-600 hover:accent-indigo-700" + value={radioValue} + checked={selected === radioValue} + onChange={onChange} + /> + <span + className={classNames("font-poppins ml-2 text-base", { + "dark:text-white font-extralight": selected !== radioValue, + "dark:text-indigo-500": selected === radioValue, + })} + > + {radioLabel} + </span> + </label> + ); +} +export default Radio; diff --git a/src/cryptometrics/components/radio/RadioForm.js b/src/cryptometrics/components/radio/RadioForm.js index 79727e5..a6ab204 100644 --- a/src/cryptometrics/components/radio/RadioForm.js +++ b/src/cryptometrics/components/radio/RadioForm.js @@ -1,8 +1,8 @@ -import classNames from "classnames"; import React from "react"; import Input from "../inputs/Input"; +import Radio from "./Radio"; -export function RadioInputForm({ +function RadioInputForm({ inputLeftSymbol, inputRightSymbol, inputType, @@ -46,24 +46,4 @@ export function RadioInputForm({ ); } -export function Radio({ selected, radioValue, radioLabel, onChange }) { - return ( - <label className="inline-flex items-center w-full"> - <input - type="radio" - className="form-radio h-4 w-4 accent-indigo-600 hover:accent-indigo-700" - value={radioValue} - checked={selected === radioValue} - onChange={onChange} - />{" "} - <span - className={classNames("font-poppins ml-2 text-base", { - "dark:text-white font-extralight": selected !== radioValue, - "dark:text-indigo-500": selected === radioValue, - })} - > - {radioLabel} - </span> - </label> - ); -} +export default RadioInputForm; -- GitLab