Skip to content

Commit 2c4ecca

Browse files
committed
盤面ロード時にコードも変更されることを警告する機能を追加
1 parent cd49cc8 commit 2c4ecca

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

src/lib/components/BoardModals.svelte

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,22 @@
1010
isJapanese: boolean;
1111
onSelect: (id: number) => void;
1212
} = $props();
13+
14+
let showConfirmation = $state(false);
15+
let selectedBoardId = $state<number | null>(null);
16+
17+
function handleLoadClick(id: number) {
18+
selectedBoardId = id;
19+
showConfirmation = true;
20+
}
21+
22+
function handleConfirmLoad() {
23+
if (selectedBoardId !== null) {
24+
onSelect(selectedBoardId);
25+
}
26+
showConfirmation = false;
27+
selectedBoardId = null;
28+
}
1329
</script>
1430

1531
<dialog class="modal" open={manager.saveState.saving}>
@@ -105,7 +121,7 @@
105121
<td class="text-right">
106122
<button
107123
class="btn btn-sm btn-success text-black"
108-
onclick={() => onSelect(item.id)}
124+
onclick={() => handleLoadClick(item.id)}
109125
>
110126
{isJapanese ? "ロード" : "Load"}
111127
</button>
@@ -125,6 +141,27 @@
125141
</div>
126142
</dialog>
127143

144+
<dialog class="modal modal-middle" open={showConfirmation}>
145+
<div class="modal-box">
146+
<h3 class="font-bold text-lg">
147+
{isJapanese ? "警告" : "Caution"}
148+
</h3>
149+
<p class="py-4">
150+
{isJapanese
151+
? "盤面に加え、コードも上書きされます。よろしいですか?"
152+
: "The current board and **CODE** will be overwritten. Are you sure?"}
153+
</p>
154+
<div class="modal-action">
155+
<button class="btn btn-error" onclick={() => (showConfirmation = false)}>
156+
{isJapanese ? "いいえ" : "No"}
157+
</button>
158+
<button class="btn btn-success text-black" onclick={handleConfirmLoad}>
159+
{isJapanese ? "はい" : "Yes"}
160+
</button>
161+
</div>
162+
</div>
163+
</dialog>
164+
128165
<style>
129166
.board-preview {
130167
display: grid;

0 commit comments

Comments
 (0)