CustomRPC: show warning when game activity is disabled (#2245)
Co-authored-by: V <vendicated@riseup.net>
This commit is contained in:
		
							parent
							
								
									9b328da4ce
								
							
						
					
					
						commit
						207fe84636
					
				
					 2 changed files with 31 additions and 3 deletions
				
			
		|  | @ -17,13 +17,16 @@ | |||
| */ | ||||
| 
 | ||||
| import { definePluginSettings, Settings } from "@api/Settings"; | ||||
| import { ErrorCard } from "@components/ErrorCard"; | ||||
| import { Link } from "@components/Link"; | ||||
| import { Devs } from "@utils/constants"; | ||||
| import { isTruthy } from "@utils/guards"; | ||||
| import { Margins } from "@utils/margins"; | ||||
| import { classes } from "@utils/misc"; | ||||
| import { useAwaiter } from "@utils/react"; | ||||
| import definePlugin, { OptionType } from "@utils/types"; | ||||
| import { findByCodeLazy, findByPropsLazy, findComponentByCodeLazy } from "@webpack"; | ||||
| import { ApplicationAssetUtils, FluxDispatcher, Forms, GuildStore, React, SelectedChannelStore, SelectedGuildStore, UserStore } from "@webpack/common"; | ||||
| import { ApplicationAssetUtils, Button, FluxDispatcher, Forms, GuildStore, React, SelectedChannelStore, SelectedGuildStore, StatusSettingsStores, UserStore } from "@webpack/common"; | ||||
| 
 | ||||
| const useProfileThemeStyle = findByCodeLazy("profileThemeStyle:", "--profile-gradient-primary-color"); | ||||
| const ActivityComponent = findComponentByCodeLazy("onOpenGameProfile"); | ||||
|  | @ -386,17 +389,36 @@ async function setRpc(disable?: boolean) { | |||
| export default definePlugin({ | ||||
|     name: "CustomRPC", | ||||
|     description: "Allows you to set a custom rich presence.", | ||||
|     authors: [Devs.captain, Devs.AutumnVN], | ||||
|     authors: [Devs.captain, Devs.AutumnVN, Devs.nin0dev], | ||||
|     start: setRpc, | ||||
|     stop: () => setRpc(true), | ||||
|     settings, | ||||
| 
 | ||||
|     settingsAboutComponent: () => { | ||||
|         const activity = useAwaiter(createActivity); | ||||
|         const gameActivityEnabled = StatusSettingsStores.ShowCurrentGame.useSetting(); | ||||
|         const { profileThemeStyle } = useProfileThemeStyle({}); | ||||
| 
 | ||||
|         return ( | ||||
|             <> | ||||
|                 {!gameActivityEnabled && ( | ||||
|                     <ErrorCard | ||||
|                         className={classes(Margins.top16, Margins.bottom16)} | ||||
|                         style={{ padding: "1em" }} | ||||
|                     > | ||||
|                         <Forms.FormTitle>Notice</Forms.FormTitle> | ||||
|                         <Forms.FormText>Game activity isn't enabled, people won't be able to see your custom rich presence!</Forms.FormText> | ||||
| 
 | ||||
|                         <Button | ||||
|                             color={Button.Colors.TRANSPARENT} | ||||
|                             className={Margins.top8} | ||||
|                             onClick={() => StatusSettingsStores.ShowCurrentGame.updateSetting(true)} | ||||
|                         > | ||||
|                             Enable | ||||
|                         </Button> | ||||
|                     </ErrorCard> | ||||
|                 )} | ||||
| 
 | ||||
|                 <Forms.FormText> | ||||
|                     Go to <Link href="https://discord.com/developers/applications">Discord Developer Portal</Link> to create an application and | ||||
|                     get the application ID. | ||||
|  | @ -407,7 +429,9 @@ export default definePlugin({ | |||
|                 <Forms.FormText> | ||||
|                     If you want to use image link, download your image and reupload the image to <Link href="https://imgur.com">Imgur</Link> and get the image link by right-clicking the image and select "Copy image address". | ||||
|                 </Forms.FormText> | ||||
|                 <Forms.FormDivider /> | ||||
| 
 | ||||
|                 <Forms.FormDivider className={Margins.top8} /> | ||||
| 
 | ||||
|                 <div style={{ width: "284px", ...profileThemeStyle }}> | ||||
|                     {activity[0] && <ActivityComponent activity={activity[0]} className={ActivityClassName.activity} channelId={SelectedChannelStore.getChannelId()} | ||||
|                         guild={GuildStore.getGuild(SelectedGuildStore.getLastSelectedGuildId())} | ||||
|  |  | |||
|  | @ -418,6 +418,10 @@ export const Devs = /* #__PURE__*/ Object.freeze({ | |||
|         name: "Kyuuhachi", | ||||
|         id: 236588665420251137n, | ||||
|     }, | ||||
|     nin0dev: { | ||||
|         name: "nin0dev", | ||||
|         id: 886685857560539176n | ||||
|     }, | ||||
|     Elvyra: { | ||||
|         name: "Elvyra", | ||||
|         id: 708275751816003615n, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue