From 0d53d1421f21988ad8e409e2f406f7c32a866ea0 Mon Sep 17 00:00:00 2001 From: lama137 <99168742+lama137@users.noreply.github.com> Date: Thu, 28 Sep 2023 13:22:47 +0200 Subject: [PATCH] Aggiornamento note e pulsanti. --- lib/pages/NotesView.dart | 73 +++++++++++++++++++++++++++++++++++----- pubspec.yaml | 3 +- 2 files changed, 66 insertions(+), 10 deletions(-) diff --git a/lib/pages/NotesView.dart b/lib/pages/NotesView.dart index b6a5f2c..f106c83 100644 --- a/lib/pages/NotesView.dart +++ b/lib/pages/NotesView.dart @@ -1,7 +1,21 @@ +import 'dart:math'; import 'package:flutter/material.dart'; import 'CreateNewNote.dart'; import 'NoteDetailView.dart'; +class Note { + late String title; + late Map content; + late DateTime startDate; + late DateTime modifyDate; + + Note({ + required this.title, + required this.content, + required this.startDate, + required this.modifyDate, + }); +} class NotesView extends StatefulWidget { const NotesView({Key? key}) : super(key: key); @@ -11,13 +25,44 @@ class NotesView extends StatefulWidget { } class _NotesViewState extends State { + DateTime randomDate(DateTime start, DateTime end) { + final random = Random(); + final dayDifference = end.difference(start).inDays; + final randomDays = random.nextInt(dayDifference + 1); + return start.add(Duration(days: randomDays)); + } + + List generateRandomNotes(int count) { + final List titles = ["Nota 1", "Nota 2", "Nota 3", "Nota 4"]; + + final DateTime now = DateTime.now(); + + return List.generate(count, (index) { + final title = titles[index % titles.length]; + final content = { + 'Desc': 'Descrizione', + }; + final startDate = randomDate(DateTime(2023, 1, 1), now); + final modifyDate = randomDate(startDate, now); + + return Note( + title: title, + content: content, + startDate: startDate, + modifyDate: modifyDate, + ); + }); + } @override Widget build(BuildContext context) { + final List notes = generateRandomNotes(10); + + return Scaffold( appBar: AppBar( - title: Text('Note', style: TextStyle(color: Colors.white),), - backgroundColor: Colors.lightBlue.shade900, + title: Text('Note'), + backgroundColor: Colors.blue, ), floatingActionButton: FloatingActionButton( onPressed: () { @@ -27,21 +72,31 @@ class _NotesViewState extends State { ), ); }, + child: Icon(Icons.add), - backgroundColor: Colors.lightBlue.shade900, + backgroundColor: Colors.blue, ), - - body: Container( + color: Colors.blue[50], child: ListView.builder( - itemCount: 5, + itemCount: notes.length, itemBuilder: (context, index) { + final note = notes[index]; return Card( color: Colors.white, - + elevation: 2.0, + margin: EdgeInsets.all(8.0), child: ListTile( - title: Text("ciao", style: TextStyle(color: Colors.lightBlue.shade900, fontWeight: FontWeight.bold),), - subtitle: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [Text('Descrizione della nota:'),],), + title: Text( + note.title, + style: TextStyle(color: Colors.blue, fontWeight: FontWeight.bold), + ), + subtitle: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Descrizione della nota: ${notes.first.content}'), + ], + ), onTap: () { Navigator.of(context).push( MaterialPageRoute( diff --git a/pubspec.yaml b/pubspec.yaml index 84d5e35..5ee74ca 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -30,7 +30,8 @@ environment: dependencies: flutter: sdk: flutter - + sqflite: + path: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons.