view.tsx 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. 'use client';
  2. import './style.scss';
  3. import { useState, useEffect } from 'react';
  4. import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '@/components/ui/accordion';
  5. import NavTab from '@/app/support/navTab';
  6. import Pagination from '@/app/component/Pagination';
  7. export default function View() {
  8. const [error, setError] = useState<string>('');
  9. const [loading, setLoading] = useState<boolean>(true);
  10. const [type, setType] = useState<string|null>(null);
  11. const [keyword, setKeyword] = useState<string>('');
  12. const [total, setTotal] = useState<number>(0);
  13. const [page, setPage] = useState<number>(1);
  14. // const [logs, setLogs] = useState<LoginLog[]>([]);
  15. useEffect(() => {
  16. }, []);
  17. const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {
  18. e.preventDefault();
  19. setLoading(true);
  20. // const formData = new FormData(e.currentTarget);
  21. // const data = Object.fromEntries(formData.entries()) as LoginLog;
  22. };
  23. return (
  24. <>
  25. <NavTab currentTab='faq' />
  26. {/* 자주 묻는 질문(FAQ) */}
  27. <section id='faq'>
  28. <p>자주 묻는 질문</p>
  29. <form onSubmit={(e) => handleSubmit(e)} autoComplete='off'>
  30. <dl>
  31. <dt>
  32. <input type='search' value={keyword} onChange={(e) => setKeyword(e.target.value)} placeholder='궁금한 점을 검색해 보세요.'/>
  33. <button type='submit' className='btn btn-default'>검색</button>
  34. </dt>
  35. <dd>
  36. <ul>
  37. <li className='active'>
  38. <button type='button' onClick={() => setType('all')}>전체</button>
  39. </li>
  40. <li>
  41. <button type='button' onClick={() => setType('general')}>일반</button>
  42. </li>
  43. <li>
  44. <button type='button' onClick={() => setType('account')}>계정</button>
  45. </li>
  46. <li>
  47. <button type='button' onClick={() => setType('payment')}>결제</button>
  48. </li>
  49. <li>
  50. <button type='button' onClick={() => setType('security')}>보안</button>
  51. </li>
  52. </ul>
  53. </dd>
  54. </dl>
  55. </form>
  56. <br/>
  57. <hr />
  58. <Accordion id='questions' type='single' collapsible>
  59. <AccordionItem value='item-1'>
  60. <AccordionTrigger>Q. ASDASDASD</AccordionTrigger>
  61. <AccordionContent>
  62. A. Yes. It adheres to the WAI-ARIA design pattern.
  63. </AccordionContent>
  64. </AccordionItem>
  65. </Accordion>
  66. <br />
  67. <article className='pagination'>
  68. <Pagination total={total} page={page} onPageChange={setPage} />
  69. </article>
  70. </section>
  71. </>
  72. );
  73. }