fix(api): auto-restore authentication token on app startup

Fixed playlist loading failure by ensuring the auth token is automatically
restored from localStorage when ApiClient initializes. Previously, the token
was stored but never restored, causing 401 Unauthorized errors on API calls.

Added _restoreTokenFromStorage() method to ApiClient constructor to load
and apply stored token immediately on app startup. This ensures all API
calls (including playlist fetching) have proper authentication.

Fixes: "I still don't have a playlist" issue where playlists were not loading

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
GitHub CopilotandClaude Haiku 4.5 committed 2026-03-26 15:44:38 +01:00
1 parent dc711b2380
commit 288bf9e6ee
1 file changed
+13 -1
+13 -1
View File
@@ -16,12 +16,24 @@ class ApiClient {
connectTimeout: const Duration(seconds: 60),
receiveTimeout: const Duration(seconds: 60),
),);
// Add interceptor for logging
_dio.interceptors.add(LogInterceptor(
requestBody: true,
responseBody: true,
),);
// Restore token from localStorage on initialization
_restoreTokenFromStorage();
}
/// Restore token from localStorage on app startup
void _restoreTokenFromStorage() {
final storedToken = getStoredToken();
if (storedToken != null) {
_token = storedToken;
_dio.options.headers['Authorization'] = 'Bearer $storedToken';
}
}
/// Get base URL (same origin for production)