import { NavigationNative, React, ReactNative } from "@vendetta/metro/common"; import { storage } from "@vendetta/plugin"; import { useProxy } from "@vendetta/storage"; import { getAssetIDByName } from "@vendetta/ui/assets"; import { Forms } from "@vendetta/ui/components"; import { currentSettings } from "."; import { flush, initialize } from "./utils"; const { ScrollView, TouchableOpacity, Text } = ReactNative; const { FormInput, FormDivider, FormSwitchRow, FormText, FormIcon, FormTextColors } = Forms; export default function Settings() { const settings = useProxy(storage) as PluginSettings; const navigation = NavigationNative.useNavigation(); React.useEffect(() => { navigation.setOptions({ headerRight: () => ( { for (const key in storage) { if (typeof storage[key] === "boolean" || storage[key]) { currentSettings[key] = settings[key]; } } console.log("Applying settings..."); flush().then(() => initialize()); }}> UPDATE ) }); }, []); return ( settings.appName = value.trim()} title="Discord Application Name" placeholder="Music" returnKeyType="done" /> settings.username = value.trim()} title="Last.fm username" helpText={!settings.username && {"This field is required!"}} placeholder="wumpus123" returnKeyType="done" /> } value={settings.showTimestamp} onValueChange={(value: boolean) => settings.showTimestamp = value} /> } value={settings.listeningTo} onValueChange={(value: boolean) => settings.listeningTo = value} /> } value={settings.verboseLogging} onValueChange={(value: boolean) => settings.verboseLogging = value} /> ) }