Skip to content

Commit 147abe1

Browse files
committed
Update save/load data type from boolean[][] to number[][]
1 parent 3ab01bb commit 147abe1

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

src/lib/api/board.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export async function saveBoard(data: { board: boolean[][]; name: string }, isJapanese: boolean) {
1+
export async function saveBoard(data: { board: number[][]; name: string }, isJapanese: boolean) {
22
try {
33
const response = await fetch("/api/board", {
44
method: "POST",
@@ -31,7 +31,7 @@ export type BoardListItem = {
3131
id: number;
3232
name: string;
3333
createdAt: string;
34-
preview: boolean[][];
34+
preview: number[][];
3535
};
3636

3737
export async function fetchBoardList(isJapanese: boolean): Promise<BoardListItem[] | undefined> {
@@ -62,7 +62,7 @@ export async function fetchBoardList(isJapanese: boolean): Promise<BoardListItem
6262
export async function loadBoardById(
6363
id: number,
6464
isJapanese: boolean,
65-
): Promise<boolean[][] | undefined> {
65+
): Promise<number[][] | undefined> {
6666
try {
6767
const response = await fetch(`/api/board?id=${id}`);
6868

@@ -76,7 +76,7 @@ export async function loadBoardById(
7676

7777
const loadedBoard = await response.json();
7878

79-
return loadedBoard as boolean[][];
79+
return loadedBoard as number[][];
8080
} catch (err) {
8181
console.error("Load error", err);
8282
if (isJapanese) {

src/lib/board-preview.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ const PREVIEW_SIZE = 20;
44
* 任意のサイズの盤面データから、中央 20x20 のプレビューを生成します。
55
* 20x20 に満たない場合は、中央に配置し、周囲を false (空白) で埋めます。
66
*/
7-
export function createBoardPreview(boardData: boolean[][]): boolean[][] {
7+
export function createBoardPreview(boardData: number[][]): number[][] {
88
const boardHeight = boardData.length;
99
const boardWidth = boardData[0]?.length || 0;
1010

11-
const finalPreview: boolean[][] = Array.from({ length: PREVIEW_SIZE }, () =>
12-
Array(PREVIEW_SIZE).fill(false),
11+
const finalPreview: number[][] = Array.from({ length: PREVIEW_SIZE }, () =>
12+
Array(PREVIEW_SIZE).fill(0),
1313
);
1414

1515
const sourceStartRow = Math.max(0, Math.floor((boardHeight - PREVIEW_SIZE) / 2));

src/lib/models/BoardManager.svelte.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { saveBoard, fetchBoardList, loadBoardById, type BoardListItem } from "$l
33

44
type SaveState =
55
| { saving: false }
6-
| { saving: true; data: boolean[][]; name: string; preview: boolean[][] };
6+
| { saving: true; data: number[][]; name: string; preview: number[][] };
77

88
type LoadState =
99
| { state: "closed" }
@@ -16,7 +16,7 @@ export class BoardManager {
1616

1717
constructor() {}
1818

19-
openSaveModal(board: boolean[][]) {
19+
openSaveModal(board: number[][]) {
2020
const preview = createBoardPreview(board);
2121
this.saveState = { saving: true, data: board, name: "", preview: preview };
2222
}
@@ -46,7 +46,7 @@ export class BoardManager {
4646
this.loadState = { state: "closed" };
4747
}
4848

49-
async load(id: number, isJapanese: boolean): Promise<boolean[][] | undefined> {
49+
async load(id: number, isJapanese: boolean): Promise<number[][] | undefined> {
5050
this.closeLoadModal();
5151
return await loadBoardById(id, isJapanese);
5252
}

src/routes/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
break;
7878
}
7979
case "save_board": {
80-
boardManager.openSaveModal(event.data.data as boolean[][]);
80+
boardManager.openSaveModal(event.data.data as number[][]);
8181
break;
8282
}
8383
default: {

0 commit comments

Comments
 (0)