Skip to content

Commit dac6541

Browse files
committed
Merge branch 'edge'
2 parents 9790628 + 2504a34 commit dac6541

21 files changed

+138
-251
lines changed

Dockerfile

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
FROM node:16-alpine3.12
1+
FROM node:16-alpine3.14
22

33
ENV TZ=Etc/GMT
44

5-
RUN apk update
6-
7-
# required dependencies in order to compile linux-musl (node-canvas) on alpine
8-
# https://github.com/node-gfx/node-canvas-prebuilt/issues/77#issuecomment-884365161
9-
RUN apk add --no-cache build-base g++ cairo-dev jpeg-dev pango-dev giflib-dev
10-
# required dependencies in order to compile linux-musl (node-canvas) on alpine
11-
RUN apk add --update --repository http://dl-3.alpinelinux.org/alpine/edge/testing libmount ttf-dejavu ttf-droid ttf-freefont ttf-liberation ttf-ubuntu-font-family fontconfig vips
5+
# vips required to run sharp library for image comparison
6+
RUN echo "http://dl-4.alpinelinux.org/alpine/v3.14/community" >> /etc/apk/repositories \
7+
&& apk --update add vips
128

139
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
1410

@@ -17,9 +13,7 @@ WORKDIR /usr/app
1713
COPY package*.json ./
1814
COPY tsconfig.json .
1915

20-
# no prebuild support for node-canvas on alpine so need to compile
21-
# https://github.com/Automattic/node-canvas#compiling
22-
RUN npm install --build-from-source
16+
RUN npm install
2317

2418
ADD . /usr/app
2519

