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 |