This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class AppWidget extends StatelessWidget { | |
| const AppWidget({Key? key}) : super(key: key); | |
| @override | |
| Widget build(BuildContext context) { | |
| return BlocBuilder<LocalizationCubit, LocalizationState>( | |
| builder: (context, state) { | |
| return MaterialApp( | |
| navigatorKey: navigatorKey, | |
| locale: state.appLanguage, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| listener: (context, state) { | |
| timerController!.duration = state.durationOfTimer; | |
| if (state.isTimerReset) { | |
| timerController!.reset(); | |
| NotificationApi.notifications.cancelAll(); | |
| } | |
| if (state.isTimerStopped) { | |
| timerController!.stop(); | |
| NotificationApi.notifications.cancelAll(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'package:freezed_annotation/freezed_annotation.dart'; | |
| part 'todo_model.freezed.dart'; | |
| @freezed | |
| class TodoModel with _$TodoModel { | |
| const factory TodoModel({ | |
| required String id, | |
| required String title, | |
| required bool isTodoCompleted, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| dependencies: | |
| flutter: | |
| sdk: flutter | |
| freezed_annotation: ^2.0.3 | |
| flutter_riverpod: ^1.0.4 | |
| uuid: ^3.0.6 | |
| sizer: ^2.0.15 | |
| dev_dependencies: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'package:freezed_annotation/freezed_annotation.dart'; | |
| import 'package:todo_list_riverpod/domain/todo_model.dart'; | |
| part 'todo_state.freezed.dart'; | |
| @freezed | |
| class TodoState with _$TodoState { | |
| factory TodoState({ | |
| required List<TodoModel> todoList, | |
| required TodoModel todo, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'package:freezed_annotation/freezed_annotation.dart'; | |
| part 'todo_event.freezed.dart'; | |
| @freezed | |
| class TodoEvent with _$TodoEvent { | |
| const factory TodoEvent.todoTitleChanged({required String text}) = TodoTitleChanged; | |
| const factory TodoEvent.todoStatusChanged({required String todoId}) = TodoStatusChanged; | |
| const factory TodoEvent.addTodo() = AddTodo; | |
| const factory TodoEvent.removeTodo({required String todoId}) = RemoveTodo; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'package:flutter_riverpod/flutter_riverpod.dart'; | |
| import 'package:todo_list_riverpod/application/todo/todo_event.dart'; | |
| import 'package:todo_list_riverpod/application/todo/todo_state.dart'; | |
| import 'package:todo_list_riverpod/domain/todo_model.dart'; | |
| import 'package:uuid/uuid.dart'; | |
| class TodoNotifier extends StateNotifier<TodoState> { | |
| TodoNotifier() : super(TodoState.empty()); | |
| final uuid = const Uuid(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'package:flutter_riverpod/flutter_riverpod.dart'; | |
| import 'package:todo_list_riverpod/application/todo/todo_notifier.dart'; | |
| import 'package:todo_list_riverpod/application/todo/todo_state.dart'; | |
| final todoNotifierProvider = StateNotifierProvider<TodoNotifier, TodoState>( | |
| (ref) { | |
| return TodoNotifier(); | |
| }, | |
| ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'package:flutter/material.dart'; | |
| import 'package:flutter_riverpod/flutter_riverpod.dart'; | |
| import 'package:todo_list_riverpod/presentation/core/app_widget.dart'; | |
| void main() { | |
| runApp( | |
| const ProviderScope( | |
| child: AppWidget(), | |
| ), | |
| ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'dart:io'; | |
| import 'package:flutter/material.dart'; | |
| import 'package:sizer/sizer.dart'; | |
| import 'package:todo_list_riverpod/presentation/pages/home_page/home_page.dart'; | |
| class AppWidget extends StatelessWidget { | |
| const AppWidget({Key? key}) : super(key: key); | |
| @override |