diff options
Diffstat (limited to 'src/features')
-rw-r--r-- | src/features/accentColor/index.js | 55 | ||||
-rw-r--r-- | src/features/announcements/api.js | 2 |
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 @@ | |||
1 | import { reaction } from 'mobx'; | ||
2 | import themeInfo from '../../assets/themeInfo.json'; | ||
3 | import { DEFAULT_APP_SETTINGS } from '../../config'; | ||
4 | |||
5 | const STYLE_ELEMENT_ID = 'accent-color'; | ||
6 | |||
7 | function createAccentStyleElement() { | ||
8 | const styles = document.createElement('style'); | ||
9 | styles.id = STYLE_ELEMENT_ID; | ||
10 | |||
11 | document.querySelector('head').appendChild(styles); | ||
12 | } | ||
13 | |||
14 | function setAccentStyle(style) { | ||
15 | const styleElement = document.getElementById(STYLE_ELEMENT_ID); | ||
16 | styleElement.innerHTML = style; | ||
17 | } | ||
18 | |||
19 | function 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 | |||
33 | export 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(); |