Files
rikkei_simple_care/management/src/components/StudentAffairsTab.tsx
PhuocNTB dd766206f7
All checks were successful
Deploy on Master Change / deploy (push) Successful in 43s
add tai lieu system
2026-07-01 14:47:46 +07:00

118 lines
5.4 KiB
TypeScript

import React, { useState } from 'react';
export const StudentAffairsTab: React.FC = () => {
const [showUnderDevModal, setShowUnderDevModal] = useState(false);
return (
<div className="tab-page">
<div className="tab-page-toolbar">
<div className="page-header">
<div className="page-title">
<h1>Công Tác Sinh Viên</h1>
<p>Quản các hoạt đng hỗ trợ, vấn chăm sóc sinh viên tại Rikkei Education</p>
</div>
</div>
</div>
<div className="tab-page-body tab-page-scroll">
<div style={{ display: 'grid', gridTemplateColumns: 'repeat(auto-fill, minmax(280px, 1fr))', gap: '1.5rem', marginTop: '0.5rem' }}>
<div
className="content-card"
style={{
display: 'flex',
flexDirection: 'column',
justifyContent: 'space-between',
cursor: 'pointer',
transition: 'var(--transition)',
position: 'relative',
overflow: 'hidden',
padding: '1.75rem',
}}
onClick={() => setShowUnderDevModal(true)}
onMouseEnter={(e) => {
e.currentTarget.style.transform = 'translateY(-4px)';
e.currentTarget.style.boxShadow = 'var(--shadow-lg)';
e.currentTarget.style.borderColor = 'rgba(187, 33, 38, 0.3)';
}}
onMouseLeave={(e) => {
e.currentTarget.style.transform = 'none';
e.currentTarget.style.boxShadow = 'none';
e.currentTarget.style.borderColor = 'var(--border-color)';
}}
>
<div>
<div
style={{
width: '48px',
height: '48px',
borderRadius: '12px',
backgroundColor: 'var(--accent-light)',
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
color: 'var(--accent)',
marginBottom: '1.25rem'
}}
>
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
<path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" />
</svg>
</div>
<h3 style={{ fontSize: '1.1rem', fontWeight: 700, marginBottom: '0.5rem', color: 'var(--text-primary)' }}>Chăm Sóc Sinh Viên</h3>
<p style={{ fontSize: '0.875rem', color: 'var(--text-secondary)', lineHeight: '1.5' }}>
Hỗ trợ vấn, giải quyết các khó khăn, theo sát quá trình học tập đi sống tinh thần của học viên.
</p>
</div>
<div style={{ marginTop: '1.5rem', display: 'flex', alignItems: 'center', color: 'var(--accent)', fontWeight: 600, fontSize: '0.875rem' }}>
Truy cập chức năng
<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" style={{ marginLeft: '4px' }}>
<path d="M5 12h14M12 5l7 7-7 7" />
</svg>
</div>
</div>
</div>
</div>
{showUnderDevModal && (
<div className="modal-overlay" style={{ zIndex: 1100 }} onClick={() => setShowUnderDevModal(false)}>
<div className="modal-container" style={{ maxWidth: '400px' }} onClick={e => e.stopPropagation()}>
<div className="modal-body" style={{ textAlign: 'center', padding: '2.5rem 2rem' }}>
<div
style={{
width: '64px',
height: '64px',
borderRadius: '50%',
backgroundColor: 'rgba(230, 168, 23, 0.1)',
display: 'inline-flex',
alignItems: 'center',
justifyContent: 'center',
color: 'var(--warning)',
marginBottom: '1.5rem'
}}
>
<svg viewBox="0 0 24 24" width="32" height="32" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
<circle cx="12" cy="12" r="10" />
<line x1="12" y1="8" x2="12" y2="12" />
<line x1="12" y1="16" x2="12.01" y2="16" />
</svg>
</div>
<h2 style={{ fontSize: '1.3rem', fontWeight: 700, marginBottom: '0.75rem', color: 'var(--text-primary)' }}>Đang phát triển</h2>
<p style={{ fontSize: '0.95rem', color: 'var(--text-secondary)', lineHeight: '1.6', marginBottom: '2rem' }}>
Tính năng <strong>Chăm Sóc Sinh Viên</strong> hiện đang đưc phát triển hoàn thiện. Vui lòng quay lại sau!
</p>
<button
type="button"
className="btn btn-primary"
onClick={() => setShowUnderDevModal(false)}
style={{ width: '100%', justifyContent: 'center' }}
>
Đng ý
</button>
</div>
</div>
</div>
)}
</div>
);
};