Skip to content

Commit 2b9ddaf

Browse files
Expand VIP automation and refresh playlist management
1 parent 404159e commit 2b9ddaf

39 files changed

+4250
-1693
lines changed
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: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -244,15 +244,23 @@ h6 {
244244
}
245245

246246
.paginated-transition--exit-forward {
247-
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);
248252
}
249253

250254
.paginated-transition--enter-forward {
251255
animation: paginated-enter-forward 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
252256
}
253257

254258
.paginated-transition--exit-backward {
255-
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);
256264
}
257265

258266
.paginated-transition--enter-backward {
@@ -266,14 +274,14 @@ h6 {
266274
}
267275

268276
to {
269-
opacity: 0;
277+
opacity: 0.7;
270278
transform: translateX(-14px);
271279
}
272280
}
273281

274282
@keyframes paginated-enter-forward {
275283
from {
276-
opacity: 0;
284+
opacity: 0.7;
277285
transform: translateX(14px);
278286
}
279287

@@ -290,14 +298,14 @@ h6 {
290298
}
291299

292300
to {
293-
opacity: 0;
301+
opacity: 0.7;
294302
transform: translateX(14px);
295303
}
296304
}
297305

298306
@keyframes paginated-enter-backward {
299307
from {
300-
opacity: 0;
308+
opacity: 0.7;
301309
transform: translateX(-14px);
302310
}
303311

@@ -618,10 +626,12 @@ body.extension-mode #app {
618626

619627
.dashboard-playlist__manual-add {
620628
grid-area: add;
629+
align-self: start;
621630
}
622631

623632
.dashboard-playlist__manual-add > * {
624633
min-width: 0;
634+
width: auto;
625635
}
626636

627637
.dashboard-playlist__item {

0 commit comments

Comments
 (0)