Skip to content

Commit f11048e

Browse files
committed
feat: onboarding, layout fixes
1 parent d6b8534 commit f11048e

4 files changed

Lines changed: 334 additions & 155 deletions

File tree

src/RedstringMenu.jsx

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,36 @@ const RedstringMenu = ({
745745
{debugMode ? 'Hide Debug Overlay' : 'Show Debug Overlay'}
746746
</div>
747747

748+
<div
749+
className="submenu-item"
750+
onClick={async () => {
751+
try {
752+
// Clear onboarding flag
753+
localStorage.removeItem('redstring-alpha-welcome-seen');
754+
755+
// Clear folder storage
756+
localStorage.removeItem('redstring_workspace_folder_path');
757+
758+
// Clear IndexedDB folder storage
759+
indexedDB.deleteDatabase('RedstringFolderStorage');
760+
761+
// Clear session flags
762+
sessionStorage.clear();
763+
764+
console.log('[Debug] Onboarding state reset - reloading...');
765+
766+
// Reload to trigger first-time flow
767+
window.location.reload();
768+
} catch (error) {
769+
console.error('[Debug] Failed to reset onboarding:', error);
770+
}
771+
}}
772+
style={{ cursor: 'pointer' }}
773+
>
774+
<RefreshCw size={14} style={{ marginRight: '8px' }} />
775+
Reset Onboarding Flow
776+
</div>
777+
748778
<div
749779
className="submenu-item"
750780
onMouseEnter={handleRegularSubmenuItemHover}

src/components/AlphaOnboardingModal.jsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@ const AlphaOnboardingModal = ({
1717
width: typeof window !== 'undefined' ? window.innerWidth : 1200,
1818
height: typeof window !== 'undefined' ? window.innerHeight : 900
1919
}));
20-
const isCompactLayout = viewportSize.width <= 768;
20+
// Only use compact layout on truly small screens (mobile)
21+
const isCompactLayout = viewportSize.width <= 500;
2122
const modalWidth = isCompactLayout
2223
? Math.min(Math.max(viewportSize.width - 24, 320), 540)
2324
: 600;
2425
const modalHeight = isCompactLayout
2526
? Math.min(Math.max(viewportSize.height * 0.85, 400), 550)
26-
: 600; // Reduced height for simpler modal
27+
: 520; // Reduced height for simpler modal
2728

2829
useEffect(() => {
2930
const handleResize = () => {

src/components/StorageSetupModal.jsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ const StorageSetupModal = ({
1818
width: typeof window !== 'undefined' ? window.innerWidth : 1200,
1919
height: typeof window !== 'undefined' ? window.innerHeight : 900
2020
}));
21-
const isCompactLayout = viewportSize.width <= 768;
21+
// Only use compact layout on truly small screens (mobile)
22+
const isCompactLayout = viewportSize.width <= 500;
2223
const modalWidth = isCompactLayout
2324
? Math.min(Math.max(viewportSize.width - 24, 320), 540)
2425
: 600;
2526
const modalHeight = isCompactLayout
2627
? Math.min(Math.max(viewportSize.height * 0.85, 400), 550)
27-
: 550;
28+
: 520;
2829

2930
const showBrowserStorageOption = !isElectron();
3031

0 commit comments

Comments
 (0)