diff --git a/src/app/api/support/create-payment/route.ts b/src/app/api/support/create-payment/route.ts index 6a8285f..2d2c531 100644 --- a/src/app/api/support/create-payment/route.ts +++ b/src/app/api/support/create-payment/route.ts @@ -3,6 +3,7 @@ import { NextRequest, NextResponse } from 'next/server' const CRYPTOMUS_API_URL = 'https://api.cryptomus.com/v1/payment' const MERCHANT_ID = process.env.CRYPTOMUS_MERCHANT_ID || '' const PAYMENT_API_KEY = process.env.CRYPTOMUS_PAYMENT_API_KEY || '' +const CRYPTOMUS_ENABLED = process.env.CRYPTOMUS_ENABLED !== 'false' interface PaymentRequest { amount: number @@ -35,6 +36,13 @@ function generateSign(data: any, apiKey: string): string { export async function POST(request: NextRequest) { try { + if (!CRYPTOMUS_ENABLED) { + return NextResponse.json( + { error: 'Payment service is temporarily disabled' }, + { status: 503 } + ) + } + if (!MERCHANT_ID || !PAYMENT_API_KEY) { return NextResponse.json( { error: 'Payment service not configured' }, diff --git a/src/app/api/support/status/route.ts b/src/app/api/support/status/route.ts new file mode 100644 index 0000000..781d400 --- /dev/null +++ b/src/app/api/support/status/route.ts @@ -0,0 +1,9 @@ +import { NextResponse } from 'next/server' + +const CRYPTOMUS_ENABLED = process.env.CRYPTOMUS_ENABLED !== 'false' + +export async function GET() { + return NextResponse.json({ + cryptomus_enabled: CRYPTOMUS_ENABLED + }) +} diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 8d0bc1b..ffbfa1a 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -1,6 +1,6 @@ "use client" -import { useState } from 'react' +import { useState, useEffect } from 'react' import { Button } from '@/components/ui/button' import { useTheme } from '@/hooks/useTheme' import { useLocale } from '@/contexts/LocaleContext' @@ -11,6 +11,22 @@ export function Header() { const { theme, isDark, toggleTheme } = useTheme() const { locale, toggleLocale, t } = useLocale() const [isSupportModalOpen, setIsSupportModalOpen] = useState(false) + const [cryptomusEnabled, setCryptomusEnabled] = useState(true) + + useEffect(() => { + const checkCryptomusStatus = async () => { + try { + const response = await fetch('/api/support/status') + const data = await response.json() + setCryptomusEnabled(data.cryptomus_enabled) + } catch (error) { + // Default to enabled if check fails + setCryptomusEnabled(true) + } + } + + checkCryptomusStatus() + }, []) const getThemeIcon = () => { switch (theme) { @@ -48,18 +64,20 @@ export function Header() {
- {/* Support Button */} - + {/* Support Button - Only show when Cryptomus is enabled */} + {cryptomusEnabled && ( + + )} {/* Theme Toggle */}