diff --git a/functions/src/buy-leaderboard-slot.tsx b/functions/src/buy-leaderboard-slot.ts similarity index 100% rename from functions/src/buy-leaderboard-slot.tsx rename to functions/src/buy-leaderboard-slot.ts diff --git a/functions/src/index.ts b/functions/src/index.ts index dedf42a1..0fad1da5 100644 --- a/functions/src/index.ts +++ b/functions/src/index.ts @@ -21,3 +21,4 @@ export * from './update-user-metrics' export * from './backup-db' export * from './change-user-info' export * from './market-close-emails' +export * from './buy-leaderboard-slot' diff --git a/web/components/manaboard.tsx b/web/components/manaboard.tsx index e8e4bd7f..0d93c3b7 100644 --- a/web/components/manaboard.tsx +++ b/web/components/manaboard.tsx @@ -4,6 +4,7 @@ import { ENV_CONFIG } from '../../common/envs/constants' import { User } from '../../common/user' import { formatMoney } from '../../common/util/format' import { useUser } from '../hooks/use-user' +import { buyLeaderboardSlot } from '../lib/firebase/api-call' import { AmountInput } from './amount-input' import { Avatar } from './avatar' import { Col } from './layout/col' @@ -93,6 +94,12 @@ export function BuySlotModal(props: { } }, [user]) + const onBuy = async () => { + // Feel free to change this. - James + const slotId = `${title}-${slot}` + await buyLeaderboardSlot({ slotId, reassessValue: newValue }) + } + return ( <> diff --git a/web/lib/firebase/api-call.ts b/web/lib/firebase/api-call.ts index 6236cd64..ea4f9b89 100644 --- a/web/lib/firebase/api-call.ts +++ b/web/lib/firebase/api-call.ts @@ -66,3 +66,8 @@ export const changeUserInfo = (data: { .then((r) => r.data as { status: string; message?: string }) .catch((e) => ({ status: 'error', message: e.message })) } + +export const buyLeaderboardSlot = cloudFunction< + { slotId: string; reassessValue: number }, + { status: 'success' | 'error'; message?: string } +>('buyLeaderboardSlot')