d44180db67
Localize studio, curriculum, visualization and loading interfaces. Add persistent language and theme settings, refine module loading states, and normalize remote shell locales.
101 lines
2.7 KiB
HTML
101 lines
2.7 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<style>
|
|
html,
|
|
body {
|
|
margin: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
background: #07111f;
|
|
font-family: NanumSquare, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
}
|
|
|
|
.splash {
|
|
position: relative;
|
|
width: 100vw;
|
|
height: 100vh;
|
|
background: radial-gradient(circle at 50% 35%, #11243e 0%, #07111f 54%, #03070d 100%);
|
|
-webkit-app-region: drag;
|
|
}
|
|
|
|
.splash-image {
|
|
position: absolute;
|
|
inset: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
user-select: none;
|
|
-webkit-user-drag: none;
|
|
}
|
|
|
|
.fallback-title {
|
|
position: absolute;
|
|
top: 45%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: #4d5d76;
|
|
text-shadow: 0 1px 12px rgba(255, 255, 255, 0.28);
|
|
font-size: 28px;
|
|
font-weight: 800;
|
|
letter-spacing: 6px;
|
|
}
|
|
|
|
.loading {
|
|
position: absolute;
|
|
right: 26px;
|
|
bottom: 20px;
|
|
color: #64738a;
|
|
text-shadow: 0 1px 10px rgba(255, 255, 255, 0.24);
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
letter-spacing: 0.3px;
|
|
}
|
|
|
|
.copyright {
|
|
position: absolute;
|
|
bottom: 20px;
|
|
left: 20px;
|
|
color: #7a8495;
|
|
text-shadow: 0 1px 8px rgba(255, 255, 255, 0.2);
|
|
font-size: 11px;
|
|
font-weight: 400;
|
|
letter-spacing: 0.2px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="splash">
|
|
<div class="fallback-title">LMS</div>
|
|
<img class="splash-image" id="splash-image" alt="" />
|
|
<div class="copyright">© 2026 Autonomy Studio. All rights reserved.</div>
|
|
<div class="loading" id="loading-text">학습 환경 준비 중...</div>
|
|
</div>
|
|
|
|
<script>
|
|
document.getElementById('splash-image').src = './assets/splash.png'
|
|
|
|
const el = document.getElementById('loading-text')
|
|
const translations = {
|
|
'학습 환경 준비 중...': 'Preparing your learning environment...',
|
|
'로그인 세션 확인 중...': 'Checking your session...',
|
|
'강좌 정보 불러오는 중...': 'Loading courses...',
|
|
'커리큘럼 및 플랫폼 정보 가져오는 중...': 'Loading curriculum and platforms...'
|
|
}
|
|
let language = 'ko'
|
|
try {
|
|
language = localStorage.getItem('autonomy-studio.lms.language') === 'en' ? 'en' : 'ko'
|
|
} catch {}
|
|
document.documentElement.lang = language
|
|
window.setSplashStatus = (message) => {
|
|
if (typeof message === 'string' && message.trim()) {
|
|
el.textContent = language === 'en' ? (translations[message] ?? message) : message
|
|
}
|
|
}
|
|
window.setSplashStatus(el.textContent)
|
|
</script>
|
|
</body>
|
|
</html>
|