Add new frontend - fix 13

This commit is contained in:
Urtzi Alfaro
2025-07-22 20:22:27 +02:00
parent 5dffe39706
commit dd05f3a0f5
5 changed files with 21 additions and 7 deletions

View File

@@ -320,5 +320,5 @@ class ApiClient {
// FIXED: Create default instance with correct base URL (removed /api suffix)
export const apiClient = new ApiClient({
baseURL: process.env.FRONTEND_API_URL || 'http://localhost:8000/api/v1'
baseURL: process.env.REACT_APP_API_URL || 'http://localhost:8000/api/v1'
});

View File

@@ -50,14 +50,20 @@ export class AuthService {
/**
* User registration
*/
async register(userData: RegisterRequest): Promise<UserProfile> {
const response = await apiClient.post<ApiResponse<UserProfile>>(
async register(userData: RegisterRequest): Promise<TokenResponse> {
const response = await apiClient.post<ApiResponse<TokenResponse>>(
'/auth/register',
userData
);
return response.data!;
// Store tokens after successful registration
const tokenData = response.data!;
await tokenManager.storeTokens(tokenData);
return tokenData;
}
/**
* Refresh access token
*/

View File

@@ -216,13 +216,13 @@ class WebSocketManager extends EventEmitter {
private getWebSocketBaseUrl(): string {
if (typeof window !== 'undefined') { // Check if window is defined
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';
const host = process.env.FRONTEND_WS_URL || window.location.host;
const host = process.env.REACT_APP_WS_URL || window.location.host;
return `${protocol}//${host}/ws`;
} else {
// Provide a fallback for server-side or non-browser environments
// You might want to get this from environment variables or a config file
// depending on your setup.
return process.env.FRONTEND_WS_URL || 'ws://localhost:3000/ws';
return process.env.REACT_APP_WS_URL || 'ws://localhost:3000/ws';
}
}

View File

@@ -97,7 +97,11 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children
const register = useCallback(async (data: RegisterRequest) => {
setIsLoading(true);
try {
const profile = await authService.register(data);
// Register and store tokens (like login)
const tokenResponse = await authService.register(data);
// After registration, get user profile
const profile = await api.auth.getCurrentUser();
setUser(profile);
} catch (error) {
setIsLoading(false);