|
6 | 6 | 'is-download-complete': isDownloadComplete, |
7 | 7 | }" |
8 | 8 | > |
9 | | - <div class="text-center"> |
10 | | - <h1 class="text-6xl md:text-8xl mb-4"> |
11 | | - <a href="/">Rosen Score</a> |
| 9 | + <div class="text-center font-black"> |
| 10 | + <h1 class="text-6xl md:text-8xl mb-4 uppercase bg-yellow-300 inline-block px-8 py-4 border-8 border-black shadow-[16px_16px_0px_0px_rgba(0,0,0,1)] -rotate-2"> |
| 11 | + <a href="/" class="hover:text-pink-500 transition-colors">Rosen Score</a> |
12 | 12 | </h1> |
13 | | - <p class="md:text-2xl">How many of these chess accomplishments have you completed?</p> |
| 13 | + <p class="md:text-2xl mt-8 bg-black text-white inline-block px-4 py-2 border-4 border-black font-bold">How many of these chess accomplishments have you completed?</p> |
14 | 14 | </div> |
15 | 15 |
|
16 | 16 | <div |
17 | | - class="my-8 bg-slate-800/60 backdrop-blur-xl border border-slate-700/50 drop-shadow-2xl mx-auto p-6 rounded-2xl shadow-indigo-500/20 shadow-2xl text-indigo-100 md:w-1/2 transition-all hover:shadow-indigo-500/30" |
| 17 | + class="my-12 bg-blue-400 border-8 border-black mx-auto p-6 md:p-10 shadow-[16px_16px_0px_0px_rgba(0,0,0,1)] text-black font-bold md:w-3/4" |
18 | 18 | v-if="!isDownloading && !isDownloadComplete" |
19 | 19 | > |
20 | 20 | <form @submit.prevent="startDownload"> |
|
24 | 24 | <ArrowIcon /> |
25 | 25 | </div> |
26 | 26 | <div class="basis-3/4"> |
27 | | - <div> |
| 27 | + <div class="text-xl"> |
28 | 28 | Select which site: |
29 | 29 |
|
30 | | - <div class="text-indigo-200 mt-2"> |
31 | | - <label class="cursor-pointer"> |
| 30 | + <div class="text-black mt-2 font-black text-2xl flex gap-4 flex-wrap"> |
| 31 | + <label class="cursor-pointer bg-white px-4 py-2 border-4 border-black hover:bg-yellow-300"> |
32 | 32 | <input type="radio" name="site" value="lichess" v-model="inputs.type" /> |
33 | 33 | Lichess |
34 | 34 | </label> |
35 | | - <label class="cursor-pointer ml-4"> |
| 35 | + <label class="cursor-pointer bg-white px-4 py-2 border-4 border-black hover:bg-yellow-300 ml-0 md:ml-4"> |
36 | 36 | <input type="radio" name="site" value="chesscom" v-model="inputs.type" /> |
37 | 37 | Chess.com |
38 | 38 | </label> |
39 | | - <label class="cursor-pointer ml-4"> |
| 39 | + <label class="cursor-pointer bg-white px-4 py-2 border-4 border-black hover:bg-yellow-300 ml-0 md:ml-4"> |
40 | 40 | <input type="radio" name="site" value="both" v-model="inputs.type" /> |
41 | 41 | Both |
42 | 42 | </label> |
|
47 | 47 |
|
48 | 48 | <input |
49 | 49 | type="text" |
50 | | - class="block w-full px-4 py-2 text-base font-normal text-slate-200 bg-slate-900/50 bg-clip-padding border border-solid border-slate-700 rounded-lg transition ease-in-out m-0 focus:text-white focus:bg-slate-900 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 focus:outline-none placeholder-slate-500 mt-2" |
| 50 | + class="block w-full px-6 py-4 text-xl font-black text-black bg-white border-8 border-black focus:bg-pink-300 focus:outline-none placeholder-gray-500 mt-4 rounded-none shadow-[8px_8px_0px_0px_rgba(0,0,0,1)]" |
51 | 51 | :placeholder="inputs.type === 'both' ? 'Lichess username here' : 'Username here'" |
52 | 52 | spellcheck="false" |
53 | 53 | data-lpignore="true" |
54 | 54 | v-model="inputs.value" |
55 | 55 | /> |
56 | | - <div class="mt-4" v-if="inputs.type === 'both'"> |
| 56 | + <div class="mt-8" v-if="inputs.type === 'both'"> |
57 | 57 | Enter Chess.com username: |
58 | 58 | <input |
59 | 59 | type="text" |
60 | | - class="block w-full px-4 py-2 text-base font-normal text-slate-200 bg-slate-900/50 bg-clip-padding border border-solid border-slate-700 rounded-lg transition ease-in-out m-0 focus:text-white focus:bg-slate-900 focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 focus:outline-none placeholder-slate-500 mt-2" |
| 60 | + class="block w-full px-6 py-4 text-xl font-black text-black bg-white border-8 border-black focus:bg-pink-300 focus:outline-none placeholder-gray-500 mt-4 rounded-none shadow-[8px_8px_0px_0px_rgba(0,0,0,1)]" |
61 | 61 | placeholder="Chess.com Username here" |
62 | 62 | spellcheck="false" |
63 | 63 | data-lpignore="true" |
64 | 64 | v-model="inputs.valueChesscom" |
65 | 65 | /> |
66 | 66 | </div> |
67 | | - <div class="text-sm mt-3 text-slate-400"> |
| 67 | + <div class="text-lg mt-6 bg-white border-4 border-black p-4 shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] inline-block"> |
68 | 68 | Or |
69 | | - <span class="dotted-underline text-indigo-400 hover:text-indigo-300 cursor-pointer transition-colors" @click.prevent="formFill('lichess', 'EricRosen')"> |
| 69 | + <span class="bg-yellow-300 border-b-4 border-black text-black font-black hover:bg-black hover:text-white cursor-pointer px-1 transition-colors" @click.prevent="formFill('lichess', 'EricRosen')"> |
70 | 70 | click here to see EricRosen's on Lichess |
71 | 71 | </span> |
72 | 72 | or |
73 | | - <span class="dotted-underline text-indigo-400 hover:text-indigo-300 cursor-pointer transition-colors" @click.prevent="formFill('chesscom', 'IMRosen')"> his Chess.com </span> |
| 73 | + <span class="bg-yellow-300 border-b-4 border-black text-black font-black hover:bg-black hover:text-white cursor-pointer px-1 transition-colors" @click.prevent="formFill('chesscom', 'IMRosen')"> his Chess.com </span> |
74 | 74 | </div> |
75 | 75 | </div> |
76 | 76 | </div> |
|
92 | 92 | <ArrowIcon /> |
93 | 93 | </div> |
94 | 94 | <div class="basis-3/4"> |
95 | | - <div class="text-sm mt-1 mb-4"> |
| 95 | + <div class="text-xl font-bold mt-1 mb-8 bg-white border-4 border-black p-4 shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] inline-block"> |
96 | 96 | Check games since |
97 | 97 | <select |
98 | 98 | v-model.number="inputs.filters.sinceHoursAgo" |
99 | | - class="bg-slate-900/50 border border-slate-700 rounded-md focus:outline-none focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 text-indigo-200 md:w-32 py-1 px-2 ml-2 transition-all cursor-pointer" |
| 99 | + class="bg-pink-300 border-4 border-black font-black focus:outline-none text-black py-2 px-4 ml-2 cursor-pointer rounded-none hover:bg-pink-400 transition-colors" |
100 | 100 | > |
101 | 101 | <option :value="6">6 hours ago</option> |
102 | 102 | <option :value="24">24 hours ago</option> |
|
111 | 111 |
|
112 | 112 | <button |
113 | 113 | type="submit" |
114 | | - class="px-6 py-3 bg-gradient-to-r from-indigo-500 to-purple-600 text-white font-semibold text-sm leading-tight uppercase rounded-lg shadow-lg hover:from-indigo-400 hover:to-purple-500 hover:shadow-indigo-500/50 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-offset-2 focus:ring-offset-slate-900 active:scale-95 transition-all duration-200 ease-in-out w-full sm:w-auto flex items-center justify-center gap-2" |
| 114 | + class="px-8 py-6 bg-green-400 text-black font-black text-2xl uppercase border-8 border-black shadow-[12px_12px_0px_0px_rgba(0,0,0,1)] hover:translate-x-[4px] hover:translate-y-[4px] hover:shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] hover:bg-green-300 active:translate-x-[12px] active:translate-y-[12px] active:shadow-none transition-all w-full md:w-auto flex items-center justify-center gap-4 rounded-none" |
115 | 115 | > |
116 | | - <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor"> |
| 116 | + <svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8" fill="none" viewBox="0 0 24 24" stroke="currentColor"> |
117 | 117 | <path |
118 | 118 | stroke-linecap="round" |
119 | 119 | stroke-linejoin="round" |
120 | | - stroke-width="2" |
| 120 | + stroke-width="4" |
121 | 121 | d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" |
122 | 122 | /> |
123 | 123 | </svg> |
|
152 | 152 | @cancel-download="cancelDownload" |
153 | 153 | ></download-progress> |
154 | 154 |
|
155 | | - <div v-if="errors.api.message" class="text-center bg-red-900/40 border border-red-500/50 text-red-200 p-4 rounded-xl shadow-lg mt-4 backdrop-blur-sm"> |
| 155 | + <div v-if="errors.api.message" class="text-center bg-red-500 border-8 border-black text-white font-black text-xl p-8 shadow-[16px_16px_0px_0px_rgba(0,0,0,1)] mt-12 uppercase"> |
156 | 156 | There was an error from the {{ inputs.type === 'lichess' ? 'Lichess' : 'Chess.com' }} API: |
157 | | - <strong>{{ errors.api }}</strong> |
| 157 | + <strong class="bg-black text-white px-2 py-1 ml-2">{{ errors.api }}</strong> |
158 | 158 |
|
159 | | - <p class="mt-2 text-red-300">Try only running 1 Rosen Score report at a time. You may have to wait before trying again.</p> |
| 159 | + <p class="mt-4 text-black bg-yellow-300 border-4 border-black p-4 shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] inline-block">Try only running 1 Rosen Score report at a time. You may have to wait before trying again.</p> |
160 | 160 | </div> |
161 | 161 |
|
162 | | - <div v-if="player.username" class="mt-8 bg-gradient-to-r from-slate-800 to-indigo-900/40 p-6 text-center rounded-2xl border border-indigo-500/20 shadow-2xl backdrop-blur-xl mb-8"> |
| 162 | + <div v-if="player.username" class="mt-16 bg-pink-400 p-10 text-center border-8 border-black shadow-[16px_16px_0px_0px_rgba(0,0,0,1)] mb-12 font-black text-black"> |
163 | 163 | <h2 class="text-2xl"> |
164 | 164 | <username-formatter :title="player.title" :username="player.username"></username-formatter> |
165 | 165 | has |
|
181 | 181 |
|
182 | 182 | <div class="mb-1" v-if="sinceDateFormatted">since {{ sinceDateFormatted }}</div> |
183 | 183 |
|
184 | | - <trophy-collection :count="trophyCount" size="large" class="mt-4 mb-4"></trophy-collection> |
| 184 | + <trophy-collection :count="trophyCount" size="large" class="mt-8 mb-8"></trophy-collection> |
185 | 185 |
|
186 | | - <div class="text-sm mt-4 text-slate-300"> |
| 186 | + <div class="text-xl mt-8 font-black bg-white border-4 border-black p-4 shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] inline-block"> |
187 | 187 | <strong>{{ counts.totalMoves.toLocaleString() }}</strong> |
188 | 188 | positions and |
189 | 189 | <strong>{{ counts.downloaded.toLocaleString() }}</strong> |
|
0 commit comments