feat(desktop): use authentic AIM 5.x and Windows XP icons, tone down chat room header
- commit
- 168002889ca57fefc23d9e4f354a6ef445665537
- author
- Kit · · 2026-09-27 13:17 UTC
- parent
- d7110ac
- signature
- SSH Unverified
SHA256:H91DFuEG4jpk5edzLA4aUKkpv4zv9Q339ipRmkph6TkThe key is unknown
34 files · +68 -73
M src/lib/components/chat-room.svelte +6 -5
| @@ -1079,7 +1079,7 @@ | |||
| 1079 | 1079 | {/snippet} | |
| 1080 | 1080 | ||
| 1081 | 1081 | <div class="room-header"> | |
| 1082 | - | <img src="/aim/chat-room.svg" alt="" width="16" height="16" /> | |
| 1082 | + | <img src="/aim/chat-room-16.png" alt="" width="16" height="16" /> | |
| 1083 | 1083 | <span class="room-name">{roomName}</span> | |
| 1084 | 1084 | {#if roomTopic} | |
| 1085 | 1085 | <span class="room-topic">— {roomTopic}</span> | |
| @@ -1484,8 +1484,9 @@ | |||
| 1484 | 1484 | gap: 6px; | |
| 1485 | 1485 | padding: 3px 6px; | |
| 1486 | 1486 | margin-bottom: 4px; | |
| 1487 | - | background: linear-gradient(180deg, #fff3a6 0%, #f6c700 100%); | |
| 1488 | - | border: 1px solid #c99a00; | |
| 1487 | + | background: #ece9d8; | |
| 1488 | + | border-bottom: 1px solid #aca899; | |
| 1489 | + | color: #333; | |
| 1489 | 1490 | font-family: Tahoma, 'Pixelated MS Sans Serif', sans-serif; | |
| 1490 | 1491 | font-size: 11px; | |
| 1491 | 1492 | flex: 0 0 auto; | |
| @@ -1497,7 +1498,7 @@ | |||
| 1497 | 1498 | } | |
| 1498 | 1499 | ||
| 1499 | 1500 | .room-topic { | |
| 1500 | - | color: #5a4a00; | |
| 1501 | + | color: #666; | |
| 1501 | 1502 | overflow: hidden; | |
| 1502 | 1503 | text-overflow: ellipsis; | |
| 1503 | 1504 | white-space: nowrap; | |
| @@ -1507,7 +1508,7 @@ | |||
| 1507 | 1508 | ||
| 1508 | 1509 | .room-count { | |
| 1509 | 1510 | margin-left: auto; | |
| 1510 | - | color: #5a4a00; | |
| 1511 | + | color: #666; | |
| 1511 | 1512 | white-space: nowrap; | |
| 1512 | 1513 | } | |
| 1513 | 1514 | ||
| @@ -1079,7 +1079,7 @@ | |||||
| 1079 | {/snippet} | 1079 | {/snippet} | ||
| 1080 | 1080 | ||||
| 1081 | <div class="room-header"> | 1081 | <div class="room-header"> | ||
| 1082 | - | <img src="/aim/chat-room.svg" alt="" width="16" height="16" /> | 1082 | + | <img src="/aim/chat-room-16.png" alt="" width="16" height="16" /> |
| 1083 | <span class="room-name">{roomName}</span> | 1083 | <span class="room-name">{roomName}</span> | ||
| 1084 | {#if roomTopic} | 1084 | {#if roomTopic} | ||
| 1085 | <span class="room-topic">— {roomTopic}</span> | 1085 | <span class="room-topic">— {roomTopic}</span> | ||
| @@ -1484,8 +1484,9 @@ | |||||
| 1484 | gap: 6px; | 1484 | gap: 6px; | ||
| 1485 | padding: 3px 6px; | 1485 | padding: 3px 6px; | ||
| 1486 | margin-bottom: 4px; | 1486 | margin-bottom: 4px; | ||
| 1487 | - | background: linear-gradient(180deg, #fff3a6 0%, #f6c700 100%); | 1487 | + | background: #ece9d8; |
| 1488 | - | border: 1px solid #c99a00; | 1488 | + | border-bottom: 1px solid #aca899; |
| 1489 | + | color: #333; | |||
| 1489 | font-family: Tahoma, 'Pixelated MS Sans Serif', sans-serif; | 1490 | font-family: Tahoma, 'Pixelated MS Sans Serif', sans-serif; | ||
| 1490 | font-size: 11px; | 1491 | font-size: 11px; | ||
| 1491 | flex: 0 0 auto; | 1492 | flex: 0 0 auto; | ||
| @@ -1497,7 +1498,7 @@ | |||||
| 1497 | } | 1498 | } | ||
| 1498 | 1499 | ||||
| 1499 | .room-topic { | 1500 | .room-topic { | ||
| 1500 | - | color: #5a4a00; | 1501 | + | color: #666; |
| 1501 | overflow: hidden; | 1502 | overflow: hidden; | ||
| 1502 | text-overflow: ellipsis; | 1503 | text-overflow: ellipsis; | ||
| 1503 | white-space: nowrap; | 1504 | white-space: nowrap; | ||
| @@ -1507,7 +1508,7 @@ | |||||
| 1507 | 1508 | ||||
| 1508 | .room-count { | 1509 | .room-count { | ||
| 1509 | margin-left: auto; | 1510 | margin-left: auto; | ||
| 1510 | - | color: #5a4a00; | 1511 | + | color: #666; |
| 1511 | white-space: nowrap; | 1512 | white-space: nowrap; | ||
| 1512 | } | 1513 | } | ||
| 1513 | 1514 | ||||
M src/lib/components/desktop-icons.svelte +4 -4
| @@ -24,26 +24,26 @@ | |||
| 24 | 24 | { | |
| 25 | 25 | id: 'general', | |
| 26 | 26 | label: 'Salon General', | |
| 27 | - | icon: '/aim/chat-room.svg', | |
| 27 | + | icon: '/aim/chat-room-48.png', | |
| 28 | 28 | action: () => desktop.openChatRoom(null, 'General') | |
| 29 | 29 | }, | |
| 30 | 30 | { | |
| 31 | 31 | id: 'away', | |
| 32 | 32 | label: 'Message d’absence', | |
| 33 | - | icon: '/aim/away.svg', | |
| 33 | + | icon: '/aim/xp-note-48.png', | |
| 34 | 34 | action: () => desktop.openAway(), | |
| 35 | 35 | hidden: !currentUser | |
| 36 | 36 | }, | |
| 37 | 37 | { | |
| 38 | 38 | id: 'prefs', | |
| 39 | 39 | label: 'Préférences', | |
| 40 | - | icon: '/aim/prefs.svg', | |
| 40 | + | icon: '/aim/xp-control-panel-48.png', | |
| 41 | 41 | action: () => desktop.openPreferences() | |
| 42 | 42 | }, | |
| 43 | 43 | { | |
| 44 | 44 | id: 'about', | |
| 45 | 45 | label: 'Aide', | |
| 46 | - | icon: '/aim/help.svg', | |
| 46 | + | icon: '/aim/xp-help-48.png', | |
| 47 | 47 | action: () => desktop.openAbout() | |
| 48 | 48 | } | |
| 49 | 49 | ]); | |
| @@ -24,26 +24,26 @@ | |||||
| 24 | { | 24 | { | ||
| 25 | id: 'general', | 25 | id: 'general', | ||
| 26 | label: 'Salon General', | 26 | label: 'Salon General', | ||
| 27 | - | icon: '/aim/chat-room.svg', | 27 | + | icon: '/aim/chat-room-48.png', |
| 28 | action: () => desktop.openChatRoom(null, 'General') | 28 | action: () => desktop.openChatRoom(null, 'General') | ||
| 29 | }, | 29 | }, | ||
| 30 | { | 30 | { | ||
| 31 | id: 'away', | 31 | id: 'away', | ||
| 32 | label: 'Message d’absence', | 32 | label: 'Message d’absence', | ||
| 33 | - | icon: '/aim/away.svg', | 33 | + | icon: '/aim/xp-note-48.png', |
| 34 | action: () => desktop.openAway(), | 34 | action: () => desktop.openAway(), | ||
| 35 | hidden: !currentUser | 35 | hidden: !currentUser | ||
| 36 | }, | 36 | }, | ||
| 37 | { | 37 | { | ||
| 38 | id: 'prefs', | 38 | id: 'prefs', | ||
| 39 | label: 'Préférences', | 39 | label: 'Préférences', | ||
| 40 | - | icon: '/aim/prefs.svg', | 40 | + | icon: '/aim/xp-control-panel-48.png', |
| 41 | action: () => desktop.openPreferences() | 41 | action: () => desktop.openPreferences() | ||
| 42 | }, | 42 | }, | ||
| 43 | { | 43 | { | ||
| 44 | id: 'about', | 44 | id: 'about', | ||
| 45 | label: 'Aide', | 45 | label: 'Aide', | ||
| 46 | - | icon: '/aim/help.svg', | 46 | + | icon: '/aim/xp-help-48.png', |
| 47 | action: () => desktop.openAbout() | 47 | action: () => desktop.openAbout() | ||
| 48 | } | 48 | } | ||
| 49 | ]); | 49 | ]); | ||
M src/lib/components/desktop/buddy-list.svelte +17 -11
| @@ -228,7 +228,12 @@ | |||
| 228 | 228 | > | |
| 229 | 229 | <img src={`/aim/status-${buddy.status}.svg`} alt="" width="12" height="12" /> | |
| 230 | 230 | <span class="truncate">{buddy.nickname}{buddy.status === 'idle' ? ' (Inactif)' : ''}</span> | |
| 231 | - | {#if buddy.status === 'away'}<img src="/aim/away.svg" alt="" width="12" height="12" />{/if} | |
| 231 | + | {#if buddy.status === 'away'}<img | |
| 232 | + | src="/aim/xp-note-16.png" | |
| 233 | + | alt="" | |
| 234 | + | width="12" | |
| 235 | + | height="12" | |
| 236 | + | />{/if} | |
| 232 | 237 | </button> | |
| 233 | 238 | {#if editMode}<button | |
| 234 | 239 | class="remove" | |
| @@ -311,7 +316,8 @@ | |||
| 311 | 316 | </div> | |
| 312 | 317 | <div class="identity-text"> | |
| 313 | 318 | <strong | |
| 314 | - | ><img src="/aim/running-man-16.png" alt="" width="16" height="16" /> {me.nickname}</strong | |
| 319 | + | ><img src="/aim/running-man-16.png" alt="" width="16" height="16" /> | |
| 320 | + | {me.nickname}</strong | |
| 315 | 321 | ><span title={meQuery?.data?.awayMessage ?? ''} | |
| 316 | 322 | >{meQuery?.data?.status === 'away' | |
| 317 | 323 | ? `Absent${meQuery.data.awayMessage ? ` : ${meQuery.data.awayMessage}` : ''}` | |
| @@ -366,7 +372,7 @@ | |||
| 366 | 372 | {#if !collapsed.has('Salons')}{#each [...(roomsQuery?.data ?? [])].sort((a, b) => Number(b.isDefault) - Number(a.isDefault) || a.name.localeCompare(b.name)) as room (room.id)}<button | |
| 367 | 373 | class="list-entry" | |
| 368 | 374 | onclick={() => desktop.openChatRoom(room.id, room.name)} | |
| 369 | - | ><img src="/aim/chat-room.svg" alt="" width="12" height="12" /> | |
| 375 | + | ><img src="/aim/chat-room-16.png" alt="" width="12" height="12" /> | |
| 370 | 376 | <span class="truncate">{room.name}</span></button | |
| 371 | 377 | >{/each}{/if} | |
| 372 | 378 | <button | |
| @@ -385,7 +391,7 @@ | |||
| 385 | 391 | otherUserId: room.other!.id, | |
| 386 | 392 | otherNickname: room.other!.nickname | |
| 387 | 393 | })} | |
| 388 | - | ><img src="/aim/im.svg" alt="" width="12" height="12" /> | |
| 394 | + | ><img src="/aim/running-man-16.png" alt="" width="12" height="12" /> | |
| 389 | 395 | <span class="truncate" | |
| 390 | 396 | >{room.other.nickname}{room.unreadCount ? ` (${room.unreadCount})` : ''}</span | |
| 391 | 397 | ></button | |
| @@ -427,23 +433,23 @@ | |||
| 427 | 433 | {#if error}<p class="error" role="alert">{error}</p>{/if} | |
| 428 | 434 | <div class="toolbar"> | |
| 429 | 435 | <button disabled={!me} onclick={() => openPanel('im')} | |
| 430 | - | ><img src="/aim/im.svg" alt="" />IM</button | |
| 436 | + | ><img src="/aim/running-man-48.png" alt="" />IM</button | |
| 431 | 437 | > | |
| 432 | 438 | <button disabled={!me} onclick={() => desktop.openNewRoom()} | |
| 433 | - | ><img src="/aim/chat-room.svg" alt="" />Chat</button | |
| 439 | + | ><img src="/aim/chat-room-48.png" alt="" />Chat</button | |
| 434 | 440 | > | |
| 435 | 441 | <button | |
| 436 | 442 | disabled={!selectedBuddy} | |
| 437 | 443 | onclick={() => { | |
| 438 | 444 | if (selectedBuddy) | |
| 439 | 445 | desktop.openProfile({ userId: selectedBuddy.id, nickname: selectedBuddy.nickname }); | |
| 440 | - | }}><img src="/aim/info.svg" alt="" />Infos</button | |
| 446 | + | }}><img src="/aim/profile-48.png" alt="" />Infos</button | |
| 441 | 447 | > | |
| 442 | 448 | <button disabled={!me} onclick={() => desktop.openAway()} | |
| 443 | - | ><img src="/aim/away.svg" alt="" />Absent</button | |
| 449 | + | ><img src="/aim/xp-note-48.png" alt="" />Absent</button | |
| 444 | 450 | > | |
| 445 | 451 | <button disabled={!me} onclick={() => openPanel('add')} | |
| 446 | - | ><img src="/aim/door-open.svg" alt="" />Ajouter</button | |
| 452 | + | ><img src="/aim/add-buddy-48.png" alt="" />Ajouter</button | |
| 447 | 453 | > | |
| 448 | 454 | </div> | |
| 449 | 455 | </div> | |
| @@ -644,8 +650,8 @@ | |||
| 644 | 650 | font: inherit; | |
| 645 | 651 | } | |
| 646 | 652 | .toolbar img { | |
| 647 | - | width: 20px; | |
| 648 | - | height: 20px; | |
| 653 | + | width: 24px; | |
| 654 | + | height: 24px; | |
| 649 | 655 | } | |
| 650 | 656 | .menus { | |
| 651 | 657 | display: flex; | |
| @@ -228,7 +228,12 @@ | |||||
| 228 | > | 228 | > | ||
| 229 | <img src={`/aim/status-${buddy.status}.svg`} alt="" width="12" height="12" /> | 229 | <img src={`/aim/status-${buddy.status}.svg`} alt="" width="12" height="12" /> | ||
| 230 | <span class="truncate">{buddy.nickname}{buddy.status === 'idle' ? ' (Inactif)' : ''}</span> | 230 | <span class="truncate">{buddy.nickname}{buddy.status === 'idle' ? ' (Inactif)' : ''}</span> | ||
| 231 | - | {#if buddy.status === 'away'}<img src="/aim/away.svg" alt="" width="12" height="12" />{/if} | 231 | + | {#if buddy.status === 'away'}<img |
| 232 | + | src="/aim/xp-note-16.png" | |||
| 233 | + | alt="" | |||
| 234 | + | width="12" | |||
| 235 | + | height="12" | |||
| 236 | + | />{/if} | |||
| 232 | </button> | 237 | </button> | ||
| 233 | {#if editMode}<button | 238 | {#if editMode}<button | ||
| 234 | class="remove" | 239 | class="remove" | ||
| @@ -311,7 +316,8 @@ | |||||
| 311 | </div> | 316 | </div> | ||
| 312 | <div class="identity-text"> | 317 | <div class="identity-text"> | ||
| 313 | <strong | 318 | <strong | ||
| 314 | - | ><img src="/aim/running-man-16.png" alt="" width="16" height="16" /> {me.nickname}</strong | 319 | + | ><img src="/aim/running-man-16.png" alt="" width="16" height="16" /> |
| 320 | + | {me.nickname}</strong | |||
| 315 | ><span title={meQuery?.data?.awayMessage ?? ''} | 321 | ><span title={meQuery?.data?.awayMessage ?? ''} | ||
| 316 | >{meQuery?.data?.status === 'away' | 322 | >{meQuery?.data?.status === 'away' | ||
| 317 | ? `Absent${meQuery.data.awayMessage ? ` : ${meQuery.data.awayMessage}` : ''}` | 323 | ? `Absent${meQuery.data.awayMessage ? ` : ${meQuery.data.awayMessage}` : ''}` | ||
| @@ -366,7 +372,7 @@ | |||||
| 366 | {#if !collapsed.has('Salons')}{#each [...(roomsQuery?.data ?? [])].sort((a, b) => Number(b.isDefault) - Number(a.isDefault) || a.name.localeCompare(b.name)) as room (room.id)}<button | 372 | {#if !collapsed.has('Salons')}{#each [...(roomsQuery?.data ?? [])].sort((a, b) => Number(b.isDefault) - Number(a.isDefault) || a.name.localeCompare(b.name)) as room (room.id)}<button | ||
| 367 | class="list-entry" | 373 | class="list-entry" | ||
| 368 | onclick={() => desktop.openChatRoom(room.id, room.name)} | 374 | onclick={() => desktop.openChatRoom(room.id, room.name)} | ||
| 369 | - | ><img src="/aim/chat-room.svg" alt="" width="12" height="12" /> | 375 | + | ><img src="/aim/chat-room-16.png" alt="" width="12" height="12" /> |
| 370 | <span class="truncate">{room.name}</span></button | 376 | <span class="truncate">{room.name}</span></button | ||
| 371 | >{/each}{/if} | 377 | >{/each}{/if} | ||
| 372 | <button | 378 | <button | ||
| @@ -385,7 +391,7 @@ | |||||
| 385 | otherUserId: room.other!.id, | 391 | otherUserId: room.other!.id, | ||
| 386 | otherNickname: room.other!.nickname | 392 | otherNickname: room.other!.nickname | ||
| 387 | })} | 393 | })} | ||
| 388 | - | ><img src="/aim/im.svg" alt="" width="12" height="12" /> | 394 | + | ><img src="/aim/running-man-16.png" alt="" width="12" height="12" /> |
| 389 | <span class="truncate" | 395 | <span class="truncate" | ||
| 390 | >{room.other.nickname}{room.unreadCount ? ` (${room.unreadCount})` : ''}</span | 396 | >{room.other.nickname}{room.unreadCount ? ` (${room.unreadCount})` : ''}</span | ||
| 391 | ></button | 397 | ></button | ||
| @@ -427,23 +433,23 @@ | |||||
| 427 | {#if error}<p class="error" role="alert">{error}</p>{/if} | 433 | {#if error}<p class="error" role="alert">{error}</p>{/if} | ||
| 428 | <div class="toolbar"> | 434 | <div class="toolbar"> | ||
| 429 | <button disabled={!me} onclick={() => openPanel('im')} | 435 | <button disabled={!me} onclick={() => openPanel('im')} | ||
| 430 | - | ><img src="/aim/im.svg" alt="" />IM</button | 436 | + | ><img src="/aim/running-man-48.png" alt="" />IM</button |
| 431 | > | 437 | > | ||
| 432 | <button disabled={!me} onclick={() => desktop.openNewRoom()} | 438 | <button disabled={!me} onclick={() => desktop.openNewRoom()} | ||
| 433 | - | ><img src="/aim/chat-room.svg" alt="" />Chat</button | 439 | + | ><img src="/aim/chat-room-48.png" alt="" />Chat</button |
| 434 | > | 440 | > | ||
| 435 | <button | 441 | <button | ||
| 436 | disabled={!selectedBuddy} | 442 | disabled={!selectedBuddy} | ||
| 437 | onclick={() => { | 443 | onclick={() => { | ||
| 438 | if (selectedBuddy) | 444 | if (selectedBuddy) | ||
| 439 | desktop.openProfile({ userId: selectedBuddy.id, nickname: selectedBuddy.nickname }); | 445 | desktop.openProfile({ userId: selectedBuddy.id, nickname: selectedBuddy.nickname }); | ||
| 440 | - | }}><img src="/aim/info.svg" alt="" />Infos</button | 446 | + | }}><img src="/aim/profile-48.png" alt="" />Infos</button |
| 441 | > | 447 | > | ||
| 442 | <button disabled={!me} onclick={() => desktop.openAway()} | 448 | <button disabled={!me} onclick={() => desktop.openAway()} | ||
| 443 | - | ><img src="/aim/away.svg" alt="" />Absent</button | 449 | + | ><img src="/aim/xp-note-48.png" alt="" />Absent</button |
| 444 | > | 450 | > | ||
| 445 | <button disabled={!me} onclick={() => openPanel('add')} | 451 | <button disabled={!me} onclick={() => openPanel('add')} | ||
| 446 | - | ><img src="/aim/door-open.svg" alt="" />Ajouter</button | 452 | + | ><img src="/aim/add-buddy-48.png" alt="" />Ajouter</button |
| 447 | > | 453 | > | ||
| 448 | </div> | 454 | </div> | ||
| 449 | </div> | 455 | </div> | ||
| @@ -644,8 +650,8 @@ | |||||
| 644 | font: inherit; | 650 | font: inherit; | ||
| 645 | } | 651 | } | ||
| 646 | .toolbar img { | 652 | .toolbar img { | ||
| 647 | - | width: 20px; | 653 | + | width: 24px; |
| 648 | - | height: 20px; | 654 | + | height: 24px; |
| 649 | } | 655 | } | ||
| 650 | .menus { | 656 | .menus { | ||
| 651 | display: flex; | 657 | display: flex; | ||
M src/lib/components/desktop/sign-on-window.svelte +21 -13
| @@ -181,10 +181,13 @@ | |||
| 181 | 181 | > | |
| 182 | 182 | <div class="signon"> | |
| 183 | 183 | <div class="banner"> | |
| 184 | - | <img src="/aim/running-man-48.png" alt="" width="40" height="40" /> | |
| 184 | + | <img src="/aim/running-man-48.png" alt="" width="44" height="44" /> | |
| 185 | 185 | <div class="brand"> | |
| 186 | - | <div class="brand-title">PDR AIM</div> | |
| 187 | - | <div class="brand-sub">Instant Messenger</div> | |
| 186 | + | <div class="brand-aol"> | |
| 187 | + | <img src="/aim/aol-logo-16.png" alt="" width="14" height="14" /> PDR | |
| 188 | + | </div> | |
| 189 | + | <div class="brand-title">Instant</div> | |
| 190 | + | <div class="brand-title">Messenger</div> | |
| 188 | 191 | </div> | |
| 189 | 192 | </div> | |
| 190 | 193 | ||
| @@ -309,22 +312,27 @@ | |||
| 309 | 312 | .banner { | |
| 310 | 313 | display: flex; | |
| 311 | 314 | align-items: center; | |
| 312 | - | gap: 10px; | |
| 313 | - | padding: 8px 10px; | |
| 314 | - | background: linear-gradient(180deg, #fff3a6 0%, #f6c700 100%); | |
| 315 | - | border: 1px solid #c99a00; | |
| 315 | + | gap: 12px; | |
| 316 | + | padding: 10px 12px; | |
| 317 | + | background: #1b2a9a; | |
| 318 | + | border: 1px solid #0f1a66; | |
| 319 | + | color: #fff; | |
| 316 | 320 | } | |
| 317 | 321 | ||
| 318 | - | .brand-title { | |
| 322 | + | .brand-aol { | |
| 323 | + | display: flex; | |
| 324 | + | align-items: center; | |
| 325 | + | gap: 4px; | |
| 319 | 326 | font-weight: bold; | |
| 320 | - | font-size: 18px; | |
| 321 | - | color: #1b1b1b; | |
| 327 | + | font-size: 12px; | |
| 322 | 328 | letter-spacing: 1px; | |
| 323 | 329 | } | |
| 324 | 330 | ||
| 325 | - | .brand-sub { | |
| 326 | - | font-size: 10px; | |
| 327 | - | color: #5a4a00; | |
| 331 | + | .brand-title { | |
| 332 | + | font-style: italic; | |
| 333 | + | font-size: 17px; | |
| 334 | + | line-height: 1; | |
| 335 | + | color: #fff; | |
| 328 | 336 | } | |
| 329 | 337 | ||
| 330 | 338 | .tabs { | |
| @@ -181,10 +181,13 @@ | |||||
| 181 | > | 181 | > | ||
| 182 | <div class="signon"> | 182 | <div class="signon"> | ||
| 183 | <div class="banner"> | 183 | <div class="banner"> | ||
| 184 | - | <img src="/aim/running-man-48.png" alt="" width="40" height="40" /> | 184 | + | <img src="/aim/running-man-48.png" alt="" width="44" height="44" /> |
| 185 | <div class="brand"> | 185 | <div class="brand"> | ||
| 186 | - | <div class="brand-title">PDR AIM</div> | 186 | + | <div class="brand-aol"> |
| 187 | - | <div class="brand-sub">Instant Messenger</div> | 187 | + | <img src="/aim/aol-logo-16.png" alt="" width="14" height="14" /> PDR |
| 188 | + | </div> | |||
| 189 | + | <div class="brand-title">Instant</div> | |||
| 190 | + | <div class="brand-title">Messenger</div> | |||
| 188 | </div> | 191 | </div> | ||
| 189 | </div> | 192 | </div> | ||
| 190 | 193 | ||||
| @@ -309,22 +312,27 @@ | |||||
| 309 | .banner { | 312 | .banner { | ||
| 310 | display: flex; | 313 | display: flex; | ||
| 311 | align-items: center; | 314 | align-items: center; | ||
| 312 | - | gap: 10px; | 315 | + | gap: 12px; |
| 313 | - | padding: 8px 10px; | 316 | + | padding: 10px 12px; |
| 314 | - | background: linear-gradient(180deg, #fff3a6 0%, #f6c700 100%); | 317 | + | background: #1b2a9a; |
| 315 | - | border: 1px solid #c99a00; | 318 | + | border: 1px solid #0f1a66; |
| 319 | + | color: #fff; | |||
| 316 | } | 320 | } | ||
| 317 | 321 | ||||
| 318 | - | .brand-title { | 322 | + | .brand-aol { |
| 323 | + | display: flex; | |||
| 324 | + | align-items: center; | |||
| 325 | + | gap: 4px; | |||
| 319 | font-weight: bold; | 326 | font-weight: bold; | ||
| 320 | - | font-size: 18px; | 327 | + | font-size: 12px; |
| 321 | - | color: #1b1b1b; | |||
| 322 | letter-spacing: 1px; | 328 | letter-spacing: 1px; | ||
| 323 | } | 329 | } | ||
| 324 | 330 | ||||
| 325 | - | .brand-sub { | 331 | + | .brand-title { |
| 326 | - | font-size: 10px; | 332 | + | font-style: italic; |
| 327 | - | color: #5a4a00; | 333 | + | font-size: 17px; |
| 334 | + | line-height: 1; | |||
| 335 | + | color: #fff; | |||
| 328 | } | 336 | } | ||
| 329 | 337 | ||||
| 330 | .tabs { | 338 | .tabs { | ||
M src/lib/components/desktop/taskbar.svelte +13 -1
| @@ -108,7 +108,14 @@ | |||
| 108 | 108 | unlockAudio(); | |
| 109 | 109 | soundOn = !soundsEnabled(); | |
| 110 | 110 | setSoundsEnabled(soundOn); | |
| 111 | - | }}><span aria-hidden="true">{soundOn ? '🔊' : '🔇'}</span></button | |
| 111 | + | }} | |
| 112 | + | ><img | |
| 113 | + | src={soundOn ? '/aim/xp-volume-16.png' : '/aim/xp-volume-muted-16.png'} | |
| 114 | + | alt="" | |
| 115 | + | width="16" | |
| 116 | + | height="16" | |
| 117 | + | class:muted={!soundOn} | |
| 118 | + | /></button | |
| 112 | 119 | > | |
| 113 | 120 | <img | |
| 114 | 121 | src="/aim/running-man-16.png" | |
| @@ -258,6 +265,11 @@ | |||
| 258 | 265 | border-left: 1px solid #78baff; | |
| 259 | 266 | white-space: nowrap; | |
| 260 | 267 | } | |
| 268 | + | .tray-button img.muted { | |
| 269 | + | opacity: 0.45; | |
| 270 | + | filter: grayscale(1); | |
| 271 | + | } | |
| 272 | + | ||
| 261 | 273 | .tray-button { | |
| 262 | 274 | min-width: 0; | |
| 263 | 275 | padding: 0; | |
| @@ -108,7 +108,14 @@ | |||||
| 108 | unlockAudio(); | 108 | unlockAudio(); | ||
| 109 | soundOn = !soundsEnabled(); | 109 | soundOn = !soundsEnabled(); | ||
| 110 | setSoundsEnabled(soundOn); | 110 | setSoundsEnabled(soundOn); | ||
| 111 | - | }}><span aria-hidden="true">{soundOn ? '🔊' : '🔇'}</span></button | 111 | + | }} |
| 112 | + | ><img | |||
| 113 | + | src={soundOn ? '/aim/xp-volume-16.png' : '/aim/xp-volume-muted-16.png'} | |||
| 114 | + | alt="" | |||
| 115 | + | width="16" | |||
| 116 | + | height="16" | |||
| 117 | + | class:muted={!soundOn} | |||
| 118 | + | /></button | |||
| 112 | > | 119 | > | ||
| 113 | <img | 120 | <img | ||
| 114 | src="/aim/running-man-16.png" | 121 | src="/aim/running-man-16.png" | ||
| @@ -258,6 +265,11 @@ | |||||
| 258 | border-left: 1px solid #78baff; | 265 | border-left: 1px solid #78baff; | ||
| 259 | white-space: nowrap; | 266 | white-space: nowrap; | ||
| 260 | } | 267 | } | ||
| 268 | + | .tray-button img.muted { | |||
| 269 | + | opacity: 0.45; | |||
| 270 | + | filter: grayscale(1); | |||
| 271 | + | } | |||
| 272 | + | ||||
| 261 | .tray-button { | 273 | .tray-button { | ||
| 262 | min-width: 0; | 274 | min-width: 0; | ||
| 263 | padding: 0; | 275 | padding: 0; | ||
M src/lib/states/desktop.svelte.ts +7 -7
| @@ -153,7 +153,7 @@ class DesktopState { | |||
| 153 | 153 | id: roomId ? `room-${roomId}` : 'room-default', | |
| 154 | 154 | kind: 'chat-room', | |
| 155 | 155 | title: `Salon : ${roomName}`, | |
| 156 | - | icon: '/aim/chat-room.svg', | |
| 156 | + | icon: '/aim/chat-room-16.png', | |
| 157 | 157 | props: props as unknown as Record<string, unknown> | |
| 158 | 158 | }); | |
| 159 | 159 | } | |
| @@ -163,7 +163,7 @@ class DesktopState { | |||
| 163 | 163 | id: `im-${props.roomId}`, | |
| 164 | 164 | kind: 'im', | |
| 165 | 165 | title: `${props.otherNickname} - Message instantané`, | |
| 166 | - | icon: '/aim/im.svg', | |
| 166 | + | icon: '/aim/running-man-16.png', | |
| 167 | 167 | props: props as unknown as Record<string, unknown> | |
| 168 | 168 | }); | |
| 169 | 169 | } | |
| @@ -183,7 +183,7 @@ class DesktopState { | |||
| 183 | 183 | id: `profile-${props.userId}`, | |
| 184 | 184 | kind: 'profile', | |
| 185 | 185 | title: `Infos sur ${props.nickname}`, | |
| 186 | - | icon: '/aim/info.svg', | |
| 186 | + | icon: '/aim/xp-info-16.png', | |
| 187 | 187 | props: props as unknown as Record<string, unknown> | |
| 188 | 188 | }); | |
| 189 | 189 | } | |
| @@ -193,7 +193,7 @@ class DesktopState { | |||
| 193 | 193 | id: 'away', | |
| 194 | 194 | kind: 'away', | |
| 195 | 195 | title: 'Message d’absence', | |
| 196 | - | icon: '/aim/away.svg', | |
| 196 | + | icon: '/aim/xp-note-16.png', | |
| 197 | 197 | props: {} | |
| 198 | 198 | }); | |
| 199 | 199 | } | |
| @@ -203,7 +203,7 @@ class DesktopState { | |||
| 203 | 203 | id: 'new-room', | |
| 204 | 204 | kind: 'new-room', | |
| 205 | 205 | title: 'Nouveau salon', | |
| 206 | - | icon: '/aim/chat-room.svg', | |
| 206 | + | icon: '/aim/chat-room-16.png', | |
| 207 | 207 | props: {} | |
| 208 | 208 | }); | |
| 209 | 209 | } | |
| @@ -213,7 +213,7 @@ class DesktopState { | |||
| 213 | 213 | id: 'preferences', | |
| 214 | 214 | kind: 'preferences', | |
| 215 | 215 | title: 'Préférences', | |
| 216 | - | icon: '/aim/prefs.svg', | |
| 216 | + | icon: '/aim/xp-control-panel-16.png', | |
| 217 | 217 | props: {} | |
| 218 | 218 | }); | |
| 219 | 219 | } | |
| @@ -223,7 +223,7 @@ class DesktopState { | |||
| 223 | 223 | id: 'about', | |
| 224 | 224 | kind: 'about', | |
| 225 | 225 | title: 'À propos de PDR AIM', | |
| 226 | - | icon: '/aim/help.svg', | |
| 226 | + | icon: '/aim/xp-help-16.png', | |
| 227 | 227 | props: {} | |
| 228 | 228 | }); | |
| 229 | 229 | } | |
| @@ -153,7 +153,7 @@ class DesktopState { | |||||
| 153 | id: roomId ? `room-${roomId}` : 'room-default', | 153 | id: roomId ? `room-${roomId}` : 'room-default', | ||
| 154 | kind: 'chat-room', | 154 | kind: 'chat-room', | ||
| 155 | title: `Salon : ${roomName}`, | 155 | title: `Salon : ${roomName}`, | ||
| 156 | - | icon: '/aim/chat-room.svg', | 156 | + | icon: '/aim/chat-room-16.png', |
| 157 | props: props as unknown as Record<string, unknown> | 157 | props: props as unknown as Record<string, unknown> | ||
| 158 | }); | 158 | }); | ||
| 159 | } | 159 | } | ||
| @@ -163,7 +163,7 @@ class DesktopState { | |||||
| 163 | id: `im-${props.roomId}`, | 163 | id: `im-${props.roomId}`, | ||
| 164 | kind: 'im', | 164 | kind: 'im', | ||
| 165 | title: `${props.otherNickname} - Message instantané`, | 165 | title: `${props.otherNickname} - Message instantané`, | ||
| 166 | - | icon: '/aim/im.svg', | 166 | + | icon: '/aim/running-man-16.png', |
| 167 | props: props as unknown as Record<string, unknown> | 167 | props: props as unknown as Record<string, unknown> | ||
| 168 | }); | 168 | }); | ||
| 169 | } | 169 | } | ||
| @@ -183,7 +183,7 @@ class DesktopState { | |||||
| 183 | id: `profile-${props.userId}`, | 183 | id: `profile-${props.userId}`, | ||
| 184 | kind: 'profile', | 184 | kind: 'profile', | ||
| 185 | title: `Infos sur ${props.nickname}`, | 185 | title: `Infos sur ${props.nickname}`, | ||
| 186 | - | icon: '/aim/info.svg', | 186 | + | icon: '/aim/xp-info-16.png', |
| 187 | props: props as unknown as Record<string, unknown> | 187 | props: props as unknown as Record<string, unknown> | ||
| 188 | }); | 188 | }); | ||
| 189 | } | 189 | } | ||
| @@ -193,7 +193,7 @@ class DesktopState { | |||||
| 193 | id: 'away', | 193 | id: 'away', | ||
| 194 | kind: 'away', | 194 | kind: 'away', | ||
| 195 | title: 'Message d’absence', | 195 | title: 'Message d’absence', | ||
| 196 | - | icon: '/aim/away.svg', | 196 | + | icon: '/aim/xp-note-16.png', |
| 197 | props: {} | 197 | props: {} | ||
| 198 | }); | 198 | }); | ||
| 199 | } | 199 | } | ||
| @@ -203,7 +203,7 @@ class DesktopState { | |||||
| 203 | id: 'new-room', | 203 | id: 'new-room', | ||
| 204 | kind: 'new-room', | 204 | kind: 'new-room', | ||
| 205 | title: 'Nouveau salon', | 205 | title: 'Nouveau salon', | ||
| 206 | - | icon: '/aim/chat-room.svg', | 206 | + | icon: '/aim/chat-room-16.png', |
| 207 | props: {} | 207 | props: {} | ||
| 208 | }); | 208 | }); | ||
| 209 | } | 209 | } | ||
| @@ -213,7 +213,7 @@ class DesktopState { | |||||
| 213 | id: 'preferences', | 213 | id: 'preferences', | ||
| 214 | kind: 'preferences', | 214 | kind: 'preferences', | ||
| 215 | title: 'Préférences', | 215 | title: 'Préférences', | ||
| 216 | - | icon: '/aim/prefs.svg', | 216 | + | icon: '/aim/xp-control-panel-16.png', |
| 217 | props: {} | 217 | props: {} | ||
| 218 | }); | 218 | }); | ||
| 219 | } | 219 | } | ||
| @@ -223,7 +223,7 @@ class DesktopState { | |||||
| 223 | id: 'about', | 223 | id: 'about', | ||
| 224 | kind: 'about', | 224 | kind: 'about', | ||
| 225 | title: 'À propos de PDR AIM', | 225 | title: 'À propos de PDR AIM', | ||
| 226 | - | icon: '/aim/help.svg', | 226 | + | icon: '/aim/xp-help-16.png', |
| 227 | props: {} | 227 | props: {} | ||
| 228 | }); | 228 | }); | ||
| 229 | } | 229 | } | ||
A static/aim/add-buddy-16.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/add-buddy-48.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/aim-help.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/aim-setup.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/aim-signon.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/aol-logo-16.png +0 -0 binary file: no text diff
binary file: no text diff
D static/aim/away.svg +0 -4
| @@ -1,4 +0,0 @@ | |||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> | |
| 2 | - | <rect x="1" y="3" width="14" height="10" fill="#fff8c4" stroke="#b58b00"/> | |
| 3 | - | <path d="M3 6h10M3 8.5h7M3 11h5" stroke="#b58b00" stroke-width="1"/> | |
| 4 | - | </svg> | |
| @@ -1,4 +0,0 @@ | |||||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> | |||
| 2 | - | <rect x="1" y="3" width="14" height="10" fill="#fff8c4" stroke="#b58b00"/> | |||
| 3 | - | <path d="M3 6h10M3 8.5h7M3 11h5" stroke="#b58b00" stroke-width="1"/> | |||
| 4 | - | </svg> | |||
A static/aim/chat-room-16.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/chat-room-48.png +0 -0 binary file: no text diff
binary file: no text diff
D static/aim/chat-room.svg +0 -6
| @@ -1,6 +0,0 @@ | |||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> | |
| 2 | - | <circle cx="5" cy="5" r="2.5" fill="#f6c700" stroke="#8a6d00"/> | |
| 3 | - | <circle cx="11" cy="5" r="2.5" fill="#f6c700" stroke="#8a6d00"/> | |
| 4 | - | <path d="M1 14c0-3 2-5 4-5s4 2 4 5z" fill="#3b7ddd"/> | |
| 5 | - | <path d="M7 14c0-3 2-5 4-5s4 2 4 5z" fill="#e0512f"/> | |
| 6 | - | </svg> | |
| @@ -1,6 +0,0 @@ | |||||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> | |||
| 2 | - | <circle cx="5" cy="5" r="2.5" fill="#f6c700" stroke="#8a6d00"/> | |||
| 3 | - | <circle cx="11" cy="5" r="2.5" fill="#f6c700" stroke="#8a6d00"/> | |||
| 4 | - | <path d="M1 14c0-3 2-5 4-5s4 2 4 5z" fill="#3b7ddd"/> | |||
| 5 | - | <path d="M7 14c0-3 2-5 4-5s4 2 4 5z" fill="#e0512f"/> | |||
| 6 | - | </svg> | |||
D static/aim/help.svg +0 -5
| @@ -1,5 +0,0 @@ | |||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32"> | |
| 2 | - | <defs><radialGradient id="b" cx="0.35" cy="0.3" r="0.8"><stop offset="0" stop-color="#8fc2ff"/><stop offset="1" stop-color="#1d4fa8"/></radialGradient></defs> | |
| 3 | - | <circle cx="16" cy="16" r="14" fill="url(#b)" stroke="#0f3d9a" stroke-width="1.2"/> | |
| 4 | - | <text x="16" y="23" text-anchor="middle" font-family="Tahoma,Arial,sans-serif" font-weight="bold" font-size="20" fill="#fff">?</text> | |
| 5 | - | </svg> | |
| @@ -1,5 +0,0 @@ | |||||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32"> | |||
| 2 | - | <defs><radialGradient id="b" cx="0.35" cy="0.3" r="0.8"><stop offset="0" stop-color="#8fc2ff"/><stop offset="1" stop-color="#1d4fa8"/></radialGradient></defs> | |||
| 3 | - | <circle cx="16" cy="16" r="14" fill="url(#b)" stroke="#0f3d9a" stroke-width="1.2"/> | |||
| 4 | - | <text x="16" y="23" text-anchor="middle" font-family="Tahoma,Arial,sans-serif" font-weight="bold" font-size="20" fill="#fff">?</text> | |||
| 5 | - | </svg> | |||
D static/aim/im.svg +0 -5
| @@ -1,5 +0,0 @@ | |||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> | |
| 2 | - | <path d="M1 2h14v9H6l-3 3v-3H1z" fill="#fff" stroke="#1d4fa8"/> | |
| 3 | - | <rect x="3" y="4" width="10" height="1.5" fill="#1d4fa8"/> | |
| 4 | - | <rect x="3" y="7" width="7" height="1.5" fill="#1d4fa8"/> | |
| 5 | - | </svg> | |
| @@ -1,5 +0,0 @@ | |||||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> | |||
| 2 | - | <path d="M1 2h14v9H6l-3 3v-3H1z" fill="#fff" stroke="#1d4fa8"/> | |||
| 3 | - | <rect x="3" y="4" width="10" height="1.5" fill="#1d4fa8"/> | |||
| 4 | - | <rect x="3" y="7" width="7" height="1.5" fill="#1d4fa8"/> | |||
| 5 | - | </svg> | |||
D static/aim/info.svg +0 -5
| @@ -1,5 +0,0 @@ | |||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> | |
| 2 | - | <circle cx="8" cy="8" r="7" fill="#3b7ddd" stroke="#1d4fa8"/> | |
| 3 | - | <rect x="7" y="7" width="2" height="5" fill="#fff"/> | |
| 4 | - | <circle cx="8" cy="4.5" r="1.2" fill="#fff"/> | |
| 5 | - | </svg> | |
| @@ -1,5 +0,0 @@ | |||||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"> | |||
| 2 | - | <circle cx="8" cy="8" r="7" fill="#3b7ddd" stroke="#1d4fa8"/> | |||
| 3 | - | <rect x="7" y="7" width="2" height="5" fill="#fff"/> | |||
| 4 | - | <circle cx="8" cy="4.5" r="1.2" fill="#fff"/> | |||
| 5 | - | </svg> | |||
D static/aim/prefs.svg +0 -7
| @@ -1,7 +0,0 @@ | |||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32"> | |
| 2 | - | <defs><linearGradient id="g" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#e8e8e8"/><stop offset="1" stop-color="#8d8d8d"/></linearGradient></defs> | |
| 3 | - | <g transform="translate(16 16)" fill="url(#g)" stroke="#3a3a3a" stroke-width="1.2"> | |
| 4 | - | <path d="M-3 -14h6l1 3.5 3 1.3 3.2-1.8 4.2 4.2-1.8 3.2 1.3 3 3.5 1v6l-3.5 1-1.3 3 1.8 3.2-4.2 4.2-3.2-1.8-3 1.3-1 3.5h-6l-1-3.5-3-1.3-3.2 1.8-4.2-4.2 1.8-3.2-1.3-3-3.5-1v-6l3.5-1 1.3-3-1.8-3.2 4.2-4.2 3.2 1.8 3-1.3z"/> | |
| 5 | - | <circle r="4.5" fill="#3b7ddd"/> | |
| 6 | - | </g> | |
| 7 | - | </svg> | |
| @@ -1,7 +0,0 @@ | |||||
| 1 | - | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32"> | |||
| 2 | - | <defs><linearGradient id="g" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#e8e8e8"/><stop offset="1" stop-color="#8d8d8d"/></linearGradient></defs> | |||
| 3 | - | <g transform="translate(16 16)" fill="url(#g)" stroke="#3a3a3a" stroke-width="1.2"> | |||
| 4 | - | <path d="M-3 -14h6l1 3.5 3 1.3 3.2-1.8 4.2 4.2-1.8 3.2 1.3 3 3.5 1v6l-3.5 1-1.3 3 1.8 3.2-4.2 4.2-3.2-1.8-3 1.3-1 3.5h-6l-1-3.5-3-1.3-3.2 1.8-4.2-4.2 1.8-3.2-1.3-3-3.5-1v-6l3.5-1 1.3-3-1.8-3.2 4.2-4.2 3.2 1.8 3-1.3z"/> | |||
| 5 | - | <circle r="4.5" fill="#3b7ddd"/> | |||
| 6 | - | </g> | |||
| 7 | - | </svg> | |||
A static/aim/profile-16.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/profile-48.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-control-panel-16.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-control-panel-48.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-help-16.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-help-48.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-info-16.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-info-48.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-note-16.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-note-48.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-volume-16.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-volume-48.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-volume-muted-16.png +0 -0 binary file: no text diff
binary file: no text diff
A static/aim/xp-volume-muted-48.png +0 -0 binary file: no text diff
binary file: no text diff