ThatAIguyA world of ideas

THE CONSCIOUSNESS ATLAS
Read. Experiment. Follow the evidence.

ConsciousnessLearn · Explore · Joseph Anady

Janady13/llms-txt-hub / apps/web/app/settings/notifications/page.tsx

Source identity, revision, and recovered contents.

GitHub sourceSource text recovered

Source identity

FieldRecorded value
Source typeGitHub source
Original recordJanady13/llms-txt-hub / apps/web/app/settings/notifications/page.tsx
DateNot specified in source
RepositoryJanady13/llms-txt-hub
Revisione0f4bf978d4df168369c7601d9c5f5ea89e84377
Branchmain
Path or archive memberapps/web/app/settings/notifications/page.tsx
Original SHA-256214cefa587a3ee763c2bccef811c15f2a0259f223e6bd862df860cbd60070e85
Git blob SHA013009c571aa5eabd30e1f3400c345986164cae5
Reading-copy SHA-256214cefa587a3ee763c2bccef811c15f2a0259f223e6bd862df860cbd60070e85

Original source ↗

Recovered source transcript

'use client' import { useAuth } from '@thedaviddias/auth' import { Button } from '@thedaviddias/design-system/button' import { Mail } from 'lucide-react' import { useEffect, useState } from 'react' import { toast } from 'sonner' import { NewsletterModal } from '@/components/newsletter-modal' import { Card } from '@/components/ui/card' import { analytics } from '@/lib/analytics' export default function NotificationsSettingsPage() { const { user } = useAuth() const [showNewsletterModal, setShowNewsletterModal] = useState(false) const [_settings, setSettings] = useState({ emailNewsletter: false, emailUpdates: true, emailSubmissions: true, emailSecurity: true, pushNotifications: false, weeklyDigest: true, communityUpdates: false }) const _hasGitHubAuth = user && (user.user_metadata?.github_username || user.user_metadata?.user_name) useEffect(() => { analytics.settingsPageView('notifications', 'settings') }, []) /** * Updates a notification setting preference */ const _handleSettingChange = (key: string, value: boolean) => { setSettings(prev => ({ ...prev, [key]: value })) analytics.settingsToggleChange(key, value, 'notifications') toast.success('Notification preference updated') } /** * Opens the newsletter subscription modal */ const handleNewsletterSubscribe = () => { analytics.newsletterSignup('settings-notifications') setShowNewsletterModal(true) } return ( <div className="space-y-8"> <div> <h2 className="text-2xl font-bold mb-2">Notifications</h2> <p className="text-muted-foreground">Choose what updates you'd like to receive</p> </div> {/* Newsletter */} <Card className="p-6 bg-gradient-to-br from-blue-50 to-indigo-50 dark:from-blue-900/20 dark:to-indigo-900/20"> <div className="flex items-start justify-between mb-4"> <div className="flex items-center space-x-4"> <div className="w-12 h-12 bg-blue-100 dark:bg-blue-900 rounded-full flex items-center justify-center"> <Mail className="w-6 h-6 text-blue-600 dark:text-blue-400" /> </div> <div> <h3 className="text-lg font-semibold">Newsletter</h3> <p className="text-sm text-muted-foreground"> Updates on new projects, trends, and community highlights </p> </div> </div> </div> <div className="bg-white/50 dark:bg-gray-900/50 rounded-lg p-4"> <h4 className="font-medium mb-2">Stay in the loop!</h4> <p className="text-sm text-muted-foreground mb-4"> Get curated updates about the latest AI documentation trends, featured projects, and community insights delivered to your inbox via Substack. </p> <div className="flex items-center space-x-3"> <Button onClick={handleNewsletterSubscribe} size="sm"> <Mail className="w-4 h-4 mr-2" /> Subscribe on Substack </Button> <span className="text-xs text-muted-foreground">Free • Unsubscribe anytime</span> </div> </div> </Card> <NewsletterModal isOpen={showNewsletterModal} onClose={() => setShowNewsletterModal(false)} /> </div> ) }

Search equations, builds, manuscript text, and recovered sources.