Skip to content

Releases: DevsWithDodo/dodo_app

3.2.1

28 Aug 09:18

Choose a tag to compare

3.2.1 Pre-release
Pre-release

Fixed issue where login was not possible: there way a typo regarding user_status

3.2.0

27 Aug 23:48

Choose a tag to compare

3.2.0 Pre-release
Pre-release

New features:

  • Payment methods added: User can set ways they want to receive money. This can be seen by the other members of the group. Payment methods can be set in the user settings.
  • Recommended payments: If the add payment page is opened, on the top recommended payments for the user are listed. These are the same payments as in the necessary payments dialog.
  • Main dialog builder: Way to show dialogs on the main group page on init or on rebuild
    • Two types of dialogs: modal or bottom
    • canShow function to decide wether a dialog can be shown in the situation
    • The first dialog which returns true is shown
    • Dialogs can be shown either on the initialization or on a build call. Currently it is called in the onRefresh of the main page and on the return from the purchase/payment page.
    • Currently 5 of these dialogs exist:
      • Trial ended dialog (modal)
      • Explore themes (bottom)
      • Pin verification (bottom)
      • Add payment methods (bottom)
      • Like the app (modal)
  • Added common.dart
    • Moved the adHeight function from the config
    • Added showToast function which shows a platform toast if available and a widget toast otherwise
  • Added function to show dialog when trial ended
  • Added bottom dialog that asks for user's pin so they don't forget it.

Redesigns:

  • Purchase and payment info bottom sheet
    • Using text instead of icons so it is clearer who is the buyer and receiver
    • Custom amounts can be seen
    • Switching between group currency and purchase currency
  • Added clearer info toasts for MemberChips custom amount chooser.
  • Member info bottom sheet
    • Changed icons to texts for consistency
    • Added payment methods
    • Added button to show user's purchases/payments
  • Purchase and payment entry
    • Added 'You bought/paid'/'You received' text instead of icon which was not clear to understand.
    • Also cleaned up code and set height of the entry could be removed.
  • Added "Change nickname" setting to the group settings so it is easier to find

Refactors:

  • FutureSuccessDialog to FutureOutputDialog
    • Added additional functionality: the dialog can handle multiple output states, not just true or false. These are handled via extensions of the class FutureOutput. It hosts a truthfulness value.
    • Per default a truthy output always shows a check animation, a falsy always an error screen.
    • The functionality can be customized via props:
      • Map<FutureOutput, VoidCallback> outputCallbacks: what happens for each output state.
      • Map<FutureOutput, String> outputTexts: what the error text should be (only applicable to falsy outputs)
      • 'Map<FutureOutput, Widget> outputWidgets' customizes the whole widget shown for a specific output state.
    • showFutureOutputDialog function added to reduce boilerplate code
  • Reduced the places where cache clears are used. Changed them for EventBus calls. Added EventBus for member list aswell.
  • Removed unnecessary state of MemberChips as it was always synchronized with the props it got.
  • Added ScreenWidthProvider which provides the ScreenWidth class with width, height and isMobile boolean
    • With it all responsive screens could be cleaned up
    • Also removed bad code design using Table component instead of Row with Expandables for responsiveness

Fixes:

  • Member list not updating when adding guest to the group.

3.1.1

08 Jul 12:40

Choose a tag to compare

Fixes:

  • Fix for reading app state from memory on start causing grey screen.
  • Fix for calculator not using the selected currency.
  • On unauthenticated user data is removed from memory so that it only happens once.

3.1.0

02 Jul 20:24

Choose a tag to compare

3.1.0 Pre-release
Pre-release

New feature:

  • "Who should I pay" button changed to "Necessary payments". The dialog shows a list of all payments needed for all members to break even. The logged in user's payments are highlighted.

Refactoring:

  • Changed EventBus from provided value to a singleton, not using event_bus_plus library but own implementation with better solution for disposing.
  • Removed ad_management.dart.example, removed ad_management.dart from gitignore, moved ad_ids to config.dart
  • Removed all app state variables (currentUserId, currentUsername etc.) from config.dart. Using AppStateProvider instead. This handles all changes of the user aswell: login, logout, register, fetch data on app start. This had the following effects:
    • Removed save_preferences.dart as it is not needed anymore.
    • Moved themeName from its own AppStateProvider to the new one. Removed app_state_notifier.dart
    • Removed login_methods.dart
  • Made the Http methods to a static class, so instead of httpGet now one writes Http.get
  • Added InviteUrlProvider. Now the inviteUrl doesn't have to be reached through props throughout login/register pages.

3.0.9

17 Jun 00:06

Choose a tag to compare

New feature: the widgets using API calls only refresh when the respective event is fired. This leads to less loading throughout the app.

3.0.8

20 May 22:31

Choose a tag to compare

Redesigns:

  • Redesigned join group, create group, add purchase, add payment pages. With better usability on large screen devices.
  • Added tablet mode to statistics page.
  • Chang styling of Switch on group settings page.

Fixes:

  • Updated Flutter version. This fixes the issue of ModalBottomSheets animation being broken.
  • Fixed wierd scrolling behaviour on main page, user settings page, history page.

Refactoring:

  • Removed print statements all over the project.
  • Minor changes in relation to null safety.

3.0.7

09 May 16:28

Choose a tag to compare

New features:

  • Shopping list doesn't reload when adding, updating or deleting items. Items are changed locally.
  • Showcasing all hidden functionality (category, currency, calculator, custom amounts) on the purchase page. Using the showcaseview package.

Refactoring:

  • Migrated the project to use null safety.
  • GradientButton
    • Added GradientButton.icon factory for buttons with icon and label.
    • Added IconThemeData and DefaultTextStyle so that text and icons match the selected color of the button.
    • Added static function textColorOnGradient to AppTheme
    • Updated all usages of GradientButton to fit the changes
  • URI builder fully supports query parameters.

3.0.6

08 Apr 20:34

Choose a tag to compare

New or reworked features:

  • For the choosing of a custom amount for a purchase receiver, in the CustomAmountDialog:
    • The chosen amont can be edited via a TextField too.
    • The TapOrHoldButton is smaller.
  • On the AddPurchasePage show the custom amount of every selected purchase receiver between the switch and delete IconButtons.
  • Removed feature discovery througout the app.
  • History filtering:
    • Restored option to filter by date.
    • Added option to filter by category.
  • Restored the bug report option, new location is inside the settings.
  • Added option to filter by category to the statistics.
  • Relocated the "I'm shopping" button on the shopping list page to the top right of the widget and changed it to an IconButton.
  • "Who should I pay" button changed from OutlinedButton to TextButton.
  • Added "Statistics and data export" card to the MainPage. Removed the corresponding FloatingActionButton from the GroupSettingsPage.
  • Added "bills" category

Fixes:

  • Fixed the bug where on Android and iOS when in tablet mode some widgets were cut off at the bottom of the display.

Refactoring:

  • Better syntax for the TextField validator
  • Refinements to the URL builder.
  • New function for getting categories by type.
  • Renamed fields in ErrorMessage widget.
  • Renamed callback functions througout the code to better show the functionality.
  • Other small improvements for cleaner code.