Skip to content

Commit 943a8a1

Browse files
authored
Merge pull request #97 from Natifishman/feature/ui-enhancements
Feature: UI Enhancements
2 parents 0a48350 + 03b1f4e commit 943a8a1

File tree

3 files changed

+238
-8
lines changed

3 files changed

+238
-8
lines changed
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
android:layout_width="match_parent"
5+
android:layout_height="wrap_content"
6+
android:orientation="vertical"
7+
android:padding="24dp">
8+
9+
<!-- Title -->
10+
<TextView
11+
android:layout_width="match_parent"
12+
android:layout_height="wrap_content"
13+
android:text="@string/sort_and_filter"
14+
android:textAppearance="@style/TextAppearance.Material3.HeadlineSmall"
15+
android:textColor="@color/textPrimary"
16+
android:layout_marginBottom="20dp" />
17+
18+
<!-- Sort Options Section -->
19+
<TextView
20+
android:layout_width="match_parent"
21+
android:layout_height="wrap_content"
22+
android:text="@string/sort_by"
23+
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
24+
android:textColor="@color/textSecondary"
25+
android:layout_marginBottom="12dp" />
26+
27+
<RadioGroup
28+
android:id="@+id/radioGroupSort"
29+
android:layout_width="match_parent"
30+
android:layout_height="wrap_content"
31+
android:layout_marginBottom="20dp">
32+
33+
<com.google.android.material.radiobutton.MaterialRadioButton
34+
android:id="@+id/radioDateNearest"
35+
android:layout_width="match_parent"
36+
android:layout_height="wrap_content"
37+
android:text="@string/sort_date_nearest"
38+
android:checked="true"
39+
android:padding="8dp" />
40+
41+
<com.google.android.material.radiobutton.MaterialRadioButton
42+
android:id="@+id/radioDateFarthest"
43+
android:layout_width="match_parent"
44+
android:layout_height="wrap_content"
45+
android:text="@string/sort_date_farthest"
46+
android:padding="8dp" />
47+
48+
<com.google.android.material.radiobutton.MaterialRadioButton
49+
android:id="@+id/radioNameAZ"
50+
android:layout_width="match_parent"
51+
android:layout_height="wrap_content"
52+
android:text="@string/sort_name_az"
53+
android:padding="8dp" />
54+
55+
<com.google.android.material.radiobutton.MaterialRadioButton
56+
android:id="@+id/radioNameZA"
57+
android:layout_width="match_parent"
58+
android:layout_height="wrap_content"
59+
android:text="@string/sort_name_za"
60+
android:padding="8dp" />
61+
62+
<com.google.android.material.radiobutton.MaterialRadioButton
63+
android:id="@+id/radioRecentlyAdded"
64+
android:layout_width="match_parent"
65+
android:layout_height="wrap_content"
66+
android:text="@string/sort_recently_added"
67+
android:padding="8dp" />
68+
69+
</RadioGroup>
70+
71+
<!-- Filter Options Section -->
72+
<TextView
73+
android:layout_width="match_parent"
74+
android:layout_height="wrap_content"
75+
android:text="@string/filter_by"
76+
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
77+
android:textColor="@color/textSecondary"
78+
android:layout_marginBottom="12dp" />
79+
80+
<LinearLayout
81+
android:layout_width="match_parent"
82+
android:layout_height="wrap_content"
83+
android:orientation="vertical"
84+
android:layout_marginBottom="20dp">
85+
86+
<com.google.android.material.checkbox.MaterialCheckBox
87+
android:id="@+id/checkboxPublic"
88+
android:layout_width="match_parent"
89+
android:layout_height="wrap_content"
90+
android:text="@string/filter_public_only"
91+
android:checked="false"
92+
android:padding="8dp" />
93+
94+
<com.google.android.material.checkbox.MaterialCheckBox
95+
android:id="@+id/checkboxPrivate"
96+
android:layout_width="match_parent"
97+
android:layout_height="wrap_content"
98+
android:text="@string/filter_private_only"
99+
android:checked="false"
100+
android:padding="8dp" />
101+
102+
<com.google.android.material.checkbox.MaterialCheckBox
103+
android:id="@+id/checkboxFree"
104+
android:layout_width="match_parent"
105+
android:layout_height="wrap_content"
106+
android:text="@string/filter_free_only"
107+
android:checked="false"
108+
android:padding="8dp" />
109+
110+
<com.google.android.material.checkbox.MaterialCheckBox
111+
android:id="@+id/checkboxUpcoming"
112+
android:layout_width="match_parent"
113+
android:layout_height="wrap_content"
114+
android:text="@string/filter_upcoming_only"
115+
android:checked="false"
116+
android:padding="8dp" />
117+
118+
</LinearLayout>
119+
120+
<!-- Action Buttons -->
121+
<LinearLayout
122+
android:layout_width="match_parent"
123+
android:layout_height="wrap_content"
124+
android:orientation="horizontal"
125+
android:gravity="end">
126+
127+
<com.google.android.material.button.MaterialButton
128+
android:id="@+id/btnReset"
129+
style="@style/Widget.Material3.Button.TextButton"
130+
android:layout_width="wrap_content"
131+
android:layout_height="wrap_content"
132+
android:text="@string/reset"
133+
android:layout_marginEnd="8dp" />
134+
135+
<com.google.android.material.button.MaterialButton
136+
android:id="@+id/btnCancel"
137+
style="@style/Widget.Material3.Button.TextButton"
138+
android:layout_width="wrap_content"
139+
android:layout_height="wrap_content"
140+
android:text="@string/cancel"
141+
android:layout_marginEnd="8dp" />
142+
143+
<com.google.android.material.button.MaterialButton
144+
android:id="@+id/btnApply"
145+
style="@style/Widget.Material3.Button"
146+
android:layout_width="wrap_content"
147+
android:layout_height="wrap_content"
148+
android:text="@string/apply" />
149+
150+
</LinearLayout>
151+
152+
</LinearLayout>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<com.google.android.material.card.MaterialCardView
3+
xmlns:android="http://schemas.android.com/apk/res/android"
4+
xmlns:app="http://schemas.android.com/apk/res-auto"
5+
style="@style/Widget.PartyMaker.CardView"
6+
android:layout_width="match_parent"
7+
android:layout_height="wrap_content"
8+
android:layout_marginHorizontal="12dp"
9+
android:layout_marginVertical="6dp"
10+
app:cardCornerRadius="16dp"
11+
app:cardElevation="2dp"
12+
app:strokeWidth="0dp">
13+
14+
<androidx.constraintlayout.widget.ConstraintLayout
15+
android:layout_width="match_parent"
16+
android:layout_height="wrap_content"
17+
android:background="@null"
18+
android:paddingVertical="16dp"
19+
android:paddingStart="16dp"
20+
android:paddingEnd="16dp">
21+
22+
<!-- Shimmer Image Placeholder -->
23+
<View
24+
android:id="@+id/shimmer_image"
25+
android:layout_width="56dp"
26+
android:layout_height="56dp"
27+
android:background="@drawable/shimmer_placeholder_rounded"
28+
app:layout_constraintBottom_toBottomOf="parent"
29+
app:layout_constraintStart_toStartOf="parent"
30+
app:layout_constraintTop_toTopOf="parent" />
31+
32+
<!-- Shimmer Title Placeholder -->
33+
<View
34+
android:id="@+id/shimmer_title"
35+
android:layout_width="0dp"
36+
android:layout_height="18dp"
37+
android:layout_marginStart="16dp"
38+
android:layout_marginTop="4dp"
39+
android:layout_marginEnd="60dp"
40+
android:background="@drawable/shimmer_placeholder"
41+
app:layout_constraintEnd_toEndOf="parent"
42+
app:layout_constraintStart_toEndOf="@id/shimmer_image"
43+
app:layout_constraintTop_toTopOf="@id/shimmer_image" />
44+
45+
<!-- Shimmer Subtitle Placeholder -->
46+
<View
47+
android:id="@+id/shimmer_subtitle"
48+
android:layout_width="0dp"
49+
android:layout_height="14dp"
50+
android:layout_marginStart="16dp"
51+
android:layout_marginTop="8dp"
52+
android:layout_marginEnd="40dp"
53+
android:background="@drawable/shimmer_placeholder"
54+
app:layout_constraintBottom_toBottomOf="@id/shimmer_image"
55+
app:layout_constraintEnd_toEndOf="parent"
56+
app:layout_constraintStart_toEndOf="@id/shimmer_image"
57+
app:layout_constraintTop_toBottomOf="@id/shimmer_title" />
58+
59+
</androidx.constraintlayout.widget.ConstraintLayout>
60+
61+
</com.google.android.material.card.MaterialCardView>

