fix: add predicate to updater menu item (#266)
* fix: add predicate to updater menu item * dont include Updater in web builds * i can spell
This commit is contained in:
		
							parent
							
								
									47c181beec
								
							
						
					
					
						commit
						4fc41c8c0b
					
				
					 1 changed files with 12 additions and 5 deletions
				
			
		|  | @ -39,19 +39,25 @@ interface SettingsProps { | |||
|     tab: string; | ||||
| } | ||||
| 
 | ||||
| const SettingsTabs = { | ||||
| interface SettingsTab { | ||||
|     name: string; | ||||
|     component?: React.ComponentType; | ||||
| } | ||||
| 
 | ||||
| const SettingsTabs: Record<string, SettingsTab> = { | ||||
|     VencordSettings: { name: "Vencord", component: () => <VencordSettings /> }, | ||||
|     VencordPlugins: { name: "Plugins", component: () => <PluginsTab /> }, | ||||
|     VencordThemes: { name: "Themes", component: () => <Text variant="text-md/medium">Coming soon to a Vencord near you!</Text> }, | ||||
|     VencordUpdater: { name: "Updater", component: () => Updater ? <Updater /> : null }, | ||||
|     VencordUpdater: { name: "Updater" }, // Only show updater if IS_WEB is false
 | ||||
|     VencordSettingsSync: { name: "Backup & Restore", component: () => <BackupRestoreTab /> }, | ||||
| }; | ||||
| 
 | ||||
| if (!IS_WEB) SettingsTabs.VencordUpdater.component = () => Updater && <Updater />; | ||||
| 
 | ||||
| function Settings(props: SettingsProps) { | ||||
|     const { tab = "VencordSettings" } = props; | ||||
| 
 | ||||
|     const CurrentTab = SettingsTabs[tab]?.component ?? null; | ||||
|     const CurrentTab = SettingsTabs[tab]?.component; | ||||
| 
 | ||||
|     return <Forms.FormSection> | ||||
|         <Text variant="heading-md/normal" tag="h2">Vencord Settings</Text> | ||||
|  | @ -63,7 +69,8 @@ function Settings(props: SettingsProps) { | |||
|             selectedItem={tab} | ||||
|             onItemSelect={Router.open} | ||||
|         > | ||||
|             {Object.entries(SettingsTabs).map(([key, { name }]) => { | ||||
|             {Object.entries(SettingsTabs).map(([key, { name, component }]) => { | ||||
|                 if (!component) return null; | ||||
|                 return <TabBar.Item | ||||
|                     id={key} | ||||
|                     className={st("TabBarItem")} | ||||
|  | @ -73,7 +80,7 @@ function Settings(props: SettingsProps) { | |||
|             })} | ||||
|         </TabBar> | ||||
|         <Forms.FormDivider /> | ||||
|         <CurrentTab /> | ||||
|         {CurrentTab && <CurrentTab />} | ||||
|     </Forms.FormSection >; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue