Update dependencies
This commit is contained in:
@@ -10,71 +10,71 @@
|
||||
|
||||
import { Route as rootRouteImport } from './routes/__root'
|
||||
import { Route as IndexRouteImport } from './routes/index'
|
||||
import { Route as TabIndexRouteImport } from './routes/tab/index'
|
||||
import { Route as ProgressIndexRouteImport } from './routes/progress/index'
|
||||
import { Route as PillIndexRouteImport } from './routes/pill/index'
|
||||
import { Route as ModalIndexRouteImport } from './routes/modal/index'
|
||||
import { Route as MessageIndexRouteImport } from './routes/message/index'
|
||||
import { Route as LoadingIndexRouteImport } from './routes/loading/index'
|
||||
import { Route as InputIndexRouteImport } from './routes/input/index'
|
||||
import { Route as ButtonsIndexRouteImport } from './routes/buttons/index'
|
||||
import { Route as InputIndexRouteImport } from './routes/input/index'
|
||||
import { Route as LoadingIndexRouteImport } from './routes/loading/index'
|
||||
import { Route as MessageIndexRouteImport } from './routes/message/index'
|
||||
import { Route as ModalIndexRouteImport } from './routes/modal/index'
|
||||
import { Route as PillIndexRouteImport } from './routes/pill/index'
|
||||
import { Route as ProgressIndexRouteImport } from './routes/progress/index'
|
||||
import { Route as TabIndexRouteImport } from './routes/tab/index'
|
||||
|
||||
const IndexRoute = IndexRouteImport.update({
|
||||
id: '/',
|
||||
path: '/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const TabIndexRoute = TabIndexRouteImport.update({
|
||||
id: '/tab/',
|
||||
path: '/tab/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const ProgressIndexRoute = ProgressIndexRouteImport.update({
|
||||
id: '/progress/',
|
||||
path: '/progress/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const PillIndexRoute = PillIndexRouteImport.update({
|
||||
id: '/pill/',
|
||||
path: '/pill/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const ModalIndexRoute = ModalIndexRouteImport.update({
|
||||
id: '/modal/',
|
||||
path: '/modal/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const MessageIndexRoute = MessageIndexRouteImport.update({
|
||||
id: '/message/',
|
||||
path: '/message/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const LoadingIndexRoute = LoadingIndexRouteImport.update({
|
||||
id: '/loading/',
|
||||
path: '/loading/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const InputIndexRoute = InputIndexRouteImport.update({
|
||||
id: '/input/',
|
||||
path: '/input/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const ButtonsIndexRoute = ButtonsIndexRouteImport.update({
|
||||
id: '/buttons/',
|
||||
path: '/buttons/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const InputIndexRoute = InputIndexRouteImport.update({
|
||||
id: '/input/',
|
||||
path: '/input/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const LoadingIndexRoute = LoadingIndexRouteImport.update({
|
||||
id: '/loading/',
|
||||
path: '/loading/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const MessageIndexRoute = MessageIndexRouteImport.update({
|
||||
id: '/message/',
|
||||
path: '/message/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const ModalIndexRoute = ModalIndexRouteImport.update({
|
||||
id: '/modal/',
|
||||
path: '/modal/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const PillIndexRoute = PillIndexRouteImport.update({
|
||||
id: '/pill/',
|
||||
path: '/pill/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const ProgressIndexRoute = ProgressIndexRouteImport.update({
|
||||
id: '/progress/',
|
||||
path: '/progress/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
const TabIndexRoute = TabIndexRouteImport.update({
|
||||
id: '/tab/',
|
||||
path: '/tab/',
|
||||
getParentRoute: () => rootRouteImport,
|
||||
} as any)
|
||||
|
||||
export interface FileRoutesByFullPath {
|
||||
'/': typeof IndexRoute
|
||||
'/buttons': typeof ButtonsIndexRoute
|
||||
'/input': typeof InputIndexRoute
|
||||
'/loading': typeof LoadingIndexRoute
|
||||
'/message': typeof MessageIndexRoute
|
||||
'/modal': typeof ModalIndexRoute
|
||||
'/pill': typeof PillIndexRoute
|
||||
'/progress': typeof ProgressIndexRoute
|
||||
'/tab': typeof TabIndexRoute
|
||||
'/buttons/': typeof ButtonsIndexRoute
|
||||
'/input/': typeof InputIndexRoute
|
||||
'/loading/': typeof LoadingIndexRoute
|
||||
'/message/': typeof MessageIndexRoute
|
||||
'/modal/': typeof ModalIndexRoute
|
||||
'/pill/': typeof PillIndexRoute
|
||||
'/progress/': typeof ProgressIndexRoute
|
||||
'/tab/': typeof TabIndexRoute
|
||||
}
|
||||
export interface FileRoutesByTo {
|
||||
'/': typeof IndexRoute
|
||||
@@ -103,14 +103,14 @@ export interface FileRouteTypes {
|
||||
fileRoutesByFullPath: FileRoutesByFullPath
|
||||
fullPaths:
|
||||
| '/'
|
||||
| '/buttons'
|
||||
| '/input'
|
||||
| '/loading'
|
||||
| '/message'
|
||||
| '/modal'
|
||||
| '/pill'
|
||||
| '/progress'
|
||||
| '/tab'
|
||||
| '/buttons/'
|
||||
| '/input/'
|
||||
| '/loading/'
|
||||
| '/message/'
|
||||
| '/modal/'
|
||||
| '/pill/'
|
||||
| '/progress/'
|
||||
| '/tab/'
|
||||
fileRoutesByTo: FileRoutesByTo
|
||||
to:
|
||||
| '/'
|
||||
@@ -156,60 +156,60 @@ declare module '@tanstack/react-router' {
|
||||
preLoaderRoute: typeof IndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/tab/': {
|
||||
id: '/tab/'
|
||||
path: '/tab'
|
||||
fullPath: '/tab'
|
||||
preLoaderRoute: typeof TabIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/progress/': {
|
||||
id: '/progress/'
|
||||
path: '/progress'
|
||||
fullPath: '/progress'
|
||||
preLoaderRoute: typeof ProgressIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/pill/': {
|
||||
id: '/pill/'
|
||||
path: '/pill'
|
||||
fullPath: '/pill'
|
||||
preLoaderRoute: typeof PillIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/modal/': {
|
||||
id: '/modal/'
|
||||
path: '/modal'
|
||||
fullPath: '/modal'
|
||||
preLoaderRoute: typeof ModalIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/message/': {
|
||||
id: '/message/'
|
||||
path: '/message'
|
||||
fullPath: '/message'
|
||||
preLoaderRoute: typeof MessageIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/loading/': {
|
||||
id: '/loading/'
|
||||
path: '/loading'
|
||||
fullPath: '/loading'
|
||||
preLoaderRoute: typeof LoadingIndexRouteImport
|
||||
'/buttons/': {
|
||||
id: '/buttons/'
|
||||
path: '/buttons'
|
||||
fullPath: '/buttons/'
|
||||
preLoaderRoute: typeof ButtonsIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/input/': {
|
||||
id: '/input/'
|
||||
path: '/input'
|
||||
fullPath: '/input'
|
||||
fullPath: '/input/'
|
||||
preLoaderRoute: typeof InputIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/buttons/': {
|
||||
id: '/buttons/'
|
||||
path: '/buttons'
|
||||
fullPath: '/buttons'
|
||||
preLoaderRoute: typeof ButtonsIndexRouteImport
|
||||
'/loading/': {
|
||||
id: '/loading/'
|
||||
path: '/loading'
|
||||
fullPath: '/loading/'
|
||||
preLoaderRoute: typeof LoadingIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/message/': {
|
||||
id: '/message/'
|
||||
path: '/message'
|
||||
fullPath: '/message/'
|
||||
preLoaderRoute: typeof MessageIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/modal/': {
|
||||
id: '/modal/'
|
||||
path: '/modal'
|
||||
fullPath: '/modal/'
|
||||
preLoaderRoute: typeof ModalIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/pill/': {
|
||||
id: '/pill/'
|
||||
path: '/pill'
|
||||
fullPath: '/pill/'
|
||||
preLoaderRoute: typeof PillIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/progress/': {
|
||||
id: '/progress/'
|
||||
path: '/progress'
|
||||
fullPath: '/progress/'
|
||||
preLoaderRoute: typeof ProgressIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
'/tab/': {
|
||||
id: '/tab/'
|
||||
path: '/tab'
|
||||
fullPath: '/tab/'
|
||||
preLoaderRoute: typeof TabIndexRouteImport
|
||||
parentRoute: typeof rootRouteImport
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,21 +14,22 @@ export const Route = createFileRoute("/buttons/")({
|
||||
});
|
||||
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function ButtonPage(){
|
||||
const [ clickCount, setClickCount ] = useState(0);
|
||||
|
||||
|
||||
const tabs: TabGroupContent[] = [
|
||||
{ tab: "Primary", content: generateTabContent(PrimaryButton, () => setClickCount(clickCount + 1)) },
|
||||
{ tab: "Secondary", content: generateTabContent(SecondaryButton, () => setClickCount(clickCount + 1)) },
|
||||
{ tab: "Tertiary", content: generateTabContent(TertiaryButton, () => setClickCount(clickCount + 1)) },
|
||||
{ tab: "Info", content: generateTabContent(InfoButton, () => setClickCount(clickCount + 1)) },
|
||||
{ tab: "Success", content: generateTabContent(SuccessButton, () => setClickCount(clickCount + 1)) },
|
||||
{ tab: "Warning", content: generateTabContent(WarningButton, () => setClickCount(clickCount + 1)) },
|
||||
{ tab: "Danger", content: generateTabContent(DangerButton, () => setClickCount(clickCount + 1)) },
|
||||
{ tab: "Molten", content: generateTabContent(MoltenButton, () => setClickCount(clickCount + 1)) },
|
||||
{ tab: "Dark", content: generateTabContent(DarkButton, () => setClickCount(clickCount + 1)) },
|
||||
{ tab: "Light", content: generateTabContent(LightButton, () => setClickCount(clickCount + 1)) }
|
||||
{ id: "primary", tab: "Primary", content: generateTabContent(PrimaryButton, () => setClickCount(clickCount + 1)) },
|
||||
{ id: "secondary", tab: "Secondary", content: generateTabContent(SecondaryButton, () => setClickCount(clickCount + 1)) },
|
||||
{ id: "tertiary", tab: "Tertiary", content: generateTabContent(TertiaryButton, () => setClickCount(clickCount + 1)) },
|
||||
{ id: "info", tab: "Info", content: generateTabContent(InfoButton, () => setClickCount(clickCount + 1)) },
|
||||
{ id: "success", tab: "Success", content: generateTabContent(SuccessButton, () => setClickCount(clickCount + 1)) },
|
||||
{ id: "warning", tab: "Warning", content: generateTabContent(WarningButton, () => setClickCount(clickCount + 1)) },
|
||||
{ id: "danger", tab: "Danger", content: generateTabContent(DangerButton, () => setClickCount(clickCount + 1)) },
|
||||
{ id: "molten", tab: "Molten", content: generateTabContent(MoltenButton, () => setClickCount(clickCount + 1)) },
|
||||
{ id: "dark", tab: "Dark", content: generateTabContent(DarkButton, () => setClickCount(clickCount + 1)) },
|
||||
{ id: "light", tab: "Light", content: generateTabContent(LightButton, () => setClickCount(clickCount + 1)) }
|
||||
];
|
||||
|
||||
|
||||
@@ -117,6 +118,7 @@ function generateTabContent(Fn: (props: ButtonProps) => JSX.Element, onClick: ()
|
||||
);
|
||||
}
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function ButtonDisplay({
|
||||
title,
|
||||
children
|
||||
|
||||
@@ -6,6 +6,7 @@ export const Route = createFileRoute("/")({
|
||||
});
|
||||
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function HomePage(){
|
||||
return (
|
||||
<div>
|
||||
|
||||
@@ -10,6 +10,7 @@ export const Route = createFileRoute('/input/')({
|
||||
});
|
||||
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function InputPage(){
|
||||
const [ date, setDate ] = useState<Date>();
|
||||
const [ dateTime, setDateTime ] = useState<Date>();
|
||||
@@ -17,12 +18,12 @@ function InputPage(){
|
||||
|
||||
|
||||
const tabs: TabGroupContent[] = [
|
||||
{ tab: "Checkbox", content: <CheckboxContent/>},
|
||||
{ tab: "Radio", content: <RadioContent/> },
|
||||
{ tab: "Date", content: <DateContent date={date} setDate={setDate} dateTime={dateTime} setDateTime={setDateTime} time={time} setTime={setTime}/> },
|
||||
{ tab: "File", content: <FileContent/> },
|
||||
{ tab: "Switch", content: <SwitchContent/> },
|
||||
{ tab: "Text", content: <TextContent/> }
|
||||
{ id: "checkbox", tab: "Checkbox", content: <CheckboxContent/>},
|
||||
{ id: "radio", tab: "Radio", content: <RadioContent/> },
|
||||
{ id: "date", tab: "Date", content: <DateContent date={date} setDate={setDate} dateTime={dateTime} setDateTime={setDateTime} time={time} setTime={setTime}/> },
|
||||
{ id: "file", tab: "File", content: <FileContent/> },
|
||||
{ id: "switch", tab: "Switch", content: <SwitchContent/> },
|
||||
{ id: "text", tab: "Text", content: <TextContent/> }
|
||||
];
|
||||
|
||||
|
||||
|
||||
@@ -9,14 +9,15 @@ export const Route = createFileRoute("/loading/")({
|
||||
});
|
||||
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function LoadingPage(){
|
||||
const tabs: TabGroupContent[] = [
|
||||
{ tab: "Spinners", content: generateSpinnersContent() },
|
||||
{ tab: "Dots", content: generateDotsContent() },
|
||||
{ tab: "Bars", content: generateBarsContent() },
|
||||
{ tab: "Blocks", content: generateBlocksContent() },
|
||||
{ tab: "Pulses", content: generatePulsesContent() },
|
||||
{ tab: "Various", content: generateVariousContent() }
|
||||
{ id: "spinners", tab: "Spinners", content: generateSpinnersContent() },
|
||||
{ id: "dots", tab: "Dots", content: generateDotsContent() },
|
||||
{ id: "bars", tab: "Bars", content: generateBarsContent() },
|
||||
{ id: "blocks", tab: "Blocks", content: generateBlocksContent() },
|
||||
{ id: "pulses", tab: "Pulses", content: generatePulsesContent() },
|
||||
{ id: "various", tab: "Various", content: generateVariousContent() }
|
||||
];
|
||||
|
||||
return (
|
||||
|
||||
@@ -12,18 +12,19 @@ export const Route = createFileRoute("/message/")({
|
||||
});
|
||||
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function MessagePage(){
|
||||
const tabs: TabGroupContent[] = [
|
||||
{ tab: "Primary", content: generateTabContent(PrimaryMessageBlock) },
|
||||
{ tab: "Secondary", content: generateTabContent(SecondaryMessageBlock) },
|
||||
{ tab: "Tertiary", content: generateTabContent(TertiaryMessageBlock) },
|
||||
{ tab: "Info", content: generateTabContent(InfoMessageBlock) },
|
||||
{ tab: "Success", content: generateTabContent(SuccessMessageBlock) },
|
||||
{ tab: "Warning", content: generateTabContent(WarningMessageBlock) },
|
||||
{ tab: "Danger", content: generateTabContent(DangerMessageBlock) },
|
||||
{ tab: "Molten", content: generateTabContent(MoltenMessageBlock) },
|
||||
{ tab: "Dark", content: generateTabContent(DarkMessageBlock) },
|
||||
{ tab: "Light", content: generateTabContent(LightMessageBlock) }
|
||||
{ id: "primary", tab: "Primary", content: generateTabContent(PrimaryMessageBlock) },
|
||||
{ id: "secondary", tab: "Secondary", content: generateTabContent(SecondaryMessageBlock) },
|
||||
{ id: "tertiary", tab: "Tertiary", content: generateTabContent(TertiaryMessageBlock) },
|
||||
{ id: "info", tab: "Info", content: generateTabContent(InfoMessageBlock) },
|
||||
{ id: "success", tab: "Success", content: generateTabContent(SuccessMessageBlock) },
|
||||
{ id: "warning", tab: "Warning", content: generateTabContent(WarningMessageBlock) },
|
||||
{ id: "danger", tab: "Danger", content: generateTabContent(DangerMessageBlock) },
|
||||
{ id: "molten", tab: "Molten", content: generateTabContent(MoltenMessageBlock) },
|
||||
{ id: "dark", tab: "Dark", content: generateTabContent(DarkMessageBlock) },
|
||||
{ id: "light", tab: "Light", content: generateTabContent(LightMessageBlock) }
|
||||
];
|
||||
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ export const Route = createFileRoute("/modal/")({
|
||||
});
|
||||
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function ModalPage(){
|
||||
const [ displayCenteredModal, setDisplayCenteredModal ] = useState(false);
|
||||
const [ displayTopModal, setDisplayTopModal ] = useState(false);
|
||||
@@ -74,6 +75,7 @@ function ModalPage(){
|
||||
);
|
||||
}
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function DemoCenteredModal({
|
||||
display,
|
||||
onClose
|
||||
@@ -94,6 +96,7 @@ function DemoCenteredModal({
|
||||
);
|
||||
}
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function DemoTopModal({
|
||||
display,
|
||||
onClose
|
||||
|
||||
@@ -17,6 +17,7 @@ export const Route = createFileRoute("/pill/")({
|
||||
});
|
||||
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function PillPage(){
|
||||
return (
|
||||
<div className="flex flex-col items-center justify-center gap-y-8">
|
||||
@@ -34,6 +35,7 @@ function PillPage(){
|
||||
);
|
||||
}
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function PillLayout({
|
||||
PillType,
|
||||
pillName
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
import { DangerButton, PrimaryButton } from '$/component/button';
|
||||
import { NumberInput } from '$/component/input';
|
||||
import { DangerButton, PrimaryButton } from "$/component/button";
|
||||
import { NumberInput } from "$/component/input";
|
||||
import { DangerProgress, DarkProgress, InfoProgress, LightProgress, MoltenProgress, PrimaryProgress, Progress, SecondaryProgress, SuccessProgress, TertiaryProgress, WarningProgress } from '$/component/progress';
|
||||
import { createFileRoute } from '@tanstack/react-router';
|
||||
import { useState } from 'react';
|
||||
import { BsDashLg, BsPlusLg } from 'react-icons/bs';
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { useState } from "react";
|
||||
import { BsDashLg, BsPlusLg } from "react-icons/bs";
|
||||
|
||||
|
||||
export const Route = createFileRoute('/progress/')({
|
||||
component: ProgressPage,
|
||||
export const Route = createFileRoute("/progress/")({
|
||||
component: ProgressPage
|
||||
});
|
||||
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function ProgressPage() {
|
||||
const [ value, setValue ] = useState(0);
|
||||
|
||||
@@ -125,6 +127,7 @@ function ProgressPage() {
|
||||
);
|
||||
}
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function ProgressBlock({
|
||||
label,
|
||||
children
|
||||
|
||||
@@ -9,13 +9,14 @@ export const Route = createFileRoute('/tab/')({
|
||||
});
|
||||
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
function RouteComponent(){
|
||||
const tabs: TabGroupContent[] = [
|
||||
{ tab: "Tab 1", content: "Tab 1 Content" },
|
||||
{ tab: "Tab 2", content: "Tab 2 Content" },
|
||||
{ tab: "Tab 3", content: "Tab 3 Content" },
|
||||
{ tab: "Tab 4", content: "Tab 4 Content" },
|
||||
{ tab: <div className="flex flex-row items-center justify-center gap-x-2">Tab <BsXLg/></div>, content: <div className="flex flex-row items-center justify-center gap-x-2">Tab <BsXLg/> Content</div> }
|
||||
{ id: "1", tab: "Tab 1", content: "Tab 1 Content" },
|
||||
{ id: "2", tab: "Tab 2", content: "Tab 2 Content" },
|
||||
{ id: "3", tab: "Tab 3", content: "Tab 3 Content" },
|
||||
{ id: "4", tab: "Tab 4", content: "Tab 4 Content" },
|
||||
{ id: "5", tab: <div className="flex flex-row items-center justify-center gap-x-2">Tab <BsXLg/></div>, content: <div className="flex flex-row items-center justify-center gap-x-2">Tab <BsXLg/> Content</div> }
|
||||
];
|
||||
|
||||
return (
|
||||
|
||||
@@ -66,6 +66,7 @@ function LoadingGroup({
|
||||
{
|
||||
elements.map((spinner, index) => (
|
||||
<div
|
||||
// eslint-disable-next-line @eslint-react/no-array-index-key
|
||||
key={index}
|
||||
className="w-32 h-32"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user