Aggiornamento note e pulsanti.
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
|
import 'package:path/path.dart';
|
||||||
import 'package:progetto_m335_flutter/model/note.dart';
|
import 'package:progetto_m335_flutter/model/note.dart';
|
||||||
|
import 'package:sqflite/sqflite.dart';
|
||||||
|
|
||||||
class Database{
|
class Database{
|
||||||
static final Database _instance = Database._init();
|
static final Database _instance = Database._init();
|
||||||
@@ -22,6 +24,7 @@ class Database{
|
|||||||
|
|
||||||
)
|
)
|
||||||
''');
|
''');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
execute(String s) {
|
execute(String s) {
|
||||||
|
|||||||
@@ -1,6 +1,22 @@
|
|||||||
|
import 'dart:math';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'CreateNewNote.dart';
|
||||||
import 'NoteDetailView.dart';
|
import 'NoteDetailView.dart';
|
||||||
|
|
||||||
|
class Note {
|
||||||
|
late String title;
|
||||||
|
late Map<String, dynamic> content;
|
||||||
|
late DateTime startDate;
|
||||||
|
late DateTime modifyDate;
|
||||||
|
|
||||||
|
Note({
|
||||||
|
required this.title,
|
||||||
|
required this.content,
|
||||||
|
required this.startDate,
|
||||||
|
required this.modifyDate,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
class NotesView extends StatefulWidget {
|
class NotesView extends StatefulWidget {
|
||||||
const NotesView({Key? key}) : super(key: key);
|
const NotesView({Key? key}) : super(key: key);
|
||||||
|
|
||||||
@@ -9,23 +25,89 @@ class NotesView extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _NotesViewState extends State<NotesView> {
|
class _NotesViewState extends State<NotesView> {
|
||||||
|
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<Note> generateRandomNotes(int count) {
|
||||||
|
final List<String> 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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final List<Note> notes = generateRandomNotes(10);
|
||||||
|
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: Text('Note'),
|
title: Text('Note'),
|
||||||
|
backgroundColor: Colors.blue,
|
||||||
),
|
),
|
||||||
floatingActionButton: FloatingActionButton(
|
floatingActionButton: FloatingActionButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
|
Navigator.of(context).push(
|
||||||
|
MaterialPageRoute(
|
||||||
|
builder: (context) => const CreateNewNote(),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
child: Icon(Icons.add),
|
||||||
|
backgroundColor: Colors.blue,
|
||||||
|
),
|
||||||
|
body: Container(
|
||||||
|
color: Colors.blue[50],
|
||||||
|
child: ListView.builder(
|
||||||
|
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(
|
||||||
|
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(
|
Navigator.of(context).push(
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) => const NoteDetailView(),
|
builder: (context) => const NoteDetailView(),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: Icon(Icons.add),
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user