PermissionDenied.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. 'use client';
  2. import './style.scss';
  3. import { useEffect } from 'react';
  4. import { useRouter } from 'next/navigation';
  5. import { BoardResponse } from '@/types/response/forum/board'
  6. type Props = {
  7. _board: BoardResponse
  8. };
  9. export default function PermissionDenied({ _board } : Props) {
  10. const router = useRouter();
  11. useEffect(() => {
  12. document.title = '권한이 부족합니다.';
  13. }, []);
  14. if (!_board.isActive) {
  15. return null;
  16. }
  17. return (
  18. <div className="permission-denied">
  19. <h1>⚠️ 권한이 부족합니다</h1>
  20. <p>이 페이지에 접근하려면 더 높은 회원 등급이 필요합니다.</p>
  21. <table className="grade-table">
  22. <thead>
  23. <tr>
  24. <th>등급명</th>
  25. <th>등급 순서</th>
  26. <th>설명</th>
  27. </tr>
  28. </thead>
  29. <tbody>
  30. <tr><td>일반회원</td><td>1</td><td>기본 접근 권한</td></tr>
  31. <tr><td>우수회원</td><td>2</td><td>일부 게시판 열람</td></tr>
  32. <tr><td>운영자</td><td>9</td><td>모든 접근 가능</td></tr>
  33. </tbody>
  34. </table>
  35. <button type='button' onClick={() => router.back()}>돌아가기</button>
  36. </div>
  37. );
  38. }