Ilo/design/Ilo Student.html
2026-05-02 20:01:30 +03:30

81 lines
3.8 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="fa" dir="rtl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>ایلو · دانشجو</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="styles.css" />
<script src="https://unpkg.com/react@18.3.1/umd/react.development.js" integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L" crossorigin="anonymous"></script>
<script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js" integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm" crossorigin="anonymous"></script>
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel" src="icons.jsx"></script>
<script type="text/babel" src="shell.jsx"></script>
<script type="text/babel" src="student-data.jsx"></script>
<script type="text/babel" src="student-screens.jsx"></script>
<script type="text/babel">
const CRUMBS = {
dash: ['ایلو', 'خانه'],
mycourses: ['ایلو', 'دوره‌های من'],
catalog: ['ایلو', 'کاوش دوره‌ها'],
detail: ['ایلو', 'کاوش دوره‌ها', 'مبانی طراحی رابط کاربری'],
cert: ['ایلو', 'گواهی‌نامه‌ها'],
chat: ['ایلو', 'گفت‌وگو'],
};
function App() {
const [active, setActive] = React.useState('dash');
React.useEffect(() => {
const root = document.documentElement;
root.dataset.theme = 'light';
root.dataset.density = 'regular';
}, []);
const renderScreen = () => {
if (active === 'dash') return <StudentDash onOpen={setActive} />;
if (active === 'catalog') return <StudentCatalog onOpen={setActive} />;
if (active === 'detail') return <StudentCourseDetail />;
if (active === 'mycourses') return <StudentDash onOpen={setActive} />;
return (
<div className="page-inner">
<div className="card card-pad" style={{ minHeight: 320, display: 'grid', placeItems: 'center', textAlign: 'center' }}>
<div>
<div style={{ width: 56, height: 56, borderRadius: 16, background: 'var(--accent-soft)', color: 'var(--accent)', display: 'grid', placeItems: 'center', margin: '0 auto 14px' }}>
<Icon name={active === 'cert' ? 'cert' : 'chat'} style={{ width: 24, height: 24 }} />
</div>
<div style={{ fontSize: 18, fontWeight: 700 }}>بهزودی</div>
<div className="muted" style={{ fontSize: 13, marginTop: 6 }}>این بخش در نسخهی بعدی فعال میشود</div>
</div>
</div>
</div>
);
};
return (
<div className="app">
<StudentSidebar active={active === 'detail' ? 'catalog' : active} onNav={setActive} />
<main className="main">
<Topbar crumb={CRUMBS[active] || ['ایلو']}
right={<a className="btn" href="Ilo Auth.html" style={{ textDecoration: 'none' }}>خروج</a>} />
<div className="page" key={active}>
{renderScreen()}
</div>
</main>
</div>
);
}
ReactDOM.createRoot(document.getElementById('root')).render(<App />);
</script>
</body>
</html>