style: react component prop readonly

This commit is contained in:
ReaJason
2025-03-24 16:22:47 +08:00
parent 7b1924a97f
commit bf3f5081e8
12 changed files with 22 additions and 16 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
import { Button, type ButtonProps } from "@/components/ui/button.tsx";
import { Button, type ButtonProps } from "@/components/ui/button";
import { Check, Copy } from "lucide-react";
import { type HTMLProps, type ReactNode, useCallback, useEffect, useState } from "react";
import { CopyToClipboard } from "react-copy-to-clipboard";
@@ -12,7 +12,7 @@ interface CopyButtonProps extends ButtonProps {
src?: string;
}
export function CopyButton({ value }: CopyButtonProps) {
export function CopyButton({ value }: Readonly<CopyButtonProps>) {
const [hasCopied, setHasCopied] = useState(false);
const { t } = useTranslation();
+1 -1
View File
@@ -12,7 +12,7 @@ interface CopyableFieldProps {
text?: string;
}
export function CopyableField({ label, value, text }: CopyableFieldProps) {
export function CopyableField({ label, value, text }: Readonly<CopyableFieldProps>) {
const [hasCopied, setHasCopied] = useState(false);
const { t } = useTranslation();
+2 -2
View File
@@ -16,12 +16,12 @@ export function ShellResult({
allPackResults,
packMethod,
generateResult,
}: {
}: Readonly<{
packResult: string | undefined;
allPackResults: Map<string, string> | undefined;
packMethod: string;
generateResult?: GenerateResult;
}) {
}>) {
const { t } = useTranslation();
if (!generateResult) {
return <QuickUsage />;
+1 -1
View File
@@ -12,7 +12,7 @@ import { UrlPatternFormField } from "./urlpattern-field";
export function AntSwordTabContent({
form,
shellTypes,
}: { form: UseFormReturn<FormSchema>; shellTypes: Array<string> }) {
}: Readonly<{ form: UseFormReturn<FormSchema>; shellTypes: Array<string> }>) {
const { t } = useTranslation();
return (
<FormProvider {...form}>
+1 -1
View File
@@ -12,7 +12,7 @@ import { UrlPatternFormField } from "./urlpattern-field";
export function BehinderTabContent({
form,
shellTypes,
}: { form: UseFormReturn<FormSchema>; shellTypes: Array<string> }) {
}: Readonly<{ form: UseFormReturn<FormSchema>; shellTypes: Array<string> }>) {
const { t } = useTranslation();
return (
<FormProvider {...form}>
+1 -1
View File
@@ -4,7 +4,7 @@ import { FormSchema } from "@/types/schema.ts";
import { FormProvider, UseFormReturn } from "react-hook-form";
import { useTranslation } from "react-i18next";
export function OptionalClassFormField({ form }: { form: UseFormReturn<FormSchema> }) {
export function OptionalClassFormField({ form }: Readonly<{ form: UseFormReturn<FormSchema> }>) {
const { t } = useTranslation();
return (
<FormProvider {...form}>
+1 -1
View File
@@ -12,7 +12,7 @@ import { UrlPatternFormField } from "./urlpattern-field";
export function CommandTabContent({
form,
shellTypes,
}: { form: UseFormReturn<FormSchema>; shellTypes: Array<string> }) {
}: Readonly<{ form: UseFormReturn<FormSchema>; shellTypes: Array<string> }>) {
const { t } = useTranslation();
return (
<FormProvider {...form}>
+1 -1
View File
@@ -12,7 +12,7 @@ import { UrlPatternFormField } from "./urlpattern-field";
export function GodzillaTabContent({
form,
shellTypes,
}: { form: UseFormReturn<FormSchema>; shellTypes: Array<string> }) {
}: Readonly<{ form: UseFormReturn<FormSchema>; shellTypes: Array<string> }>) {
const { t } = useTranslation();
return (
<FormProvider {...form}>
+4 -1
View File
@@ -9,7 +9,10 @@ import { OptionalClassFormField } from "./classname-field";
import { ShellTypeFormField } from "./shelltype-field";
import { UrlPatternFormField } from "./urlpattern-field";
export function NeoRegTabContent({ form, shellTypes }: { form: UseFormReturn<FormSchema>; shellTypes: Array<string> }) {
export function NeoRegTabContent({
form,
shellTypes,
}: Readonly<{ form: UseFormReturn<FormSchema>; shellTypes: Array<string> }>) {
const { t } = useTranslation();
return (
<FormProvider {...form}>
+3 -3
View File
@@ -8,7 +8,7 @@ import { useTranslation } from "react-i18next";
export function ShellTypeFormField({
form,
shellTypes,
}: { form: UseFormReturn<FormSchema>; shellTypes: Array<string> }) {
}: Readonly<{ form: UseFormReturn<FormSchema>; shellTypes: Array<string> }>) {
const { t } = useTranslation();
return (
<FormProvider {...form}>
@@ -24,8 +24,8 @@ export function ShellTypeFormField({
<SelectValue placeholder={t("placeholders.select")} />
</SelectTrigger>
</FormControl>
<SelectContent key={shellTypes.join(",")}>
{shellTypes.length ? (
<SelectContent key={shellTypes?.join(",")}>
{shellTypes?.length ? (
shellTypes.map((v) => (
<SelectItem key={v} value={v}>
{v}
+4 -1
View File
@@ -9,7 +9,10 @@ import { OptionalClassFormField } from "./classname-field";
import { ShellTypeFormField } from "./shelltype-field";
import { UrlPatternFormField } from "./urlpattern-field";
export function Suo5TabContent({ form, shellTypes }: { form: UseFormReturn<FormSchema>; shellTypes: Array<string> }) {
export function Suo5TabContent({
form,
shellTypes,
}: Readonly<{ form: UseFormReturn<FormSchema>; shellTypes: Array<string> }>) {
const { t } = useTranslation();
return (
<FormProvider {...form}>
@@ -5,7 +5,7 @@ import { FormSchema } from "@/types/schema.ts";
import { FormProvider, UseFormReturn } from "react-hook-form";
import { useTranslation } from "react-i18next";
export function UrlPatternFormField({ form }: { form: UseFormReturn<FormSchema> }) {
export function UrlPatternFormField({ form }: Readonly<{ form: UseFormReturn<FormSchema> }>) {
const { t } = useTranslation();
return (
<FormProvider {...form}>