diff --git a/refilc/lib/api/client.dart b/refilc/lib/api/client.dart index a8ddedd9..bad5443a 100644 --- a/refilc/lib/api/client.dart +++ b/refilc/lib/api/client.dart @@ -33,20 +33,20 @@ class FilcAPI { static const plusAuthLogin = "0.0.0.0"; static const plusAuthCallback = "0.0.0.0"; static const plusActivation = "0.0.0.0"; - static const plusScopes = "0.0.0.0/"; + static const plusScopes = "0.0.0.0"; // Updates - static const repo = "refilc/naplo"; + static const repo = "QwIT-Development/app-legacy"; static const releases = "https://api.github.com/repos/$repo/releases"; // Share API - static const themeShare = "https://api.refilcapp.hu/v3/shared/theme/add"; - static const themeGet = "https://api.refilcapp.hu/v3/shared/theme/get"; + static const themeShare = "$baseUrl/v3/shared/theme/add"; + static const themeGet = "$baseUrl/v3/shared/theme/get"; static const allThemes = "$themeGet/all"; static const themeByID = "$themeGet/"; - static const gradeColorsShare = "https://api.refilcapp.hu/v3/shared/grade-colors/add"; - static const gradeColorsGet = "https://api.refilcapp.hu/v3/shared/grade-colors/get"; + static const gradeColorsShare = "$baseUrl/v3/shared/grade-colors/add"; + static const gradeColorsGet = "$baseUrl/v3/shared/grade-colors/get"; static const allGradeColors = "$gradeColorsGet/all"; static const gradeColorsByID = "$gradeColorsGet/"; diff --git a/refilc/lib/models/settings.dart b/refilc/lib/models/settings.dart index 4e172176..e6cf174e 100644 --- a/refilc/lib/models/settings.dart +++ b/refilc/lib/models/settings.dart @@ -485,14 +485,14 @@ class SettingsProvider extends ChangeNotifier { bellDelayEnabled: false, bellDelay: 0, gradeOpeningFun: false, - iconPack: IconPack.cupertino, - customAccentColor: const Color(0xff3D7BF4), + iconPack: IconPack.material, + customAccentColor: const Color(0xFFA7DC22), customBackgroundColor: const Color(0xff000000), customHighlightColor: const Color(0xff222222), customIconColor: const Color(0x00000000), customTextColor: const Color(0x00000000), - shadowEffect: true, - premiumScopes: [], + shadowEffect: false, + premiumScopes: ["refilc.plus.*"], premiumAccessToken: "", premiumLogin: "", lastAccountId: "", @@ -504,14 +504,14 @@ class SettingsProvider extends ChangeNotifier { welcomeMessage: '', appIcon: 'refilc_default', currentThemeId: '', - currentThemeDisplayName: '', - currentThemeCreator: 'reFilc', + currentThemeDisplayName: 'Alapértelmezett', + currentThemeCreator: 'Firka', showBreaks: false, pinSetGeneral: '', pinSetPersonalize: '', pinSetNotify: '', pinSetExtras: '', - fontFamily: '', + fontFamily: 'Figtree', titleOnlyFont: false, plusSessionId: '', calSyncRoomLocation: 'location', @@ -522,8 +522,8 @@ class SettingsProvider extends ChangeNotifier { navShadow: true, newColors: true, uwuMode: false, - newPopups: true, - unseenNewFeatures: ['grade_exporting'], + newPopups: false, + unseenNewFeatures: [], cloudSyncEnabled: false, cloudSyncToken: '', updatedAt: DateTime.now(), diff --git a/refilc/lib/theme/colors/accent.dart b/refilc/lib/theme/colors/accent.dart index df27bc0a..7850e90e 100644 --- a/refilc/lib/theme/colors/accent.dart +++ b/refilc/lib/theme/colors/accent.dart @@ -17,7 +17,7 @@ enum AccentColor { } Map accentColorMap = { - AccentColor.filc: const Color(0xFF3D7BF4), + AccentColor.filc: const Color(0xFFA7DC22), AccentColor.blue: Colors.blue.shade300, AccentColor.green: Colors.green.shade400, AccentColor.lime: Colors.lightGreen.shade400, @@ -28,69 +28,69 @@ Map accentColorMap = { AccentColor.purple: Colors.purple.shade300, //AccentColor.none: Colors.black, AccentColor.ogfilc: const Color(0xff20AC9B), - AccentColor.adaptive: const Color(0xFF3D7BF4), - AccentColor.custom: const Color(0xFF3D7BF4), + AccentColor.adaptive: const Color(0xFFA7DC22), + AccentColor.custom: const Color(0xFFA7DC22), }; // new v5 things Map lightPrimary = { - AccentColor.filc: const Color(0xFF050B15), + AccentColor.filc: const Color(0xFF394C0A), // }; Map lightSecondary = { - AccentColor.filc: const Color(0xFF3F444F), + AccentColor.filc: const Color(0xCC394C0A), // }; Map lightTeritary = { - AccentColor.filc: const Color(0xFF1C469A), + AccentColor.filc: const Color(0x80394C0A), // }; Map lightIcon = { AccentColor.filc: const Color(0xFF0A2456), }; Map lightAccent = { - AccentColor.filc: const Color(0xFF487DE6), + AccentColor.filc: const Color(0xFFA7DC22), // }; Map lightBgDarkened = { - AccentColor.filc: const Color(0xFFB9C8E5), + AccentColor.filc: const Color(0xFFFAFFF0), // }; Map lightBtnSecStrk = { AccentColor.filc: const Color(0xFFCEDBF5), }; Map lightBg = { - AccentColor.filc: const Color(0xFFDAE4F7), + AccentColor.filc: const Color(0xFFF3FBDE), // }; Map lightCard = { - AccentColor.filc: const Color(0xFFEDF3FF), + AccentColor.filc: const Color(0xFFF3FBDE), // }; Map lightBtnSec = { - AccentColor.filc: const Color(0xFFFBFCFF), + AccentColor.filc: const Color(0xFFFEFFFD), // }; Map darkPrimary = { - AccentColor.filc: const Color(0xFFEBF1FD), + AccentColor.filc: const Color(0xFFEAF7CC), // }; Map darkSecondary = { - AccentColor.filc: const Color(0xFFCFD8E9), + AccentColor.filc: const Color(0xB3EAF7CC), // }; Map darkTeritary = { - AccentColor.filc: const Color(0xFFAEC8FC), + AccentColor.filc: const Color(0x80EAF7CC), // }; Map darkIcon = { AccentColor.filc: const Color(0xFFBAD1FF), }; Map darkAccent = { - AccentColor.filc: const Color(0xFF487DE6), + AccentColor.filc: const Color(0xFFA7DC22), // }; Map darkBgDarkened = { - AccentColor.filc: const Color(0xFF010205), + AccentColor.filc: const Color(0xFF0D1202), // }; Map darkBtnSecStrk = { AccentColor.filc: const Color(0xFF1C2230), }; Map darkBg = { - AccentColor.filc: const Color(0xFF070A0E), + AccentColor.filc: const Color(0xFF141905), // }; Map darkCard = { - AccentColor.filc: const Color(0xFF0F131B), + AccentColor.filc: const Color(0xFF141905), // }; Map darkBtnSec = { - AccentColor.filc: const Color(0xFF131822), + AccentColor.filc: const Color(0xFF20290B), // }; diff --git a/refilc/lib/theme/colors/dark_mobile.dart b/refilc/lib/theme/colors/dark_mobile.dart index cc1ac5c1..a310b011 100644 --- a/refilc/lib/theme/colors/dark_mobile.dart +++ b/refilc/lib/theme/colors/dark_mobile.dart @@ -7,9 +7,9 @@ class DarkMobileAppColors implements ThemeAppColors { @override final text = Colors.white; @override - final background = const Color(0xff000000); + final background = const Color(0xff0D1202); // @override - final highlight = const Color(0xff141516); + final highlight = const Color(0xff141905); // @override final red = const Color(0xffFF453A); @override @@ -19,7 +19,7 @@ class DarkMobileAppColors implements ThemeAppColors { @override final green = const Color(0xff32D74B); @override - final filc = const Color(0xff3d7bf4); + final filc = const Color(0xFFA7DC22); // @override final teal = const Color(0xff64D2FF); @override @@ -32,24 +32,24 @@ class DarkMobileAppColors implements ThemeAppColors { final pink = const Color(0xffFF375F); // new default grade colors @override - final gradeFive = const Color(0xff007D49); + final gradeFive = const Color(0xFF22CCAD); // @override - final gradeFour = const Color(0xFF34C759); + final gradeFour = const Color(0xFF92EA3B); // @override - final gradeThree = const Color(0xFFFFCC00); + final gradeThree = const Color(0xFFF9CF00); // @override - final gradeTwo = const Color(0xFFFF8008); + final gradeTwo = const Color(0xFFFFA046); // @override - final gradeOne = const Color(0xFFFF453A); + final gradeOne = const Color(0xFFFF54A1); // // v5 ui login @override - final loginPrimary = const Color(0xFFD4DAE7); + final loginPrimary = const Color(0xFF394C0A); // @override - final loginSecondary = const Color(0xFFA4B1CC); + final loginSecondary = const Color(0xCC394C0A); // @override - final inputBorder = const Color(0xFF586A8E); + final inputBorder = const Color(0xFFA7DC22); // @override - final loginBackground = const Color(0xFF0F131D); + final loginBackground = const Color(0xFFFAFFF0); // @override - final buttonBackground = const Color(0xFF3D7BF4); + final buttonBackground = const Color(0xFFFEFFFD); // } diff --git a/refilc/lib/theme/colors/light_mobile.dart b/refilc/lib/theme/colors/light_mobile.dart index eede7c7f..eb9caf12 100644 --- a/refilc/lib/theme/colors/light_mobile.dart +++ b/refilc/lib/theme/colors/light_mobile.dart @@ -7,9 +7,9 @@ class LightMobileAppColors implements ThemeAppColors { @override final text = const Color(0xFF000000); @override - final background = const Color(0xffF4F9FF); + final background = const Color(0xffFAFFF0); // @override - final highlight = const Color(0xffFFFFFF); + final highlight = const Color(0xffF3FBDE); // @override final red = const Color(0xffFF3B30); @override @@ -19,7 +19,7 @@ class LightMobileAppColors implements ThemeAppColors { @override final green = const Color(0xff34C759); @override - final filc = const Color(0xff3d7bf4); + final filc = const Color(0xFFA7DC22); // @override final teal = const Color(0xff5AC8FA); @override @@ -32,24 +32,24 @@ class LightMobileAppColors implements ThemeAppColors { final pink = const Color(0xffFF2D55); // new default grade colors @override - final gradeFive = const Color(0xff007D49); + final gradeFive = const Color(0xFF22CCAD); // @override - final gradeFour = const Color(0xFF34C759); + final gradeFour = const Color(0xFF92EA3B); // @override - final gradeThree = const Color(0xFFFFCC00); + final gradeThree = const Color(0xFFF9CF00); // @override - final gradeTwo = const Color(0xFFFF8008); + final gradeTwo = const Color(0xFFFFA046); // @override - final gradeOne = const Color(0xFFFF453A); + final gradeOne = const Color(0xFFFF54A1); // // ui v5 login @override - final loginPrimary = const Color(0xFF0A1C41); + final loginPrimary = const Color(0xFF394C0A); // @override - final loginSecondary = const Color(0xFF0A1C41); + final loginSecondary = const Color(0xCC394C0A); // @override - final inputBorder = const Color(0xFF586A8E); + final inputBorder = const Color(0xFFA7DC22); // @override - final loginBackground = const Color(0xFFEFF4FE); + final loginBackground = const Color(0xFFFAFFF0); // @override - final buttonBackground = const Color(0xFF0A1C41); + final buttonBackground = const Color(0xFFFEFFFD); // } diff --git a/refilc_kreta_api/lib/providers/share_provider.dart b/refilc_kreta_api/lib/providers/share_provider.dart index 2a4e3512..9a6536c6 100644 --- a/refilc_kreta_api/lib/providers/share_provider.dart +++ b/refilc_kreta_api/lib/providers/share_provider.dart @@ -6,6 +6,7 @@ import 'package:refilc/models/shared_theme.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:uuid/uuid.dart'; +import 'package:refilc/models/user.dart'; List? _cachedThemesJson; @@ -24,17 +25,23 @@ class ShareProvider extends ChangeNotifier { Future<(SharedTheme?, int)> shareCurrentTheme( BuildContext context, { bool isPublic = false, - bool shareNick = true, + bool shareNick = false, required SharedGradeColors gradeColors, String displayName = '', }) async { final SettingsProvider settings = Provider.of(context, listen: false); + String? nickname = _user.nickname; + + if (_user.nickname == _user.name || _user.nickname == '') { + nickname = 'Anonymous'; + } + Map themeJson = { 'public_id': const Uuid().v4(), 'is_public': isPublic, - 'nickname': shareNick ? _user.nickname : 'Anonymous', + 'nickname': shareNick ? nickname : 'Anonymous', 'display_name': displayName, 'background_color': (settings.customBackgroundColor ?? SettingsProvider.defaultSettings().customBackgroundColor) @@ -168,7 +175,7 @@ Future> getAllPublicThemes(BuildContext context, Map gradeColorsJson = { 'public_id': const Uuid().v4(), 'is_public': isPublic, - 'nickname': shareNick ? _user.nickname : 'Anonymous', + 'nickname': 'Anonymous', 'five_color': settings.gradeColors[4].value, 'four_color': settings.gradeColors[3].value, 'three_color': settings.gradeColors[2].value, diff --git a/refilc_mobile_ui/lib/screens/login/login_screen.dart b/refilc_mobile_ui/lib/screens/login/login_screen.dart index 0fc2edaa..c77a487d 100644 --- a/refilc_mobile_ui/lib/screens/login/login_screen.dart +++ b/refilc_mobile_ui/lib/screens/login/login_screen.dart @@ -51,10 +51,10 @@ class LoginScreenState extends State { super.initState(); showBack = widget.back; - SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle( + SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle( statusBarColor: Colors.transparent, - statusBarIconBrightness: Brightness.light, - systemNavigationBarColor: Colors.white, + statusBarIconBrightness: Brightness.dark, + systemNavigationBarColor: AppColors.of(context).loginBackground, systemNavigationBarIconBrightness: Brightness.dark, )); @@ -90,12 +90,12 @@ class LoginScreenState extends State { return Scaffold( body: Container( - decoration: const BoxDecoration(color: Color(0xFFDAE4F7)), + decoration: BoxDecoration(color: AppColors.of(context).loginBackground), child: SingleChildScrollView( physics: const ClampingScrollPhysics(), controller: _scrollController, child: Container( - decoration: const BoxDecoration(color: Color(0xFFDAE4F7)), + decoration: BoxDecoration(color: AppColors.of(context).loginBackground), width: MediaQuery.of(context).size.width, height: MediaQuery.of(context).size.height, child: SafeArea( @@ -111,10 +111,10 @@ class LoginScreenState extends State { width: 30.0, ), const SizedBox(width: 8), - const Text( - 'reFilc', + Text( + 'Firka', style: TextStyle( - color: Color(0xFF050B15), + color: AppColors.of(context).loginPrimary, fontSize: 18.0, fontWeight: FontWeight.bold, fontFamily: 'Montserrat'), @@ -162,8 +162,8 @@ class LoginScreenState extends State { children: [ Text( "welcome_title_$i".i18n, - style: const TextStyle( - color: Color(0xFF050B15), + style: TextStyle( + color: AppColors.of(context).loginPrimary, fontSize: 19, fontFamily: 'Montserrat', fontWeight: FontWeight.w700, @@ -176,8 +176,8 @@ class LoginScreenState extends State { right: 20), child: Text( "welcome_text_$i".i18n, - style: const TextStyle( - color: Color(0xFF050B15), + style: TextStyle( + color: AppColors.of(context).loginSecondary, fontFamily: 'FigTree', fontWeight: FontWeight.w500, @@ -204,9 +204,9 @@ class LoginScreenState extends State { Container( height: 280, width: double.infinity, - decoration: const BoxDecoration( + decoration: BoxDecoration( gradient: LinearGradient( - colors: [Color(0x00DAE4F7), Color(0xFFDAE4F7)], + colors: [AppColors.of(context).loginBackground.withAlpha(0), AppColors.of(context).loginBackground], stops: [0, 0.12], begin: Alignment.topCenter, end: Alignment.bottomCenter, @@ -247,8 +247,8 @@ class LoginScreenState extends State { MediaQuery.of(context) .viewInsets .bottom, - decoration: const BoxDecoration( - color: Color(0xFFDAE4F7), + decoration: BoxDecoration( + color: AppColors.of(context).loginBackground, borderRadius: BorderRadius.only( topRight: Radius.circular(24.0), @@ -268,9 +268,9 @@ class LoginScreenState extends State { vertical: 18), child: Container( decoration: - const BoxDecoration( + BoxDecoration( color: - Color(0xFFB9C8E5), + AppColors.of(context).loginPrimary, borderRadius: BorderRadius.only( topRight: @@ -333,9 +333,10 @@ class LoginScreenState extends State { }, child: Text( "login_w_kreta_acc".i18n, - style: const TextStyle( + style: TextStyle( fontFamily: 'Montserrat', fontSize: 16, + color: AppColors.of(context).loginPrimary, fontWeight: FontWeight.w700), )), ), diff --git a/refilc_mobile_ui/lib/screens/settings/submenu/share_theme_popup.dart b/refilc_mobile_ui/lib/screens/settings/submenu/share_theme_popup.dart index ac34212f..9a5b1533 100644 --- a/refilc_mobile_ui/lib/screens/settings/submenu/share_theme_popup.dart +++ b/refilc_mobile_ui/lib/screens/settings/submenu/share_theme_popup.dart @@ -46,6 +46,7 @@ class ShareThemeDialog extends StatefulWidget { class ShareThemeDialogState extends State { final _title = TextEditingController(); bool isPublic = false; + bool shareNick = false; late ShareProvider shareProvider; @@ -111,6 +112,19 @@ class ShareThemeDialogState extends State { title: Text("is_public".i18n), contentPadding: const EdgeInsets.only(left: 15.0, right: 10.0), ), + SwitchListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + value: shareNick, + onChanged: (value) { + setState(() { + shareNick = value; + }); + }, + title: Text("shareNickname".i18n), + contentPadding: const EdgeInsets.only(left: 15.0, right: 10.0), + ), ], ), ], @@ -160,6 +174,7 @@ class ShareThemeDialogState extends State { gradeColors: gradeColors!, isPublic: isPublic, displayName: _title.text, + shareNick: shareNick ); if (themeStatus == 429) { diff --git a/refilc_mobile_ui/lib/screens/settings/submenu/submenu_screen.i18n.dart b/refilc_mobile_ui/lib/screens/settings/submenu/submenu_screen.i18n.dart index 2765c140..3da4db17 100644 --- a/refilc_mobile_ui/lib/screens/settings/submenu/submenu_screen.i18n.dart +++ b/refilc_mobile_ui/lib/screens/settings/submenu/submenu_screen.i18n.dart @@ -37,6 +37,7 @@ extension SettingsLocalization on String { "secret": "Secret Settings", "goodstudent": "Good student mode", "presentation": "Presentation Mode", + "shareNickname": "Share Nickname", "goodstudent_disclaimer": "reFilc can not be held liable for the usage of this feature.\n\n(if your mother beats you up because you showed her fake grades, you can only blame yourself for it)", }, @@ -74,6 +75,7 @@ extension SettingsLocalization on String { "secret": "Titkos Beállítások", "goodstudent": "Jó tanuló mód", "presentation": "Bemutató mód", + "shareNickname": "Megosztás becenévvel", "goodstudent_disclaimer": "A reFilc minden felelősséget elhárít a funkció használatával kapcsolatban.\n\n(Értsd: ha az anyád megver, mert megtévesztő ábrákat mutattál neki, azért csakis magadat hibáztathatod.)", }, @@ -112,6 +114,7 @@ extension SettingsLocalization on String { "secret": "Geheime Einstellungen", "presentation": "Präsentationsmodus", "goodstudent": "Guter Student Modus", + "shareNickname": "Nach Spitznamen teilen", "goodstudent_disclaimer": "reFilc kann nicht für die Nutzung dieser Funktion haftbar gemacht werden.\n\n(Wenn deine Mutter dich verprügelt, weil du ihr falsche Noten gezeigt hast, kannst du dir nur die Schuld dafür geben)", },