diff --git a/app/components/Attribute.tsx b/app/components/Attribute.tsx index 10d8c1e..356c343 100644 --- a/app/components/Attribute.tsx +++ b/app/components/Attribute.tsx @@ -1,86 +1,83 @@ -import { Check, Copy, Info } from 'lucide-react'; -import cn from '~/utils/cn'; -import toast from '~/utils/toast'; -import Tooltip from './Tooltip'; +import { Check, Copy, Info } from "lucide-react"; + +import cn from "~/utils/cn"; +import toast from "~/utils/toast"; + +import Tooltip from "./Tooltip"; export interface AttributeProps { - name: string; - value: string; - tooltip?: string; - isCopyable?: boolean; + name: string; + value: string; + tooltip?: string; + isCopyable?: boolean; } -export default function Attribute({ - name, - value, - tooltip, - isCopyable, -}: AttributeProps) { - return ( -
- {children}
- {isCopyable && (
- {
- const text = Array.isArray(children) ? children.join('') : children;
+ return (
+
+ {children}
+ {isCopyable && (
+ {
+ const text = Array.isArray(children) ? children.join("") : children;
- const svgs = event.currentTarget.querySelectorAll('svg');
- for (const svg of svgs) {
- svg.toggleAttribute('data-copied', true);
- }
+ const svgs = event.currentTarget.querySelectorAll("svg");
+ for (const svg of svgs) {
+ svg.toggleAttribute("data-copied", true);
+ }
- await navigator.clipboard.writeText(text);
- toast('Copied to clipboard');
+ await navigator.clipboard.writeText(text);
+ toast("Copied to clipboard");
- setTimeout(() => {
- for (const svg of svgs) {
- svg.toggleAttribute('data-copied', false);
- }
- }, 1000);
- }}
- type="button"
- >
-
-
-
- )}
-
- );
+ setTimeout(() => {
+ for (const svg of svgs) {
+ svg.toggleAttribute("data-copied", false);
+ }
+ }, 1000);
+ }}
+ type="button"
+ >
+
+
+
+ )}
+
+ );
}
diff --git a/app/components/Dialog.tsx b/app/components/Dialog.tsx
index 9eb4e78..158e8a0 100644
--- a/app/components/Dialog.tsx
+++ b/app/components/Dialog.tsx
@@ -1,194 +1,182 @@
-import React, { cloneElement, useEffect, useRef } from 'react';
+import React, { cloneElement, useEffect, useRef } from "react";
import {
- type AriaDialogProps,
- type AriaModalOverlayProps,
- Overlay,
- useDialog,
- useModalOverlay,
- useOverlayTrigger,
-} from 'react-aria';
-import { Form, type HTMLFormMethod } from 'react-router';
+ type AriaDialogProps,
+ type AriaModalOverlayProps,
+ Overlay,
+ useDialog,
+ useModalOverlay,
+ useOverlayTrigger,
+} from "react-aria";
+import { Form, type HTMLFormMethod } from "react-router";
import {
- type OverlayTriggerProps,
- type OverlayTriggerState,
- useOverlayTriggerState,
-} from 'react-stately';
-import Button, { ButtonProps } from '~/components/Button';
-import Card from '~/components/Card';
-import IconButton, { IconButtonProps } from '~/components/IconButton';
-import Text from '~/components/Text';
-import Title from '~/components/Title';
-import cn from '~/utils/cn';
-import { useLiveData } from '~/utils/live-data';
+ type OverlayTriggerProps,
+ type OverlayTriggerState,
+ useOverlayTriggerState,
+} from "react-stately";
+
+import Button, { ButtonProps } from "~/components/Button";
+import Card from "~/components/Card";
+import IconButton, { IconButtonProps } from "~/components/IconButton";
+import Text from "~/components/Text";
+import Title from "~/components/Title";
+import cn from "~/utils/cn";
+import { useLiveData } from "~/utils/live-data";
export interface DialogProps extends OverlayTriggerProps {
- children:
- | [
- React.ReactElement