logo added & name changed
parent
db9abf9866
commit
456b824c31
|
@ -1,7 +1,7 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.example.tests">
|
package="com.example.tests">
|
||||||
<application
|
<application
|
||||||
android:label="tests"
|
android:label="My Finance Planner"
|
||||||
android:name="${applicationName}"
|
android:name="${applicationName}"
|
||||||
android:icon="@mipmap/ic_launcher">
|
android:icon="@mipmap/ic_launcher">
|
||||||
<activity
|
<activity
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||||
<key>CFBundleDisplayName</key>
|
<key>CFBundleDisplayName</key>
|
||||||
<string>Tests</string>
|
<string>My Finance Planner</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>$(EXECUTABLE_NAME)</string>
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
<string>tests</string>
|
<string>My Finance Planner</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 97 KiB |
121
lib/main.dart
121
lib/main.dart
|
@ -15,17 +15,16 @@ import 'account/account_detail.dart';
|
||||||
Future<void> main() async {
|
Future<void> main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
await EasyLocalization.ensureInitialized();
|
await EasyLocalization.ensureInitialized();
|
||||||
runApp(
|
runApp(ChangeNotifierProvider(
|
||||||
ChangeNotifierProvider(
|
create: (context) => ThemeManager(),
|
||||||
create: (context) => ThemeManager(),
|
child: EasyLocalization(
|
||||||
child: EasyLocalization(
|
supportedLocales: const [Locale('en', 'US'), Locale('de', 'DE')],
|
||||||
supportedLocales: const [Locale('en', 'US'), Locale('de', 'DE')],
|
path: 'lib/assets/translations',
|
||||||
path: 'lib/assets/translations',
|
// <-- change the path of the translation files
|
||||||
// <-- change the path of the translation files
|
fallbackLocale: const Locale('en', 'US'),
|
||||||
fallbackLocale: const Locale('en', 'US'),
|
child: const FinancialPlannerApp()),
|
||||||
child: const FinancialPlannerApp()),
|
));
|
||||||
));
|
}
|
||||||
}
|
|
||||||
|
|
||||||
ThemeManager _themeManager = ThemeManager();
|
ThemeManager _themeManager = ThemeManager();
|
||||||
|
|
||||||
|
@ -34,8 +33,8 @@ class FinancialPlannerApp extends StatelessWidget {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
SystemChrome.setEnabledSystemUIMode(
|
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
|
||||||
SystemUiMode.manual, overlays: [SystemUiOverlay.top]);
|
overlays: [SystemUiOverlay.top]);
|
||||||
return MaterialApp(
|
return MaterialApp(
|
||||||
localizationsDelegates: context.localizationDelegates,
|
localizationsDelegates: context.localizationDelegates,
|
||||||
supportedLocales: context.supportedLocales,
|
supportedLocales: context.supportedLocales,
|
||||||
|
@ -112,7 +111,7 @@ class HomePageState extends State<HomePage> {
|
||||||
Future<void> saveAccounts() async {
|
Future<void> saveAccounts() async {
|
||||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
List<String> accountJsonList =
|
List<String> accountJsonList =
|
||||||
accounts.map((account) => json.encode(account.toJson())).toList();
|
accounts.map((account) => json.encode(account.toJson())).toList();
|
||||||
await prefs.setStringList('accounts', accountJsonList);
|
await prefs.setStringList('accounts', accountJsonList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,14 +148,19 @@ class HomePageState extends State<HomePage> {
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
|
leading: Padding(
|
||||||
|
padding: EdgeInsets.only(left: 5),
|
||||||
|
child: Image.asset(
|
||||||
|
'lib/assets/mfa_logo.png',
|
||||||
|
width: 32,
|
||||||
|
height: 32,
|
||||||
|
)),
|
||||||
title: Text(
|
title: Text(
|
||||||
'title'.tr(),
|
'title'.tr(),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: Theme
|
color: Theme.of(context).brightness == Brightness.dark
|
||||||
.of(context)
|
|
||||||
.brightness == Brightness.dark
|
|
||||||
? Colors.white70
|
? Colors.white70
|
||||||
: Colors.black87),
|
: Colors.black87),
|
||||||
),
|
),
|
||||||
|
@ -178,29 +182,18 @@ class HomePageState extends State<HomePage> {
|
||||||
depth: 8,
|
depth: 8,
|
||||||
intensity: 0.9,
|
intensity: 0.9,
|
||||||
shadowLightColor:
|
shadowLightColor:
|
||||||
Theme
|
Theme.of(context).brightness == Brightness.light
|
||||||
.of(context)
|
? const NeumorphicStyle().shadowLightColor
|
||||||
.brightness == Brightness.light
|
: Theme.of(context).shadowColor,
|
||||||
? const NeumorphicStyle().shadowLightColor
|
shadowDarkColor: Theme.of(context).brightness == Brightness.dark
|
||||||
: Theme
|
|
||||||
.of(context)
|
|
||||||
.shadowColor,
|
|
||||||
shadowDarkColor:
|
|
||||||
Theme
|
|
||||||
.of(context)
|
|
||||||
.brightness == Brightness.dark
|
|
||||||
? const NeumorphicStyle().shadowDarkColor
|
? const NeumorphicStyle().shadowDarkColor
|
||||||
: grey400,
|
: grey400,
|
||||||
color: Theme
|
color: Theme.of(context).brightness == Brightness.light
|
||||||
.of(context)
|
|
||||||
.brightness == Brightness.light
|
|
||||||
? grey200
|
? grey200
|
||||||
: grey800,
|
: grey800,
|
||||||
),
|
),
|
||||||
child: Icon(Icons.settings,
|
child: Icon(Icons.settings,
|
||||||
color: Theme
|
color: Theme.of(context).unselectedWidgetColor),
|
||||||
.of(context)
|
|
||||||
.unselectedWidgetColor),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
@ -216,9 +209,7 @@ class HomePageState extends State<HomePage> {
|
||||||
AwesomeDialog(
|
AwesomeDialog(
|
||||||
btnOkText: "Delete".tr(),
|
btnOkText: "Delete".tr(),
|
||||||
btnOkColor: Colors.lightGreen,
|
btnOkColor: Colors.lightGreen,
|
||||||
btnCancelColor: Theme
|
btnCancelColor: Theme.of(context).shadowColor,
|
||||||
.of(context)
|
|
||||||
.shadowColor,
|
|
||||||
context: context,
|
context: context,
|
||||||
animType: AnimType.bottomSlide,
|
animType: AnimType.bottomSlide,
|
||||||
dialogType: DialogType.info,
|
dialogType: DialogType.info,
|
||||||
|
@ -237,41 +228,31 @@ class HomePageState extends State<HomePage> {
|
||||||
depth: 8,
|
depth: 8,
|
||||||
intensity: 1,
|
intensity: 1,
|
||||||
shadowLightColor:
|
shadowLightColor:
|
||||||
Theme
|
Theme.of(context).brightness == Brightness.light
|
||||||
.of(context)
|
? const NeumorphicStyle().shadowLightColor
|
||||||
.brightness == Brightness.light
|
: grey800,
|
||||||
? const NeumorphicStyle().shadowLightColor
|
|
||||||
: grey800,
|
|
||||||
shadowDarkColor:
|
shadowDarkColor:
|
||||||
Theme
|
Theme.of(context).brightness == Brightness.dark
|
||||||
.of(context)
|
? const NeumorphicStyle().shadowDarkColor
|
||||||
.brightness == Brightness.dark
|
: Theme.of(context).shadowColor,
|
||||||
? const NeumorphicStyle().shadowDarkColor
|
color: Theme.of(context).brightness == Brightness.light
|
||||||
: Theme
|
|
||||||
.of(context)
|
|
||||||
.shadowColor,
|
|
||||||
color: Theme
|
|
||||||
.of(context)
|
|
||||||
.brightness == Brightness.light
|
|
||||||
? grey200
|
? grey200
|
||||||
: grey800,
|
: grey800,
|
||||||
boxShape:
|
boxShape:
|
||||||
NeumorphicBoxShape.roundRect(BorderRadius.circular(15)),
|
NeumorphicBoxShape.roundRect(BorderRadius.circular(15)),
|
||||||
),
|
),
|
||||||
child: ListTile(
|
child: ListTile(
|
||||||
title: Text(accounts[index].name),
|
title: Text(accounts[index].name),
|
||||||
subtitle: Text(
|
subtitle: Text(
|
||||||
'${'balance'.tr()}: $_selectedCurrency${accounts[index]
|
'${'balance'.tr()}: $_selectedCurrency${accounts[index].balance.toStringAsFixed(2)}'),
|
||||||
.balance.toStringAsFixed(2)}'),
|
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) =>
|
builder: (context) => AccountDetailPage(
|
||||||
AccountDetailPage(
|
account: accounts[index],
|
||||||
account: accounts[index],
|
updateAccountBalance: updateAccountBalance,
|
||||||
updateAccountBalance: updateAccountBalance,
|
),
|
||||||
),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
@ -294,21 +275,13 @@ class HomePageState extends State<HomePage> {
|
||||||
style: NeumorphicStyle(
|
style: NeumorphicStyle(
|
||||||
depth: 8,
|
depth: 8,
|
||||||
intensity: 1,
|
intensity: 1,
|
||||||
shadowLightColor: Theme
|
shadowLightColor: Theme.of(context).brightness == Brightness.light
|
||||||
.of(context)
|
|
||||||
.brightness == Brightness.light
|
|
||||||
? const NeumorphicStyle().shadowLightColor
|
? const NeumorphicStyle().shadowLightColor
|
||||||
: Theme
|
: Theme.of(context).shadowColor,
|
||||||
.of(context)
|
shadowDarkColor: Theme.of(context).brightness == Brightness.dark
|
||||||
.shadowColor,
|
|
||||||
shadowDarkColor: Theme
|
|
||||||
.of(context)
|
|
||||||
.brightness == Brightness.dark
|
|
||||||
? const NeumorphicStyle().shadowDarkColor
|
? const NeumorphicStyle().shadowDarkColor
|
||||||
: grey400,
|
: grey400,
|
||||||
color: Theme
|
color: Theme.of(context).brightness == Brightness.light
|
||||||
.of(context)
|
|
||||||
.brightness == Brightness.light
|
|
||||||
? grey200
|
? grey200
|
||||||
: grey800,
|
: grey800,
|
||||||
boxShape: const NeumorphicBoxShape.circle(),
|
boxShape: const NeumorphicBoxShape.circle(),
|
||||||
|
@ -316,9 +289,7 @@ class HomePageState extends State<HomePage> {
|
||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.add,
|
Icons.add,
|
||||||
size: 60,
|
size: 60,
|
||||||
color: Theme
|
color: Theme.of(context).brightness == Brightness.light
|
||||||
.of(context)
|
|
||||||
.brightness == Brightness.light
|
|
||||||
? Colors.black12
|
? Colors.black12
|
||||||
: Colors.white12,
|
: Colors.white12,
|
||||||
),
|
),
|
||||||
|
|
80
pubspec.lock
80
pubspec.lock
|
@ -1,6 +1,14 @@
|
||||||
# Generated by pub
|
# Generated by pub
|
||||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||||
packages:
|
packages:
|
||||||
|
archive:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: archive
|
||||||
|
sha256: "0c8368c9b3f0abbc193b9d6133649a614204b528982bebc7026372d61677ce3a"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.3.7"
|
||||||
args:
|
args:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -65,6 +73,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.0"
|
version: "0.12.0"
|
||||||
|
checked_yaml:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: checked_yaml
|
||||||
|
sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.3"
|
||||||
circular_seek_bar:
|
circular_seek_bar:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -73,6 +89,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0+2"
|
version: "1.1.0+2"
|
||||||
|
cli_util:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: cli_util
|
||||||
|
sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.4.0"
|
||||||
clock:
|
clock:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -89,6 +113,22 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.17.0"
|
version: "1.17.0"
|
||||||
|
convert:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: convert
|
||||||
|
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.1"
|
||||||
|
crypto:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: crypto
|
||||||
|
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.0.3"
|
||||||
cupertino_icons:
|
cupertino_icons:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -142,6 +182,14 @@ packages:
|
||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
version: "0.0.0"
|
||||||
|
flutter_launcher_icons:
|
||||||
|
dependency: "direct dev"
|
||||||
|
description:
|
||||||
|
name: flutter_launcher_icons
|
||||||
|
sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.13.1"
|
||||||
flutter_lints:
|
flutter_lints:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
|
@ -205,6 +253,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.2"
|
version: "4.0.2"
|
||||||
|
image:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: image
|
||||||
|
sha256: a72242c9a0ffb65d03de1b7113bc4e189686fc07c7147b8b41811d0dd0e0d9bf
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.0.17"
|
||||||
intl:
|
intl:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -221,6 +277,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.5"
|
version: "0.6.5"
|
||||||
|
json_annotation:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: json_annotation
|
||||||
|
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.8.1"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -333,6 +397,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.4"
|
||||||
|
pointycastle:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pointycastle
|
||||||
|
sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.7.3"
|
||||||
process:
|
process:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -562,6 +634,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.2.2"
|
version: "6.2.2"
|
||||||
|
yaml:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: yaml
|
||||||
|
sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.2"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=2.19.6 <3.0.0"
|
dart: ">=2.19.6 <3.0.0"
|
||||||
flutter: ">=3.7.0-0"
|
flutter: ">=3.7.0-0"
|
||||||
|
|
28
pubspec.yaml
28
pubspec.yaml
|
@ -21,18 +21,11 @@ version: 1.0.0+1
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=2.19.6 <3.0.0'
|
sdk: '>=2.19.6 <3.0.0'
|
||||||
|
|
||||||
# Dependencies specify other packages that your package needs in order to work.
|
|
||||||
# To automatically upgrade your package dependencies to the latest versions
|
|
||||||
# consider running `flutter pub upgrade --major-versions`. Alternatively,
|
|
||||||
# dependencies can be manually updated by changing the version numbers below to
|
|
||||||
# the latest version available on pub.dev. To see which dependencies have newer
|
|
||||||
# versions available, run `flutter pub outdated`.
|
|
||||||
dependencies:
|
dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
intl: ^0.17.0
|
intl: ^0.17.0
|
||||||
# The following adds the Cupertino Icons font to your application.
|
|
||||||
# Use with the CupertinoIcons class for iOS style icons.
|
|
||||||
cupertino_icons: ^1.0.2
|
cupertino_icons: ^1.0.2
|
||||||
shared_preferences: ^2.1.2
|
shared_preferences: ^2.1.2
|
||||||
charts_flutter: ^0.12.0
|
charts_flutter: ^0.12.0
|
||||||
|
@ -49,28 +42,23 @@ dependencies:
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|
||||||
# The "flutter_lints" package below contains a set of recommended lints to
|
|
||||||
# encourage good coding practices. The lint set provided by the package is
|
|
||||||
# activated in the `analysis_options.yaml` file located at the root of your
|
|
||||||
# package. See that file for information about deactivating specific lint
|
|
||||||
# rules and activating additional ones.
|
|
||||||
flutter_lints: ^2.0.0
|
flutter_lints: ^2.0.0
|
||||||
|
flutter_launcher_icons: ^0.13.1
|
||||||
|
|
||||||
|
flutter_launcher_icons:
|
||||||
|
image_path: "lib/assets/mfa_logo.png"
|
||||||
|
android: true
|
||||||
|
ios: true
|
||||||
|
|
||||||
# For information on the generic Dart part of this file, see the
|
|
||||||
# following page: https://dart.dev/tools/pub/pubspec
|
|
||||||
|
|
||||||
# The following section is specific to Flutter packages.
|
|
||||||
flutter:
|
flutter:
|
||||||
|
|
||||||
# The following line ensures that the Material Icons font is
|
|
||||||
# included with your application, so that you can use the icons in
|
|
||||||
# the material Icons class.
|
|
||||||
uses-material-design: true
|
uses-material-design: true
|
||||||
|
|
||||||
assets:
|
assets:
|
||||||
- lib/assets/translations/
|
- lib/assets/translations/
|
||||||
- lib/assets/savings_icon.svg
|
- lib/assets/savings_icon.svg
|
||||||
|
- lib/assets/mfa_logo.png
|
||||||
|
|
||||||
fonts:
|
fonts:
|
||||||
- family: Montserrat
|
- family: Montserrat
|
||||||
|
|
Loading…
Reference in New Issue