app/src/main/res/values/strings.xml

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,24 @@
4848
<string name="admin_options">Admin Options</string>
4949
<string name="admin_email">Admin Email</string>
5050
<string name="location">Location</string>
51+
52+
<!-- Sort and Filter Dialog -->
53+
<string name="filter_sort">Filter and Sort</string>
54+
<string name="sort_and_filter">Sort and Filter</string>
55+
<string name="sort_by">Sort by</string>
56+
<string name="filter_by">Filter by</string>
57+
<string name="sort_date_nearest">Date (Nearest first)</string>
58+
<string name="sort_date_farthest">Date (Farthest first)</string>
59+
<string name="sort_name_az">Name (A-Z)</string>
60+
<string name="sort_name_za">Name (Z-A)</string>
61+
<string name="sort_recently_added">Recently added</string>
62+
<string name="filter_public_only">Public parties only</string>
63+
<string name="filter_private_only">Private parties only</string>
64+
<string name="filter_free_only">Free entry only</string>
65+
<string name="filter_upcoming_only">Upcoming only</string>
66+
<string name="reset">Reset</string>
67+
<string name="cancel">Cancel</string>
68+
<string name="apply">Apply</string>
5169
<string name="location_pin">📍 Location</string>
5270
<string name="date">Date</string>
5371
<string name="press_to_see_time">press to see time</string>
@@ -105,7 +123,6 @@
105123
<string name="not_coming">Not Coming</string>
106124
<string name="coming">Coming</string>
107125
<string name="add_friends">Add Friends</string>
108-
<string name="reset">Reset</string>
109126
<string name="forgot_password">Forgot password?</string>
110127
<string name="fast">Fast ⚡</string>
111128
<string name="fun">Fun 🎉</string>
@@ -256,8 +273,8 @@
256273

