import { createRoom, joinRoom } from "../services/classroom.js"; export function renderLandingView() { return `

VIBECODING

`; } export function setupLandingEvents(navigateTo) { const joinBtn = document.getElementById('join-btn'); const instructorBtn = document.getElementById('instructor-mode-btn'); joinBtn.addEventListener('click', async () => { const roomCode = document.getElementById('room-code-input').value.trim(); const nickname = document.getElementById('nickname-input').value.trim(); if (!roomCode || !nickname) { alert('請輸入教室代碼和暱稱'); return; } try { joinBtn.textContent = '加入中...'; joinBtn.disabled = true; const studentId = await joinRoom(roomCode, nickname); // Save Session localStorage.setItem('vibecoding_user_id', studentId); localStorage.setItem('vibecoding_room_code', roomCode); localStorage.setItem('vibecoding_nickname', nickname); navigateTo('student'); } catch (error) { alert('加入失敗: ' + error.message); joinBtn.textContent = '進入教室'; joinBtn.disabled = false; } }); instructorBtn.addEventListener('click', () => { // Clear any previous admin referer to ensure clean state localStorage.removeItem('vibecoding_admin_referer'); navigateTo('instructor'); }); }