This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

re worked mobile bars

author
pds.dad
date (Jul 3, 2026, 5:26 PM -0500) commit eb98e52a parent 3744219f change-id wwplqwkz
+20 -12
+13 -7
client/src/lib/components/PuzzlePlayer.svelte
··· 150 150 {/if} 151 151 152 152 {#if done} 153 - <div class="card-actions items-center justify-between"> 154 - <div class="flex flex-col gap-0.5"> 153 + <div class="flex flex-col-reverse gap-3 sm:flex-row sm:items-center sm:justify-between"> 154 + <div 155 + class="flex flex-wrap items-center gap-x-3 gap-y-0.5 sm:flex-col sm:items-start sm:gap-0.5" 156 + > 155 157 <a 156 158 class="link text-sm font-medium" 157 159 href="https://lichess.org/training/{puzzle.id}" ··· 167 169 > 168 170 {/if} 169 171 </div> 170 - <div class="flex flex-wrap items-center justify-end gap-2"> 172 + <div class="flex w-full flex-wrap items-center justify-end gap-2 sm:w-auto"> 171 173 {#if engine.status === 'win'} 172 174 <a 173 - class="btn btn-outline sm:btn-sm" 175 + class="btn btn-outline btn-sm grow sm:grow-0" 174 176 href={shareHref} 175 177 target="_blank" 176 178 rel="external noopener noreferrer" ··· 184 186 </a> 185 187 {/if} 186 188 {#if engine.status === 'fail' && !engine.replaying} 187 - <button class="btn btn-outline sm:btn-sm" onclick={() => engine.replaySolution()}> 189 + <button 190 + class="btn btn-outline btn-sm grow sm:grow-0" 191 + onclick={() => engine.replaySolution()} 192 + > 188 193 Show solution 189 194 </button> 190 195 {/if} 191 196 {#if footer}{@render footer()}{/if} 192 197 {#if onRetry} 193 - <button class="btn sm:btn-sm" onclick={() => onRetry()}>Try again</button> 198 + <button class="btn btn-sm grow sm:grow-0" onclick={() => onRetry()}>Try again</button> 194 199 {/if} 195 200 {#if onNext} 196 - <button class="btn btn-primary sm:btn-sm" onclick={() => onNext()}>Next puzzle</button 201 + <button class="btn btn-primary btn-sm grow sm:grow-0" onclick={() => onNext()} 202 + >Next puzzle</button 197 203 > 198 204 {/if} 199 205 </div>
+6 -4
client/src/routes/ranked/+page.svelte
··· 105 105 106 106 {#snippet footer()} 107 107 {#if phase === 'submitting'} 108 - <span class="flex items-center gap-2 text-sm opacity-70"> 108 + <span 109 + class="flex basis-full items-center justify-center gap-2 text-sm opacity-70 sm:basis-auto sm:justify-start" 110 + > 109 111 <span class="loading loading-spinner loading-xs"></span> Scoring… 110 112 </span> 111 113 {:else if outcome} 112 - <span class="flex items-center gap-2"> 114 + <span class="flex basis-full items-center justify-center gap-2 sm:basis-auto sm:justify-start"> 113 115 {#if !outcome.ranked} 114 116 <span class="badge badge-ghost">not rated</span> 115 117 {/if} ··· 135 137 {/if} 136 138 </span> 137 139 <button 138 - class="btn btn-ghost sm:btn-sm" 140 + class="btn btn-ghost btn-sm grow sm:grow-0" 139 141 onclick={() => casualReplay++} 140 142 title="Replay this puzzle as casual practice — won't affect your rating" 141 143 > 142 144 Try again 143 145 </button> 144 - <button class="btn btn-primary sm:btn-sm" onclick={loadNext}>Next puzzle</button> 146 + <button class="btn btn-primary btn-sm grow sm:grow-0" onclick={loadNext}>Next puzzle</button> 145 147 {/if} 146 148 {/snippet} 147 149
+1 -1
client/vite.config.ts
··· 8 8 // auth.svelte.ts). Vite's default `localhost` host resolves to IPv6 [::1] 9 9 // only on macOS, so serving on IPv4 127.0.0.1 is required — otherwise the 10 10 // client redirects the page to 127.0.0.1 and nothing is listening there. 11 - server: { host: '127.0.0.1', allowedHosts: ['client.pds.dad'] }, 11 + server: { host: '127.0.0.1' }, 12 12 plugins: [ 13 13 tailwindcss(), 14 14 sveltekit({