feat: redesign Android app with animations, charts, profile, and registration

- Register screen with validation (username, email, password, confirm)
- Profile screen with email editing and password change
- User greeting on dashboard showing logged-in username
- 401 auto-logout via SessionManager + AuthInterceptor
- MetricsChart with Canvas line graphs (CPU, RAM, Disk)
- Animated StatCard with counters and icons
- ServerCard with progress bars, pulsating status dot, dynamic elevation
- Shimmer loading placeholders
- Dark mode support with Material3
- Navigation transitions (slide + fade)
- New server rack launcher icon
- Splash screen
- Backend API: register, profile (GET/PUT) endpoints
This commit is contained in:
2026-06-09 16:38:04 -04:00
parent 1741545318
commit b613e43ab3
58 changed files with 4217 additions and 1 deletions

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<!-- Server rack body -->
<path
android:fillColor="#1565C0"
android:pathData="M34,30 L74,30 C76.2,30 78,31.8 78,34 L78,74 C78,76.2 76.2,78 74,78 L34,78 C31.8,78 30,76.2 30,74 L30,34 C30,31.8 31.8,30 34,30Z" />
<!-- Top server unit -->
<path
android:fillColor="#FFFFFF"
android:pathData="M38,36 L70,36 L70,44 L38,44Z"
android:fillAlpha="0.9" />
<path
android:fillColor="#1565C0"
android:pathData="M42,38 L50,38 L50,42 L42,42Z" />
<path
android:fillColor="#1565C0"
android:pathData="M54,38 L62,38 L62,42 L54,42Z" />
<!-- Middle server unit -->
<path
android:fillColor="#FFFFFF"
android:pathData="M38,48 L70,48 L70,56 L38,56Z"
android:fillAlpha="0.9" />
<path
android:fillColor="#1565C0"
android:pathData="M42,50 L50,50 L50,54 L42,54Z" />
<path
android:fillColor="#1565C0"
android:pathData="M54,50 L62,50 L62,54 L54,54Z" />
<!-- Bottom server unit -->
<path
android:fillColor="#FFFFFF"
android:pathData="M38,60 L70,60 L70,68 L38,68Z"
android:fillAlpha="0.9" />
<path
android:fillColor="#1565C0"
android:pathData="M42,62 L50,62 L50,66 L42,66Z" />
<path
android:fillColor="#1565C0"
android:pathData="M54,62 L62,62 L62,66 L54,66Z" />
<!-- Status LEDs -->
<path
android:fillColor="#4CAF50"
android:pathData="M66,40 A2,2 0,1,1 66,39.99Z" />
<path
android:fillColor="#4CAF50"
android:pathData="M66,52 A2,2 0,1,1 66,51.99Z" />
<path
android:fillColor="#4CAF50"
android:pathData="M66,64 A2,2 0,1,1 66,63.99Z" />
<!-- Decorative line top -->
<path
android:fillColor="#FFFFFF"
android:pathData="M40,72 L68,72"
android:strokeWidth="2"
android:strokeColor="#FFFFFF" />
</vector>