257274
<!-- Search and Filter -->
258275
<string name="search">Search</string>
259-
<string name="search_your_parties">Search your parties...</string>
260-
<string name="search_parties">Search parties...</string>
276+
<string name="search_your_parties">Search your parties</string>
277+
<string name="search_parties">Search parties</string>
261278
<string name="voice_search">Voice search</string>
262279
<string name="filter_parties">Filter parties</string>
263280
<string name="clear_search">Clear search</string>
@@ -266,22 +283,22 @@
266283
<string name="this_week">This Week</string>
267284

268285
<!-- Loading States -->
269-
<string name="loading_your_parties">Loading your parties...</string>
270-
<string name="loading">Loading...</string>
286+
<string name="loading_your_parties">Loading your parties</string>
287+
<string name="loading">Loading</string>
271288
<string name="something_went_wrong">Something went wrong</string>
272-
<string name="creating_your_amazing_party">Creating your amazing party...</string>
289+
<string name="creating_your_amazing_party">Creating your amazing party</string>
273290
<string name="main_content">Main Content</string>
274291

275292
<!-- Chat -->
276293
<string name="online">Online</string>
277294
<string name="chat_options">Chat options</string>
278295
<string name="attachment_options">Attachment options</string>
279-
<string name="ai_thinking">AI is thinking...</string>
296+
<string name="ai_thinking">AI is thinking</string>
280297
<string name="party_avatar">Party avatar</string>
281298
<string name="party_name">Party Name</string>
282299
<string name="members_count">5 members</string>
283300
<string name="attach_file">Attach file</string>
284-
<string name="type_message_hint">Type a message...</string>
301+
<string name="type_message_hint">Type a message</string>
285302
<string name="send_message">Send message</string>
286303
<string name="someone_typing">Someone is typing...</string>
287304
<string name="message_status">Message status</string>

0 commit comments

Comments
 (0)