diff --git a/websites/P/Platform Engineering University/metadata.json b/websites/P/Platform Engineering University/metadata.json new file mode 100644 index 000000000000..6a1bb82ad567 --- /dev/null +++ b/websites/P/Platform Engineering University/metadata.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://schemas.premid.app/metadata/1.17", + "apiVersion": 1, + "author": { + "id": "263735224221827072", + "name": "AlperShal" + }, + "service": "Platform Engineering University", + "description": { + "en": "The home for platform engineering learning and certifications." + }, + "url": "university.platformengineering.org", + "regExp": "^https?[:][/][/]university[.]platformengineering[.]org[/]", + "version": "1.0.0", + "logo": "https://i.imgur.com/iNgO4NQ.png", + "thumbnail": "https://i.imgur.com/c6wvuf2.png", + "color": "#000000", + "category": "videos", + "tags": [ + "education", + "course", + "learning", + "engineering", + "tutorial", + "devops", + "platform" + ] +} diff --git a/websites/P/Platform Engineering University/presence.ts b/websites/P/Platform Engineering University/presence.ts new file mode 100644 index 000000000000..b1f7b7d8e501 --- /dev/null +++ b/websites/P/Platform Engineering University/presence.ts @@ -0,0 +1,36 @@ +import { Assets } from 'premid' + +const presence = new Presence({ + clientId: '1519641524185337916', +}) + +enum ActivityAssets { + Logo = 'https://i.imgur.com/iNgO4NQ.png', +} + +const browsingTimestamp = Math.floor(Date.now() / 1000) + +presence.on('UpdateData', async () => { + const presenceData: PresenceData = { + largeImageKey: ActivityAssets.Logo, + startTimestamp: browsingTimestamp, + } + + if (document.querySelector('div.lesson-page')) { + presenceData.details = `Studying: ${document.querySelector('h1.course-title')?.textContent.trim()}` + presenceData.state = `Lesson: ${document.querySelector('div.lesson-top > h2')?.innerHTML}` + presenceData.buttons = [{ label: 'Learn Yourself', url: document.location.href }] + + if (document.querySelector('div.jw-icon-playback')?.ariaLabel === 'Play') { + presenceData.smallImageKey = Assets.Play + } + else if (document.querySelector('div.jw-icon-playback')?.ariaLabel === 'Pause') { + presenceData.smallImageKey = Assets.Pause + } + } + else { + presenceData.details = 'Browsing...' + } + + presence.setActivity(presenceData) +})