Skip to content

Instantly share code, notes, and snippets.

View lukaszciastko's full-sized avatar

Lukasz Ciastko lukaszciastko

View GitHub Profile
import 'package:flutter/material.dart';
import 'package:view_model/view_model.dart';
import 'package:view_model_tasks/task.dart';
import 'package:view_model_tasks/task_list_view_model.dart';
class TaskListPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ViewModelBuilder<TaskListViewModel>(
viewModel: () => TaskListViewModel(),
import 'package:flutter/material.dart';
import 'package:view_model_tasks/task_list_page.dart';
void main() => runApp(TasksApp());
class TasksApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Tasks',
import 'package:view_model/view_model.dart';
import 'package:view_model_tasks/task.dart';
class TaskListViewModel extends ViewModel {
final List<Task> tasks = <Task>[
const Task(id: 0, name: 'Create a new Flutter app'),
];
}
import 'package:meta/meta.dart';
class Task {
const Task({this.id, @required this.name, this.isComplete = false});
final int id;
final String name;
final bool isComplete;
Task copyWith({int id, String name, bool isComplete}) {