diff --git a/app/components/settings/event-logs/EventLogsTab.tsx b/app/components/settings/event-logs/EventLogsTab.tsx
index b513d811..ce713565 100644
--- a/app/components/settings/event-logs/EventLogsTab.tsx
+++ b/app/components/settings/event-logs/EventLogsTab.tsx
@@ -5,6 +5,7 @@ import { logStore, type LogEntry } from '~/lib/stores/logs';
import { useStore } from '@nanostores/react';
import { classNames } from '~/utils/classNames';
import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
+import { settingsStyles } from '~/components/settings/settings.styles';
interface SelectOption {
value: string;
@@ -241,16 +242,18 @@ export function EventLogsTab() {
-
-
-
+
+ {isRefreshing ? 'Refreshing...' : 'Refresh Logs'}
+
diff --git a/app/components/settings/profile/ProfileTab.tsx b/app/components/settings/profile/ProfileTab.tsx
index c6bae8cb..60ea8645 100644
--- a/app/components/settings/profile/ProfileTab.tsx
+++ b/app/components/settings/profile/ProfileTab.tsx
@@ -4,6 +4,7 @@ import { toast } from 'react-toastify';
import { classNames } from '~/utils/classNames';
import type { UserProfile } from '~/components/settings/settings.types';
import { motion } from 'framer-motion';
+import { settingsStyles } from '~/components/settings/settings.styles';
const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
const ALLOWED_FILE_TYPES = ['image/jpeg', 'image/png', 'image/gif'];
@@ -92,6 +93,15 @@ export default function ProfileTab() {
};
localStorage.setItem('bolt_user_profile', JSON.stringify(updatedProfile));
+
+ // Dispatch a storage event to notify other components
+ window.dispatchEvent(
+ new StorageEvent('storage', {
+ key: 'bolt_user_profile',
+ newValue: JSON.stringify(updatedProfile),
+ }),
+ );
+
toast.success('Profile settings saved successfully');
} catch (error) {
console.error('Error saving profile:', error);
@@ -234,18 +244,13 @@ export default function ProfileTab() {
{/* Save Button */}
-
+
)}
-
+
);
}
diff --git a/app/components/settings/settings/SettingsTab.tsx b/app/components/settings/settings/SettingsTab.tsx
index 726081e8..a8111431 100644
--- a/app/components/settings/settings/SettingsTab.tsx
+++ b/app/components/settings/settings/SettingsTab.tsx
@@ -5,6 +5,7 @@ import { classNames } from '~/utils/classNames';
import { Switch } from '~/components/ui/Switch';
import { themeStore, kTheme } from '~/lib/stores/theme';
import type { UserProfile } from '~/components/settings/settings.types';
+import { settingsStyles } from '~/components/settings/settings.styles';
export default function SettingsTab() {
const [currentTimezone, setCurrentTimezone] = useState('');
@@ -88,10 +89,11 @@ export default function SettingsTab() {
key={theme}
onClick={() => setSettings((prev) => ({ ...prev, theme }))}
className={classNames(
- 'px-3 py-1.5 rounded-lg text-sm flex items-center gap-2 transition-colors',
+ settingsStyles.button.base,
+ settings.theme === theme ? settingsStyles.button.primary : settingsStyles.button.secondary,
settings.theme === theme
- ? 'bg-purple-500 text-white hover:bg-purple-600'
- : 'bg-[#F5F5F5] dark:bg-[#1A1A1A] text-bolt-elements-textSecondary hover:bg-[#E5E5E5] dark:hover:bg-[#252525] hover:text-bolt-elements-textPrimary',
+ ? 'dark:bg-purple-500 dark:text-white dark:hover:bg-purple-600 dark:hover:text-white'
+ : 'hover:bg-purple-500/10 hover:text-purple-500 dark:bg-[#1A1A1A] dark:hover:bg-purple-500/20 dark:text-bolt-elements-textPrimary dark:hover:text-purple-500',
)}
>
setSettings((prev) => ({ ...prev, language: e.target.value }))}
className={classNames(
'w-full px-3 py-2 rounded-lg text-sm',
- 'bg-[#F5F5F5] dark:bg-[#1A1A1A]',
+ 'bg-[#FAFAFA] dark:bg-[#0A0A0A]',
'border border-[#E5E5E5] dark:border-[#1A1A1A]',
'text-bolt-elements-textPrimary',
'focus:outline-none focus:ring-2 focus:ring-purple-500/30',
@@ -199,7 +201,7 @@ export default function SettingsTab() {
onChange={(e) => setSettings((prev) => ({ ...prev, timezone: e.target.value }))}
className={classNames(
'w-full px-3 py-2 rounded-lg text-sm',
- 'bg-[#F5F5F5] dark:bg-[#1A1A1A]',
+ 'bg-[#FAFAFA] dark:bg-[#0A0A0A]',
'border border-[#E5E5E5] dark:border-[#1A1A1A]',
'text-bolt-elements-textPrimary',
'focus:outline-none focus:ring-2 focus:ring-purple-500/30',