Manage which notifications you receive in{' '} - +
{showSkeleton ? ( @@ -141,9 +143,9 @@ export default function NotificationsPage() {No notifications yet
Manage which notifications you receive in{' '} - +
) : ( diff --git a/app/org-settings/page.tsx b/app/org-settings/page.tsx index 2d7fdab..f9a8d6f 100644 --- a/app/org-settings/page.tsx +++ b/app/org-settings/page.tsx @@ -1,30 +1,43 @@ -import { Suspense } from 'react' -import OrganizationSettings from '@/components/settings/OrganizationSettings' -import { SettingsFormSkeleton } from '@/components/skeletons' +'use client' -export const metadata = { - title: 'Organization Settings - Pulse', - description: 'Manage your organization settings', -} +import { Suspense, useEffect } from 'react' +import { useRouter, useSearchParams } from 'next/navigation' +import { useUnifiedSettings } from '@/lib/unified-settings-context' +import { Spinner } from '@ciphera-net/ui' + +function OrgSettingsInner() { + const router = useRouter() + const searchParams = useSearchParams() + const { openUnifiedSettings } = useUnifiedSettings() + + useEffect(() => { + const tab = searchParams.get('tab') + + const tabMap: RecordMonitor your CDN performance including bandwidth usage, cache hit rates, request volumes, and geographic distribution.
- openUnifiedSettings({ context: 'site', tab: 'integrations' })} + className="inline-flex items-center gap-2 px-5 py-2.5 rounded-lg bg-brand-orange hover:bg-brand-orange/90 text-white text-sm font-medium transition-colors cursor-pointer" > Connect in SettingsSee how your site performs in Google Search. View top queries, pages, click-through rates, and average position data.
- openUnifiedSettings({ context: 'site', tab: 'integrations' })} + className="inline-flex items-center gap-2 px-5 py-2.5 rounded-lg bg-brand-orange hover:bg-brand-orange/90 text-white text-sm font-medium transition-colors cursor-pointer" > Connect in SettingsSite not found
-- Manage settings for {site.domain} -
-You have read-only access to this site. Contact an admin to make changes.
-Irreversible actions for your site.
-Delete all stats and events. This cannot be undone.
-Schedule this site for deletion with a 7-day grace period.
-Manage automated and manual bot filtering.
-Filter bots and referrer spam
-Automatically block known bots, crawlers, and spam referrers
-
- Define goals to label custom events (e.g. signup, purchase). Track with pulse.track('event_name') in your snippet.
-
Configure how you receive reports and alerts.
-Automatically deliver analytics reports via email or webhooks.
-- {schedule.channel === 'email' - ? (schedule.channel_config as EmailConfig).recipients.join(', ') - : (schedule.channel_config as WebhookConfig).url} -
-- {getScheduleDescription(schedule)} -
-- Error: {schedule.last_error} -
- )} -Get notified when your site goes down or recovers.
-- {schedule.channel === 'email' - ? (schedule.channel_config as EmailConfig).recipients.join(', ') - : (schedule.channel_config as WebhookConfig).url} -
-- Error: {schedule.last_error} -
- )} -Connect external services to enrich your analytics data.
-- See which search queries bring visitors to your site, with impressions, clicks, CTR, and ranking position. -
-- Pulse only requests read-only access. Your tokens are encrypted at rest and all data can be fully removed at any time. -
-Google Account
-{gscStatus.google_email}
-Property
-{gscStatus.gsc_property}
-Last Synced
-- {new Date(gscStatus.last_synced_at).toLocaleString('en-GB')} -
-Connected Since
-- {new Date(gscStatus.created_at).toLocaleString('en-GB')} -
-{gscStatus.error_message}
-- Monitor CDN performance with bandwidth usage, cache hit rates, response times, and geographic distribution. -
-- Your API key is encrypted at rest and only used to fetch read-only statistics. You can disconnect at any time. -
-Pull Zone
-{bunnyStatus.pull_zone_name}
-Last Synced
-- {new Date(bunnyStatus.last_synced_at).toLocaleString('en-GB')} -
-Connected Since
-- {new Date(bunnyStatus.created_at).toLocaleString('en-GB')} -
-{bunnyStatus.error_message}
-You are in your personal context. Switch to an Organization to manage its settings.
-- Manage your organization workspace and members. -
-Basic details about your organization.
-Irreversible actions for this organization.
-Permanently delete this organization and all its data.
-Manage who has access to this organization.
- -Manage your plan, usage, and payment details.
-Could not load subscription details.
- -- Your free trial ends on{' '} - - {(() => { - const d = subscription.current_period_end ? new Date(subscription.current_period_end as string) : null - return d && !Number.isNaN(d.getTime()) ? formatDateLong(d) : '—' - })()} - -
-- After the trial you'll be charged automatically unless you cancel before then. -
-- Payment past due -
-- We couldn't charge your payment method. Please update your billing info to avoid service interruption. -
-- Your subscription will end on{' '} - - {(() => { - const d = subscription.current_period_end ? new Date(subscription.current_period_end as string) : null - return d && !Number.isNaN(d.getTime()) ? formatDateLong(d) : '—' - })()} - -
-- You keep full access until then. Your data is retained for 30 days after. Use "Change plan" to resubscribe. -
-- Choose which notification types you want to receive. These apply to the notification center for owners and admins. -
-{cat.label}
-{cat.description}
-Who did what and when for this organization.
-| Log ID | -Time | -Actor | -Action | -Resource | -
|---|---|---|---|---|
| - {entry.id} - | -- {formatDateTime(new Date(entry.occurred_at))} - | -- {entry.actor_email || entry.actor_id || 'System'} - | -{entry.action} | -{entry.resource_type} | -
- This action is irreversible. The following will be permanently deleted: -
- -- You can cancel at the end of your billing period (you keep access until then) or cancel immediately. Your data is retained for 30 days after access ends. -
-- Choose your pageview limit and billing interval. {hasActiveSubscription ? 'Your next invoice will reflect prorations.' : 'You’ll start a new subscription.'} -
-- Your plan will be updated. Any prorations will be reflected on your next invoice. -
-View and manage all your notifications in one place.
- - Open Notification Center -