From 7b098ed536f1a367b3fe6bf36f1786edd2c49fcc Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Wed, 10 Sep 2025 07:44:01 +0000 Subject: [PATCH 1/8] Todo list replaced cgen-aed4b2a77cc24f2db300616d4e9a1312 --- package-lock.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..fdf9e992 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "code", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} From 945c1d48613736d313973352b1ab57ccaff03c7a Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Wed, 10 Sep 2025 07:45:00 +0000 Subject: [PATCH 2/8] Todo list updated cgen-eb1eacb8ca884d59a517e31365e8a65c --- frontend/src/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/package.json b/frontend/src/package.json index 9ab9a10f..4c46e08f 100644 --- a/frontend/src/package.json +++ b/frontend/src/package.json @@ -43,5 +43,6 @@ "last 2 versions", "not dead", "not ie 11" - ] + ], + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } From 582935ddc2fe0068ae00e7e902334dc2b73d5557 Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Wed, 10 Sep 2025 07:54:19 +0000 Subject: [PATCH 3/8] Refactor StyledButton to class-based gradients; fix CSS vars and improve layout; fix main.js mounting cgen-eb62a7ebf86845618ad29002b5b67a9d --- frontend/src/src/components/StyledButton.vue | 91 +++++++++++--------- 1 file changed, 50 insertions(+), 41 deletions(-) diff --git a/frontend/src/src/components/StyledButton.vue b/frontend/src/src/components/StyledButton.vue index d78a15b4..90dfe949 100644 --- a/frontend/src/src/components/StyledButton.vue +++ b/frontend/src/src/components/StyledButton.vue @@ -1,41 +1,39 @@ - - - - \ No newline at end of file +/* Compact modifier for smaller inline buttons */ +.small-button { + max-width: 200px; + margin: 0; +} + From c1a789b205cbf616ba10534bc7eb3d2ee4316e7a Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Wed, 10 Sep 2025 07:58:18 +0000 Subject: [PATCH 4/8] Fix double app creation and mount cgen-6c402698d8094a2aa655bfbb3a5db98c --- frontend/src/src/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/src/main.js b/frontend/src/src/main.js index fb74d118..7cfb2e1f 100644 --- a/frontend/src/src/main.js +++ b/frontend/src/src/main.js @@ -8,6 +8,6 @@ const pinia = createPinia(); app.use(pinia); const apiStore = useApiStore(); -apiStore.setBaseURL(window.config.baseURL); +apiStore.setBaseURL(window.config.baseURL); -createApp(App).mount('#app') +app.mount('#app') From b123239cad372e1440b005107f396d2fdb18320a Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Wed, 10 Sep 2025 07:58:58 +0000 Subject: [PATCH 5/8] Streamlined UI styles for a cleaner aesthetic cgen-218097c4067a48fe9a87948b005bf9f5 --- frontend/src/src/components/StreamlinkUi.vue | 101 +++++++++++-------- 1 file changed, 57 insertions(+), 44 deletions(-) diff --git a/frontend/src/src/components/StreamlinkUi.vue b/frontend/src/src/components/StreamlinkUi.vue index a857e3c6..582b1441 100644 --- a/frontend/src/src/components/StreamlinkUi.vue +++ b/frontend/src/src/components/StreamlinkUi.vue @@ -399,20 +399,22 @@ body { background-color: var(--dark-grey); color: var(--white); padding: 15px; - width: 200px; + width: 220px; } .sidebar ul { list-style: none; padding: 0; + margin: 0; } .sidebar li { cursor: pointer; - margin: 10px 0; - padding: 10px; - border-radius: 5px; + margin: 8px 0; + padding: 10px 12px; + border-radius: 6px; transition: background-color 0.3s ease; + text-align: left; } .sidebar li:hover { @@ -428,37 +430,44 @@ body { background-color: var(--light-grey); color: var(--font-color); flex-grow: 1; - padding: 20px; + padding: 24px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); overflow-y: auto; display: flex; flex-direction: column; - height: calc(100vh - 40px); + gap: 16px; + height: calc(100vh - 40px); } /* Form Styles */ .form-group { - margin-bottom: 20px; + margin-bottom: 16px; +} + +label { + display: block; + font-weight: 600; + margin-bottom: 6px; + color: var(--white); } input, select { width: 100%; - padding: 8px; - margin-top: 5px; + padding: 10px; background-color: #333; border: none; color: var(--font-color); - border-radius: 5px; + border-radius: 6px; } /* Custom Quality Container Styles */ .custom-quality-container { - margin-top: 15px; + margin-top: 12px; background-color: #333; - padding: 15px; - border-radius: 5px; + padding: 12px; + border-radius: 6px; border-left: 3px solid var(--twitch-purple); } @@ -484,7 +493,7 @@ select { border: 1px solid #555; border-radius: 4px; padding: 8px; - width: 70px; + width: 80px; } /* Remove spinner for Firefox */ @@ -499,29 +508,27 @@ input[type="number"]::-webkit-inner-spin-button { margin: 0; } -/* Stream Boxes */ +/* Stream Cards */ .stream-box { - background-color: var(--dark-grey); - padding: 20px; + background-color: #333; + padding: 16px; border-radius: 10px; - margin-top: 10px; display: flex; - align-items: center; - gap: 20px; - background-color: #333; + align-items: center; + gap: 16px; position: relative; } .stream-box .stream-info { - flex-grow: 1; + flex: 1 1 auto; } .stream-box h3 { - margin-top: 0; + margin: 0 0 6px 0; } .stream-box p { - margin: 5px 0; + margin: 4px 0; } .stream-box .profile-image-container { @@ -532,32 +539,31 @@ input[type="number"]::-webkit-inner-spin-button { } .stream-box img.profile-image { - width: 140px; - height: 140px; + width: 120px; + height: 120px; border-radius: 50%; - margin-right: 10vw; - transition: transform 0.2s ease-in-out; + transition: transform 0.2s ease-in-out; } .stream-box img.profile-image:hover { - transform: scale(1.1); + transform: scale(1.06); } .stream-box .scheduled-icon-container { display: flex; justify-content: center; align-items: center; - width: 10vw; + width: 48px; } .stream-box .scheduled-icon { - font-size: 2.5vw; + font-size: 24px; color: var(--twitch-purple); transition: transform 0.2s ease-in-out; } .stream-box .scheduled-icon:hover { - transform: scale(1.1); + transform: scale(1.1); } .stream-box .scheduled-icon-container.invisible { @@ -566,11 +572,11 @@ input[type="number"]::-webkit-inner-spin-button { .streams-container { display: grid; - grid-template-columns: repeat(auto-fill, minmax(100%, 1fr)); - gap: 20px; - flex-grow: 1; - overflow-y: auto; - max-height: calc(100vh - 140px); + grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); + gap: 16px; + flex-grow: 1; + overflow-y: auto; + max-height: calc(100vh - 140px); } button { @@ -583,7 +589,7 @@ button i { font-size: 18px; } -/* Button Styles */ +/* Icon-only Terminate Button */ .terminate-btn { background-color: transparent; color: #d9534f; @@ -611,6 +617,7 @@ button i { font-size: 12px; white-space: nowrap; } + /* Terminate All Button */ .terminate-all-btn { background-color: #d9534f; @@ -629,9 +636,15 @@ button i { background-color: red; } -/* Smaller version of styled button */ +/* Smaller StyledButton container when used inline */ .small-button { - width: 10vw; + max-width: 200px; + margin-left: 8px; +} + +/* Position refresh action to the right within its container */ +.refresh-btn { + margin-left: auto; } /* Avatar Container */ @@ -648,7 +661,7 @@ button i { } .profile-image-small { - width: 10vw; + width: 10vw; height: 10vw; border-radius: 50%; border: 2px solid var(--white); @@ -682,12 +695,12 @@ button i { .channel-input-avatar { display: flex; align-items: center; - gap: 15px; + gap: 12px; } .channel-input-avatar input { flex: 1; width: auto; - max-width: 60vw; + max-width: 60vw; } - \ No newline at end of file + From 8612b9cb585145d6ffc0abbc92a4144403e951ae Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Wed, 10 Sep 2025 08:27:45 +0000 Subject: [PATCH 6/8] Move global variables and background to App.vue and remove duplicate :root/body from StreamlinkUi cgen-8beed6aea967451fa7b18cb4df0c0634 --- frontend/src/src/components/StreamlinkUi.vue | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/frontend/src/src/components/StreamlinkUi.vue b/frontend/src/src/components/StreamlinkUi.vue index 582b1441..01fce6ce 100644 --- a/frontend/src/src/components/StreamlinkUi.vue +++ b/frontend/src/src/components/StreamlinkUi.vue @@ -375,20 +375,6 @@ export default { \ No newline at end of file +.hero-sub{margin:0;color:var(--muted);font-size:13px} + +.app-shell{max-width:1200px;margin:24px auto;padding:20px} + +/* Make StreamlinkUi content appear as elevated card */ +.content{background:var(--card);backdrop-filter:blur(6px);border-radius:12px;padding:22px;color:inherit} + +/* Stronger default card shadows for inner items */ +.stream-box{box-shadow:0 10px 30px rgba(2,6,23,0.6)} + +/* Accent links */ +a{color:var(--accent)} + +/* Ensure smaller UI elements look crisp */ +button{font-family:inherit} + From 20c6d18edd58d5f3237b3dbe9cdcd3e64ff9d47c Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Wed, 10 Sep 2025 09:34:12 +0000 Subject: [PATCH 8/8] Set solid dark background cgen-ecb1621a2bb94be3999fd3728372641b --- frontend/src/src/App.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/src/App.vue b/frontend/src/src/App.vue index 415d0cf3..93bef0b9 100644 --- a/frontend/src/src/App.vue +++ b/frontend/src/src/App.vue @@ -38,7 +38,7 @@ export default { html,body,#app{height:100%;margin:0} body{ font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; - background: linear-gradient(135deg,var(--bg-1),var(--bg-2),var(--bg-3)); + background: #0b0c10; color: var(--muted); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;