+28
-1
lib/blog_web/live/wordle_live.ex
+28
-1
lib/blog_web/live/wordle_live.ex
···
3
3
require Logger
4
4
alias Blog.Wordle.Game
5
5
6
+
defmodule HardModeWarningComponent do
7
+
use BlogWeb, :live_component
8
+
9
+
@impl true
10
+
def render(assigns) do
11
+
~H"""
12
+
<div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50" phx-click="dismiss-hard-mode-warning">
13
+
<div class="bg-white rounded-lg p-6 max-w-sm mx-4 shadow-xl" phx-click-away="dismiss-hard-mode-warning">
14
+
<div class="text-center">
15
+
<div class="text-2xl mb-2">⚠️</div>
16
+
<h2 class="text-lg font-bold mb-2">Hard Mode Enabled</h2>
17
+
<p class="text-sm text-gray-600 mb-4">
18
+
You're playing in Hard Mode! Any revealed hints must be used in subsequent guesses.
19
+
</p>
20
+
<button
21
+
class="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700 text-sm font-medium"
22
+
phx-click="dismiss-hard-mode-warning"
23
+
>
24
+
Got it!
25
+
</button>
26
+
</div>
27
+
</div>
28
+
</div>
29
+
"""
30
+
end
31
+
end
32
+
6
33
@impl true
7
34
def mount(_params, _session, socket) do
8
35
player_id = get_player_id(socket)
···
332
359
333
360
<%!-- Hard Mode Warning Popup --%>
334
361
<%= if @show_hard_mode_warning do %>
335
-
<.live_component module={BlogWeb.HardModeWarningComponent} id="hard-mode-warning" />
362
+
<.live_component module={__MODULE__.HardModeWarningComponent} id="hard-mode-warning" />
336
363
<% end %>
337
364
</div>
338
365
"""