All checks were successful
Deploy on Master Change / deploy (push) Successful in 43s
118 lines
5.4 KiB
TypeScript
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 lý các hoạt động hỗ trợ, tư vấn và 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ợ tư vấn, giải quyết các khó khăn, theo sát quá trình học tập và đờ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 và 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>
|
|
);
|
|
};
|