@@ -160,11 +160,33 @@ <h2 class="text-sm font-semibold text-white">Notification Message</h2>
160160
161161 <!-- ── Game Thumbnails ───────────────────────────────────────────── -->
162162 {% set thumbs = cfg.get('game_thumbs', {}) %}
163- < section class ="card p-5 space-y-4 ">
163+ < section class ="card p-5 space-y-4 "
164+ x-data ="{
165+ type: '{{ thumbs.get('image_type', 'logo') }}',
166+ logoStyles: [
167+ {v:'1', label:'Style 1 — Diagonal split with dividing line'},
168+ {v:'2', label:'Style 2 — Side by side arrangement'},
169+ {v:'3', label:'Style 3 — Circle badges with team colors (league logo overlay)'},
170+ {v:'4', label:'Style 4 — Square badges with team colors (league logo overlay)'},
171+ {v:'5', label:'Style 5 — Circle badges with league logo on left (white background)'},
172+ {v:'6', label:'Style 6 — Square badges with league logo on left (white background)'},
173+ ],
174+ coverStyles: [
175+ {v:'1', label:'Style 1 — Diagonal/horizontal split with team colors'},
176+ {v:'2', label:'Style 2 — Gradient blend between team colors'},
177+ {v:'3', label:'Style 3 — Minimalist badge with team circles (light background)'},
178+ {v:'4', label:'Style 4 — Minimalist badge with team circles (dark background)'},
179+ {v:'5', label:'Style 5 — Grid background with grey diagonal lines and fade to black'},
180+ {v:'6', label:'Style 6 — Grid background with team color gradient lines and fade to black'},
181+ {v:'98', label:'Style 98 — 3D embossed with textures, reflections, metallic VS badge, and league logo'},
182+ {v:'99', label:'Style 99 — 3D embossed with textures, reflections, and metallic VS badge (no league logo)'},
183+ ],
184+ get styles() { return this.type === 'cover' ? this.coverStyles : this.logoStyles; }
185+ } ">
164186 < div class ="flex items-center justify-between ">
165187 < div >
166188 < h2 class ="text-sm font-semibold text-white "> Game Thumbnails</ h2 >
167- < p class ="text-xs text-muted mt-0.5 "> Attach a team matchup image via a self-hosted < a href ="https://game-thumbs-docs .swvn.io/ " target ="_blank " class ="text-indigo-400 hover:underline "> Game-Thumbs </ a > server . Set < code class ="text-indigo-300 "> game_thumbs_league</ code > per subscription.</ p >
189+ < p class ="text-xs text-muted mt-0.5 "> Attach a team matchup image from < a href ="https://game-thumbs.swvn.io " target ="_blank " class ="text-indigo-400 hover:underline "> game-thumbs.swvn.io </ a > . Set < code class ="text-indigo-300 "> game_thumbs_league</ code > per subscription.</ p >
168190 </ div >
169191 < label class ="relative inline-flex items-center cursor-pointer shrink-0 ml-4 ">
170192 < input type ="checkbox " name ="game_thumbs_enabled " value ="on " class ="sr-only peer "
@@ -175,12 +197,22 @@ <h2 class="text-sm font-semibold text-white">Game Thumbnails</h2>
175197 after:transition-all peer-checked:after:translate-x-4 "> </ div >
176198 </ label >
177199 </ div >
178- < div class ="border-t border-border pt-4 ">
179- < label class ="form-label "> Server URL</ label >
180- < input name ="game_thumbs_url " class ="field "
181- value ="{{ thumbs.get('base_url', '') }} "
182- placeholder ="e.g. http://192.168.1.40:3050 " />
183- < p class ="form-hint "> Base URL of your Game-Thumbs server — no trailing slash</ p >
200+ < div class ="border-t border-border pt-4 grid grid-cols-2 gap-4 ">
201+ < div >
202+ < label class ="form-label "> Image Type</ label >
203+ < select name ="game_thumbs_type " class ="field " x-model ="type ">
204+ < option value ="logo "> Logo</ option >
205+ < option value ="cover "> Cover</ option >
206+ </ select >
207+ </ div >
208+ < div >
209+ < label class ="form-label "> Style</ label >
210+ < select name ="game_thumbs_style " class ="field ">
211+ < template x-for ="s in styles " :key ="s.v ">
212+ < option :value ="s.v " :selected ="s.v === '{{ thumbs.get('style', '1')|string }}' " x-text ="s.label "> </ option >
213+ </ template >
214+ </ select >
215+ </ div >
184216 </ div >
185217 </ section >
186218
0 commit comments