added test button and share provider to app
This commit is contained in:
parent
991097fa34
commit
070e3cf18c
@ -14,6 +14,7 @@ import 'package:filcnaplo/theme/theme.dart';
|
|||||||
import 'package:filcnaplo_kreta_api/client/client.dart';
|
import 'package:filcnaplo_kreta_api/client/client.dart';
|
||||||
import 'package:filcnaplo_kreta_api/providers/grade_provider.dart';
|
import 'package:filcnaplo_kreta_api/providers/grade_provider.dart';
|
||||||
import 'package:filcnaplo_premium/providers/goal_provider.dart';
|
import 'package:filcnaplo_premium/providers/goal_provider.dart';
|
||||||
|
import 'package:filcnaplo_premium/providers/share_provider.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@ -99,14 +100,19 @@ class App extends StatelessWidget {
|
|||||||
Provider<KretaClient>(create: (_) => kreta),
|
Provider<KretaClient>(create: (_) => kreta),
|
||||||
Provider<DatabaseProvider>(create: (context) => database),
|
Provider<DatabaseProvider>(create: (context) => database),
|
||||||
ChangeNotifierProvider<ThemeModeObserver>(
|
ChangeNotifierProvider<ThemeModeObserver>(
|
||||||
create: (context) =>
|
create: (context) => ThemeModeObserver(
|
||||||
ThemeModeObserver(initialTheme: settings.theme)),
|
initialTheme: settings.theme,
|
||||||
|
),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<NewsProvider>(
|
ChangeNotifierProvider<NewsProvider>(
|
||||||
create: (context) => NewsProvider(context: context)),
|
create: (context) => NewsProvider(context: context),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<UpdateProvider>(
|
ChangeNotifierProvider<UpdateProvider>(
|
||||||
create: (context) => UpdateProvider(context: context)),
|
create: (context) => UpdateProvider(context: context),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<AdProvider>(
|
ChangeNotifierProvider<AdProvider>(
|
||||||
create: (context) => AdProvider(context: context)),
|
create: (context) => AdProvider(context: context),
|
||||||
|
),
|
||||||
|
|
||||||
// user data (kreten) providers
|
// user data (kreten) providers
|
||||||
ChangeNotifierProvider<GradeProvider>(
|
ChangeNotifierProvider<GradeProvider>(
|
||||||
@ -114,21 +120,31 @@ class App extends StatelessWidget {
|
|||||||
settings: settings,
|
settings: settings,
|
||||||
user: user,
|
user: user,
|
||||||
database: database,
|
database: database,
|
||||||
kreta: kreta)),
|
kreta: kreta,
|
||||||
|
),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<TimetableProvider>(create: (_) => timetable),
|
ChangeNotifierProvider<TimetableProvider>(create: (_) => timetable),
|
||||||
ChangeNotifierProvider<ExamProvider>(
|
ChangeNotifierProvider<ExamProvider>(
|
||||||
create: (context) => ExamProvider(context: context)),
|
create: (context) => ExamProvider(context: context),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<HomeworkProvider>(
|
ChangeNotifierProvider<HomeworkProvider>(
|
||||||
create: (context) =>
|
create: (context) => HomeworkProvider(
|
||||||
HomeworkProvider(context: context, database: database)),
|
context: context,
|
||||||
|
database: database,
|
||||||
|
),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<MessageProvider>(
|
ChangeNotifierProvider<MessageProvider>(
|
||||||
create: (context) => MessageProvider(context: context)),
|
create: (context) => MessageProvider(context: context),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<NoteProvider>(
|
ChangeNotifierProvider<NoteProvider>(
|
||||||
create: (context) => NoteProvider(context: context)),
|
create: (context) => NoteProvider(context: context),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<EventProvider>(
|
ChangeNotifierProvider<EventProvider>(
|
||||||
create: (context) => EventProvider(context: context)),
|
create: (context) => EventProvider(context: context),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<AbsenceProvider>(
|
ChangeNotifierProvider<AbsenceProvider>(
|
||||||
create: (context) => AbsenceProvider(context: context)),
|
create: (context) => AbsenceProvider(context: context),
|
||||||
|
),
|
||||||
|
|
||||||
// other providers
|
// other providers
|
||||||
ChangeNotifierProvider<GradeCalculatorProvider>(
|
ChangeNotifierProvider<GradeCalculatorProvider>(
|
||||||
@ -136,12 +152,26 @@ class App extends StatelessWidget {
|
|||||||
settings: settings,
|
settings: settings,
|
||||||
user: user,
|
user: user,
|
||||||
database: database,
|
database: database,
|
||||||
kreta: kreta)),
|
kreta: kreta,
|
||||||
|
),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<LiveCardProvider>(
|
ChangeNotifierProvider<LiveCardProvider>(
|
||||||
create: (context) =>
|
create: (context) => LiveCardProvider(
|
||||||
LiveCardProvider(timetable: timetable, settings: settings)),
|
timetable: timetable,
|
||||||
|
settings: settings,
|
||||||
|
),
|
||||||
|
),
|
||||||
ChangeNotifierProvider<GoalProvider>(
|
ChangeNotifierProvider<GoalProvider>(
|
||||||
create: (context) => GoalProvider(database: database, user: user)),
|
create: (context) => GoalProvider(
|
||||||
|
database: database,
|
||||||
|
user: user,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ChangeNotifierProvider<ShareProvider>(
|
||||||
|
create: (context) => ShareProvider(
|
||||||
|
user: user,
|
||||||
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
child: Consumer<ThemeModeObserver>(
|
child: Consumer<ThemeModeObserver>(
|
||||||
builder: (context, themeMode, child) {
|
builder: (context, themeMode, child) {
|
||||||
|
@ -17,7 +17,7 @@ class ShareProvider extends ChangeNotifier {
|
|||||||
// Future<void> shareTheme({required SharedTheme theme}) async {
|
// Future<void> shareTheme({required SharedTheme theme}) async {
|
||||||
|
|
||||||
// }
|
// }
|
||||||
Future<void> shareCurrentTheme(BuildContext context,
|
Future<SharedTheme> shareCurrentTheme(BuildContext context,
|
||||||
{bool isPublic = false, bool shareNick = true}) async {
|
{bool isPublic = false, bool shareNick = true}) async {
|
||||||
final SettingsProvider settings = Provider.of<SettingsProvider>(context);
|
final SettingsProvider settings = Provider.of<SettingsProvider>(context);
|
||||||
|
|
||||||
@ -37,7 +37,8 @@ class ShareProvider extends ChangeNotifier {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SharedTheme theme = SharedTheme.fromJson(themeJson);
|
SharedTheme theme = SharedTheme.fromJson(themeJson);
|
||||||
|
|
||||||
FilcAPI.addSharedTheme(theme);
|
FilcAPI.addSharedTheme(theme);
|
||||||
|
|
||||||
|
return theme;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import 'package:filcnaplo/models/settings.dart';
|
import 'package:filcnaplo/models/settings.dart';
|
||||||
|
import 'package:filcnaplo/models/shared_theme.dart';
|
||||||
import 'package:filcnaplo/theme/colors/accent.dart';
|
import 'package:filcnaplo/theme/colors/accent.dart';
|
||||||
import 'package:filcnaplo/theme/colors/colors.dart';
|
import 'package:filcnaplo/theme/colors/colors.dart';
|
||||||
import 'package:filcnaplo/theme/observer.dart';
|
import 'package:filcnaplo/theme/observer.dart';
|
||||||
@ -13,6 +14,7 @@ import 'package:filcnaplo_mobile_ui/common/widgets/grade/new_grades.dart';
|
|||||||
import 'package:filcnaplo_mobile_ui/common/widgets/homework/homework_tile.dart';
|
import 'package:filcnaplo_mobile_ui/common/widgets/homework/homework_tile.dart';
|
||||||
import 'package:filcnaplo_premium/models/premium_scopes.dart';
|
import 'package:filcnaplo_premium/models/premium_scopes.dart';
|
||||||
import 'package:filcnaplo_premium/providers/premium_provider.dart';
|
import 'package:filcnaplo_premium/providers/premium_provider.dart';
|
||||||
|
import 'package:filcnaplo_premium/providers/share_provider.dart';
|
||||||
import 'package:filcnaplo_premium/ui/mobile/flutter_colorpicker/colorpicker.dart';
|
import 'package:filcnaplo_premium/ui/mobile/flutter_colorpicker/colorpicker.dart';
|
||||||
import 'package:filcnaplo_premium/ui/mobile/premium/upsell.dart';
|
import 'package:filcnaplo_premium/ui/mobile/premium/upsell.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@ -35,6 +37,7 @@ class _PremiumCustomAccentColorSettingState
|
|||||||
extends State<PremiumCustomAccentColorSetting>
|
extends State<PremiumCustomAccentColorSetting>
|
||||||
with TickerProviderStateMixin {
|
with TickerProviderStateMixin {
|
||||||
late final SettingsProvider settings;
|
late final SettingsProvider settings;
|
||||||
|
late final ShareProvider shareProvider;
|
||||||
bool colorSelection = false;
|
bool colorSelection = false;
|
||||||
bool customColorMenu = false;
|
bool customColorMenu = false;
|
||||||
CustomColorMode colorMode = CustomColorMode.theme;
|
CustomColorMode colorMode = CustomColorMode.theme;
|
||||||
@ -99,6 +102,7 @@ class _PremiumCustomAccentColorSettingState
|
|||||||
_colorsTabController = TabController(length: 4, vsync: this);
|
_colorsTabController = TabController(length: 4, vsync: this);
|
||||||
_testTabController = TabController(length: 4, vsync: this);
|
_testTabController = TabController(length: 4, vsync: this);
|
||||||
settings = Provider.of<SettingsProvider>(context, listen: false);
|
settings = Provider.of<SettingsProvider>(context, listen: false);
|
||||||
|
shareProvider = Provider.of<ShareProvider>(context, listen: false);
|
||||||
|
|
||||||
_openAnimController = AnimationController(
|
_openAnimController = AnimationController(
|
||||||
vsync: this, duration: const Duration(milliseconds: 750));
|
vsync: this, duration: const Duration(milliseconds: 750));
|
||||||
@ -238,15 +242,18 @@ class _PremiumCustomAccentColorSettingState
|
|||||||
focusColor: Colors.transparent,
|
focusColor: Colors.transparent,
|
||||||
highlightColor: Colors.transparent,
|
highlightColor: Colors.transparent,
|
||||||
splashColor: Colors.transparent,
|
splashColor: Colors.transparent,
|
||||||
onPressed: () {
|
onPressed: () async {
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
// ScaffoldMessenger.of(context).showSnackBar(
|
||||||
const SnackBar(
|
// const SnackBar(
|
||||||
duration: Duration(milliseconds: 1000),
|
// duration: Duration(milliseconds: 1000),
|
||||||
content: Text(
|
// content: Text(
|
||||||
"Hamarosan...",
|
// "Hamarosan...",
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
);
|
// );
|
||||||
|
SharedTheme theme =
|
||||||
|
await shareProvider.shareCurrentTheme(context);
|
||||||
|
print(theme.id);
|
||||||
},
|
},
|
||||||
icon: const Icon(
|
icon: const Icon(
|
||||||
FeatherIcons.share2,
|
FeatherIcons.share2,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user