[READ-ONLY] Mirror of https://github.com/improsocial/impro An extensible Bluesky client for web impro.social
6

Configure Feed

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

Re-add welcome modal

Grace Kind (Jul 15, 2026, 1:26 AM -0500) 7e28ac5c 809309a7

+42 -30
+1 -1
package.json
··· 1 1 { 2 2 "name": "impro", 3 - "version": "0.17.159", 3 + "version": "0.17.160", 4 4 "type": "module", 5 5 "scripts": { 6 6 "start": "rm -rf \"${BUILD_DIR:-build}\" && NODE_ENV=development eleventy --serve",
+27 -19
src/css/style.css
··· 1385 1385 gap: 20px; 1386 1386 } 1387 1387 1388 - .sidebar-about-link { 1389 - margin: 16px; 1390 - margin-left: 35px; 1391 - text-align: left; 1392 - } 1393 - 1394 - @media (hover: hover) { 1395 - .sidebar-about-link:hover { 1396 - text-decoration: underline; 1397 - } 1398 - } 1399 - 1400 1388 @media (min-width: 800px) { 1401 1389 .logged-out-sidebar .sidebar-header { 1402 1390 align-items: center; ··· 1421 1409 width: 100%; 1422 1410 padding-top: 10px; 1423 1411 padding-left: 20px; 1412 + padding-bottom: 6px; 1424 1413 } 1425 1414 1426 1415 @media (min-width: 800px) { ··· 1445 1434 min-width: 100px; 1446 1435 } 1447 1436 1448 - .logged-out-sidebar .login-button { 1437 + .logged-out-sidebar .login-button, 1438 + .logged-out-sidebar .sidebar-about-link { 1449 1439 width: fit-content; 1450 1440 margin-left: 16px; 1451 1441 margin-top: 8px; ··· 1454 1444 } 1455 1445 1456 1446 @media (min-width: 800px) { 1457 - .logged-out-sidebar .login-button { 1458 - margin-left: auto; 1459 - margin-right: auto; 1460 - } 1461 - 1447 + .logged-out-sidebar .login-button, 1462 1448 .logged-out-sidebar .sidebar-about-link { 1463 1449 margin-left: auto; 1464 1450 margin-right: auto; 1465 - text-align: center; 1466 1451 } 1467 1452 } 1468 1453 ··· 9872 9857 padding-bottom: 16px; 9873 9858 padding-left: 24px; 9874 9859 } 9860 + } 9861 + 9862 + .bottom-sheet.welcome-modal { 9863 + width: 90%; 9864 + max-width: 410px; 9865 + top: 50%; 9866 + left: 50%; 9867 + right: auto; 9868 + bottom: auto; 9869 + max-height: 80vh; 9870 + border: var(--hair) solid var(--post-border-color); 9871 + border-radius: var(--dialog-border-radius); 9872 + box-shadow: none; 9873 + animation: none; 9874 + transform: translate(-50%, -50%); 9875 + } 9876 + 9877 + .bottom-sheet.welcome-modal::before { 9878 + display: none; 9879 + } 9880 + 9881 + .bottom-sheet.welcome-modal .modal-dialog-content { 9882 + padding-top: 24px; 9875 9883 } 9876 9884 9877 9885 .sidebar-action-items {
+4
src/js/modals/welcome.modal.js
··· 11 11 return { "data-testid": "welcome-modal" }; 12 12 } 13 13 14 + get dragToDismiss() { 15 + return false; 16 + } 17 + 14 18 render({ dismiss }) { 15 19 return html` 16 20 <div class="modal-dialog-content">
+1 -1
src/js/templates/sidebar.template.js
··· 125 125 >Sign in</a 126 126 > 127 127 <button 128 - class="sidebar-about-link sidebar-text-link" 128 + class="rounded-button sidebar-about-link" 129 129 data-testid="sidebar-about-link" 130 130 @click=${() => { 131 131 WelcomeModal.open();
+9 -9
src/js/views/home.view.js
··· 10 10 import { bindToPage, pageEffect } from "/js/router.js"; 11 11 import { showToast } from "/js/toasts.js"; 12 12 import { Signal, ReactiveStore } from "/js/signals.js"; 13 - // import { WelcomeModal } from "/js/modals/welcome.modal.js"; 13 + import { WelcomeModal } from "/js/modals/welcome.modal.js"; 14 14 15 15 class HomeView extends View { 16 16 async render({ ··· 26 26 }, 27 27 }) { 28 28 const CURRENT_FEED_URI_STORAGE_KEY = "home-view-currentFeedUri"; 29 - // const WELCOME_MODAL_SEEN_STORAGE_KEY = "welcome-modal-seen"; 29 + const WELCOME_MODAL_SEEN_STORAGE_KEY = "welcome-modal-seen"; 30 30 31 31 const storedFeedUri = isAuthenticated 32 32 ? localStorage.getItem(CURRENT_FEED_URI_STORAGE_KEY) ··· 48 48 resetToDefaultFeed(); 49 49 } 50 50 51 - // if ( 52 - // !isAuthenticated && 53 - // !sessionStorage.getItem(WELCOME_MODAL_SEEN_STORAGE_KEY) 54 - // ) { 55 - // sessionStorage.setItem(WELCOME_MODAL_SEEN_STORAGE_KEY, "true"); 56 - // WelcomeModal.open(); 57 - // } 51 + if ( 52 + !isAuthenticated && 53 + !sessionStorage.getItem(WELCOME_MODAL_SEEN_STORAGE_KEY) 54 + ) { 55 + sessionStorage.setItem(WELCOME_MODAL_SEEN_STORAGE_KEY, "true"); 56 + WelcomeModal.open(); 57 + } 58 58 59 59 if (isAuthenticated) { 60 60 pageEffect(root, () => {