Skip to content

Instantly share code, notes, and snippets.

View burakJs's full-sized avatar
👨‍💻
Working

Burak İmdat burakJs

👨‍💻
Working
View GitHub Profile
{
"search.followSymlinks": false,
/// CUSTOMIZATION
"editor.fontSize": 13.5,
"terminal.integrated.fontSize": 13.5,
"debug.console.fontSize": 13.5,
// "editor.fontSize": 20,
// "terminal.integrated.fontSize": 20,
// "debug.console.fontSize": 20,
"editor.fontWeight": "600",
return ElevatedButton(
onPressed: () {
context.read<TodoCubit>().addTodo(Todo(todoText: _controller.text.trim(), createdAt: Timestamp.now()));
_controller.text = '';
},
child: Text(_addButtonText),
);
return Dismissible(
key: UniqueKey(),
child: BlocBuilder<TodoCubit, TodoState>(
builder: (context, state) {
if (state is TodoLoading) {
return const Center(child: CircularProgressIndicator());
} else if (state is TodoInitial) {
return Center(child: Text(_initialText));
} else if (state is TodoSuccess) {
var todoList = state.todos ?? dummyList;
return ListView.builder(
itemCount: todoList.length,
TodoCubit({ITodoRepository? todoRepository})
: _todoRepository = todoRepository ?? TodoRepository(),
super(TodoInitial());
final ITodoRepository _todoRepository;
class TodoCubit extends Cubit<TodoState> {
TodoCubit({ITodoRepository? todoRepository})
: _todoRepository = todoRepository ?? TodoRepository(),
super(TodoInitial());
final ITodoRepository _todoRepository;
Future<void> getAllTodo() async {
emit(TodoLoading());
final results = await _todoRepository.getAllTodos();
abstract class TodoState {
TodoState();
}
class TodoInitial extends TodoState {
TodoInitial();
}
class TodoLoading extends TodoState {
TodoLoading();
@override
Future<void> addTodo(Todo todo) async {
await firestore.collection(_collectionPath).add(todo.toJson());
}
@override
Future<void> removeTodo(Todo todo) async {
await firestore.collection(_collectionPath).doc(todo.id).delete();
}
Todo todoFromJson(String str) => Todo.fromJson(json.decode(str));
String todoToJson(Todo data) => json.encode(data.toJson());
class Todo {
String? id;
final String todoText;
final Timestamp createdAt;
Todo({required this.todoText, required this.createdAt, this.id});
Future<List<Todo>> getAllTodos() async {
List<Todo> todos = [];
final results = await firestore.collection(_collectionPath).orderBy(_orderField).get();
for (var snapshot in results.docs) {
Todo newTodo = Todo.fromJson(snapshot.data());
newTodo.id = snapshot.id;
todos.add(newTodo);
}
return todos;
}
import 'dart:convert';
import 'dart:io';
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';
class CSVLineChart extends StatefulWidget {
@override
State<StatefulWidget> createState() => CSVLineChartState();
}