Commit graph

5759 commits

Author SHA1 Message Date
Hafiz
8b5e827274 API Token bottom sheet small UI Tweak (Button color/button text update) 2025-06-18 14:36:13 +02:00
Hafiz
0944c64e8b Updates API token bottom sheet UI
Changes the background color of the copy token button to yellow.
Dismisses the bottom sheet after copying the token.
2025-06-18 14:36:13 +02:00
Hafiz
0a5d3f893f Presents API token in a bottom sheet
Replaces the simple copy functionality for the API token with a
bottom sheet that displays the token and provides information about
its security implications.

This change helps with user awareness
regarding the sensitive nature of the API token and promotes
responsible handling of this credential.
2025-06-18 14:36:13 +02:00
Hafiz
ed618d6b0e UI Tweaks to change password screen 2025-06-18 14:36:13 +02:00
Hafiz
313d251fc7 Add onForgotPassword callback to ChangePasswordBottomSheet
- Add onForgotPassword callback to ChangePasswordBottomSheet
- Button tweak on changepasswordscreen
2025-06-18 14:36:13 +02:00
Hafiz
3f5d6ba25c fixes to change password screen UI
• Moved the top spacer into the Column’s padding(top = 16.dp)
• Removed the unnecessary Row—placed the IconButton directly with bottom padding
• Dropped all fixed .height(...) modifiers so fields and the button scale with system font size
2025-06-18 14:36:13 +02:00
Hafiz
028a9ecc12 Implement change password bottom sheet
Replaces the old change password dialog with a bottom sheet using compose.
2025-06-18 14:36:13 +02:00
Hafiz
ab8015b487 Update InviteButton to handle InviteResponse list
- Treat sendInvites() result as List<InviteResponse>
- Branch on InviteResponse.UserInvite vs EmailInvite
- Use isNullOrEmpty() to drive success/failure state transitions
- InviteResponseDeserializer added
- Retain loading > success/failure > content state flow with delays
2025-06-18 14:31:22 +02:00
Hafiz
8f8bb1a5de Unregister and clear push device on logout
- In logout(), set PushNotificationManager.user and refreshedToken before calling removePushDeviceUsingStoredToken()
- Add clearUser() to null out in-memory user and remove saved DEVICE_TOKEN_PREFERENCE_KEY
- Invoke clearUser() after database reset to prevent stray notifications post-logout
2025-06-18 14:30:04 +02:00
Hafiz
08bcaeb503 Pin currently equipped item to the top of equipment list 2025-06-18 14:29:04 +02:00
Hafiz
903a4164e9 Detect negative HP as user fainted
- Change isUserFainted to use <= 0.0 so negative HP values also count as fainted
- Death dialog is triggered if HP falls at/below zero
2025-06-18 14:28:10 +02:00
Phillip Thelen
6d705325fe Version bumped to v4.7.6 2025-06-17 16:52:01 +02:00
Phillip Thelen
0273421f29 finish 4.7.6 2025-06-17 16:29:15 +02:00
Hafiz
cead6ee373 Update skill item click listener to container
Changes the skill item click listener from the button wrapper to the
skill item container - makes the entire skill item is clickable,
2025-06-17 09:05:48 -05:00
Hafiz
b8859b7b70 Reduces left margin in transformation list item
Reduces the left margin of the transformation list item
2025-06-16 10:48:18 -05:00
Hafiz
c1d2907844 Set special skill text/note & fix margin 2025-06-16 10:44:48 -05:00
Hafiz
e68b344002 Make entire special skill item clickable 2025-06-16 10:05:16 -05:00
Hafiz
58637eb906 Add skill_transformation_list_item and adapter usage for transformation skill items 2025-06-16 09:58:47 -05:00
Hafiz
3084532f5b Fix 2nd line of text ("remember to be friendly.. to gray200_gray400 2025-06-16 09:39:21 -05:00
Hafiz
2210ecae63 Requests insets on resume for chat fragment
This makes sure that the chatbox/views are back to default
2025-06-16 09:37:10 -05:00
Phillip Thelen
85b374a354 fix type definition 2025-06-15 13:35:32 +02:00
Sophie LE MASLE
39ab1287c1 Translated using Weblate (French)
Currently translated at 100.0% (1540 of 1540 strings)

Translation: Habitica Android/Main Strings
Translate-URL: https://translate.habitica.com/projects/habitica-android/main-strings/fr/
2025-06-13 18:16:16 +02:00
Hafiz
650c1049ba Skill Description font fixes
Set skill description to use FontWeight.Normal
Set Button fontweight to use FontWeight.Medium
2025-06-13 09:31:33 -05:00
Hafiz
7ca86538e3 Use WindowInsetsListener to adjust chat layout
Remove old applyScrollContentWindowInsets helper and IME listeners
Add ViewCompat.setOnApplyWindowInsetsListener on root view
Translate chatBarView and recyclerView by IME height and pad for nav-bar insets
Force initial inset dispatch with ViewCompat.requestApplyInsets()
2025-06-13 09:27:44 -05:00
Hafiz
f374acad5c set chat empty state gray700_gray10 2025-06-13 09:09:30 -05:00
Hafiz
64f2942e7a Reduces bottom margin for empty state title 2025-06-13 09:07:48 -05:00
Hafiz
8ab3546696 remove DiffCallback implementation 2025-06-12 16:43:09 -05:00
Hafiz
51953283f1 Wait until viewpager finished laying out page for checking active filter 2025-06-12 14:19:46 -05:00
Hafiz
b41ef037ae Use skilldialog bottomsheet with mystery items, also add typesafety 2025-06-12 14:08:28 -05:00
Hafiz
1773907fb2 Add transformation item to SkillDialog
add isTransformationItem flag to SkillDialog: hide MP chip & spacer and update button label to “Use on Party” when true.
2025-06-12 13:26:41 -05:00
Summer_GUI
435c10f80d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1540 of 1540 strings)

