Skip to content

Commit 326d76b

Browse files
Merge pull request #64 from Jamesllllllllll/codex/vip-token-automation-followup
Expand VIP automation and refresh playlist management
2 parents 71474bc + 2b9ddaf commit 326d76b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+5923
-1817
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE `channel_settings`
2+
ADD `auto_grant_vip_tokens_for_shared_sub_renewal_message` integer DEFAULT false NOT NULL;

drizzle/0020_raid_vip_tokens.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
ALTER TABLE `channel_settings`
2+
ADD `auto_grant_vip_tokens_for_raiders` integer DEFAULT false NOT NULL;
3+
4+
ALTER TABLE `channel_settings`
5+
ADD `raid_minimum_viewer_count` integer DEFAULT 1 NOT NULL;
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
PRAGMA foreign_keys=OFF;
2+
3+
ALTER TABLE `channel_settings` RENAME TO `__old_channel_settings`;
4+
5+
CREATE TABLE `channel_settings` (
6+
`channel_id` text PRIMARY KEY NOT NULL,
7+
`bot_channel_enabled` integer DEFAULT false NOT NULL,
8+
`admin_force_bot_while_offline` integer DEFAULT false NOT NULL,
9+
`moderator_can_manage_requests` integer DEFAULT false NOT NULL,
10+
`moderator_can_manage_blacklist` integer DEFAULT false NOT NULL,
11+
`moderator_can_manage_setlist` integer DEFAULT false NOT NULL,
12+
`moderator_can_manage_vip_tokens` integer DEFAULT false NOT NULL,
13+
`moderator_can_manage_tags` integer DEFAULT false NOT NULL,
14+
`requests_enabled` integer DEFAULT true NOT NULL,
15+
`allow_anyone_to_request` integer DEFAULT true NOT NULL,
16+
`allow_subscribers_to_request` integer DEFAULT true NOT NULL,
17+
`allow_vips_to_request` integer DEFAULT true NOT NULL,
18+
`only_official_dlc` integer DEFAULT false NOT NULL,
19+
`allowed_tunings_json` text DEFAULT '[]' NOT NULL,
20+
`required_paths_json` text DEFAULT '[]' NOT NULL,
21+
`max_queue_size` integer DEFAULT 50 NOT NULL,
22+
`max_viewer_requests_at_once` integer DEFAULT 1 NOT NULL,
23+
`max_subscriber_requests_at_once` integer DEFAULT 1 NOT NULL,
24+
`max_vip_viewer_requests_at_once` integer DEFAULT 1 NOT NULL,
25+
`max_vip_subscriber_requests_at_once` integer DEFAULT 1 NOT NULL,
26+
`limit_regular_requests_enabled` integer DEFAULT false NOT NULL,
27+
`regular_requests_per_period` integer DEFAULT 1 NOT NULL,
28+
`regular_request_period_seconds` integer DEFAULT 0 NOT NULL,
29+
`limit_vip_requests_enabled` integer DEFAULT false NOT NULL,
30+
`vip_requests_per_period` integer DEFAULT 1 NOT NULL,
31+
`vip_request_period_seconds` integer DEFAULT 0 NOT NULL,
32+
`blacklist_enabled` integer DEFAULT false NOT NULL,
33+
`let_setlist_bypass_blacklist` integer DEFAULT false NOT NULL,
34+
`setlist_enabled` integer DEFAULT false NOT NULL,
35+
`subscribers_must_follow_setlist` integer DEFAULT false NOT NULL,
36+
`auto_grant_vip_token_to_subscribers` integer DEFAULT false NOT NULL,
37+
`duplicate_window_seconds` integer DEFAULT 900 NOT NULL,
38+
`overlay_access_token` text DEFAULT '' NOT NULL,
39+
`overlay_show_creator` integer DEFAULT false NOT NULL,
40+
`overlay_show_album` integer DEFAULT false NOT NULL,
41+
`overlay_animate_now_playing` integer DEFAULT true NOT NULL,
42+
`overlay_accent_color` text DEFAULT '#cf7cff' NOT NULL,
43+
`overlay_vip_color` text DEFAULT '#a855f7' NOT NULL,
44+
`overlay_text_color` text DEFAULT '#f5f7fb' NOT NULL,
45+
`overlay_muted_text_color` text DEFAULT '#9aa4b2' NOT NULL,
46+
`overlay_panel_color` text DEFAULT '#0f1117' NOT NULL,
47+
`overlay_background_color` text DEFAULT '#05070d' NOT NULL,
48+
`overlay_border_color` text DEFAULT '#2a3140' NOT NULL,
49+
`overlay_background_opacity` integer DEFAULT 0 NOT NULL,
50+
`overlay_corner_radius` integer DEFAULT 22 NOT NULL,
51+
`overlay_item_gap` integer DEFAULT 12 NOT NULL,
52+
`overlay_item_padding` integer DEFAULT 16 NOT NULL,
53+
`overlay_title_font_size` integer DEFAULT 26 NOT NULL,
54+
`overlay_meta_font_size` integer DEFAULT 14 NOT NULL,
55+
`command_prefix` text DEFAULT '!sr' NOT NULL,
56+
`updated_at` integer DEFAULT (unixepoch() * 1000) NOT NULL,
57+
`required_paths_match_mode` text NOT NULL DEFAULT 'any',
58+
`auto_grant_vip_tokens_to_sub_gifters` integer DEFAULT false NOT NULL,
59+
`auto_grant_vip_tokens_to_gift_recipients` integer DEFAULT false NOT NULL,
60+
`auto_grant_vip_tokens_for_cheers` integer DEFAULT false NOT NULL,
61+
`cheer_bits_per_vip_token` integer DEFAULT 200 NOT NULL,
62+
`cheer_minimum_token_percent` integer DEFAULT 25 NOT NULL,
63+
`moderator_can_manage_blocked_chatters` integer DEFAULT false NOT NULL,
64+
`moderator_can_view_vip_tokens` integer DEFAULT false NOT NULL,
65+
`show_playlist_positions` integer DEFAULT false NOT NULL,
66+
`auto_grant_vip_tokens_for_streamelements_tips` integer DEFAULT false NOT NULL,
67+
`streamelements_tip_amount_per_vip_token` real DEFAULT 5 NOT NULL,
68+
`streamelements_tip_webhook_token` text DEFAULT '' NOT NULL,
69+
`allow_request_path_modifiers` integer DEFAULT false NOT NULL,
70+
`auto_grant_vip_tokens_for_shared_sub_renewal_message` integer DEFAULT false NOT NULL,
71+
`auto_grant_vip_tokens_for_raiders` integer DEFAULT false NOT NULL,
72+
`raid_minimum_viewer_count` integer DEFAULT 1 NOT NULL,
73+
FOREIGN KEY (`channel_id`) REFERENCES `channels`(`id`) ON UPDATE no action ON DELETE no action
74+
);
75+
76+
INSERT INTO `channel_settings` (
77+
`channel_id`,
78+
`bot_channel_enabled`,
79+
`admin_force_bot_while_offline`,
80+
`moderator_can_manage_requests`,
81+
`moderator_can_manage_blacklist`,
82+
`moderator_can_manage_setlist`,
83+
`moderator_can_manage_vip_tokens`,
84+
`moderator_can_manage_tags`,
85+
`requests_enabled`,
86+
`allow_anyone_to_request`,
87+
`allow_subscribers_to_request`,
88+
`allow_vips_to_request`,
89+
`only_official_dlc`,
90+
`allowed_tunings_json`,
91+
`required_paths_json`,
92+
`max_queue_size`,
93+
`max_viewer_requests_at_once`,
94+
`max_subscriber_requests_at_once`,
95+
`max_vip_viewer_requests_at_once`,
96+
`max_vip_subscriber_requests_at_once`,
97+
`limit_regular_requests_enabled`,
98+
`regular_requests_per_period`,
99+
`regular_request_period_seconds`,
100+
`limit_vip_requests_enabled`,
101+
`vip_requests_per_period`,
102+
`vip_request_period_seconds`,
103+
`blacklist_enabled`,
104+
`let_setlist_bypass_blacklist`,
105+
`setlist_enabled`,
106+
`subscribers_must_follow_setlist`,
107+
`auto_grant_vip_token_to_subscribers`,
108+
`duplicate_window_seconds`,
109+
`overlay_access_token`,
110+
`overlay_show_creator`,
111+
`overlay_show_album`,
112+
`overlay_animate_now_playing`,
113+
`overlay_accent_color`,
114+
`overlay_vip_color`,
115+
`overlay_text_color`,
116+
`overlay_muted_text_color`,
117+
`overlay_panel_color`,
118+
`overlay_background_color`,
119+
`overlay_border_color`,
120+
`overlay_background_opacity`,
121+
`overlay_corner_radius`,
122+
`overlay_item_gap`,
123+
`overlay_item_padding`,
124+
`overlay_title_font_size`,
125+
`overlay_meta_font_size`,
126+
`command_prefix`,
127+
`updated_at`,
128+
`required_paths_match_mode`,
129+
`auto_grant_vip_tokens_to_sub_gifters`,
130+
`auto_grant_vip_tokens_to_gift_recipients`,
131+
`auto_grant_vip_tokens_for_cheers`,
132+
`cheer_bits_per_vip_token`,
133+
`cheer_minimum_token_percent`,
134+
`moderator_can_manage_blocked_chatters`,
135+
`moderator_can_view_vip_tokens`,
136+
`show_playlist_positions`,
137+
`auto_grant_vip_tokens_for_streamelements_tips`,
138+
`streamelements_tip_amount_per_vip_token`,
139+
`streamelements_tip_webhook_token`,
140+
`allow_request_path_modifiers`,
141+
`auto_grant_vip_tokens_for_shared_sub_renewal_message`,
142+
`auto_grant_vip_tokens_for_raiders`,
143+
`raid_minimum_viewer_count`
144+
)
145+
SELECT
146+
`channel_id`,
147+
`bot_channel_enabled`,
148+
`admin_force_bot_while_offline`,
149+
`moderator_can_manage_requests`,
150+
`moderator_can_manage_blacklist`,
151+
`moderator_can_manage_setlist`,
152+
`moderator_can_manage_vip_tokens`,
153+
`moderator_can_manage_tags`,
154+
`requests_enabled`,
155+
`allow_anyone_to_request`,
156+
`allow_subscribers_to_request`,
157+
`allow_vips_to_request`,
158+
`only_official_dlc`,
159+
`allowed_tunings_json`,
160+
`required_paths_json`,
161+
`max_queue_size`,
162+
`max_viewer_requests_at_once`,
163+
`max_subscriber_requests_at_once`,
164+
`max_vip_viewer_requests_at_once`,
165+
`max_vip_subscriber_requests_at_once`,
166+
`limit_regular_requests_enabled`,
167+
`regular_requests_per_period`,
168+
`regular_request_period_seconds`,
169+
`limit_vip_requests_enabled`,
170+
`vip_requests_per_period`,
171+
`vip_request_period_seconds`,
172+
`blacklist_enabled`,
173+
`let_setlist_bypass_blacklist`,
174+
`setlist_enabled`,
175+
`subscribers_must_follow_setlist`,
176+
`auto_grant_vip_token_to_subscribers`,
177+
`duplicate_window_seconds`,
178+
`overlay_access_token`,
179+
`overlay_show_creator`,
180+
`overlay_show_album`,
181+
`overlay_animate_now_playing`,
182+
`overlay_accent_color`,
183+
`overlay_vip_color`,
184+
`overlay_text_color`,
185+
`overlay_muted_text_color`,
186+
`overlay_panel_color`,
187+
`overlay_background_color`,
188+
`overlay_border_color`,
189+
`overlay_background_opacity`,
190+
`overlay_corner_radius`,
191+
`overlay_item_gap`,
192+
`overlay_item_padding`,
193+
`overlay_title_font_size`,
194+
`overlay_meta_font_size`,
195+
`command_prefix`,
196+
`updated_at`,
197+
`required_paths_match_mode`,
198+
`auto_grant_vip_tokens_to_sub_gifters`,
199+
`auto_grant_vip_tokens_to_gift_recipients`,
200+
`auto_grant_vip_tokens_for_cheers`,
201+
`cheer_bits_per_vip_token`,
202+
`cheer_minimum_token_percent`,
203+
`moderator_can_manage_blocked_chatters`,
204+
`moderator_can_view_vip_tokens`,
205+
`show_playlist_positions`,
206+
`auto_grant_vip_tokens_for_streamelements_tips`,
207+
`streamelements_tip_amount_per_vip_token`,
208+
`streamelements_tip_webhook_token`,
209+
`allow_request_path_modifiers`,
210+
`auto_grant_vip_tokens_for_shared_sub_renewal_message`,
211+
`auto_grant_vip_tokens_for_raiders`,
212+
`raid_minimum_viewer_count`
213+
FROM `__old_channel_settings`;
214+
215+
DROP TABLE `__old_channel_settings`;
216+
217+
PRAGMA foreign_keys=ON;

