mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 19:11:12 -05:00
feat: Make Novu settings public
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
import { useAuth } from '@/hooks/useAuth';
|
||||
import { useAdminSettings } from '@/hooks/useAdminSettings';
|
||||
import { usePublicNovuSettings } from '@/hooks/usePublicNovuSettings';
|
||||
|
||||
export function useNovuNotifications() {
|
||||
const { user } = useAuth();
|
||||
const { getSettingValue } = useAdminSettings();
|
||||
const { applicationIdentifier, isLoading } = usePublicNovuSettings();
|
||||
|
||||
const applicationIdentifier = getSettingValue('novu.application_identifier', '');
|
||||
const subscriberId = user?.id;
|
||||
const isEnabled = !!applicationIdentifier && !!subscriberId;
|
||||
|
||||
@@ -13,5 +12,6 @@ export function useNovuNotifications() {
|
||||
applicationIdentifier,
|
||||
subscriberId,
|
||||
isEnabled,
|
||||
isLoading,
|
||||
};
|
||||
}
|
||||
|
||||
30
src/hooks/usePublicNovuSettings.ts
Normal file
30
src/hooks/usePublicNovuSettings.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { supabase } from '@/integrations/supabase/client';
|
||||
|
||||
/**
|
||||
* Hook to fetch public Novu settings accessible to all authenticated users
|
||||
*/
|
||||
export function usePublicNovuSettings() {
|
||||
const { data: settings, isLoading, error } = useQuery({
|
||||
queryKey: ['public-novu-settings'],
|
||||
queryFn: async () => {
|
||||
const { data, error } = await supabase
|
||||
.from('admin_settings')
|
||||
.select('setting_key, setting_value')
|
||||
.eq('setting_key', 'novu.application_identifier')
|
||||
.maybeSingle();
|
||||
|
||||
if (error) throw error;
|
||||
return data;
|
||||
},
|
||||
});
|
||||
|
||||
const applicationIdentifier = settings?.setting_value as string || '';
|
||||
|
||||
return {
|
||||
applicationIdentifier,
|
||||
isLoading,
|
||||
error,
|
||||
isEnabled: !!applicationIdentifier,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user