Add profile appearance and notifications settings

Co-authored-by: Claude Code <claude@anthropic.com>
This commit is contained in:
Jamie BruntonandClaude Code committed 2026-01-02 10:47:24 +00:00
1 parent b082da436b
commit 1452519c76
7 files changed
+115 -6

No files matched your search

@@ -0,0 +1,10 @@
import React from 'react';
import { ProfileHeader } from './ProfileHeader';
import type { ProfileHeaderProps } from './ProfileHeader';
export type AppearanceSettingsProps = ProfileHeaderProps;
export const AppearanceSettings: React.FC<AppearanceSettingsProps> = (props) => {
return <ProfileHeader {...props} />;
};
@@ -0,0 +1,31 @@
import React from 'react';
import { SettingsSection } from './SettingsSection';
import { SwitchItem } from './SwitchItem';
export interface NotificationSettingsProps {
pushEnabled: boolean;
isUpdatingPush: boolean;
onPushToggle: (value: boolean) => void;
delay?: number;
}
export const NotificationSettings: React.FC<NotificationSettingsProps> = ({
pushEnabled,
isUpdatingPush,
onPushToggle,
delay = 360,
}) => {
return (
<SettingsSection title="Notifications" delay={delay}>
<SwitchItem
icon="notifications-outline"
label="Push Notifications"
description="Get alerts for matches and messages"
value={pushEnabled}
onValueChange={onPushToggle}
disabled={isUpdatingPush}
/>
</SettingsSection>
);
};
@@ -10,7 +10,7 @@ import { Profile } from '../../../types';
const ACCENT_GRADIENT = featureColors.profile.gradient as [string, string];
interface ProfileHeaderProps {
export interface ProfileHeaderProps {
user: Profile | null;
isUploadingAvatar: boolean;
isEditingName: boolean;
@@ -1,5 +1,10 @@
// Profile feature components
export { ProfileHeader } from './ProfileHeader';
export type { ProfileHeaderProps } from './ProfileHeader';
export { AppearanceSettings } from './AppearanceSettings';
export type { AppearanceSettingsProps } from './AppearanceSettings';
export { NotificationSettings } from './NotificationSettings';
export type { NotificationSettingsProps } from './NotificationSettings';
export { CoupleStatus } from './CoupleStatus';
export { PrivacySettings } from './PrivacySettings';
export { DangerZone } from './DangerZone';