Added Profile page

- Changed layout of profile page
- made it so we can edit phone and email on profile page
- can take photos or use gallery to change profile photo

TODO:
- change theme of app to stay consistent with desktop app
- change text so it uses String.xml values
-add more info to profile if needed
-give pets their own profile
-connect to backend when its ready
This commit is contained in:
Alex
2026-03-08 01:51:22 -07:00
parent c7a959d4f6
commit 55f545b380
6 changed files with 436 additions and 82 deletions

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#E0E0E0"/>
<stroke
android:width="2dp"
android:color="#BDBDBD"/>
</shape>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners android:radius="12dp"/>
<stroke
android:width="1dp"
android:color="#EEEEEE"/>
</shape>

View File

@@ -1,88 +1,183 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F5F5"
android:gravity="center"
android:orientation="vertical"
android:padding="24dp">
android:background="#F5F5F5">
<ImageView
android:id="@+id/imgProfile"
android:layout_width="189dp"
android:layout_height="162dp"
android:layout_marginBottom="20dp"
android:src="@drawable/placeholder" />
<Button
android:id="@+id/btnChangePhoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change Photo"
android:layout_marginBottom="24dp"/>
<TextView
android:id="@+id/tvProfileName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:text="Name"
android:textColor="#000000"
android:textSize="26sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tvProfileRole"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:text="Staff Role"
android:textColor="#2196F3"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:text="Email"
android:textColor="#888888"
android:textSize="12sp" />
<TextView
android:id="@+id/tvProfileEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:text="Example@example.com"
android:textColor="#000000"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:text="Phone"
android:textColor="#888888"
android:textSize="12sp" />
<TextView
android:id="@+id/tvProfilePhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
android:text="123-123-1234"
android:textColor="#000000"
android:textSize="16sp" />
<Button
android:id="@+id/btnLogout"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="#F44336"
android:text="Log Out"
android:textColor="#FFFFFF" />
android:orientation="vertical"
android:padding="24dp"
android:gravity="center_horizontal">
</LinearLayout>
<ImageView
android:id="@+id/imgProfile"
android:layout_width="160dp"
android:layout_height="161dp"
android:layout_marginBottom="8dp"
android:background="@drawable/circle_image"
android:clipToOutline="true"
android:scaleType="centerCrop"
android:src="@drawable/placeholder" />
<Button
android:id="@+id/btnChangePhoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change Photo"
style="@style/Widget.Material3.Button.TextButton"
android:layout_marginBottom="8dp"/>
<TextView
android:id="@+id/tvProfileName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:text="First Last"
android:textColor="#000000"
android:textSize="24sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/rounded_card"
android:padding="16dp"
android:layout_marginBottom="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingBottom="12dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email"
android:textSize="12sp"
android:textColor="#888888"/>
<TextView
android:id="@+id/tvProfileEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="email@example.com"
android:textColor="#000000"
android:textSize="16sp" />
</LinearLayout>
<Button
android:id="@+id/btnEditEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Edit"
style="@style/Widget.Material3.Button.TextButton"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F0F0F0"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingTop="12dp"
android:paddingBottom="12dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Phone"
android:textSize="12sp"
android:textColor="#888888"/>
<TextView
android:id="@+id/tvProfilePhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="111-222-3333"
android:textSize="16sp"
android:textColor="#000000"/>
</LinearLayout>
<Button
android:id="@+id/btnEditPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Edit"
style="@style/Widget.Material3.Button.TextButton"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F0F0F0"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingTop="12dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Role"
android:textSize="12sp"
android:textColor="#888888"/>
<TextView
android:id="@+id/tvProfileRole"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Manager"
android:textSize="16sp"
android:textColor="#2196F3"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/btnLogout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Log Out"
android:backgroundTint="#F44336"
android:textColor="#FFFFFF"/>
</LinearLayout>
</ScrollView>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<paths>
<cache-path name="my_cache_images" path="." />
</paths>