src/app.css

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,23 @@ h6 {
171171
letter-spacing: -0.03em;
172172
}
173173

174+
@layer base {
175+
h1 {
176+
font-size: clamp(2.75rem, 5vw, 4.5rem);
177+
line-height: 0.96;
178+
}
179+
180+
h2 {
181+
font-size: clamp(2rem, 3.2vw, 3rem);
182+
line-height: 1;
183+
}
184+
185+
h3 {
186+
font-size: clamp(1.5rem, 2.2vw, 2.125rem);
187+
line-height: 1.05;
188+
}
189+
}
190+
174191
#app {
175192
min-height: 100vh;
176193
}
@@ -227,15 +244,23 @@ h6 {
227244
}
228245

229246
.paginated-transition--exit-forward {
230-
animation: paginated-exit-forward 140ms cubic-bezier(0.4, 0, 0.2, 1) both;
247+
opacity: 0.7;
248+
transform: translateX(-14px);
249+
transition:
250+
opacity 140ms cubic-bezier(0.4, 0, 0.2, 1),
251+
transform 140ms cubic-bezier(0.4, 0, 0.2, 1);
231252
}
232253

233254
.paginated-transition--enter-forward {
234255
animation: paginated-enter-forward 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
235256
}
236257

237258
.paginated-transition--exit-backward {
238-
animation: paginated-exit-backward 140ms cubic-bezier(0.4, 0, 0.2, 1) both;
259+
opacity: 0.7;
260+
transform: translateX(14px);
261+
transition:
262+
opacity 140ms cubic-bezier(0.4, 0, 0.2, 1),
263+
transform 140ms cubic-bezier(0.4, 0, 0.2, 1);
239264
}
240265

241266
.paginated-transition--enter-backward {
@@ -249,14 +274,14 @@ h6 {
249274
}
250275

251276
to {
252-
opacity: 0;
277+
opacity: 0.7;
253278
transform: translateX(-14px);
254279
}
255280
}
256281

257282
@keyframes paginated-enter-forward {
258283
from {
259-
opacity: 0;
284+
opacity: 0.7;
260285
transform: translateX(14px);
261286
}
262287

@@ -273,14 +298,14 @@ h6 {
273298
}
274299

275300
to {
276-
opacity: 0;
301+
opacity: 0.7;
277302
transform: translateX(14px);
278303
}
279304
}
280305

281306
@keyframes paginated-enter-backward {
282307
from {
283-
opacity: 0;
308+
opacity: 0.7;
284309
transform: translateX(-14px);
285310
}
286311

@@ -601,10 +626,12 @@ body.extension-mode #app {
601626

602627
.dashboard-playlist__manual-add {
603628
grid-area: add;
629+
align-self: start;
604630
}
605631

606632
.dashboard-playlist__manual-add > * {
607633
min-width: 0;
634+
width: auto;
608635
}
609636

610637
.dashboard-playlist__item {

0 commit comments

Comments
 (0)