import axios from 'axios' import toCamel from 'camelcase-keys' import React, { useEffect, useState } from 'react' import { Helmet } from 'react-helmet-async' import { Link } from 'react-router-dom' import SectionTitle from '@/components/common/SectionTitle' import MainArea from '@/components/layout/MainArea' import { API_BASE_URL, SITE_TITLE } from '@/config' import type { WikiPage } from '@/types' export default () => { const [title, setTitle] = useState ('') const [text, setText] = useState ('') const [results, setResults] = useState ([]) const search = async () => { const res = await axios.get (`${ API_BASE_URL }/wiki/search`, { params: { title } }) setResults (toCamel (res.data as any, { deep: true }) as WikiPage[]) } const handleSearch = (ev: React.FormEvent) => { ev.preventDefault () search () } useEffect (() => { search () }, []) return ( Wiki | {SITE_TITLE}
Wiki
{/* タイトル */}

setTitle (e.target.value)} className="border p-1 w-full" />
{/* 内容 */}

setText (e.target.value)} className="border p-1 w-full" />
{/* 検索 */}
{results.map (page => ( ))}
タイトル 最終更新
{page.title} {page.updatedAt}
) }