Skip to content

Commit d517ac2

Browse files
authored
Merge pull request #4 from CSDotNET0211/dev
bug fixes
2 parents ad96a43 + c4d36e4 commit d517ac2

7 files changed

Lines changed: 32 additions & 26 deletions

File tree

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "fumen",
3-
"version": "0.2.0",
3+
"version": "0.2.2",
44
"description": "",
55
"type": "module",
66
"scripts": {
@@ -49,4 +49,4 @@
4949
"typescript": "~5.6.2",
5050
"vite": "^6.2.6"
5151
}
52-
}
52+
}

src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "fumen-rs",
4-
"version": "0.2.0",
4+
"version": "0.2.2",
55
"identifier": "com.fumen.app",
66
"build": {
77
"beforeDevCommand": "npm run dev",

src/core/nodes/NodeUpdater/localNodeUpdater.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ export class LocalNodeUpdater extends NodeUpdater {
1616

1717
}
1818
async delete(node: DatabaseNode): Promise<void> {
19-
deleteNodeDatabase(node);
19+
await deleteNodeDatabase(node);
2020
}
2121
}

src/core/nodes/db.ts

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -154,20 +154,15 @@ export async function loadDatabase(dbData: Uint8Array<ArrayBufferLike>, useSplas
154154
}, { once: true });
155155
});
156156

157-
//currentField.set(FieldType.TetrisEdit);
158157
currentWindow.set(WindowType.Splash);
159158
currentFieldIndex.set(-1);
160159

161160
await waitForTransition;
162161

163162
const firstFieldResult = getLatestFieldId()!;
164-
//if (firstFieldResult) {
165163
currentFieldIndex.set(firstFieldResult);
166164
currentWindow.set(originalWindow);
167165
WindowFadeDuration.set(300);
168-
//}
169-
170-
171166
} else {
172167
currentFieldIndex.set(-1);
173168
const firstFieldResult = getLatestFieldId();
@@ -218,7 +213,7 @@ export function createNodeDatabase(updateNode: DatabaseNode): number {
218213

219214

220215

221-
export function deleteNodeDatabase(node: DatabaseNode) {
216+
export async function deleteNodeDatabase(node: DatabaseNode) {
222217
if (!db) {
223218
throw new Error("Database is not initialized.");
224219
}
@@ -229,12 +224,28 @@ export function deleteNodeDatabase(node: DatabaseNode) {
229224

230225
node.deleteNode(db);
231226

227+
if (node.id === get(currentFieldIndex)) {
228+
const originalWindow = get(currentWindow);
232229

230+
const waitForTransition = new Promise<void>((resolve) => {
231+
document.addEventListener("onWindowTransitionEnd", async () => {
232+
await new Promise(resolve => setTimeout(resolve, 100));
233+
resolve();
234+
}, { once: true });
235+
});
233236

234-
const firstFieldResult = getLatestFieldId();
235-
if (firstFieldResult) {
237+
currentWindow.set(WindowType.Splash);
238+
currentFieldIndex.set(-1);
239+
240+
await waitForTransition;
241+
242+
const firstFieldResult = getLatestFieldId()!;
236243
currentFieldIndex.set(firstFieldResult);
244+
currentWindow.set(originalWindow);
245+
WindowFadeDuration.set(300);
237246
}
247+
248+
238249
}
239250

240251
export function getNodeDatabase(id: number): DatabaseNode | null {

src/features/windows/canvas/CanvasNode/textCanvasNode.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,20 +116,20 @@ export class TextCanvasNode extends CanvasNode {
116116

117117
const oldText = textNode.element.textContent || "";
118118

119-
function cleanup() {
119+
async function cleanup() {
120120
if (textNode.element && textNode.element.parentNode) {
121121
textNode.element.parentNode.removeChild(textNode.element);
122122
}
123123
// nodes配列からも削除
124-
deleteNodeDatabase(getNodeDatabase(textNode.id)!);
124+
await deleteNodeDatabase(getNodeDatabase(textNode.id)!);
125125
//TextNode.deleteDB(textNode.id);
126126
}
127127

128-
const confirm = () => {
128+
const confirm = async () => {
129129
if (!textNode.element) return;
130130
const newText = (textNode.element.textContent || "").trim();
131131
if (!newText) {
132-
cleanup();
132+
await cleanup();
133133
return;
134134
}
135135

@@ -145,15 +145,15 @@ export class TextCanvasNode extends CanvasNode {
145145
get(nodeUpdater)!.update(new TextDatabaseNode(textNode.id, undefined, undefined, newText, undefined, undefined, undefined));
146146
//TextNode.updateDB(textNode.id, textNode.x, textNode.y, textNode.size, textNode.text, textNode.color, textNode.backgroundColor);
147147
}
148-
const cancel = () => {
148+
const cancel = async () => {
149149
if (!textNode.element) return;
150150
if (oldText.trim()) {
151151
textNode.element.textContent = oldText;
152152
textNode.element.contentEditable = "false";
153153
textNode.element.style.userSelect = "none";
154154
textNode.element.className = "canvas-text confirmed";
155155
} else {
156-
cleanup();
156+
await cleanup();
157157
}
158158
}
159159

src/features/windows/splash/splashWindow.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
data-tauri-drag-region
2121
style="font-size: 0.9em; color: #aaa; margin-bottom: 0px;"
2222
>
23-
version 0.2.0
23+
version 0.2.2
2424
</p>
2525
<p
2626
data-tauri-drag-region

src/services/online.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ export async function joinRoomWS(
8989
);
9090
return;
9191
}
92-
9392
const { roomPlayers, isHost, playerId }: { roomPlayers: { id: string; name: string; color: string }[], isHost: boolean, playerId: string } = await wsSocket?.emitWithAck("join_room", roomName, userName);
9493

9594
players.set(new Set(roomPlayers));
@@ -102,7 +101,6 @@ export async function joinRoomWS(
102101
document.addEventListener("onTetrisBoardMove", onTetrisBoardMove);
103102

104103
positionSendInterval = setInterval(sendPositionIfChanged, 50);
105-
106104
if (!isHost) {
107105
const dbBin = await getHostDB();
108106
await loadDatabase(dbBin, true);
@@ -148,10 +146,7 @@ export async function sendDeleteNodeWS(node: DatabaseNode): Promise<any> {
148146

149147
const uIntResponse = new Uint8Array(response);
150148
const databaseNode = resolveDatabaseNode(BSON.deserialize(uIntResponse));
151-
return deleteNodeDatabase(databaseNode);
152-
153-
154-
149+
return await deleteNodeDatabase(databaseNode);
155150
}
156151

157152
export async function getHostDB(): Promise<Uint8Array> {
@@ -333,7 +328,7 @@ function registerEvents(wsSocket: Socket) {
333328
const databaseNodeObj = BSON.deserialize(uIntResponse);
334329

335330
const databaseNode = resolveDatabaseNode(databaseNodeObj);
336-
deleteNodeDatabase(databaseNode);
331+
await deleteNodeDatabase(databaseNode);
337332
if (callback)
338333
callback(nodeBson);
339334
});

0 commit comments

Comments
 (0)