diff --git a/website/src/lib/components/self/games/Mines.svelte b/website/src/lib/components/self/games/Mines.svelte index 17b0aaa..a12b44e 100644 --- a/website/src/lib/components/self/games/Mines.svelte +++ b/website/src/lib/components/self/games/Mines.svelte @@ -105,7 +105,14 @@ async function handleTileClick(index: number) { if (!isPlaying || revealedTiles.includes(index) || !sessionToken) return; lastClickedTile = index; - try { + + // Temporarily disabled - using local simulation + toast.error('Mines game temporarily disabled', { + description: 'This feature is currently under maintenance' + }); + return; + + /* try { const response = await fetch('/api/gambling/mines/reveal', { method: 'POST', headers: { 'Content-Type': 'application/json' }, @@ -142,12 +149,19 @@ toast.error('Failed to reveal tile', { description: error instanceof Error ? error.message : 'Unknown error occurred' }); - } + } */ } async function cashOut() { if (!isPlaying || !sessionToken) return; - try { + + // Temporarily disabled + toast.error('Mines game temporarily disabled', { + description: 'This feature is currently under maintenance' + }); + return; + + /* try { const response = await fetch('/api/gambling/mines/cashout', { method: 'POST', headers: { 'Content-Type': 'application/json' }, @@ -175,12 +189,19 @@ toast.error('Failed to cash out', { description: error instanceof Error ? error.message : 'Unknown error occurred' }); - } + } */ } async function startGame() { if (!canBet) return; - balance -= betAmount; + + // Temporarily disabled + toast.error('Mines game temporarily disabled', { + description: 'This feature is currently under maintenance' + }); + return; + + /* balance -= betAmount; onBalanceUpdate?.(balance); try { const response = await fetch('/api/gambling/mines/start', { @@ -207,7 +228,7 @@ toast.error('Failed to start game', { description: error instanceof Error ? error.message : 'Unknown error occurred' }); - } + } */ } onMount(async () => { diff --git a/website/src/routes/api/gambling/mines/cashout/+server.ts b/website/src/routes/api/gambling/mines/cashout/+server.ts index dd9b7a7..b417fae 100644 --- a/website/src/routes/api/gambling/mines/cashout/+server.ts +++ b/website/src/routes/api/gambling/mines/cashout/+server.ts @@ -8,6 +8,8 @@ import { getSessionKey } from '$lib/server/games/mines'; import type { RequestHandler } from './$types'; export const POST: RequestHandler = async ({ request }) => { + throw error(503, 'Service temporarily unavailable'); + const session = await auth.api.getSession({ headers: request.headers }); diff --git a/website/src/routes/api/gambling/mines/reveal/+server.ts b/website/src/routes/api/gambling/mines/reveal/+server.ts index e36744d..eff6ced 100644 --- a/website/src/routes/api/gambling/mines/reveal/+server.ts +++ b/website/src/routes/api/gambling/mines/reveal/+server.ts @@ -9,6 +9,8 @@ import { redis, } from '$lib/server/redis'; import { getSessionKey } from '$lib/server/games/mines'; export const POST: RequestHandler = async ({ request }) => { + throw error(503, 'Service temporarily unavailable'); + const session = await auth.api.getSession({ headers: request.headers }); @@ -40,7 +42,7 @@ export const POST: RequestHandler = async ({ request }) => { if (game.minePositions.includes(tileIndex)) { game.status = 'lost'; const minePositions = game.minePositions; - + const userId = Number(session.user.id); const [userData] = await db .select({ baseCurrencyBalance: user.baseCurrencyBalance }) @@ -58,9 +60,9 @@ export const POST: RequestHandler = async ({ request }) => { updatedAt: new Date() }) .where(eq(user.id, userId)); - + await redis.del(getSessionKey(sessionToken)); - + return json({ hitMine: true, minePositions, diff --git a/website/src/routes/api/gambling/mines/start/+server.ts b/website/src/routes/api/gambling/mines/start/+server.ts index b7ab5f6..e7ad4b4 100644 --- a/website/src/routes/api/gambling/mines/start/+server.ts +++ b/website/src/routes/api/gambling/mines/start/+server.ts @@ -8,6 +8,8 @@ import { getSessionKey } from '$lib/server/games/mines'; import type { RequestHandler } from './$types'; export const POST: RequestHandler = async ({ request }) => { + throw error(503, 'Service temporarily unavailable'); + const session = await auth.api.getSession({ headers: request.headers }); @@ -51,7 +53,7 @@ export const POST: RequestHandler = async ({ request }) => { } // transaction token for authentication stuff - const randomBytes = new Uint8Array(8); + const randomBytes = new Uint8Array(8); crypto.getRandomValues(randomBytes); const sessionToken = Array.from(randomBytes) .map(b => b.toString(16).padStart(2, '0')) @@ -85,7 +87,7 @@ export const POST: RequestHandler = async ({ request }) => { }) .where(eq(user.id, userId)); - return { + return { sessionToken, newBalance };