Skip to content

3.3.0

Pre-release
Pre-release

Choose a tag to compare

@sszajbely sszajbely released this 26 Dec 11:02
· 78 commits to master since this release

Refactor:

  • Moved to a more consistant folder structure.
  • Bootstrapping with various providers, initializers:
    • AppConfigProvider: Provides isFirebasePlatformEnabled, isIAPPlatformEnabled, isAdPlatformEnabled. These were global variables before.
    • AppThemeProvider: Created from old AppStateProvider. Provides the themeName. Sets themeName and dynamic themes on initialization.
    • InviteUrlProvider: Provides the inviteUrl. Existed before. Under the hood it uses the app_links instead of the uni_links package, as it was not maintained.
    • ExchangeRateInitializer: Gets the exchange rates from the server and stores it in the memory.
    • UserProvider: The old AppStateProvider without the theme. The current group is still provided through it.
    • NotificationInitializer: Initializes Firebase and FlutterLocalNotifications on platforms which support notifications.
    • IAPInitizalier: Initializes the in-app-purchases.
    • ScreenSizeProvider: Renamed version of the ScreenWidthProvider, a wrapper for the MediaQuery, which makes it more usable for the app.
    • SupportedVersionInitializer: Gets if the current version is supported by the server, if it is not, shows the VersionNotSupportedPage.
  • Added Currency class. Now currencies are represented in the code as class instances, not es currency code strings.
  • Calculator refactored, using enums and helper classes instead of strings for the operators and numbers.
  • Reactions: enums for distinguishing between purchase, payment and shopping request reactions. More consistent algorithms for enumerating and ordering reactions. Cleaner code for sending and showing reactions.
  • Shopping list: cleaner code.

Redesigns:

  • ShoppingListEntrys have new design, which are more similar to PurchaseEntrys and PaymentEntrys.
  • For dual color themes primary, secondary and the container colors are shown in the ThemePicker.
  • The calculator's buttons animate and have haptic feedback in a similar way to the pin pad.
  • The history filter is now a sliver over the purchases/payments. This makes it harder to miss and easier to use.
  • Necessary payments are shown in a separate page instead of a dialog. This removes questionable design (as dialogs on top of dialogs), and adds more space to work with.
    • Added label for the copy button.
    • Added new button for going straight to the payment page.

Fixes:

  • Fixed PinVerificationDialog not showing up at all.

New:

  • Added one new color theme.
  • Added theme preview. When long pressing on a color theme, a popup is shown with a home screen showing the selected theme. The popup is shown as long as the user keeps the long press active.
  • Removed the personalised ads page from the sign up process, instead a pop up will be shown when the user first opens the app after their trial period is over.
  • After the user sees TrialEndedDialog, the theme will change to the default green, and the user gets the option to go to the shop and reclaim the themes.
  • Now the icons next to the brightness slider in the color theme picker are also clickable and will set the brightness aswell.

Also bumped dependencies.