From 1992ef050aa5c0c456120eebe2d07534caaf47c4 Mon Sep 17 00:00:00 2001 From: Pablo Lara Date: Mon, 5 Aug 2024 16:00:02 +0200 Subject: [PATCH] feat: refactor the modal's content for providers --- components/index.ts | 1 + components/providers/AddProviderModal.tsx | 53 +++++++------- components/providers/CustomRadioProvider.tsx | 77 ++++++++++++++++++++ 3 files changed, 106 insertions(+), 25 deletions(-) create mode 100644 components/providers/CustomRadioProvider.tsx diff --git a/components/index.ts b/components/index.ts index c28ecc331c..76c4ac2064 100644 --- a/components/index.ts +++ b/components/index.ts @@ -6,6 +6,7 @@ export * from "./providers/ButtonAddProvider"; export * from "./providers/ButtonCheckConnectionProvider"; export * from "./providers/ButtonDeleteProvider"; export * from "./providers/CheckConnectionProvider"; +export * from "./providers/CustomRadioProvider"; export * from "./providers/DateWithTime"; export * from "./providers/ProviderInfo"; export * from "./providers/ScanStatus"; diff --git a/components/providers/AddProviderModal.tsx b/components/providers/AddProviderModal.tsx index 761b60ba2a..878023ebb7 100644 --- a/components/providers/AddProviderModal.tsx +++ b/components/providers/AddProviderModal.tsx @@ -6,6 +6,7 @@ import { useRef, useState } from "react"; import { addProvider } from "@/actions"; import { ButtonAddProvider, + CustomRadioProvider, Dialog, DialogContent, DialogDescription, @@ -63,32 +64,34 @@ export const AddProviderModal = () => { ref={ref} action={clientAction} onSubmit={() => setOpen(false)} - className="flex flex-col gap-x-2" + className="grid sm:grid-cols-2 gap-6" > - - - - +
+ +
+
+ + +
+
+ +
diff --git a/components/providers/CustomRadioProvider.tsx b/components/providers/CustomRadioProvider.tsx new file mode 100644 index 0000000000..949cb86662 --- /dev/null +++ b/components/providers/CustomRadioProvider.tsx @@ -0,0 +1,77 @@ +"use client"; + +import { UseRadioProps } from "@nextui-org/radio/dist/use-radio"; +import { cn, RadioGroup, useRadio, VisuallyHidden } from "@nextui-org/react"; +import React from "react"; + +import { AwsProvider, AzureProvider, GoogleCloudProvider } from "../icons"; + +interface CustomRadioProps extends UseRadioProps { + description?: string; + children?: React.ReactNode; +} + +export const CustomRadio: React.FC = (props) => { + const { + Component, + children, + description, + getBaseProps, + getWrapperProps, + getInputProps, + getLabelProps, + getLabelWrapperProps, + getControlProps, + } = useRadio(props); + + return ( + + + + + + + +
+ {children && {children}} + {description && ( + + {description} + + )} +
+
+ ); +}; + +export const CustomRadioProvider = () => { + return ( + + +
+ + GCP +
+
+ +
+ + GCP +
+
+ +
+ + Azure +
+
+
+ ); +};