From 5719a929ad5a048b59cf59b8683dcaaef01f2311 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 24 Jan 2024 16:37:06 +0900 Subject: enhance(reversi): 変則なしマッチングを可能に MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frontend/src/pages/reversi/game.setting.vue | 121 +++++++++++---------- packages/frontend/src/pages/reversi/index.vue | 22 +++- 2 files changed, 81 insertions(+), 62 deletions(-) (limited to 'packages/frontend') diff --git a/packages/frontend/src/pages/reversi/game.setting.vue b/packages/frontend/src/pages/reversi/game.setting.vue index b1e66e4fdd..0fbabfe4de 100644 --- a/packages/frontend/src/pages/reversi/game.setting.vue +++ b/packages/frontend/src/pages/reversi/game.setting.vue @@ -12,69 +12,74 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts._reversi.gameSettings }}
-
-
-
{{ mapName }}
- {{ i18n.ts._reversi.chooseBoard }} -
+ +
diff --git a/packages/frontend/src/pages/reversi/index.vue b/packages/frontend/src/pages/reversi/index.vue index 7c687e813c..8deaead698 100644 --- a/packages/frontend/src/pages/reversi/index.vue +++ b/packages/frontend/src/pages/reversi/index.vue @@ -157,6 +157,7 @@ if ($i) { const invitations = ref([]); const matchingUser = ref(null); const matchingAny = ref(false); +const noIrregularRules = ref(false); function startGame(game: Misskey.entities.ReversiGameDetailed) { matchingUser.value = null; @@ -182,6 +183,7 @@ async function matchHeatbeat() { } else if (matchingAny.value) { const res = await misskeyApi('reversi/match', { userId: null, + noIrregularRules: noIrregularRules.value, }); if (res != null) { @@ -199,10 +201,22 @@ async function matchUser() { matchHeatbeat(); } -async function matchAny() { - matchingAny.value = true; - - matchHeatbeat(); +function matchAny(ev: MouseEvent) { + os.popupMenu([{ + text: i18n.ts._reversi.allowIrregularRules, + action: () => { + noIrregularRules.value = false; + matchingAny.value = true; + matchHeatbeat(); + }, + }, { + text: i18n.ts._reversi.disallowIrregularRules, + action: () => { + noIrregularRules.value = true; + matchingAny.value = true; + matchHeatbeat(); + }, + }], ev.currentTarget ?? ev.target); } function cancelMatching() { -- cgit v1.2.3-freya