forked from AcaMate/AcaMate_Web
75 lines
2.5 KiB
Plaintext
75 lines
2.5 KiB
Plaintext
@inherits LayoutComponentBase
|
|
@implements IDisposable
|
|
|
|
|
|
<div class="min-h-screen flex flex-col text-gray-900">
|
|
<!-- Top 영역 -->
|
|
@* <TopBanner /> *@
|
|
|
|
@if(isAcademy)
|
|
{
|
|
<div class="flex flex-1 flex-col md:flex-row ">
|
|
@if (!isIntro && UserStateService.isLogin)
|
|
{
|
|
@* <div class="fixed flex flex-1 flex-col min-w-0"> *@
|
|
<div class="hidden md:block w-64 bg-normal-light shadow-lg fixed top-0 bottom-0 overflow-y-auto">
|
|
<SympleProfile/>
|
|
<LeftSideAcademy/>
|
|
</div>
|
|
@* </div> *@
|
|
<div class="flex flex-1 flex-col bg-white md:ml-64 min-w-0 min-h-screen">
|
|
<!-- TopNav 고정 -->
|
|
<div class="h-18 top-0 right-0 md:left-64 left-0 z-20 fixed bg-normal-light">
|
|
<TopNavAcademy/>
|
|
</div>
|
|
|
|
<!-- 빨간 그림자 컨테이너 - TopNav 바로 아래 고정 -->
|
|
<div class="fixed bottom-0 right-0 md:left-64 left-0 z-10 bg-red
|
|
rounded-tl-2xl rounded-tr-2xl
|
|
shadow-[inset_4px_4px_4px_0px_rgba(0,0,0,0.25)] md:p-10 px-4 py-6"
|
|
style="top: 4.5rem;">
|
|
|
|
<!-- Body 컨텐츠 - 스크롤 영역 -->
|
|
<div class="h-full overflow-y-auto">
|
|
@Body
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<main class="flex-1 w-full max-w-[960px] mx-auto overflow-y-auto">
|
|
@Body
|
|
</main>
|
|
}
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
@if (!isHidePrjTop)
|
|
{
|
|
<TopProjectNav />
|
|
}
|
|
<!-- 본문 컨텐츠 -->
|
|
<main class="flex-1 w-full max-w-[960px] mx-auto overflow-y-auto">
|
|
@Body
|
|
</main>
|
|
}
|
|
|
|
@* <!-- 플로팅 버튼 --> *@
|
|
@* <FloatingButton /> *@
|
|
@* *@
|
|
@* <!-- 하단 메뉴 --> *@
|
|
@* <BottomNav /> *@
|
|
@* <Footer /> *@
|
|
|
|
@if (LoadingService.IsLoading)
|
|
{
|
|
<div class="fixed inset-0 bg-black/30 flex items-center justify-center z-50">
|
|
<div class="bg-gray-200/60 px-6 py-4 rounded-lg">
|
|
<div class="animate-spin h-8 w-8 border-4 border-gray-600 border-t-transparent rounded-full"></div>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|