Translation: Habitica Android/Main Strings
Translate-URL: https://translate.habitica.com/projects/habitica-android/main-strings/zh_Hans/
2025-06-12 18:13:20 +02:00
Hafiz
0981e78e23 Task ViewHolder binding Markdown parsing check & DiffUtil
- Check if text contains markdown before setting title/notes
- Override getDiffCallback to enable RecyclerView DiffUtil updates
2025-06-12 18:13:15 +02:00
Jaime Martí
bfb3983c11 Translated using Weblate (Spanish)
Currently translated at 100.0% (1540 of 1540 strings)

Translation: Habitica Android/Main Strings
Translate-URL: https://translate.habitica.com/projects/habitica-android/main-strings/es/
2025-06-12 00:33:50 +02:00
Hafiz
86edc4ac7e Skill dialog tweaks
- Set MP cost text to medium weight
- Update skill description to 16sp regular
- Fix text size/weight in pause damage bottom sheet
- Adjust 'Use Skill' button for consistency (16sp medium, 12dp radius, 43dp height)
- Reduce horizontal padding on MP cost chip by ~6-7dp per side
- (Also tweak to text for "Pause/Resume Damage" text)
2025-06-11 13:11:22 -05:00
Hafiz
5f1648f2ef Set chat empty state text view invisible initially 2025-06-11 12:54:47 -05:00
Hafiz
d69b300bf3 small title/description/spacing tweak to empty chat text
chat empty state: split into title and description TextViews with spacing
2025-06-11 12:53:33 -05:00
Hafiz
6a5d135756 Remove extra bottom spacing showing on chat 2025-06-11 12:41:57 -05:00
Hafiz
a1a5385212 Revert "Skip redundant markdown parses to reduce flash"
This reverts commit 1bfb5b3ff3.
2025-06-11 10:13:12 -05:00
Phillip Thelen
2e3bde0735 Fix emoji parsing 2025-06-11 13:06:21 +02:00
Phillip Thelen
9633025778 convert emoji map to kotlin and remove duplicate map entries 2025-06-11 13:06:05 +02:00
Hafiz
6732eaee20 Fix crash that occurs when tapping GroupPlanMemberList
Constrain GroupPlanMemberList bottom sheet height to prevent infinite-measure crash
2025-06-11 11:11:17 +02:00
Hafiz
e7e28ff44c Fix chat box sliding under keyboard when long pressing text
Slide ChatBarView under IME instead of padding to preserve text selection handles
2025-06-11 11:10:58 +02:00
Mohammed Alaa
4c1e3fb1ed Enhance analytics logic 2025-06-11 11:10:20 +02:00
Weblate
cb3d44c8db Merge branch 'origin/main' into Weblate. 2025-06-11 11:09:02 +02:00
Hafiz
4c15fcd32a Show empty chat text when there are no messages
When chatMessages is empty, set the RecyclerView state to EMPTY and fade in the empty-state TextView; otherwise switch back to DISPLAYING_DATA and hide the TextView.
2025-06-11 11:08:56 +02:00
Hafiz
a4ff489e51 Show empty state view once messages load (Or no messages)
In ChatFragment.setChatMessages(), update the RecyclerViewEmptySupport’s state to EMPTY when the message list is empty or to DISPLAYING_DATA otherwise. This replaces the loading spinner with the correct empty or data UI.
2025-06-11 11:08:56 +02:00
Weblate
da470b1d59 Merge branch 'origin/main' into Weblate. 2025-06-11 11:08:39 +02:00
Hafiz
061eeea313 Fix GIF animation by checking Drawable
In onSuccess, use if (drawable is Animatable) to start GIFs instead of checking the Coil Image result.
2025-06-11 11:08:34 +02:00
Weblate
21f4790014 Merge branch 'origin/main' into Weblate. 2025-06-11 11:08:10 +02:00
Hafiz
1bfb5b3ff3 Skip redundant markdown parses to reduce flash
Track last-parsed Spanned in existingMarkdownText/Notes and bail out if identical, so we don’t reset the view’s content (markdown in title/notes) every bind.

View height still recalculates on refresh (minor layout flash), but the markdown text no longer "flickers".
2025-06-11 11:08:03 +02:00