A rewrite of Poly+, my quality-of-life browser extension for Polytoria. Built entirely fresh using the WXT extension framework, Typescript, and with added better overall code quality.
extension
1html,
2body,
3#page {
4 background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
5 url(/images/client-loading.png);
6 background-color: #222222;
7 background-size: 400px;
8 background-position: center;
9}
10
11#page {
12 margin-top: 7.5rem;
13 width: 65%;
14 margin-right: auto;
15 margin-left: auto;
16 margin-bottom: 3.5rem;
17}
18
19h1 {
20 font-size: 4.6rem;
21 /*color: rgb(48, 48, 48);*/
22}
23
24h1 span.indent {
25 border-left: 10px solid rgb(48, 48, 48);
26 margin-right: 15px;
27}
28
29h1 span.highlight {
30 color: red;
31}
32
33h2 {
34 color: rgb(48, 48, 48);
35}
36
37h2 span.indent {
38 border-left: 7.5px solid rgb(48, 48, 48);
39 margin-right: 15px;
40}
41
42.setting-container:not(:last-child) {
43 margin-bottom: 30px;
44}
45
46.setting-container .title {
47 font-size: 1.4rem;
48 font-weight: bold;
49}
50
51.setting-container .desc,
52.setting-container .warning,
53.setting-container .note {
54 display: block;
55 width: 75%;
56}
57
58.setting-container .desc {
59 color: rgb(120, 120, 120);
60}
61
62.setting-buttons {
63 float: right;
64}
65
66.setting-buttons button {
67 width: 100px;
68}
69
70.setting-buttons button:first-child:not(:last-child) {
71 margin-right: 5px;
72}
73
74.setting-container select:first-of-type {
75 margin-top: 10px;
76}
77
78.goback {
79 color: rgb(120, 120, 120);
80 text-decoration: none;
81}
82
83dialog {
84 background-color: #080808;
85 color: #c4c4c4;
86 border: 1px solid #3bafff;
87 border-radius: 10px;
88}
89
90.input-group-text {
91 background-color: #000;
92 border-color: #000;
93 color: #fff;
94}
95
96label {
97 font-size: 0.8rem;
98 margin-bottom: 2.75px;
99}
100
101dialog::backdrop {
102 background-color: rgba(0, 0, 0, 0.73);
103}
104
105dialog .modal-header p {
106 margin-bottom: 0px;
107 color: #fff;
108}
109
110dialog .modal-body p:first-child {
111 font-size: 0.9rem;
112}
113
114.setting-container .indicator {
115 border-radius: 5rem;
116 display: inline-block;
117 cursor: default;
118 margin-right: 4px;
119 height: 20px;
120 /* vertical-align: text-top; */
121}
122
123.setting-container.enabled .indicator {
124 background-color: #007bff;
125}
126.setting-container.enabled .title {
127 text-shadow: 0px 1px 3px blue;
128}
129.setting-container.disabled .indicator {
130 background-color: orangered;
131}
132.setting-container.disabled .title {
133 text-shadow: 0px 1px 3px orangered;
134}
135
136.limited-time {
137 background: transparent;
138 border-color: transparent;
139 /*
140 changed the box shadow to black cause @dargy begged me to
141 box-shadow: -3px -3px 15px 0 rgba(255, 116, 16, 0.25) inset, 3px 3px 15px 0 rgba(205, 96, 255, 0.25) inset;
142 */
143 box-shadow: -3px -3px 15px 0 black inset;
144 border: none;
145}
146
147.limited-time * {
148 position: relative;
149 z-index: 2;
150}
151
152.limited-time .row {
153 --bs-gutter-x: 10px;
154}
155
156.limited-time .indicator {
157 height: 100%;
158}
159
160.limited-time .desc {
161 margin-bottom: 10px;
162 width: 85%;
163}
164
165.limited-time-tag {
166 font-size: 0.7rem;
167 color: rgba(255, 116, 16, 0.25);
168
169 -webkit-animation: LimitedTimeTag 5s ease infinite alternate;
170 -moz-animation: LimitedTimeTag 5s ease infinite alternate;
171 animation: LimitedTimeTag 5s ease infinite alternate;
172}
173
174.limited-time::before {
175 content: "";
176 position: absolute;
177 inset: 0;
178 padding: 3px;
179 background: linear-gradient(
180 45deg,
181 /*
182 changed the gradient to blue and green cause @ItsLuiggiYahoo begged me to
183 rgba(255, 116, 16, 1),
184 rgba(205, 96, 255, 1)
185 */
186 blue,
187 green
188 );
189 mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
190 -webkit-mask-composite: xor;
191 mask-composite: exclude;
192 display: block;
193 border-radius: inherit;
194}
195
196.setting-container .warning {
197 font-size: 0.8rem;
198 color: orange;
199 font-weight: lighter;
200}
201
202.setting-container .note {
203 font-size: 0.8rem;
204 color: #439eff;
205 font-weight: lighter;
206}
207
208.card {
209 --bs-card-border-color: #1e1e1e;
210 --bs-card-bg: #121212;
211}
212
213@-webkit-keyframes LimitedTimeTag {
214 0% {
215 color: rgba(255, 116, 16, 1);
216 }
217 50% {
218 color: rgba(23, 107, 233, 1);
219 }
220 100% {
221 color: rgba(205, 96, 255, 1);
222 }
223}
224
225@-moz-keyframes LimitedTimeTag {
226 0% {
227 color: rgba(255, 116, 16, 1);
228 }
229 50% {
230 color: rgba(23, 107, 233, 1);
231 }
232 100% {
233 color: rgba(205, 96, 255, 1);
234 }
235}
236
237@keyframes LimitedTimeTag {
238 0% {
239 color: rgba(255, 116, 16, 1);
240 }
241 50% {
242 color: rgba(23, 107, 233, 1);
243 }
244 100% {
245 color: rgba(205, 96, 255, 1);
246 }
247}
248
249.title-popup-bg {
250 font-size: 2.5rem;
251 padding: 20px !important;
252 background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.9)),
253 url("/images/preferences-splash2.png");
254 background-size: cover;
255 background-position: center;
256 border-radius: 0.5rem;
257 text-shadow: none !important;
258 outline: 1px solid black;
259 height: 10rem;
260}
261
262.title-popup-bg span {
263 vertical-align: middle;
264}
265
266/*
267#discovery {
268 position: relative;
269}
270*/
271
272/* For Firefox */
273#discovery {
274 scrollbar-width: none;
275}
276
277/* For Chrome, Safari and Opera */
278#discovery::-webkit-scrollbar {
279 display: none;
280}