init
This commit is contained in:
commit
eed6239284
1 changed files with 68 additions and 0 deletions
68
index.tsx
Normal file
68
index.tsx
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
import { definePluginSettings } from "@api/Settings";
|
||||||
|
import { Devs } from "@utils/constants";
|
||||||
|
import definePlugin, { OptionType } from "@utils/types";
|
||||||
|
import { PresenceStore, Text } from "@webpack/common";
|
||||||
|
|
||||||
|
const settings = definePluginSettings({
|
||||||
|
artistSeparator: {
|
||||||
|
description: "Text to use to separate artist names",
|
||||||
|
type: OptionType.STRING,
|
||||||
|
default: "; "
|
||||||
|
},
|
||||||
|
onlyShowMainArtist: {
|
||||||
|
description: "Only show the main artist if there are multiple",
|
||||||
|
type: OptionType.BOOLEAN,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
showAlbumName: {
|
||||||
|
description: "Show album name under the artist name",
|
||||||
|
type: OptionType.BOOLEAN,
|
||||||
|
default: true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const OTHER_USER_SPOTIFY_CARD_FIND = /\.USER_PROFILE_LIVE_ACTIVITY_CARD.+action:"OPEN_SPOTIFY_ARTIST".+HOVER_ACTIVITY_CARD.+FULL_SIZE/;
|
||||||
|
const SELF_USER_SPOTIFY_CARD_FIND = new RegExp("FULL_SIZE},.=\\(0,.\\..\\)\\({activity:.,user:.}\\),.=");
|
||||||
|
|
||||||
|
const SHARED_PATCHES: {
|
||||||
|
match: RegExp,
|
||||||
|
replace: string,
|
||||||
|
predicate?: () => boolean;
|
||||||
|
}[] = [
|
||||||
|
{
|
||||||
|
match: /\?", "/,
|
||||||
|
replace: "?`${$self.settings.store.artistSeparator}`"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: /text:(\i).map(.+)(\i.length-1)/,
|
||||||
|
replace: "text:($self.settings.store.onlyShowMainArtist ? [$1[0]] : $1).map$2($self.settings.store.onlyShowMainArtist ? 1 === 2: $3)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: /user:(.)(.+)(.+OPEN_SPOTIFY_TRACK"}\),\(0,.\.[a-zA-Z]{0,10}\)\((.).+)(.\(\))(.+user)/,
|
||||||
|
replace: "user:$1$2$3$5, $self.AlbumText($4)$6"
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export default definePlugin({
|
||||||
|
name: "BetterSpotifyCard",
|
||||||
|
description: "Show more info on the Spotify activity card",
|
||||||
|
authors: [Devs.nin0dev],
|
||||||
|
settings,
|
||||||
|
AlbumText(presence) {
|
||||||
|
if (!settings.store.showAlbumName) return <></>;
|
||||||
|
return <Text variant="text-xs/normal" style={{ overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }} >
|
||||||
|
{presence.assets.large_text}
|
||||||
|
</Text>;
|
||||||
|
},
|
||||||
|
patches: [
|
||||||
|
{
|
||||||
|
find: OTHER_USER_SPOTIFY_CARD_FIND,
|
||||||
|
replacement: SHARED_PATCHES
|
||||||
|
},
|
||||||
|
{
|
||||||
|
find: SELF_USER_SPOTIFY_CARD_FIND,
|
||||||
|
replacement: SHARED_PATCHES
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
Loading…
Reference in a new issue