feat: add domain models and repositories for user, spool presets, and filaments

- Introduced SpoolPreset and User domain models with necessary DTOs and utility functions.
- Created AuthRepository, FilamentRepository, and SpoolPresetRepository interfaces for authentication and data management.
- Implemented UI components for filament display, including ColorSwatch, FilamentCard, and StockBar.
- Developed layout components such as Header and Screen for consistent app structure.
- Added reusable UI components like Badge, Button, Card, and Input for better user interaction.
- Established global constants and theme settings for consistent styling across the application.
- Implemented utility functions for filament calculations and formatting.
- Created Zustand stores for managing authentication, filament, and preset states.
- Configured TypeScript settings for improved development experience.
This commit is contained in:
2026-03-14 10:36:13 -03:00
parent abdc2fe8ce
commit d7fb768d3b
76 changed files with 19681 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
import type { AuthSession, LoginInput, RegisterInput, GoogleOAuthInput } from '@domain/User';
/**
* Contrato para o repositório de autenticação.
* Abstrai o transporte (REST) das operações de auth.
*/
export interface AuthRepository {
login(input: LoginInput): Promise<AuthSession>;
register(input: RegisterInput): Promise<AuthSession>;
loginWithGoogle(input: GoogleOAuthInput): Promise<AuthSession>;
refreshToken(refreshToken: string): Promise<Pick<AuthSession, 'accessToken' | 'refreshToken'>>;
logout(accessToken: string): Promise<void>;
forgotPassword(email: string): Promise<void>;
verifyEmail(token: string): Promise<void>;
resetPassword(token: string, newPassword: string): Promise<void>;
}