Lashtw commited on
Commit
684f9a1
·
verified ·
1 Parent(s): 66269b4

Upload 8 files

Browse files
src/views/AdminView.js CHANGED
@@ -4,9 +4,14 @@ export function renderAdminView() {
4
  return `
5
  <div class="min-h-screen p-6 pb-20">
6
  <header class="flex justify-between items-center mb-10 bg-gray-800 bg-opacity-50 p-4 rounded-xl border border-gray-700 backdrop-blur-sm">
7
- <h1 class="text-2xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-red-400 to-orange-600">
8
- 後台管理系統 Admin Panel
9
- </h1>
 
 
 
 
 
10
  <button id="add-challenge-btn" class="bg-green-600 hover:bg-green-500 text-white font-bold py-2 px-6 rounded-lg transition-all shadow-lg">
11
  + 新增題目
12
  </button>
@@ -63,6 +68,10 @@ export function renderAdminView() {
63
  export function setupAdminEvents() {
64
  loadChallenges();
65
 
 
 
 
 
66
  document.getElementById('add-challenge-btn').addEventListener('click', () => {
67
  openModal();
68
  });
 
4
  return `
5
  <div class="min-h-screen p-6 pb-20">
6
  <header class="flex justify-between items-center mb-10 bg-gray-800 bg-opacity-50 p-4 rounded-xl border border-gray-700 backdrop-blur-sm">
7
+ <div class="flex items-center space-x-4">
8
+ <button id="back-instructor-btn" class="bg-gray-700 hover:bg-gray-600 text-white p-2 rounded-lg transition-all">
9
+ ← 回講師端
10
+ </button>
11
+ <h1 class="text-2xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-red-400 to-orange-600">
12
+ 後台管理系統 Admin Panel
13
+ </h1>
14
+ </div>
15
  <button id="add-challenge-btn" class="bg-green-600 hover:bg-green-500 text-white font-bold py-2 px-6 rounded-lg transition-all shadow-lg">
16
  + 新增題目
17
  </button>
 
68
  export function setupAdminEvents() {
69
  loadChallenges();
70
 
71
+ document.getElementById('back-instructor-btn').addEventListener('click', () => {
72
+ window.location.hash = 'instructor';
73
+ });
74
+
75
  document.getElementById('add-challenge-btn').addEventListener('click', () => {
76
  openModal();
77
  });
src/views/InstructorView.js CHANGED
@@ -25,10 +25,15 @@ export async function renderInstructorView() {
25
  <span class="text-gray-400">教室代碼</span>
26
  <span id="display-room-code" class="text-3xl font-mono font-bold text-cyan-400 tracking-widest bg-gray-900 px-4 py-2 rounded-lg border border-cyan-500/30 shadow-[0_0_15px_rgba(34,211,238,0.3)]"></span>
27
  </div>
28
- <div id="create-room-container">
29
- <button id="create-room-btn" class="bg-purple-600 hover:bg-purple-500 text-white font-bold py-2 px-6 rounded-lg transition-all shadow-lg shadow-purple-500/30">
30
- 建立新教室
31
  </button>
 
 
 
 
 
32
  </div>
33
  </header>
34
 
@@ -71,6 +76,11 @@ export function setupInstructorEvents() {
71
  const dashboardContent = document.getElementById('dashboard-content');
72
  const displayRoomCode = document.getElementById('display-room-code');
73
  const studentsGrid = document.getElementById('students-grid');
 
 
 
 
 
74
 
75
  createBtn.addEventListener('click', async () => {
76
  try {
 
25
  <span class="text-gray-400">教室代碼</span>
26
  <span id="display-room-code" class="text-3xl font-mono font-bold text-cyan-400 tracking-widest bg-gray-900 px-4 py-2 rounded-lg border border-cyan-500/30 shadow-[0_0_15px_rgba(34,211,238,0.3)]"></span>
27
  </div>
28
+ <div class="flex space-x-3">
29
+ <button id="nav-admin-btn" class="bg-gray-700 hover:bg-gray-600 text-white font-bold py-2 px-4 rounded-lg transition-all border border-gray-600">
30
+ 管理題目 (Admin)
31
  </button>
32
+ <div id="create-room-container">
33
+ <button id="create-room-btn" class="bg-purple-600 hover:bg-purple-500 text-white font-bold py-2 px-6 rounded-lg transition-all shadow-lg shadow-purple-500/30">
34
+ 建立新教室
35
+ </button>
36
+ </div>
37
  </div>
38
  </header>
39
 
 
76
  const dashboardContent = document.getElementById('dashboard-content');
77
  const displayRoomCode = document.getElementById('display-room-code');
78
  const studentsGrid = document.getElementById('students-grid');
79
+ const navAdminBtn = document.getElementById('nav-admin-btn');
80
+
81
+ navAdminBtn.addEventListener('click', () => {
82
+ window.location.hash = 'admin';
83
+ });
84
 
85
  createBtn.addEventListener('click', async () => {
86
  try {