Commit Graph

54 Commits

Author SHA1 Message Date
hans 83aaa3b446 Remove unused import
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 0b5a088f09 Correctly export the theme switcher widget
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans c5c0009cb4 Moved platform brightness checking from ArcaneApp to ArcaneThemeSwitcher, where it is more appropriate
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 599ade3981 Check for empty interfaces before initializing them in the logger
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 6fb304a4a1 Only send log messages to the LoggingInterfaces if the logging service has been initialized
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 9f1b26e097 Extra log messages will not longer be added to the log stream if more than one LoggingInterface is registered
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans b7c55913e9 Made ArcaneServiceProvider.of(context) nullable
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 1510ded49d Rename onEnvironmentChanged to switchEnvironment
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 6764d8074a Setting a theme style now automatically switches to that theme
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 3fd38d3b26 Added logStream to logger. Updated example code.
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 68595f0a20 Re-add getters on ArcaneTheme
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans bfa5c646d7 Fixes bug with following/unfollowing system theme
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans e402308f7b Fixes broken tests
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 23f0387389 Fixes tests and updates reactive theme
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans cfd9052442 Fixes the reactive theme service to properly follow the system brightness
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 58817b349d Fixed late initialized value in logging service 2025-04-29 14:16:17 +02:00
hans 39160c223e Removed arcane theme from service provider
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 2c8596d517 Fixed theme
- fixed: currentMode, dark, light now actually emit new values when changed
- added: getters for lightTheme, darkTheme, and systemTheme
- breaking: currentMode -> systemTheme
- added: currentTheme
- breaking: currentMode => currentTheme
- change: Arcane.theme.followSystemTheme(context) required to follow system theme
- change: After following the system theme, calling Arcane.theme.switchTheme() cancels following the system theme
- added: ArcaneReactiveTheme is now registered in ArcaneServiceProvider when using ArcaneApp

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans e9ba80bcc2 Minor change
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 253f2914be Remove debug logging
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans ab880a2f5b Minor fix to fileAndLineParts calculation
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans cf4cf1306b Fix module/method/fileAndLineNumber calculations in logging service
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans 0c5b947809 Logging service:
- added: reset()
- added: `skipAutodetection` option for module, method, and metadata
- added: unregisterInterface()
- Created FileAndLineNumber mixin

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
Hans Kokx e901da8080 Added of(context) extension to ArcaneService 2025-04-29 14:16:17 +02:00
hans d4dc176356 ArcaneReactiveTheme now optionally takes a ThemeMode parameter when calling switchTheme
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans ac82e93b9d [UNTESTED] Fixes notifiers and adds some additional methods. Adds tests.
Changes:
// ArcaneEnvironment
breaking: context.read<ArcaneEnvironment>() -> ArcaneEnvironment.of(context)
breaking: context.read<ArcaneEnvironment>().state -> ArcaneEnvironment.of(context).environment;

// Feature flag service
added: reset()

// Logging service
added: registerInterface()
added: unregisterInterfaces()
added: unregisterAllInterfaces()

// ArcaneReactiveTheme
fixed: currentMode, dark, light now actually emit new values when changed
added: getters for lightTheme, darkTheme, and systemTheme
TODO: test systemTheme

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-04-29 14:16:17 +02:00
hans b129639f1f Formatted files 2025-02-11 14:39:02 +01:00
hans beee74e49a v1.2.5
- Improved automatic metadata detection in `ArcaneLogger`

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-01-23 13:59:40 +01:00
hans 552398bcc5 v1.2.3
- Added `ValueNotifier`s to both the `ArcaneAuthenticationService` and
  `ArcaneFeatureFlags`. This enables the possibility of listening for changes to
  either service.

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2025-01-14 11:48:25 +01:00
Hans Kokx 129801a0dc v1.2.0
- Removed flutter_secure_storage dependency as it was unused
- BREAKING: several methods were moved from the ArcaneAuthInterface base class into their own mixins

Signed-off-by: Hans Kokx <hans.kokx@hackberry.se>
2024-12-12 15:09:10 +01:00
Hans Kokx adef2e01dd v1.1.7
- Fixed an issue with the `ArcaneAuthenticationService` where an exception would
  be thrown when attempting to access an authentication token while no
  `ArcaneAuthInterface` was registered.

Signed-off-by: Hans Kokx <hans.kokx@hackberry.se>
2024-12-11 11:02:58 +01:00
hans bc0972cf32 v1.1.6
- Updated logging feature to indicate the feature which was enabled or disabled within the log message, instead of only in the metadata

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-12-02 13:58:12 +01:00
Hans Kokx 606404b4d3 v1.1.3
- Auth logout no longer throws exceptions, preferring a Result return value instead.

Signed-off-by: Hans Kokx <hans.kokx@hackberry.se>
2024-10-25 12:17:10 +02:00
Hans Kokx a29da7c090 v1.1.2
- Removes default error catching from ArcaneLoggingService

Signed-off-by: Hans Kokx <hans.kokx@hackberry.se>
2024-10-18 16:37:10 +02:00
Hans Kokx 9f00ed205b v1.1.1
Breaking changes:
- Updated ArcaneAuthInterface to make the `resendVerificationCode`, `confirmSignup`, and `resetPassword` methods more versatile

Signed-off-by: Hans Kokx <hans.kokx@hackberry.se>
2024-10-11 14:04:53 +02:00
hans a67e4adfa2 v1.1.0
Breaking changes:
- (ArcaneAuthInterface) Migrated `loginWithEmailAndPassword` to `login`
- (ArcaneAuthInterface) Migrated `signup` to `register`

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-10-10 15:56:38 +02:00
hans c6377e2efe v1.0.8
- Added the `extra` parameter to the `Arcane.log` shortcut method

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-10-04 14:40:04 +02:00
hans 4547dd39fe v1.0.7
- Added the `extra` parameter to the `LoggingInterface` object

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-10-04 14:17:25 +02:00
hans dc03f9aac1 v1.0.6+1
- Moved linting rules to arcane_analysis package

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-10-04 14:05:18 +02:00
hans 52c6626531 v1.0.5+1
- Marks `loginWithEmailAndPassword` as deprecated and update example

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-20 15:23:13 +02:00
hans 05624263fb v1.0.5
- Added the ability to use a generic type for the login method in ArcaneAuthenticationService
- Added the ability to reset the ArcaneAuthenticationService, which will unregister the current interface and clear the authentication state
- Removed unused testing tooling (e.g., `@visibleForTesting`) from the codebase

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-20 15:10:00 +02:00
hans 03e3a0bcbd v1.0.4
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-18 11:05:11 +02:00
hans e6b2442eea Added example project
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-18 10:39:46 +02:00
hans 51ffd59961 Removes BuildContext requirement from switchTheme method
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-17 13:53:43 +02:00
hans 4df99a0dab Enables following the system theme
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-17 13:52:40 +02:00
hans 4e22c08ed9 Add error handling to login method
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-17 13:01:36 +02:00
hans 32c36413d6 Make onLoggedOut method a future
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-17 13:00:24 +02:00
hans c5c41b9dba Added the ability to switch back to normal mode in the environment provider. Adjusted logic to prevent switching to a mode we're already in.
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-17 12:31:47 +02:00
hans 3f01e0fb9d Migrated the isSignedIn property in the authentication service to a ValueListenable
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
2024-09-13 13:15:59 +02:00
hans 6969b31ec7 Revert "Remove unused callback from the ArcaneAuthenticationService during logout"
This reverts commit cdc44e8747.
2024-09-13 11:25:28 +02:00