'use client'; import { useState, useEffect } from 'react'; import { useSession } from 'next-auth/react'; export default function NotificationSettingsPage() { const { data: session } = useSession(); const [settings, setSettings] = useState({ email_enabled: true, telegram_enabled: false, telegram_chat_id: '', }); const [loading, setLoading] = useState(false); const [message, setMessage] = useState(''); useEffect(() => { if (session?.user) { loadSettings(); } }, [session]); async function loadSettings() { try { const userId = (session!.user as any).id; const res = await fetch(`/api/users/${userId}/notification-settings`); const data = await res.json(); setSettings(data.settings); } catch (error) { console.error('Failed to load settings:', error); } } async function handleSave() { setLoading(true); setMessage(''); try { const userId = (session!.user as any).id; const res = await fetch(`/api/users/${userId}/notification-settings`, { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(settings), }); if (res.ok) { setMessage('✅ Einstellungen gespeichert!'); } else { setMessage('❌ Fehler beim Speichern'); } } catch (error) { setMessage('❌ Fehler beim Speichern'); } finally { setLoading(false); } } async function handleTest() { setLoading(true); setMessage(''); try { const userId = (session!.user as any).id; const res = await fetch( `/api/users/${userId}/notification-settings/test`, { method: 'POST' } ); if (res.ok) { setMessage('✅ Test-Nachricht gesendet!'); } else { const data = await res.json(); setMessage(`❌ Fehler: ${data.error}`); } } catch (error) { setMessage('❌ Fehler beim Senden der Test-Nachricht'); } finally { setLoading(false); } } return (

Benachrichtigungseinstellungen

{/* Email Settings */}

Geofence-Ereignisse per E-Mail erhalten

{/* Telegram Settings */}

Geofence-Ereignisse per Telegram erhalten (inkl. Karte und Buttons)

{settings.telegram_enabled && (
setSettings({ ...settings, telegram_chat_id: e.target.value }) } placeholder="z.B. 123456789" className="w-full px-3 py-2 border border-gray-300 rounded-md" />

Deine Telegram Chat ID findest du über @userinfobot

)}
{/* Action Buttons */}
{settings.telegram_enabled && settings.telegram_chat_id && ( )}
{/* Status Message */} {message && (
{message}
)}
{/* Help Section */}

📱 Telegram Bot aktivieren

{/* QR Code */}

Schritt 1: Bot starten

Telegram Bot QR Code

Scanne den QR-Code mit deinem Smartphone

oder öffne: @MeinTracking_bot

{/* Instructions */}

Schritt 2: Chat ID holen

  1. Starte den Bot mit /start
  2. Suche in Telegram nach @myidbot
  3. Sende /getid an @myidbot
  4. Der Bot antwortet mit deiner Chat ID
  5. Kopiere die Nummer und trage sie oben ein

Alternative: @userinfobot mit /start

); }