diff --git a/websites/H/hangar/metadata.json b/websites/H/hangar/metadata.json new file mode 100644 index 000000000000..0131205e7f4d --- /dev/null +++ b/websites/H/hangar/metadata.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://schemas.premid.app/metadata/1.8", + "author": { + "id": "1004301145348526090", + "name": "RuaLia" + }, + "service": "hangar", + "description": { + "en": "Shows your current activity on the Hangar platform.", + "tr": "Hangar platformundaki güncel aktivitenizi Discord'da gösterir." + }, + "url": "usehangar.gg", + "regExp": "^https?[:][/][/](www[.])?usehangar[.]gg[/]", + "version": "1.0.0", + "logo": "https://i.imgur.com/w5FbdFC.png", + "thumbnail": "https://i.imgur.com/amW5L4I.jpeg", + "color": "#111111", + "category": "socials", + "tags": [ + "community", + "forum", + "socials" + ] +} diff --git a/websites/H/hangar/presence.ts b/websites/H/hangar/presence.ts new file mode 100644 index 000000000000..65178118081d --- /dev/null +++ b/websites/H/hangar/presence.ts @@ -0,0 +1,47 @@ +import { ActivityType } from 'premid' + +const presence = new Presence({ + clientId: '1004301145348526090', +}) + +const startTimestamp = Math.floor(Date.now() / 1000) + +presence.on('UpdateData', async () => { + const title = document.title || 'Hangar' + const path = window.location.pathname + + const data: PresenceData = { + type: ActivityType.Playing, + largeImageKey: 'https://i.imgur.com/w5FbdFC.png', + startTimestamp, + details: 'Browsing Hangar', + state: 'Viewing pages', + } + + if (path === '/' || path === '/feed') { + data.details = 'Browsing the homepage' + data.state = 'Viewing the feed' + } + else if (path.startsWith('/hub/')) { + const hubName = title.split(' | ')[0] || 'A Hub' + + data.details = 'Viewing a Hub' + data.state = hubName + data.smallImageKey = 'https://i.imgur.com/w5FbdFC.png' + data.smallImageText = 'Hangar' + } + else if (path.startsWith('/profile/')) { + const user = title.split(' | ')[0] || 'A profile' + + data.details = 'Viewing a profile' + data.state = user + } + else if (path.startsWith('/post/')) { + const postTitle = title.split(' | ')[0] || 'A post' + + data.details = 'Reading a post' + data.state = postTitle + } + + presence.setActivity(data) +})