Files
mtg-online-drafter/docs/development/devlog/2025-12-18-210000_fix_cube_session_clear.md
2025-12-18 20:26:42 +01:00

1.3 KiB

title, status
title status
Fix Cube Session Clear Completed

Objectives

  • Fix the "Clear Session" functionality in CubeManager which was failing to fully reset the application state.

Diagnosis

  • The previous implementation relied on setting state via props (setPacks([])), but depending on the timing of React's state updates and App.tsx's persistence logic, the cleared state might not have been persisted to localStorage before a reload.
  • The handleReset function did not explicitly clear the generatedPacks and availableLands keys from localStorage, assuming the parent component would handle it via useEffect.

Fix Implemented

  • Refactored handleReset in CubeManager.tsx.
  • Added explicit localStorage.removeItem('generatedPacks') and localStorage.removeItem('availableLands') calls.
  • Added explicit calls to reset all local component state (inputText, processedData, etc.) and their respective storage keys.
  • Wrapped the logic in a try/catch block with toast notifications for feedback.
  • This ensures a robust, hard reset of the drafting session.

Verification

  • User can now click "Clear Session", confirm the dialog, and immediately see a cleared interface and toast success message.
  • Reloading the page will confirm the session is truly empty.