diff --git a/repo/emoji-sets/mod.js b/repo/emoji-sets/mod.js
index 92bc582..acce9ba 100644
--- a/repo/emoji-sets/mod.js
+++ b/repo/emoji-sets/mod.js
@@ -6,14 +6,12 @@
'use strict';
-let tweaked = false;
-
module.exports = {
id: 'a2401ee1-93ba-4b8c-9781-7f570bf5d71e',
tags: ['extension'],
name: 'emoji sets',
desc: 'pick from a variety of emoji styles to use.',
- version: '0.1.3',
+ version: '0.2.0',
author: 'dragonwocky',
options: [
{
@@ -40,56 +38,58 @@ module.exports = {
],
hacks: {
'renderer/preload.js'(store, __exports) {
- document.addEventListener('readystatechange', (event) => {
- if (document.readyState !== 'complete') return false;
- let queue = [];
- const observer = new MutationObserver((list, observer) => {
- if (!queue.length) requestAnimationFrame(process);
- queue.push(...list);
- });
- observer.observe(document.body, {
- childList: true,
- subtree: true,
- characterData: true,
- });
- function process() {
- queue = [];
+ const useNative =
+ (store().style === 'microsoft' && process.platform === 'win32') ||
+ (store().style === 'apple' && process.platform === 'darwin');
- // if (
- // (store().style === 'microsoft' && process.platform === 'win32') ||
- // (store().style === 'apple' && process.platform === 'darwin')
- // ) {
- // document
- // .querySelectorAll('.notion-record-icon .notion-emoji')
- // .forEach((el) => {
- // el.outerHTML = `
- // ${el.getAttribute('alt')}
- // `;
- // });
- // document.querySelectorAll('.notion-emoji').forEach((el) => {
- // el.outerHTML = `${el.getAttribute('alt')}`;
- // });
- // } -- attempt load improvement by using actual emojis instead of pictures
- // ...breaks changing them again after
-
- if (store().style !== 'twitter' || tweaked) {
- document
- .querySelectorAll('[src*="notion-emojis.s3"]:not(.notion-emoji)')
- .forEach((el) => el.remove());
- document.querySelectorAll('.notion-emoji').forEach((el) => {
- el.style.setProperty(
- 'background',
- `url(https://emojicdn.elk.sh/${el.getAttribute('alt')}?style=${
- store().style
- })`
- );
- el.style.setProperty('background-size', 'contain');
- el.style.setProperty('opacity', '1');
- });
- tweaked = true;
- }
- }
+ Object.defineProperty(navigator, 'userAgent', {
+ get: function () {
+ // macOS useragent uses system emojis instead of images
+ // = no need to download
+ return useNative
+ ? 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15 Notion/2.0.9 Electron/6.1.5'
+ : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Notion/2.0.9 Chrome/76.0.3809.146 Electron/6.1.5 Safari/537.36';
+ },
});
+
+ if (!useNative) {
+ let tweaked = false;
+
+ document.addEventListener('readystatechange', (event) => {
+ if (document.readyState !== 'complete') return false;
+ let queue = [];
+ const observer = new MutationObserver((list, observer) => {
+ if (!queue.length) requestAnimationFrame(process);
+ queue.push(...list);
+ });
+ observer.observe(document.body, {
+ childList: true,
+ subtree: true,
+ characterData: true,
+ });
+ function process() {
+ queue = [];
+ if (store().style !== 'twitter' || tweaked) {
+ document
+ .querySelectorAll(
+ '[src*="notion-emojis.s3"]:not(.notion-emoji)'
+ )
+ .forEach((el) => el.remove());
+ document.querySelectorAll('.notion-emoji').forEach((el) => {
+ el.style.setProperty(
+ 'background',
+ `url(https://emojicdn.elk.sh/${el.getAttribute(
+ 'alt'
+ )}?style=${store().style})`
+ );
+ el.style.setProperty('background-size', 'contain');
+ el.style.setProperty('opacity', '1');
+ });
+ tweaked = true;
+ }
+ }
+ });
+ }
},
},
};