chore: separate TitleItem from ProblemInfoMenu
This commit is contained in:
parent
d6810f1867
commit
3b2c311143
14
src/components/AccordionTitleItem.tsx
Normal file
14
src/components/AccordionTitleItem.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import { AccordionButton, AccordionIcon, Box } from "@chakra-ui/react";
|
||||||
|
|
||||||
|
export default function TitleItem({ word }: { word: string }) {
|
||||||
|
return (
|
||||||
|
<h2>
|
||||||
|
<AccordionButton>
|
||||||
|
<Box as="span" flex="1" textAlign="left">
|
||||||
|
{word}
|
||||||
|
</Box>
|
||||||
|
<AccordionIcon />
|
||||||
|
</AccordionButton>
|
||||||
|
</h2>
|
||||||
|
);
|
||||||
|
}
|
@ -1,12 +1,9 @@
|
|||||||
import type React from "react";
|
import type React from "react";
|
||||||
import { useEffect, useState } from "react";
|
import { lazy, useEffect, useState } from "react";
|
||||||
import {
|
import {
|
||||||
Accordion,
|
Accordion,
|
||||||
AccordionButton,
|
|
||||||
AccordionIcon,
|
|
||||||
AccordionItem,
|
AccordionItem,
|
||||||
AccordionPanel,
|
AccordionPanel,
|
||||||
Box,
|
|
||||||
Link,
|
Link,
|
||||||
Select,
|
Select,
|
||||||
Table,
|
Table,
|
||||||
@ -21,16 +18,7 @@ import { Link as ReactRouterLink } from "react-router-dom";
|
|||||||
import type { DetailResponse, RuntimeInfo } from "../app/services/problem";
|
import type { DetailResponse, RuntimeInfo } from "../app/services/problem";
|
||||||
import { LanguageMap } from "./Languages";
|
import { LanguageMap } from "./Languages";
|
||||||
|
|
||||||
const TitleItem = ({ word }: { word: string }) => (
|
const TitleItem = lazy(() => import("../components/AccordionTitleItem"));
|
||||||
<h2>
|
|
||||||
<AccordionButton>
|
|
||||||
<Box as="span" flex="1" textAlign="left">
|
|
||||||
{word}
|
|
||||||
</Box>
|
|
||||||
<AccordionIcon />
|
|
||||||
</AccordionButton>
|
|
||||||
</h2>
|
|
||||||
);
|
|
||||||
|
|
||||||
interface ProblemInfoMenuProps {
|
interface ProblemInfoMenuProps {
|
||||||
data?: DetailResponse;
|
data?: DetailResponse;
|
||||||
|
Loading…
Reference in New Issue
Block a user