aboutsummaryrefslogtreecommitdiffstats
path: root/src/features
diff options
context:
space:
mode:
authorLibravatar vantezzen <hello@vantezzen.io>2019-10-17 16:22:11 +0200
committerLibravatar vantezzen <hello@vantezzen.io>2019-10-17 16:22:11 +0200
commit942466eb686c480133e1b0b8b9a2b975098b5bc4 (patch)
tree297a71efa4051949a4f2c411262558954c8c7d3a /src/features
parentMerge pull request #121 from getferdi/l10n_develop (diff)
downloadferdium-app-942466eb686c480133e1b0b8b9a2b975098b5bc4.tar.gz
ferdium-app-942466eb686c480133e1b0b8b9a2b975098b5bc4.tar.zst
ferdium-app-942466eb686c480133e1b0b8b9a2b975098b5bc4.zip
Diffstat (limited to 'src/features')
-rw-r--r--src/features/accentColor/index.js55
-rw-r--r--src/features/announcements/api.js2
2 files changed, 56 insertions, 1 deletions
diff --git a/src/features/accentColor/index.js b/src/features/accentColor/index.js
new file mode 100644
index 000000000..a0f57a2fa
--- /dev/null
+++ b/src/features/accentColor/index.js
@@ -0,0 +1,55 @@
1import { reaction } from 'mobx';
2import themeInfo from '../../assets/themeInfo.json';
3import { DEFAULT_APP_SETTINGS } from '../../config';
4
5const STYLE_ELEMENT_ID = 'accent-color';
6
7function createAccentStyleElement() {
8 const styles = document.createElement('style');
9 styles.id = STYLE_ELEMENT_ID;
10
11 document.querySelector('head').appendChild(styles);
12}
13
14function setAccentStyle(style) {
15 const styleElement = document.getElementById(STYLE_ELEMENT_ID);
16 styleElement.innerHTML = style;
17}
18
19function generateAccentStyle(color) {
20 let style = '';
21
22 Object.keys(themeInfo).forEach((property) => {
23 style += `
24 ${themeInfo[property]} {
25 ${property}: ${color};
26 }
27 `;
28 });
29
30 return style;
31}
32
33export default function initAccentColor(stores) {
34 const { settings } = stores;
35 createAccentStyleElement();
36
37 // Update accent color
38 reaction(
39 () => (
40 settings.all.app.accentColor
41 ),
42 (color) => {
43 if (color === DEFAULT_APP_SETTINGS.accentColor) {
44 // Reset accent style to return to default color scheme
45 setAccentStyle('');
46 } else {
47 const style = generateAccentStyle(color);
48 setAccentStyle(style);
49 }
50 },
51 {
52 fireImmediately: true,
53 },
54 );
55}
diff --git a/src/features/announcements/api.js b/src/features/announcements/api.js
index a7995d6db..f33980d0f 100644
--- a/src/features/announcements/api.js
+++ b/src/features/announcements/api.js
@@ -12,7 +12,7 @@ export const announcementsApi = {
12 12
13 async getChangelog(version) { 13 async getChangelog(version) {
14 debug('fetching release changelog from Github'); 14 debug('fetching release changelog from Github');
15 const url = `https://api.github.com/repos/meetfranz/franz/releases/tags/v${version}`; 15 const url = `https://api.github.com/repos/getferdi/ferdi/releases/tags/v${version}`;
16 const request = await window.fetch(url, { method: 'GET' }); 16 const request = await window.fetch(url, { method: 'GET' });
17 if (!request.ok) return null; 17 if (!request.ok) return null;
18 const data = await request.json(); 18 const data = await request.json();