diff options
Diffstat (limited to 'src/mixins/sub.pug')
-rw-r--r-- | src/mixins/sub.pug | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/mixins/sub.pug b/src/mixins/sub.pug new file mode 100644 index 0000000..a40aa68 --- /dev/null +++ b/src/mixins/sub.pug | |||
@@ -0,0 +1,32 @@ | |||
1 | mixin subMgmt() | ||
2 | script. | ||
3 | function getSubs() { | ||
4 | var store = localStorage.getItem('subs'); | ||
5 | if (store) { | ||
6 | return store.split(',').map((n)=>n.replace(/\/?r\//,'')); | ||
7 | } else { | ||
8 | return []; | ||
9 | } | ||
10 | } | ||
11 | |||
12 | function subscribe(newsub) { | ||
13 | var subs = getSubs(); | ||
14 | if (!subs.includes(newsub)) { | ||
15 | localStorage.setItem('subs',[...subs,newsub]); | ||
16 | updateButton(newsub); | ||
17 | } | ||
18 | } | ||
19 | |||
20 | function unsubscribe(sub) { | ||
21 | var subs = getSubs(); | ||
22 | if (subs.includes(sub)) { | ||
23 | localStorage.setItem('subs',subs.filter((s)=>s!=sub)); | ||
24 | updateButton(sub); | ||
25 | } | ||
26 | } | ||
27 | |||
28 | function issub(sub) { | ||
29 | return getSubs().includes(sub); | ||
30 | } | ||
31 | |||
32 | |||