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:
60
android/app/src/main/res/drawable/ic_launcher_foreground.xml
Normal file
60
android/app/src/main/res/drawable/ic_launcher_foreground.xml
Normal 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>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/primary" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
||||
14
android/app/src/main/res/values/colors.xml
Normal file
14
android/app/src/main/res/values/colors.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="primary">#1565C0</color>
|
||||
<color name="primary_dark">#0D47A1</color>
|
||||
<color name="accent">#00BCD4</color>
|
||||
<color name="background">#F5F5F5</color>
|
||||
<color name="surface">#FFFFFF</color>
|
||||
<color name="error">#D32F2F</color>
|
||||
<color name="on_primary">#FFFFFF</color>
|
||||
<color name="online">#4CAF50</color>
|
||||
<color name="offline">#F44336</color>
|
||||
<color name="warning">#FF9800</color>
|
||||
<color name="splash_background">#1565C0</color>
|
||||
</resources>
|
||||
5
android/app/src/main/res/values/strings.xml
Normal file
5
android/app/src/main/res/values/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">ServerManager</string>
|
||||
<string name="splash_subtitle">Server Management Platform</string>
|
||||
</resources>
|
||||
12
android/app/src/main/res/values/themes.xml
Normal file
12
android/app/src/main/res/values/themes.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="Theme.ServerManager" parent="android:Theme.Material.Light.NoActionBar">
|
||||
<item name="android:statusBarColor">@color/primary_dark</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.ServerManager.Splash" parent="Theme.SplashScreen">
|
||||
<item name="windowSplashScreenBackground">@color/splash_background</item>
|
||||
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
|
||||
<item name="postSplashScreenTheme">@style/Theme.ServerManager</item>
|
||||
</style>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user