diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2024-10-19 20:14:02 +0300 |
|---|---|---|
| committer | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2024-10-19 20:14:02 +0300 |
| commit | de9aabda4880288b4a2425bfb362b87c7be93151 (patch) | |
| tree | 2f7d8f8110f8d3f6337319382791e21ed090a6eb /frontend/src/pages/User.tsx | |
| parent | stop pushing local changes idiot (diff) | |
| download | lphub-de9aabda4880288b4a2425bfb362b87c7be93151.tar.gz lphub-de9aabda4880288b4a2425bfb362b87c7be93151.tar.bz2 lphub-de9aabda4880288b4a2425bfb362b87c7be93151.zip | |
frontend: mix user page links, delete icon
Diffstat (limited to 'frontend/src/pages/User.tsx')
| -rw-r--r-- | frontend/src/pages/User.tsx | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/frontend/src/pages/User.tsx b/frontend/src/pages/User.tsx index e3781a3..9f677ca 100644 --- a/frontend/src/pages/User.tsx +++ b/frontend/src/pages/User.tsx | |||
| @@ -174,7 +174,7 @@ const User: React.FC<UserProps> = ({ token, profile, gameData }) => { | |||
| 174 | 174 | ||
| 175 | <select id='select-chapter' | 175 | <select id='select-chapter' |
| 176 | onChange={() => setChapter((document.querySelector('#select-chapter') as HTMLInputElement).value)}> | 176 | onChange={() => setChapter((document.querySelector('#select-chapter') as HTMLInputElement).value)}> |
| 177 | <option value="0" key="0">All</option> | 177 | <option value="0" key="0">All Chapters</option> |
| 178 | {chapterData.chapters.filter(e => e.is_disabled === false).map((e, i) => ( | 178 | {chapterData.chapters.filter(e => e.is_disabled === false).map((e, i) => ( |
| 179 | <option value={e.id} key={i + 1}>{e.name}</option> | 179 | <option value={e.id} key={i + 1}>{e.name}</option> |
| 180 | ))}</select> | 180 | ))}</select> |
| @@ -190,10 +190,26 @@ const User: React.FC<UserProps> = ({ token, profile, gameData }) => { | |||
| 190 | <span><span>Date</span><img src={SortIcon} alt="" /></span> | 190 | <span><span>Date</span><img src={SortIcon} alt="" /></span> |
| 191 | <div id='page-number'> | 191 | <div id='page-number'> |
| 192 | <div> | 192 | <div> |
| 193 | <button onClick={() => pageNumber === 1 ? null : setPageNumber(prevPageNumber => prevPageNumber - 1)} | 193 | <button onClick={() => { |
| 194 | if (pageNumber !== 1) { | ||
| 195 | setPageNumber(prevPageNumber => prevPageNumber - 1); | ||
| 196 | const records = document.querySelectorAll(".profileboard-record"); | ||
| 197 | records.forEach((r) => { | ||
| 198 | (r as HTMLInputElement).style.height = "44px"; | ||
| 199 | }); | ||
| 200 | } | ||
| 201 | }} | ||
| 194 | ><i className='triangle' style={{ position: 'relative', left: '-5px', }}></i> </button> | 202 | ><i className='triangle' style={{ position: 'relative', left: '-5px', }}></i> </button> |
| 195 | <span>{pageNumber}/{pageMax}</span> | 203 | <span>{pageNumber}/{pageMax}</span> |
| 196 | <button onClick={() => pageNumber === pageMax ? null : setPageNumber(prevPageNumber => prevPageNumber + 1)} | 204 | <button onClick={() => { |
| 205 | if (pageNumber !== pageMax) { | ||
| 206 | setPageNumber(prevPageNumber => prevPageNumber + 1); | ||
| 207 | const records = document.querySelectorAll(".profileboard-record"); | ||
| 208 | records.forEach((r) => { | ||
| 209 | (r as HTMLInputElement).style.height = "44px"; | ||
| 210 | }); | ||
| 211 | } | ||
| 212 | }} | ||
| 197 | ><i className='triangle' style={{ position: 'relative', left: '5px', transform: 'rotate(180deg)' }}></i> </button> | 213 | ><i className='triangle' style={{ position: 'relative', left: '5px', transform: 'rotate(180deg)' }}></i> </button> |
| 198 | </div> | 214 | </div> |
| 199 | </div> | 215 | </div> |
| @@ -246,7 +262,7 @@ const User: React.FC<UserProps> = ({ token, profile, gameData }) => { | |||
| 246 | let record = user.records.find((e) => e.map_id === r.id); | 262 | let record = user.records.find((e) => e.map_id === r.id); |
| 247 | return record === undefined ? ( | 263 | return record === undefined ? ( |
| 248 | <button className="profileboard-record" key={index} style={{ backgroundColor: "#1b1b20" }}> | 264 | <button className="profileboard-record" key={index} style={{ backgroundColor: "#1b1b20" }}> |
| 249 | <span>{r.name}</span> | 265 | <Link to={`/maps/${r.id}`}><span>{r.name}</span></Link> |
| 250 | <span style={{ display: "grid" }}>N/A</span> | 266 | <span style={{ display: "grid" }}>N/A</span> |
| 251 | <span style={{ display: "grid" }}>N/A</span> | 267 | <span style={{ display: "grid" }}>N/A</span> |
| 252 | <span>N/A</span> | 268 | <span>N/A</span> |
| @@ -259,7 +275,7 @@ const User: React.FC<UserProps> = ({ token, profile, gameData }) => { | |||
| 259 | <button className="profileboard-record" key={index}> | 275 | <button className="profileboard-record" key={index}> |
| 260 | {record.scores.map((e, i) => (<> | 276 | {record.scores.map((e, i) => (<> |
| 261 | {i !== 0 ? <hr style={{ gridColumn: "1 / span 8" }} /> : ""} | 277 | {i !== 0 ? <hr style={{ gridColumn: "1 / span 8" }} /> : ""} |
| 262 | <span>{r.name}</span> | 278 | <Link to={`/maps/${r.id}`}><span>{r.name}</span></Link> |
| 263 | <span style={{ display: "grid" }}>{record!.scores[i].score_count}</span> | 279 | <span style={{ display: "grid" }}>{record!.scores[i].score_count}</span> |
| 264 | <span style={{ display: "grid" }}>{record!.scores[i].score_count - record!.map_wr_count}</span> | 280 | <span style={{ display: "grid" }}>{record!.scores[i].score_count - record!.map_wr_count}</span> |
| 265 | <span style={{ display: "grid" }}>{ticks_to_time(record!.scores[i].score_time)}</span> | 281 | <span style={{ display: "grid" }}>{ticks_to_time(record!.scores[i].score_time)}</span> |