chore: separate TitleItem from ProblemInfoMenu

This commit is contained in:
Paul Pan 2024-03-16 21:23:44 +08:00
parent d6810f1867
commit 3b2c311143
2 changed files with 16 additions and 14 deletions

View 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>
);
}

View File

@ -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;