You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Incorporates all functionality previously found in the Members card.
Added a button for adding new members to the group. This has the same design as the members, clarifying the tappability of the members. This button is only visible to group admins.
If more than 7 members in the group, the list collapses showing 5 members. The current member is always shown. A button to expand and collapse the members is shown below the last member/add member button.
The necessary payments button's text was changed to "settle up". It was changed to an OutlinedButton with an icon and was moved below the title of the card to avoid cluttering of buttons for admins and groups of more than 7 members.
The currecy picker is smaller and narrower than before.
History card
The button to show all entries is shown regardless of how many purchases or payments the current member sees. This ensures access to the AllHistory page so that any member is able to see/edit any other member's purchases. This is mostly important for groups managed by a single person.
The tab to choose between showing purchases or payments was replaced by a SegmentedButton to clarify that those are not normal buttons but tabs.
AllHistory page
The sliver for the filter got redesigned so that it stays staticly below the AppBar.
The filter now automatically submits without the need of pressing a button.
Statistics page:
Statistics are shown as bar charts instead of line charts.
The data can be arranged daily, weekly, monthly or yearly. If there is not enough horizontal space, the chart becomes scrollable.
The GroupSettings tab of the Main page has been completely removed as all functionality was integrated into the first tab of the Main page.
The icons and names of the tabs of the Main page changed to better represent their new roles.
PaymentMethods card:
Payment methods are now autosaved instead of submitted manually improving UX.
JoinGroup page:
The button to change to the CreateGroup page is shown on top so that it is not confused with the submit button.
The TextField for nickname in group is initially not shown.
After copying or scanning the invitation the group's information is shown in a container to allow the user to make sure they are joining the right group.
If the group has guests, the joinee can decide to take over one of them. If they choose that neither guest is them, the nickname in the group can be chosen via a TextField.
Background color was added to PurchaseEntrys PaymentEntrys and ShoppingListEntrys for every state. This is to clarify that the entries can be tapped.
New
AddMember page: A new page collecting the ways to add members to the group: invitations and guests
The invitation page shows the QR code of the group and a share button.
The add member page allows the user to add multiple guests at the same time. The word "guest" is not used anymore as it lead to confusions.
GroupInfo card shown below the Statistics card on the main page. It collects all the information about the group and allows it to be boosted or deleted (by an admin).
Utility extension methods for the DateTime class to find specific dates. Eg. first of month, first of week, midnight, noon etc.
Share IconButton in the AppBar of the Main page which shows the QR code and a share button.
Refactors
QR codes now encode the website of the invitation page (https://dodoapp.net/join/<code>) instead of just the invitation code. This allows the code to be scanned by any QR code scanner not just the one inside the app.
Statistics are now represented as classes instead of maps.
Removed all unused translation keys from the assets.
The Material 3 guidelines have changed regarding the surface colors. These changes have been integrated into the app. The currently used Flutter version did not implement all the changes so a few temporary fixes had to be made. The package providing the dynamic themes also lacks the new surface colors. This leads to possible issues for some themes.