diff --git a/websites/G/Google Calendar/Google Calendar.json b/websites/G/Google Calendar/Google Calendar.json index c3c37cbdd913..340319f70af1 100644 --- a/websites/G/Google Calendar/Google Calendar.json +++ b/websites/G/Google Calendar/Google Calendar.json @@ -71,6 +71,10 @@ "description": "Displayed when the user is searching for an event.", "message": "Searching the event:" }, + "googlecalendar.viewingAnEvent": { + "description": "Displayed when the user is viewing an event.", + "message": "Viewing an event" + }, "googlecalendar.viewingCalendar": { "description": "Displayed when the user is viewing a calendar.", "message": "Viewing the calendar" diff --git a/websites/G/Google Calendar/metadata.json b/websites/G/Google Calendar/metadata.json index eb61738e5619..8de4cb39467a 100644 --- a/websites/G/Google Calendar/metadata.json +++ b/websites/G/Google Calendar/metadata.json @@ -25,7 +25,7 @@ }, "url": "calendar.google.com", "regExp": "^https?[:][/][/]calendar[.]google[.]com[/]", - "version": "1.4.1", + "version": "1.4.2", "logo": "https://cdn.rcd.gg/PreMiD/websites/G/Google%20Calendar/assets/logo.png", "thumbnail": "https://cdn.rcd.gg/PreMiD/websites/G/Google%20Calendar/assets/thumbnail.png", "color": "#4285F4", @@ -41,6 +41,12 @@ { "id": "lang", "multiLanguage": true + }, + { + "id": "privacy", + "title": "Privacy Mode", + "icon": "fad fa-user-secret", + "value": true } ] } diff --git a/websites/G/Google Calendar/presence.ts b/websites/G/Google Calendar/presence.ts index 2da3e29138db..0e22eeaa7563 100644 --- a/websites/G/Google Calendar/presence.ts +++ b/websites/G/Google Calendar/presence.ts @@ -17,6 +17,7 @@ async function getStrings() { customDays: 'googlecalendar.customDays', customizingCalendar: 'googlecalendar.customizingCalendar', daySchedule: 'googlecalendar.daySchedule', + viewingAnEvent: 'googlecalendar.viewingAnEvent', editingAnEvent: 'googlecalendar.editingAnEvent', exportingCalendar: 'googlecalendar.exportingCalendar', generalSettings: 'googlecalendar.generalSettings', @@ -36,9 +37,11 @@ presence.on('UpdateData', async () => { largeImageKey: 'https://cdn.rcd.gg/PreMiD/websites/G/Google%20Calendar/assets/logo.png', startTimestamp: browsingTimestamp, } + const privacy = await presence.getSetting('privacy') const strings = await getStrings() // eslint-disable-next-line regexp/no-unused-capturing-group const date = document.title?.replace(/Google[\xA0 ](Calendar|Agenda) -/, '')?.replaceAll(',', ' -')?.trim() + const eventDialog = document.querySelector('div[role="dialog"]') if (document.location.pathname === '/') { presenceData.details = strings.home @@ -67,8 +70,13 @@ presence.on('UpdateData', async () => { presenceData.details = strings.viewingScheduleOf presenceData.state = strings.customDays } + else if (eventDialog) { + presenceData.details = strings.viewingAnEvent + presenceData.state = privacy ? '' : eventDialog?.querySelector('span[role="heading"]')?.textContent || '' + } else if (document.location.pathname.includes('/r/eventedit')) { presenceData.details = strings.editingAnEvent + presenceData.state = privacy ? '' : document.querySelector('div[role="main"] input[type="text"]')?.value || '' } else if (document.location.pathname.includes('/r/search')) { presenceData.details = strings.searchingEvent