src/Web/assets/public/app.css

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,14 @@ a {
44

55
.loading {
66
height: 35px;
7-
fill: black;
7+
fill: white;
88
display: none;
99
}
1010

1111
.connected .loading {
1212
display: inline;
1313
}
1414

15-
.dark .loading {
16-
fill: white;
17-
}
18-
1915
.sub {
2016
display: none;
2117
}
@@ -91,3 +87,19 @@ a {
9187
pointer-events: initial;
9288
text-decoration: initial;
9389
}
90+
91+
.blue {
92+
color: rgb(97, 175, 239)
93+
}
94+
.red {
95+
color: rgb(255 123 133);
96+
}
97+
.green {
98+
color: rgb(170 255 109);
99+
}
100+
.purple {
101+
color: rgb(224 124 253);
102+
}
103+
.yellow {
104+
color: rgb(253 198 94);
105+
}
Lines changed: 10 additions & 0 deletions
Loading

src/Web/assets/public/tailwind.min.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Web/assets/views/callback.ejs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
<html>
1+
<html lang="en">
22
<%- include('partials/head', {title: 'CM OAuth Helper'}) %>
3-
<body class="">
4-
<script>localStorage.getItem('ms-dark') === 'no' ? document.body.classList.remove('dark') : document.body.classList.add('dark')</script>
5-
<div class="min-w-screen min-h-screen bg-gray-100 bg-gray-100 dark:bg-gray-800 font-sans">
3+
<body class="bg-gray-900 text-white font-sans">
4+
<div class="min-w-screen min-h-screen">
65
<%- include('partials/title', {title: ' OAuth Helper'}) %>
76
<div class="container mx-auto">
87
<div class="grid">
9-
<div class="bg-white dark:bg-gray-500 dark:text-white">
8+
<div class="bg-gray-600">
109
<div class="p-6 md:px-10 md:py-6">
1110
<div class="text-xl mb-4">Congrats! You did the thing.</div>
1211
<div class="space-y-3">

src/Web/assets/views/config.ejs

Lines changed: 5 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
<html>
1+
<html lang="en">
22
<head>
3-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.0.3/tailwind.min.css"
4-
integrity="sha512-wl80ucxCRpLkfaCnbM88y4AxnutbGk327762eM9E/rRTvY/ZGAHWMZrYUq66VQBYMIYDFpDdJAOGSLyIPHZ2IQ=="
5-
crossorigin="anonymous"/>
6-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.0.3/tailwind-dark.min.css"
7-
integrity="sha512-WvyKyiVHgInX5UQt67447ExtRRZG/8GUijaq1MpqTNYp8wY4/EJOG5bI80sRp/5crDy4Z6bBUydZI2OFV3Vbtg=="
8-
crossorigin="anonymous"/>
3+
<link rel="stylesheet" href="/public/tailwind.min.css"/>
94
<script src="https://code.iconify.design/1/1.0.4/iconify.min.js"></script>
105
<link rel="stylesheet" href="/public/themeToggle.css">
116
<link rel="stylesheet" href="/public/app.css">
@@ -15,13 +10,12 @@
1510
<meta name="viewport" content="width=device-width,initial-scale=1.0">
1611
<!--icons from https://heroicons.com -->
1712
</head>
18-
<body style="user-select: none;" class="">
19-
<script>localStorage.getItem('ms-dark') === 'no' ? document.body.classList.remove('dark') : document.body.classList.add('dark')</script>
20-
<div class="min-w-screen min-h-screen bg-gray-100 bg-gray-100 dark:bg-gray-800 font-sans">
13+
<body style="user-select: none;" class="bg-gray-900 text-white font-sans">
14+
<div class="min-w-screen min-h-screen bg-gray-800">
2115
<%- include('partials/title') %>
2216
<div class="container mx-auto">
2317
<div class="grid">
24-
<div class="dark:text-white mb-3 pl-2">
18+
<div class="my-3 pl-2">
2519
Schema <a href="/config?schema=subreddit" id="subredditSchemaType">Subreddit</a> / <a href="/config?schema=operator" id="operatorSchemaType">Operator</a> |
2620
<span class="has-tooltip">
2721
<span style="z-index:999; margin-top: 30px;" class='tooltip rounded shadow-lg p-3 bg-gray-100 text-black space-y-2'>
@@ -63,35 +57,6 @@
6357
</div>
6458
<%- include('partials/footer') %>
6559
</div>
66-
<script>
67-
document.querySelectorAll('.theme').forEach(el => {
68-
el.addEventListener('click', e => {
69-
e.preventDefault();
70-
if (e.target.id === 'dark') {
71-
document.body.classList.add('dark');
72-
localStorage.setItem('ms-dark', 'yes');
73-
} else {
74-
document.body.classList.remove('dark');
75-
localStorage.setItem('ms-dark', 'no');
76-
}
77-
document.querySelectorAll('.theme').forEach(el => {
78-
el.classList.remove('font-bold', 'no-underline', 'pointer-events-none');
79-
});
80-
e.target.classList.add('font-bold', 'no-underline', 'pointer-events-none');
81-
})
82-
})
83-
84-
document.querySelector("#themeToggle").checked = localStorage.getItem('ms-dark') !== 'no';
85-
document.querySelector("#themeToggle").onchange = (e) => {
86-
if (e.target.checked === true) {
87-
document.body.classList.add('dark');
88-
localStorage.setItem('ms-dark', 'yes');
89-
} else {
90-
document.body.classList.remove('dark');
91-
localStorage.setItem('ms-dark', 'no');
92-
}
93-
}
94-
</script>
9560
<script src="/monaco/dev/vs/loader.js"></script>
9661
<script>
9762
require.config({ paths: { vs: 'monaco/dev/vs' } });

src/Web/assets/views/error.ejs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
<html>
1+
<html lang="en">
22
<%- include('partials/head', {title: 'CM'}) %>
3-
<body class="">
4-
<script>localStorage.getItem('ms-dark') === 'no' ? document.body.classList.remove('dark') : document.body.classList.add('dark')</script>
5-
<div class="min-w-screen min-h-screen bg-gray-100 bg-gray-100 dark:bg-gray-800 font-sans">
3+
<body class="bg-gray-900 text-white font-sans">
4+
<div class="min-w-screen min-h-screen">
65
<%- include('partials/title', {title: 'Error'}) %>
76
<div class="container mx-auto">
87
<div class="grid">
9-
<div class="bg-white dark:bg-gray-500 dark:text-white">
8+
<div class="bg-gray-600">
109
<div class="p-6 md:px-10 md:py-6">
1110
<div class="text-xl mb-4">Oops 😬</div>
1211
<div class="space-y-3">

src/Web/assets/views/events.ejs

Lines changed: 7 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
<html>
1+
<html lang="en">
22
<head>
3-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.0.3/tailwind.min.css"
4-
integrity="sha512-wl80ucxCRpLkfaCnbM88y4AxnutbGk327762eM9E/rRTvY/ZGAHWMZrYUq66VQBYMIYDFpDdJAOGSLyIPHZ2IQ=="
5-
crossorigin="anonymous"/>
6-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.0.3/tailwind-dark.min.css"
7-
integrity="sha512-WvyKyiVHgInX5UQt67447ExtRRZG/8GUijaq1MpqTNYp8wY4/EJOG5bI80sRp/5crDy4Z6bBUydZI2OFV3Vbtg=="
8-
crossorigin="anonymous"/>
3+
<link rel="stylesheet" href="/public/tailwind.min.css"/>
94
<script src="https://code.iconify.design/1/1.0.4/iconify.min.js"></script>
105
<link rel="stylesheet" href="/public/themeToggle.css">
116
<link rel="stylesheet" href="/public/app.css">
@@ -20,19 +15,19 @@
2015
}
2116
</style>
2217
</head>
23-
<body>
18+
<body class="bg-gray-900 text-white font-sans">
2419
<script>localStorage.getItem('ms-dark') === 'no' ? document.body.classList.remove('dark') : document.body.classList.add('dark')</script>
25-
<div class="min-w-screen min-h-screen bg-gray-100 bg-gray-100 dark:bg-gray-800 font-sans">
20+
<div class="min-w-screen min-h-screen">
2621
<%- include('partials/title') %>
2722
<div class="container mx-auto">
2823
<div class="grid">
29-
<div class="bg-white dark:bg-gray-500 dark:text-white px-3 py-6 space-y-3">
24+
<div class="px-3 py-6 space-y-3">
3025
<% if(data.length === 0) { %>
3126
No events have been actioned yet!
3227
<% } %>
3328
<% data.forEach(function (eRes){ %>
3429
<div class="shadow-lg">
35-
<div class="space-x-4 px-4 p-2 leading-2 font-semibold bg-gray-300 dark:bg-gray-700 dark:text-white">
30+
<div class="space-x-4 px-4 p-2 leading-2 font-semibold bg-gray-700">
3631
<div class="flex items-center justify-between">
3732
<div>
3833
<span class="peek"><%- eRes.activity.peek %></span><a target="_blank" href="https://reddit.com<%= eRes.activity.link%>">(Link)</a>
@@ -42,7 +37,7 @@
4237
</div>
4338
</div>
4439
</div>
45-
<div class="p-4 pl-6 pt-3 space-y-2">
40+
<div class="p-4 pl-6 pt-3 space-y-2 bg-gray-500">
4641
<div><span class="font-semibold">Check:</span> <%= eRes.check %><span class="px-3">&#10132;</span><%= eRes.ruleSummary %></div>
4742
<div>
4843
<span class="font-semibold">Rules:</span>
@@ -67,34 +62,5 @@
6762
</div>
6863
<%- include('partials/footer') %>
6964
</div>
70-
<script>
71-
document.querySelectorAll('.theme').forEach(el => {
72-
el.addEventListener('click', e => {
73-
e.preventDefault();
74-
if (e.target.id === 'dark') {
75-
document.body.classList.add('dark');
76-
localStorage.setItem('ms-dark', 'yes');
77-
} else {
78-
document.body.classList.remove('dark');
79-
localStorage.setItem('ms-dark', 'no');
80-
}
81-
document.querySelectorAll('.theme').forEach(el => {
82-
el.classList.remove('font-bold', 'no-underline', 'pointer-events-none');
83-
});
84-
e.target.classList.add('font-bold', 'no-underline', 'pointer-events-none');
85-
})
86-
})
87-
88-
document.querySelector("#themeToggle").checked = localStorage.getItem('ms-dark') !== 'no';
89-
document.querySelector("#themeToggle").onchange = (e) => {
90-
if (e.target.checked === true) {
91-
document.body.classList.add('dark');
92-
localStorage.setItem('ms-dark', 'yes');
93-
} else {
94-
document.body.classList.remove('dark');
95-
localStorage.setItem('ms-dark', 'no');
96-
}
97-
}
98-
</script>
9965
</body>
10066
</html>

src/Web/assets/views/helper.ejs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
<html>
1+
<html lang="en">
22
<%- include('partials/head', {title: 'CM OAuth Helper'}) %>
3-
<body class="">
4-
<script>localStorage.getItem('ms-dark') === 'no' ? document.body.classList.remove('dark') : document.body.classList.add('dark')</script>
5-
<div class="min-w-screen min-h-screen bg-gray-100 bg-gray-100 dark:bg-gray-800 font-sans">
3+
<body class="bg-gray-900 text-white font-sans">
4+
<div class="min-w-screen min-h-screen">
65
<%- include('partials/title', {title: ' OAuth Helper'}) %>
76
<div class="container mx-auto">
87
<div class="grid">
9-
<div class="bg-white dark:bg-gray-500 dark:text-white">
8+
<div class="bg-gray-600">
109
<div class="p-6 md:px-10 md:py-6">
1110
<div class="text-xl mb-4">Hi! Looks like you're setting up your bot. To get running:</div>
1211
<div class="text-lg text-semibold my-3">1. Set your redirect URL</div>

src/Web/assets/views/invite.ejs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
<html>
1+
<html lang="en">
22
<%- include('partials/head', {title: 'CM OAuth Helper'}) %>
3-
<body class="">
4-
<script>localStorage.getItem('ms-dark') === 'no' ? document.body.classList.remove('dark') : document.body.classList.add('dark')</script>
5-
<div class="min-w-screen min-h-screen bg-gray-100 bg-gray-100 dark:bg-gray-800 font-sans">
3+
<body class="bg-gray-900 text-white">
4+
<div class="min-w-screen min-h-screen font-sans">
65
<%- include('partials/title', {title: ' OAuth Helper'}) %>
76
<div class="container mx-auto">
87
<div class="grid">
9-
<div class="bg-white dark:bg-gray-500 dark:text-white">
8+
<div class="bg-gray-600">
109
<div class="p-6 md:px-10 md:py-6">
1110
<div class="text-xl mb-4">Hi! Looks like you're accepting an invite to authorize an account to run on this ContextMod instance:</div>
1211
<div class="text-lg text-semibold my-3">1. Review permissions</div>

0 commit comments

Comments
 (0)