mosaicmap/app/me/notifications/page.tsx
2025-07-28 23:14:43 +08:00

102 lines
4.5 KiB
TypeScript

"use client"
import { useState } from "react"
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
import { Label } from "@/components/ui/label"
import { Switch } from "@/components/ui/switch"
import { Separator } from "@/components/ui/separator"
import { Mail, Bell, Phone, Save } from "lucide-react"
export default function Page() {
const [notifications, setNotifications] = useState({
email: true,
push: false,
sms: true,
marketing: false,
})
return (
<div className="space-y-6">
<div>
<h2 className="text-2xl font-bold tracking-tight"></h2>
<p className="text-muted-foreground"></p>
</div>
<Card>
<CardHeader>
<CardTitle></CardTitle>
<CardDescription></CardDescription>
</CardHeader>
<CardContent className="space-y-6">
<div className="space-y-4">
<div className="flex items-center justify-between">
<div className="space-y-1">
<Label className="flex items-center gap-2">
<Mail className="h-4 w-4" />
</Label>
<p className="text-sm text-muted-foreground"></p>
</div>
<Switch
checked={notifications.email}
onCheckedChange={(checked) => setNotifications({ ...notifications, email: checked })}
/>
</div>
<Separator />
<div className="flex items-center justify-between">
<div className="space-y-1">
<Label className="flex items-center gap-2">
<Bell className="h-4 w-4" />
</Label>
<p className="text-sm text-muted-foreground"></p>
</div>
<Switch
checked={notifications.push}
onCheckedChange={(checked) => setNotifications({ ...notifications, push: checked })}
/>
</div>
<Separator />
<div className="flex items-center justify-between">
<div className="space-y-1">
<Label className="flex items-center gap-2">
<Phone className="h-4 w-4" />
</Label>
<p className="text-sm text-muted-foreground"></p>
</div>
<Switch
checked={notifications.sms}
onCheckedChange={(checked) => setNotifications({ ...notifications, sms: checked })}
/>
</div>
<Separator />
<div className="flex items-center justify-between">
<div className="space-y-1">
<Label></Label>
<p className="text-sm text-muted-foreground"></p>
</div>
<Switch
checked={notifications.marketing}
onCheckedChange={(checked) => setNotifications({ ...notifications, marketing: checked })}
/>
</div>
</div>
<Button className="gap-2">
<Save className="h-4 w-4" />
</Button>
</CardContent>
</Card>
</div>
)
}