Refactor Novu registration to frontend

This commit is contained in:
gpt-engineer-app[bot]
2025-10-01 13:16:06 +00:00
parent b3ecc19717
commit 69aa186e12
5 changed files with 241 additions and 13 deletions

View File

@@ -11,6 +11,7 @@ import { AdminHeader } from '@/components/layout/AdminHeader';
import { useAuth } from '@/hooks/useAuth';
import { useUserRole } from '@/hooks/useUserRole';
import { useAdminSettings } from '@/hooks/useAdminSettings';
import { NovuMigrationUtility } from '@/components/admin/NovuMigrationUtility';
import { Loader2, Save, Clock, Users, Bell, Shield, Settings, Trash2, Plug } from 'lucide-react';
export default function AdminSettings() {
@@ -517,6 +518,8 @@ export default function AdminSettings() {
<p>No integration settings configured yet.</p>
</div>
)}
<NovuMigrationUtility />
</CardContent>
</Card>
</TabsContent>

View File

@@ -12,6 +12,7 @@ import { Zap, Mail, Lock, User, AlertCircle, Eye, EyeOff } from 'lucide-react';
import { supabase } from '@/integrations/supabase/client';
import { useToast } from '@/hooks/use-toast';
import { TurnstileCaptcha } from '@/components/auth/TurnstileCaptcha';
import { notificationService } from '@/lib/notificationService';
export default function Auth() {
const [searchParams] = useSearchParams();
const navigate = useNavigate();
@@ -140,6 +141,21 @@ export default function Auth() {
});
if (error) throw error;
// Register user with Novu (non-blocking)
if (data.user) {
notificationService.createSubscriber({
subscriberId: data.user.id,
email: formData.email,
firstName: formData.displayName || formData.username,
data: {
username: formData.username,
}
}).catch(err => {
console.error('Failed to register Novu subscriber:', err);
// Don't block signup if Novu registration fails
});
}
toast({
title: "Welcome to ThrillWiki!",