import { logout } from 'nostr-login' import { Link, useLocation } from 'react-router-dom' import { toast } from 'react-toastify' import { InputField } from '../components/Inputs' import { ProfileSection } from '../components/ProfileSection' import { useAppSelector } from '../hooks' import { appRoutes } from '../routes' import { AuthMethod } from '../store/reducers/user' import '../styles/feed.css' import '../styles/innerPage.css' import '../styles/popup.css' import '../styles/profile.css' import '../styles/settings.css' import '../styles/styles.css' import '../styles/write.css' import { copyTextToClipboard } from '../utils' export const SettingsPage = () => { const location = useLocation() return (
{location.pathname === appRoutes.settingsProfile && ( )} {location.pathname === appRoutes.settingsRelays && ( )} {location.pathname === appRoutes.settingsPreferences && ( )} {location.pathname === appRoutes.settingsAdmin && }
) } const SettingTabs = () => { const location = useLocation() const userState = useAppSelector((state) => state.user) const handleSignOut = () => { logout() } return (

Settings

Profile Relays Preference Admin
{userState.auth && userState.auth.method === AuthMethod.Local && userState.auth.localNsec && (

NOTICE: Make sure you save your private key (nsec) somewhere safe.

WARNING: Do not sign-out without saving your nsec somewhere safe. Otherwise, you'll lose access to your "account".

)} {userState.auth && ( )}
) } const ProfileSettings = () => { return (

Freakoverse

freakoverse@degmods.com

npub18n4ysp43ux5c98fs6h9c57qpr4p8r3j8f6e32v0vj8egzy878aqqyzzk9r

I guess I'm one of those #vtubers . Having fun talking about general topics, vrchat/similar, and games. Also #indiedev #gamedev You can call me: Freak فْرِيكٌ フリク (still learning Nihongo). #envtuber #podcast #gaming #gamedev

{}} /> {}} /> {}} /> {}} /> {}} />
) } const RelaySettings = () => { return (
{usersRelays.map((relay, index) => ( ))}
{}} />

We recommend adding one of our relays if you're planning to frequently use DEG Mods, for a better experience.

{degmodsRelays.map((relay, index) => ( ))}

Relays we recommend using as they support the same functionalities that our relays provide.

{recommendRelays.map((relay, index) => ( ))}
) } const RelayListItem = ({ item, isOwnRelay }: { item: RelayItem isOwnRelay?: boolean }) => { return (

{item.url}

{item.subscribedTitle && ( )}
{isOwnRelay && (
Remove Details
)} {!isOwnRelay && ( )}
) } // todo: use components from Input.tsx const PreferencesSetting = () => { return (

Notifications

Not Safe For Work (NSFW)

Web of Trust (WoT) level

This affects what posts you see, reactions, DMs, and notifications. Learn more: Link

10

) } // todo: use components from Input.tsx const AdminSetting = () => { return (

Slider Featured Mods

Featured Games

Featured Mods

Blog writers

) } interface RelayItem { url: string backgroundColor: string readTitle: string writeTitle: string subscribedTitle: string } const usersRelays: RelayItem[] = [ { url: 'wss://relay.wibblywobbly.com', backgroundColor: '#cd4d45', readTitle: 'Read', writeTitle: 'Write', subscribedTitle: '' }, { url: 'wss://relay.wibblywobbly.com', backgroundColor: '#60ae60', readTitle: 'Read', writeTitle: 'Write', subscribedTitle: 'Paid (Subscribed)' }, { url: 'wss://relay.degmods.com', backgroundColor: '#60ae60', readTitle: 'Read', writeTitle: 'Write', subscribedTitle: '' } ] const degmodsRelays: RelayItem[] = [ { url: 'wss://relay1.degmods.com', backgroundColor: '#60ae60', readTitle: 'Read', writeTitle: 'Write', subscribedTitle: '' }, { url: 'wss://relay2.degmods.com', backgroundColor: '#60ae60', readTitle: 'Read', writeTitle: 'Write', subscribedTitle: '' } ] const recommendRelays: RelayItem[] = [ { url: 'wss://relay1.degmods.com', backgroundColor: '#60ae60', readTitle: 'Read', writeTitle: 'Write', subscribedTitle: '' }, { url: 'wss://relay2.degmods.com', backgroundColor: '#60ae60', readTitle: 'Read', writeTitle: 'Write', subscribedTitle: '' } ]