Lashtw commited on
Commit
449276f
·
verified ·
1 Parent(s): 31a5b81

Upload 9 files

Browse files
Files changed (1) hide show
  1. src/views/LandingView.js +35 -4
src/views/LandingView.js CHANGED
@@ -1,11 +1,35 @@
1
  import { createRoom, joinRoom } from "../services/classroom.js";
 
2
 
3
  export function renderLandingView() {
 
 
 
 
 
 
 
 
4
  return `
5
- <div class="min-h-screen flex flex-col items-center justify-center p-4">
6
- <div class="max-w-md w-full bg-gray-600 bg-opacity-20 backdrop-blur-lg rounded-xl shadow-2xl p-8 border border-gray-700">
7
- <h1 class="text-4xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-cyan-400 to-purple-500 mb-8 text-center tracking-tighter">
8
- VIBECODING
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  </h1>
10
 
11
  <!-- Student Join Form -->
@@ -30,6 +54,13 @@ export function renderLandingView() {
30
  </button>
31
  </div>
32
  </div>
 
 
 
 
 
 
 
33
  </div>
34
  `;
35
  }
 
1
  import { createRoom, joinRoom } from "../services/classroom.js";
2
+ import { generateMonsterSVG, MONSTER_DEFS } from "../utils/monsterUtils.js";
3
 
4
  export function renderLandingView() {
5
+ // Select Decor Monsters
6
+ // Left: Genesis Dragon (L3_AAA), Right: Gundam (L3_BAA) - or fallbacks
7
+ const mLeft = MONSTER_DEFS.find(m => m.id === 'L3_AAA') || MONSTER_DEFS.find(m => m.stage === 3);
8
+ const mRight = MONSTER_DEFS.find(m => m.id === 'L3_BAA') || MONSTER_DEFS.find(m => m.stage === 3);
9
+
10
+ const svgLeft = generateMonsterSVG(mLeft);
11
+ const svgRight = generateMonsterSVG(mRight);
12
+
13
  return `
14
+ <div class="min-h-screen flex flex-col items-center justify-center p-4 relative overflow-hidden">
15
+
16
+ <!-- Decor Monsters (Desktop Only) -->
17
+ <div class="absolute bottom-10 left-10 w-48 h-48 hidden lg:block opacity-50 pointer-events-none"
18
+ style="animation: float 6s ease-in-out infinite;">
19
+ <div class="w-full h-full drop-shadow-[0_0_15px_rgba(34,211,238,0.5)]">
20
+ ${svgLeft}
21
+ </div>
22
+ </div>
23
+ <div class="absolute bottom-10 right-10 w-48 h-48 hidden lg:block opacity-50 pointer-events-none"
24
+ style="animation: float 8s ease-in-out infinite reverse;">
25
+ <div class="w-full h-full drop-shadow-[0_0_15px_rgba(59,130,246,0.5)]">
26
+ ${svgRight}
27
+ </div>
28
+ </div>
29
+
30
+ <div class="max-w-md w-full bg-gray-600 bg-opacity-20 backdrop-blur-lg rounded-xl shadow-2xl p-8 border border-gray-700 z-10">
31
+ <h1 class="text-3xl sm:text-4xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-cyan-400 to-purple-500 mb-8 text-center tracking-tighter whitespace-nowrap">
32
+ VIBECODING-怪獸成長營
33
  </h1>
34
 
35
  <!-- Student Join Form -->
 
54
  </button>
55
  </div>
56
  </div>
57
+
58
+ <style>
59
+ @keyframes float {
60
+ 0%, 100% { transform: translateY(0); }
61
+ 50% { transform: translateY(-20px); }
62
+ }
63
+ </style>
64
  </div>
65
  `;
66
  }