admin 페이지 메인 수정정
This commit is contained in:
@@ -266,7 +266,14 @@ export default function AdminHomePage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* 로그아웃 */}
|
{/* 로그아웃 */}
|
||||||
<div className="content-stretch flex gap-[9px] items-center relative shrink-0">
|
<button
|
||||||
|
onClick={() => {
|
||||||
|
localStorage.removeItem('isLoggedIn');
|
||||||
|
localStorage.removeItem('isAdminLoggedIn');
|
||||||
|
router.push('/login');
|
||||||
|
}}
|
||||||
|
className="content-stretch flex gap-[9px] h-[36px] items-center relative shrink-0 cursor-pointer hover:opacity-80 transition-opacity"
|
||||||
|
>
|
||||||
<div className="flex items-center justify-center relative shrink-0">
|
<div className="flex items-center justify-center relative shrink-0">
|
||||||
<div className="flex-none rotate-[180deg] scale-y-[-100%]">
|
<div className="flex-none rotate-[180deg] scale-y-[-100%]">
|
||||||
<div className="h-[23.12px] relative w-[22px]">
|
<div className="h-[23.12px] relative w-[22px]">
|
||||||
@@ -274,14 +281,6 @@ export default function AdminHomePage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button
|
|
||||||
onClick={() => {
|
|
||||||
localStorage.removeItem('isLoggedIn');
|
|
||||||
localStorage.removeItem('isAdminLoggedIn');
|
|
||||||
router.push('/');
|
|
||||||
}}
|
|
||||||
className="content-stretch flex h-[36px] items-center justify-between relative shrink-0 w-[76px] cursor-pointer hover:opacity-80 transition-opacity"
|
|
||||||
>
|
|
||||||
<div className="box-border content-stretch flex gap-[10px] items-center justify-center px-[10px] py-[5px] relative shrink-0">
|
<div className="box-border content-stretch flex gap-[10px] items-center justify-center px-[10px] py-[5px] relative shrink-0">
|
||||||
<p className="font-medium leading-[1.6] not-italic relative shrink-0 text-[16px] text-[#404040] text-nowrap whitespace-pre">
|
<p className="font-medium leading-[1.6] not-italic relative shrink-0 text-[16px] text-[#404040] text-nowrap whitespace-pre">
|
||||||
로그아웃
|
로그아웃
|
||||||
@@ -289,7 +288,6 @@ export default function AdminHomePage() {
|
|||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* 메인 콘텐츠 */}
|
{/* 메인 콘텐츠 */}
|
||||||
<div className="absolute left-[250px] top-0 right-0 min-h-screen">
|
<div className="absolute left-[250px] top-0 right-0 min-h-screen">
|
||||||
|
|||||||
@@ -349,7 +349,14 @@ export default function AdminLecture1Page() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* 로그아웃 */}
|
{/* 로그아웃 */}
|
||||||
<div className="content-stretch flex gap-[9px] items-center relative shrink-0">
|
<button
|
||||||
|
onClick={() => {
|
||||||
|
localStorage.removeItem('isLoggedIn');
|
||||||
|
localStorage.removeItem('isAdminLoggedIn');
|
||||||
|
router.push('/login');
|
||||||
|
}}
|
||||||
|
className="content-stretch flex gap-[9px] h-[36px] items-center relative shrink-0 cursor-pointer hover:opacity-80 transition-opacity"
|
||||||
|
>
|
||||||
<div className="flex items-center justify-center relative shrink-0">
|
<div className="flex items-center justify-center relative shrink-0">
|
||||||
<div className="flex-none rotate-[180deg] scale-y-[-100%]">
|
<div className="flex-none rotate-[180deg] scale-y-[-100%]">
|
||||||
<div className="h-[23.12px] relative w-[22px]">
|
<div className="h-[23.12px] relative w-[22px]">
|
||||||
@@ -357,14 +364,6 @@ export default function AdminLecture1Page() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button
|
|
||||||
onClick={() => {
|
|
||||||
localStorage.removeItem('isLoggedIn');
|
|
||||||
localStorage.removeItem('isAdminLoggedIn');
|
|
||||||
router.push('/');
|
|
||||||
}}
|
|
||||||
className="content-stretch flex h-[36px] items-center justify-between relative shrink-0 w-[76px] cursor-pointer hover:opacity-80 transition-opacity"
|
|
||||||
>
|
|
||||||
<div className="box-border content-stretch flex gap-[10px] items-center justify-center px-[10px] py-[5px] relative shrink-0">
|
<div className="box-border content-stretch flex gap-[10px] items-center justify-center px-[10px] py-[5px] relative shrink-0">
|
||||||
<p className="font-medium leading-[1.6] not-italic relative shrink-0 text-[16px] text-[#404040] text-nowrap whitespace-pre">
|
<p className="font-medium leading-[1.6] not-italic relative shrink-0 text-[16px] text-[#404040] text-nowrap whitespace-pre">
|
||||||
로그아웃
|
로그아웃
|
||||||
@@ -372,7 +371,6 @@ export default function AdminLecture1Page() {
|
|||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* 메인 콘텐츠 */}
|
{/* 메인 콘텐츠 */}
|
||||||
<div className="absolute left-[250px] top-0 right-0 min-h-screen">
|
<div className="absolute left-[250px] top-0 right-0 min-h-screen">
|
||||||
|
|||||||
@@ -263,7 +263,14 @@ export default function AdminLecture2Page() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* 로그아웃 */}
|
{/* 로그아웃 */}
|
||||||
<div className="content-stretch flex gap-[9px] items-center relative shrink-0">
|
<button
|
||||||
|
onClick={() => {
|
||||||
|
localStorage.removeItem('isLoggedIn');
|
||||||
|
localStorage.removeItem('isAdminLoggedIn');
|
||||||
|
router.push('/login');
|
||||||
|
}}
|
||||||
|
className="content-stretch flex gap-[9px] h-[36px] items-center relative shrink-0 cursor-pointer hover:opacity-80 transition-opacity"
|
||||||
|
>
|
||||||
<div className="flex items-center justify-center relative shrink-0">
|
<div className="flex items-center justify-center relative shrink-0">
|
||||||
<div className="flex-none rotate-[180deg] scale-y-[-100%]">
|
<div className="flex-none rotate-[180deg] scale-y-[-100%]">
|
||||||
<div className="h-[23.12px] relative w-[22px]">
|
<div className="h-[23.12px] relative w-[22px]">
|
||||||
@@ -271,14 +278,6 @@ export default function AdminLecture2Page() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button
|
|
||||||
onClick={() => {
|
|
||||||
localStorage.removeItem('isLoggedIn');
|
|
||||||
localStorage.removeItem('isAdminLoggedIn');
|
|
||||||
router.push('/');
|
|
||||||
}}
|
|
||||||
className="content-stretch flex h-[36px] items-center justify-between relative shrink-0 w-[76px] cursor-pointer hover:opacity-80 transition-opacity"
|
|
||||||
>
|
|
||||||
<div className="box-border content-stretch flex gap-[10px] items-center justify-center px-[10px] py-[5px] relative shrink-0">
|
<div className="box-border content-stretch flex gap-[10px] items-center justify-center px-[10px] py-[5px] relative shrink-0">
|
||||||
<p className="font-medium leading-[1.6] not-italic relative shrink-0 text-[16px] text-[#404040] text-nowrap whitespace-pre">
|
<p className="font-medium leading-[1.6] not-italic relative shrink-0 text-[16px] text-[#404040] text-nowrap whitespace-pre">
|
||||||
로그아웃
|
로그아웃
|
||||||
@@ -286,7 +285,6 @@ export default function AdminLecture2Page() {
|
|||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* 메인 콘텐츠 */}
|
{/* 메인 콘텐츠 */}
|
||||||
<div className="absolute left-[250px] top-0 right-0 min-h-screen">
|
<div className="absolute left-[250px] top-0 right-0 min-h-screen">
|
||||||
|
|||||||
226
app/page.tsx
226
app/page.tsx
@@ -6,7 +6,6 @@ import Image from 'next/image';
|
|||||||
import { isAdminLoggedIn } from '../lib/auth';
|
import { isAdminLoggedIn } from '../lib/auth';
|
||||||
import LoginPage from './login/page';
|
import LoginPage from './login/page';
|
||||||
import Header from './components/Header';
|
import Header from './components/Header';
|
||||||
import Logout from '../public/svg/logout';
|
|
||||||
|
|
||||||
const imgImage2 = "http://localhost:3845/assets/89fda8e949171025b1232bae70fc9d442e4e70c8.png";
|
const imgImage2 = "http://localhost:3845/assets/89fda8e949171025b1232bae70fc9d442e4e70c8.png";
|
||||||
const imgImage7 = "http://localhost:3845/assets/a4e4d09643b890b56084560cc24d6e532a03487b.png";
|
const imgImage7 = "http://localhost:3845/assets/a4e4d09643b890b56084560cc24d6e532a03487b.png";
|
||||||
@@ -21,7 +20,6 @@ export default function HomePage() {
|
|||||||
const [isAdmin, setIsAdmin] = useState(false);
|
const [isAdmin, setIsAdmin] = useState(false);
|
||||||
const [isLoading, setIsLoading] = useState(true);
|
const [isLoading, setIsLoading] = useState(true);
|
||||||
const [currentHeroSlide, setCurrentHeroSlide] = useState(0);
|
const [currentHeroSlide, setCurrentHeroSlide] = useState(0);
|
||||||
const [selectedTab, setSelectedTab] = useState<'전체' | '학습자' | '강사' | '운영자'>('전체');
|
|
||||||
|
|
||||||
// 임시 데이터 - 실제로는 API에서 가져올 데이터
|
// 임시 데이터 - 실제로는 API에서 가져올 데이터
|
||||||
const [courses, setCourses] = useState([
|
const [courses, setCourses] = useState([
|
||||||
@@ -61,7 +59,12 @@ export default function HomePage() {
|
|||||||
setIsLoggedIn(loginStatus);
|
setIsLoggedIn(loginStatus);
|
||||||
setIsAdmin(adminStatus);
|
setIsAdmin(adminStatus);
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
}, []);
|
|
||||||
|
// 관리자일 경우 admin_home 페이지로 리다이렉트
|
||||||
|
if (adminStatus) {
|
||||||
|
router.push('/admin_home');
|
||||||
|
}
|
||||||
|
}, [router]);
|
||||||
|
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
return null; // 로딩 중
|
return null; // 로딩 중
|
||||||
@@ -72,222 +75,9 @@ export default function HomePage() {
|
|||||||
return <LoginPage />;
|
return <LoginPage />;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 관리자일 경우 권한 설정 페이지 표시
|
// 관리자일 경우 리다이렉트 중
|
||||||
if (isAdmin) {
|
if (isAdmin) {
|
||||||
return (
|
return null;
|
||||||
<div className="bg-white relative size-full min-h-screen">
|
|
||||||
{/* 사이드바 */}
|
|
||||||
<div className="absolute bg-white border-r border-[#eeeeee] border-solid box-border content-stretch flex flex-col gap-[45px] items-center left-0 min-h-[1080px] pb-8 pt-[30px] px-0 top-0 w-[250px]">
|
|
||||||
{/* 로고 */}
|
|
||||||
<button
|
|
||||||
onClick={() => router.push('/')}
|
|
||||||
className="h-[102px] relative shrink-0 w-[99px] cursor-pointer hover:opacity-80 transition-opacity"
|
|
||||||
>
|
|
||||||
<div className="absolute inset-0 flex items-center justify-center overflow-hidden pointer-events-none">
|
|
||||||
<img alt="로고" className="h-full w-full object-contain" src="/logo.svg" />
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
{/* 메뉴 */}
|
|
||||||
<div className="box-border content-stretch flex flex-col items-center pb-0 pt-4 px-0 relative shrink-0 w-[250px]">
|
|
||||||
<div className="box-border content-stretch flex flex-col gap-2 items-start p-3 relative shrink-0 w-full">
|
|
||||||
<button
|
|
||||||
onClick={() => router.push('/admin_home')}
|
|
||||||
className="bg-[#f7f7f7] box-border content-stretch flex gap-2 h-[34px] items-center pl-2 pr-2 py-1 relative rounded-lg shrink-0 w-[226px] cursor-pointer"
|
|
||||||
>
|
|
||||||
<div className="basis-0 content-stretch flex gap-2 grow items-center min-h-px min-w-px relative shrink-0 pl-2">
|
|
||||||
<p className="[white-space-collapse:collapse] basis-0 font-medium grow leading-[1.6] min-h-px min-w-px not-italic overflow-ellipsis overflow-hidden relative shrink-0 text-[14px] text-[#404040] text-left text-nowrap">
|
|
||||||
권한 설정
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
onClick={() => router.push('/admin_lecture1')}
|
|
||||||
className="box-border content-stretch flex gap-2 h-[34px] items-center pl-2 pr-2 py-1 relative rounded-lg shrink-0 w-[226px] cursor-pointer hover:bg-gray-50 transition-colors"
|
|
||||||
>
|
|
||||||
<div className="basis-0 content-stretch flex gap-2 grow items-center min-h-px min-w-px relative shrink-0 pl-2">
|
|
||||||
<p className="[white-space-collapse:collapse] basis-0 font-medium grow leading-[1.6] min-h-px min-w-px not-italic overflow-ellipsis overflow-hidden relative shrink-0 text-[14px] text-[#404040] text-left text-nowrap">
|
|
||||||
교육 과정 관리
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
onClick={() => router.push('/admin_lecture2')}
|
|
||||||
className="box-border content-stretch flex gap-2 h-[34px] items-center pl-2 pr-2 py-1 relative rounded-lg shrink-0 w-[226px] cursor-pointer hover:bg-gray-50 transition-colors"
|
|
||||||
>
|
|
||||||
<div className="basis-0 content-stretch flex gap-2 grow items-center min-h-px min-w-px relative shrink-0 pl-2">
|
|
||||||
<p className="[white-space-collapse:collapse] basis-0 font-medium grow leading-[1.6] min-h-px min-w-px not-italic overflow-ellipsis overflow-hidden relative shrink-0 text-[14px] text-[#404040] text-left text-nowrap">
|
|
||||||
강좌 관리
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button className="box-border content-stretch flex gap-2 h-[34px] items-center pl-2 pr-2 py-1 relative rounded-lg shrink-0 w-[226px] cursor-pointer hover:bg-gray-50 transition-colors">
|
|
||||||
<div className="basis-0 content-stretch flex gap-2 grow items-center min-h-px min-w-px relative shrink-0 pl-2">
|
|
||||||
<p className="[white-space-collapse:collapse] basis-0 font-medium grow leading-[1.6] min-h-px min-w-px not-italic overflow-ellipsis overflow-hidden relative shrink-0 text-[14px] text-[#404040] text-left text-nowrap">
|
|
||||||
문제 은행 관리
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button className="box-border content-stretch flex gap-2 h-[34px] items-center pl-2 pr-2 py-1 relative rounded-lg shrink-0 w-[226px] cursor-pointer hover:bg-gray-50 transition-colors">
|
|
||||||
<div className="basis-0 content-stretch flex gap-2 grow items-center min-h-px min-w-px relative shrink-0 pl-2">
|
|
||||||
<p className="[white-space-collapse:collapse] basis-0 font-medium grow leading-[1.6] min-h-px min-w-px not-italic overflow-ellipsis overflow-hidden relative shrink-0 text-[14px] text-[#404040] text-left text-nowrap">
|
|
||||||
수료증 발급
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button className="box-border content-stretch flex gap-2 h-[34px] items-center pl-2 pr-2 py-1 relative rounded-lg shrink-0 w-[226px] cursor-pointer hover:bg-gray-50 transition-colors">
|
|
||||||
<div className="basis-0 content-stretch flex gap-2 grow items-center min-h-px min-w-px relative shrink-0 pl-2">
|
|
||||||
<p className="[white-space-collapse:collapse] basis-0 font-medium grow leading-[1.6] min-h-px min-w-px not-italic overflow-ellipsis overflow-hidden relative shrink-0 text-[14px] text-[#404040] text-left text-nowrap">
|
|
||||||
공지사항
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button className="box-border content-stretch flex gap-2 h-[34px] items-center pl-2 pr-2 py-1 relative rounded-lg shrink-0 w-[226px] cursor-pointer hover:bg-gray-50 transition-colors">
|
|
||||||
<div className="basis-0 content-stretch flex gap-2 grow items-center min-h-px min-w-px relative shrink-0 pl-2">
|
|
||||||
<p className="[white-space-collapse:collapse] basis-0 font-medium grow leading-[1.6] min-h-px min-w-px not-italic overflow-ellipsis overflow-hidden relative shrink-0 text-[14px] text-[#404040] text-left text-nowrap">
|
|
||||||
학습 자료실
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button className="box-border content-stretch flex gap-2 h-[34px] items-center pl-2 pr-2 py-1 relative rounded-lg shrink-0 w-[226px] cursor-pointer hover:bg-gray-50 transition-colors">
|
|
||||||
<div className="basis-0 content-stretch flex gap-2 grow items-center min-h-px min-w-px relative shrink-0 pl-2">
|
|
||||||
<p className="[white-space-collapse:collapse] basis-0 font-medium grow leading-[1.6] min-h-px min-w-px not-italic overflow-ellipsis overflow-hidden relative shrink-0 text-[14px] text-[#404040] text-left text-nowrap">
|
|
||||||
로그/접속 기록
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button className="box-border content-stretch flex gap-2 h-[34px] items-center pl-2 pr-2 py-1 relative rounded-lg shrink-0 w-[226px] cursor-pointer hover:bg-gray-50 transition-colors">
|
|
||||||
<div className="basis-0 content-stretch flex gap-2 grow items-center min-h-px min-w-px relative shrink-0 pl-2">
|
|
||||||
<p className="[white-space-collapse:collapse] basis-0 font-medium grow leading-[1.6] min-h-px min-w-px not-italic overflow-ellipsis overflow-hidden relative shrink-0 text-[14px] text-[#404040] text-left text-nowrap">
|
|
||||||
배너 관리
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/* 로그아웃 */}
|
|
||||||
<div className="content-stretch flex gap-[9px] items-center relative shrink-0">
|
|
||||||
<div className="flex items-center justify-center relative shrink-0">
|
|
||||||
<div className="flex-none rotate-[180deg] scale-y-[-100%]">
|
|
||||||
<div className="h-[23.12px] relative w-[22px]">
|
|
||||||
<Logout />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<button
|
|
||||||
onClick={() => {
|
|
||||||
localStorage.removeItem('isLoggedIn');
|
|
||||||
localStorage.removeItem('isAdminLoggedIn');
|
|
||||||
router.push('/');
|
|
||||||
}}
|
|
||||||
className="content-stretch flex h-[36px] items-center justify-between relative shrink-0 w-[76px] cursor-pointer hover:opacity-80 transition-opacity"
|
|
||||||
>
|
|
||||||
<div className="box-border content-stretch flex gap-[10px] items-center justify-center px-[10px] py-[5px] relative shrink-0">
|
|
||||||
<p className="font-medium leading-[1.6] not-italic relative shrink-0 text-[16px] text-[#404040] text-nowrap whitespace-pre">
|
|
||||||
로그아웃
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* 메인 콘텐츠 */}
|
|
||||||
<div className="absolute left-[250px] top-0 right-0 min-h-screen">
|
|
||||||
{/* 페이지 타이틀 탭 */}
|
|
||||||
<div className="absolute content-stretch flex gap-[24px] items-center left-[48px] top-[45px]">
|
|
||||||
<button
|
|
||||||
onClick={() => setSelectedTab('전체')}
|
|
||||||
className={`border-b-[2px] border-solid box-border content-stretch flex gap-[150px] items-center relative shrink-0 ${selectedTab === '전체' ? 'border-[#2b82e8]' : 'border-transparent'}`}
|
|
||||||
>
|
|
||||||
<div className="box-border content-stretch flex gap-[10px] items-center justify-center p-[10px] relative shrink-0">
|
|
||||||
<p className={`font-bold leading-[normal] not-italic relative shrink-0 text-[18px] text-nowrap whitespace-pre ${selectedTab === '전체' ? 'text-[#515151]' : 'text-[#515151]'}`}>
|
|
||||||
전체
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
onClick={() => setSelectedTab('학습자')}
|
|
||||||
className={`border-b-[2px] border-solid box-border content-stretch flex gap-[150px] items-center relative shrink-0 ${selectedTab === '학습자' ? 'border-[#2b82e8]' : 'border-transparent'}`}
|
|
||||||
>
|
|
||||||
<div className="box-border content-stretch flex gap-[10px] items-center justify-center p-[10px] relative shrink-0">
|
|
||||||
<p className="font-bold leading-[normal] not-italic relative shrink-0 text-[#515151] text-[18px] text-nowrap whitespace-pre">
|
|
||||||
학습자
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
onClick={() => setSelectedTab('강사')}
|
|
||||||
className={`border-b-[2px] border-solid box-border content-stretch flex gap-[150px] items-center relative shrink-0 ${selectedTab === '강사' ? 'border-[#2b82e8]' : 'border-transparent'}`}
|
|
||||||
>
|
|
||||||
<div className="box-border content-stretch flex gap-[10px] items-center justify-center p-[10px] relative shrink-0">
|
|
||||||
<p className="font-bold leading-[normal] not-italic relative shrink-0 text-[#515151] text-[18px] text-nowrap whitespace-pre">
|
|
||||||
강사
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
onClick={() => setSelectedTab('운영자')}
|
|
||||||
className={`border-b-[2px] border-solid box-border content-stretch flex gap-[150px] items-center relative shrink-0 ${selectedTab === '운영자' ? 'border-[#2b82e8]' : 'border-transparent'}`}
|
|
||||||
>
|
|
||||||
<div className="box-border content-stretch flex gap-[10px] items-center justify-center p-[10px] relative shrink-0">
|
|
||||||
<p className="font-bold leading-[normal] not-italic relative shrink-0 text-[#515151] text-[18px] text-nowrap whitespace-pre">
|
|
||||||
운영자
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* 사용자 목록 테이블 */}
|
|
||||||
<div className="absolute content-stretch flex flex-col items-start left-[48px] right-[101px] top-[135px]">
|
|
||||||
{/* 테이블 헤더 */}
|
|
||||||
<div className="bg-[rgba(235,247,255,0.5)] content-stretch flex h-[41px] items-center relative shrink-0 w-full">
|
|
||||||
<div className="content-stretch flex items-center relative shrink-0 w-full">
|
|
||||||
<div className="basis-0 border-[0.5px_0px_0.5px_0.5px] border-[#b9b9b9] border-solid box-border content-stretch flex gap-[10px] grow items-center min-h-px min-w-px p-[10px] relative shrink-0">
|
|
||||||
<div className="basis-0 flex flex-col font-bold grow justify-center leading-[0] min-h-px min-w-px not-italic relative shrink-0 text-[18px] text-[#515151]">
|
|
||||||
<p className="leading-[normal]">가입일</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="basis-0 border-[0.5px_0px_0.5px_0.5px] border-[#b9b9b9] border-solid box-border content-stretch flex gap-[10px] grow items-center min-h-px min-w-px p-[10px] relative shrink-0">
|
|
||||||
<div className="basis-0 flex flex-col font-bold grow justify-center leading-[0] min-h-px min-w-px not-italic relative shrink-0 text-[18px] text-[#515151]">
|
|
||||||
<p className="leading-[normal]">사용자명</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="basis-0 border-[0.5px_0px_0.5px_0.5px] border-[#b9b9b9] border-solid box-border content-stretch flex gap-[10px] grow items-center min-h-px min-w-px p-[10px] relative shrink-0">
|
|
||||||
<div className="basis-0 flex flex-col font-bold grow justify-center leading-[0] min-h-px min-w-px not-italic relative shrink-0 text-[18px] text-[#515151]">
|
|
||||||
<p className="leading-[normal]">아이디(이메일)</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="basis-0 border-[0.5px_0px_0.5px_0.5px] border-[#b9b9b9] border-solid box-border content-stretch flex gap-[10px] grow items-center min-h-px min-w-px p-[10px] relative shrink-0">
|
|
||||||
<div className="basis-0 flex flex-col font-bold grow justify-center leading-[0] min-h-px min-w-px not-italic relative shrink-0 text-[18px] text-[#515151]">
|
|
||||||
<p className="leading-[normal]">권한</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="basis-0 border-[0.5px_0px_0.5px_0.5px] border-[#b9b9b9] border-solid box-border content-stretch flex gap-[10px] grow items-center min-h-px min-w-px p-[10px] relative shrink-0">
|
|
||||||
<div className="basis-0 flex flex-col font-bold grow justify-center leading-[0] min-h-px min-w-px not-italic relative shrink-0 text-[18px] text-[#515151]">
|
|
||||||
<p className="leading-[normal]">계정 상태</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="basis-0 border-[0.5px_0px_0.5px_0.5px] border-[#b9b9b9] border-solid box-border content-stretch flex gap-[10px] grow items-center min-h-px min-w-px p-[10px] relative shrink-0">
|
|
||||||
<div className="basis-0 flex flex-col font-bold grow justify-center leading-[0] min-h-px min-w-px not-italic relative shrink-0 text-[18px] text-[#515151]">
|
|
||||||
<p className="leading-[normal]">계정 관리</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* 빈 상태 메시지 */}
|
|
||||||
<div className="relative w-full flex items-center justify-center" style={{ minHeight: '400px' }}>
|
|
||||||
<div className="content-stretch flex flex-col gap-[16px] items-center relative shrink-0">
|
|
||||||
<div className="content-stretch flex flex-col gap-[2px] items-center relative shrink-0">
|
|
||||||
<p className="font-medium leading-[1.6] not-italic relative shrink-0 text-[16px] text-[#969696] text-nowrap whitespace-pre">
|
|
||||||
존재하는 계정이 없어요.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 일반 사용자일 경우 기존 메인 페이지 표시
|
// 일반 사용자일 경우 기존 메인 페이지 표시
|
||||||
|
|||||||
Reference in New Issue
Block a user