11import { createBoardPreview } from "$lib/board-preview" ;
2- import { saveBoard , fetchBoardList , loadBoardById , type BoardListItem } from "$lib/api/board" ;
2+ import {
3+ saveBoard ,
4+ fetchBoardList ,
5+ loadBoardById ,
6+ type BoardListItem ,
7+ type LoadedBoardData ,
8+ } from "$lib/api/board" ;
39
410type SaveState =
511 | { saving : false }
6- | { saving : true ; data : number [ ] [ ] ; name : string ; preview : number [ ] [ ] } ;
12+ | {
13+ saving : true ;
14+ board : number [ ] [ ] ;
15+ name : string ;
16+ preview : number [ ] [ ] ;
17+ code : string ;
18+ } ;
719
820type LoadState =
921 | { state : "closed" }
@@ -16,9 +28,15 @@ export class BoardManager {
1628
1729 constructor ( ) { }
1830
19- openSaveModal ( board : number [ ] [ ] ) {
31+ openSaveModal ( board : number [ ] [ ] , code : string ) {
2032 const preview = createBoardPreview ( board ) ;
21- this . saveState = { saving : true , data : board , name : "" , preview : preview } ;
33+ this . saveState = {
34+ saving : true ,
35+ board : board ,
36+ name : "" ,
37+ preview : preview ,
38+ code : code ,
39+ } ;
2240 }
2341
2442 closeSaveModal ( ) {
@@ -28,7 +46,14 @@ export class BoardManager {
2846 async save ( isJapanese : boolean ) {
2947 if ( ! this . saveState . saving ) return ;
3048 const name = this . saveState . name . trim ( ) === "" ? "Unnamed Board" : this . saveState . name . trim ( ) ;
31- await saveBoard ( { board : this . saveState . data , name } , isJapanese ) ;
49+ await saveBoard (
50+ {
51+ board : this . saveState . board ,
52+ name : name ,
53+ code : this . saveState . code ,
54+ } ,
55+ isJapanese ,
56+ ) ;
3257 this . closeSaveModal ( ) ;
3358 }
3459
@@ -46,7 +71,7 @@ export class BoardManager {
4671 this . loadState = { state : "closed" } ;
4772 }
4873
49- async load ( id : number , isJapanese : boolean ) : Promise < number [ ] [ ] | undefined > {
74+ async load ( id : number , isJapanese : boolean ) : Promise < LoadedBoardData | undefined > {
5075 this . closeLoadModal ( ) ;
5176 return await loadBoardById ( id , isJapanese ) ;
5277 }
0 commit comments