Commit 22926dcb authored by Lila NICKLER's avatar Lila NICKLER

Ajout de la fonction favoris + update affichage

parent 552a7127
#Wed Feb 10 18:35:22 CET 2021
gradle.version=6.1.1
......@@ -11,9 +11,6 @@ class MediaItem {
String description;
String image;
String getName() {
return this.name;
}
......@@ -26,49 +23,6 @@ class MediaItem {
return this.image;
}
/* ListView mediaDisplay(MediaItem item) {
const TextStyle titleStyle = TextStyle(
fontSize: 30, fontWeight: FontWeight.bold, color: Colors.blue);
const TextStyle bodyStyle = TextStyle(fontSize: 11);
final alreadySaved = _saved.contains(MediaItem);
return ListView(
shrinkWrap: true,
physics: new NeverScrollableScrollPhysics(),
children: [
ListTile(
title: Text(
item.name, style: GoogleFonts.montserrat(textStyle: titleStyle),
textAlign: TextAlign.center,),
trailing: Icon(
alreadySaved ? Icons.favorite : Icons.favorite_border,
color: alreadySaved ? Colors.red : null),
onTap: () {
setState(() {
if (alreadySaved) {
_saved.remove(item);
} else {
_saved.add(item);
}
});
},
),
GridView.count(
crossAxisCount: 2,
physics: new NeverScrollableScrollPhysics(),
shrinkWrap: true,
children: [
Image.asset(item.image),
Align(alignment: Alignment.center,
child: Text(item.description,
style: GoogleFonts.montserrat(textStyle: bodyStyle),
textAlign: TextAlign.justify,)),
]),
],
);
}*/
MediaItem(String name, String desc, String image) {
this.name = name;
this.description = desc;
......@@ -77,25 +31,27 @@ class MediaItem {
}
class DataBase
{
static List <MediaItem> _listSeries= <MediaItem>[];
static List <MediaItem> listSeries= <MediaItem>[];
static List <MediaItem> _listGames = <MediaItem>[];
static List _saved = List <MediaItem>();
DataBase()
{
_listSeries.add(MediaItem(
listSeries.add(MediaItem(
"LES SIMPSON",
"Les Simpson, famille américaine moyenne, vivent à Springfield. Homer, le père, a deux passions : regarder la télé et boire des bières. Mais son quotidien est rarement reposant, entre son fils Bart qui fait toutes les bêtises possibles, sa fille Lisa qui est une surdouée, ou encore sa femme Marge qui ne supporte pas de le voir se soûler à longueur de journée.",
"assets/images/lesSimpson.jpg"));
_listSeries.add((MediaItem(
listSeries.add((MediaItem(
"DARK",
"Un enfant disparu lance quatre familles dans une quête éperdue pour trouver des réponses. La chasse au coupable fait émerger les péchés et les secrets d'une petite ville.",
"assets/images/dark.jpg")));
_listSeries.add((MediaItem(
listSeries.add((MediaItem(
"PEAKY BLINDERS",
"Birmingham, en 1919. Un gang familial règne sur un quartier de la ville : les Peaky Blinders, ainsi nommés pour les lames de rasoir qu'ils cachent dans la visière de leur casquette.",
"assets/images/peakyBlinders.jpg")));
_listSeries.add((MediaItem(
listSeries.add((MediaItem(
"BLACK MIRROR",
"Chaque épisode de cette anthologie montre la dépendance des hommes vis-à-vis de tout ce qui a un écran...",
'assets/images/blackmirror.jpg')));
......@@ -117,11 +73,15 @@ class DataBase
List <MediaItem> getlistSeries()
{
return _listSeries;
return listSeries;
}
List <MediaItem> getlistGames()
{
return _listGames;
}
List <MediaItem> getlistSaved()
{
return _saved;
}
}
import 'dart:developer';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:mediateque_tp1/Media.dart';
class Widget3000 extends StatefulWidget{
final List <MediaItem> list ;
final List <MediaItem> list;
final List <MediaItem> list_fav;
Widget3000({Key key, @required this.list}):super (key:key);
Widget3000({Key key, @required this.list, this.list_fav}):super (key:key);
@override
_Widget3000State createState() => _Widget3000State();
......@@ -15,13 +19,11 @@ class Widget3000 extends StatefulWidget{
class _Widget3000State extends State<Widget3000> {
_Widget3000State(): super();
final _saved = List <MediaItem>();
DataBase dataB = new DataBase();
ListView mediaDisplay(MediaItem item) {
const TextStyle titleStyle = TextStyle(fontSize: 30, fontWeight: FontWeight.bold, color: Colors.blue);
const TextStyle bodyStyle = TextStyle(fontSize: 11);
final alreadySaved = _saved.contains(MediaItem);
bool alreadySaved = widget.list_fav.contains(item);
return ListView(
shrinkWrap: true,
......@@ -32,21 +34,23 @@ class _Widget3000State extends State<Widget3000> {
item.name, style: GoogleFonts.montserrat(textStyle: titleStyle),
textAlign: TextAlign.center,),
trailing: Icon(
alreadySaved ? Icons.star_outline_outlined : Icons.star_border_outlined,
color: alreadySaved ? Colors.red : null),
alreadySaved ? Icons.star_outlined : Icons.star_outlined,
color: alreadySaved ? Colors.yellow : Colors.grey),
onTap: () {
setState(() {
if (alreadySaved) {
_saved.remove(item);
widget.list_fav.remove(item);
} else {
_saved.add(item);
widget.list_fav.add(item);
}
});
},
),
GridView.count(
crossAxisCount: 2,
crossAxisSpacing: 10,
physics: new NeverScrollableScrollPhysics(),
padding: const EdgeInsets.all(5) ,
shrinkWrap: true,
children: [
Image.asset(item.image),
......
......@@ -43,18 +43,16 @@ class _MyHomePageState extends State<MyHomePage> {
final List<int> colorCodes = <int>[600, 500, 100];
static DataBase db = new DataBase();
static Widget3000 affichageSeries =new Widget3000(list: db.getlistSeries());
static Widget3000 affichageGames ;//=new Widget3000(list: db.getlistGames());
static Widget3000 affichageSeries =new Widget3000(list: db.getlistSeries(),list_fav: db.getlistSaved());
static Widget3000 affichageGames =new Widget3000(list: db.getlistGames(),list_fav: db.getlistSaved());
static Widget3000 affichageFav =new Widget3000(list: db.getlistSaved(),list_fav: db.getlistSaved());
static List<Widget> _widgetOptions = <Widget>[
Text("Bienvenue dans votre Médiathèque",textAlign: TextAlign.center, style: GoogleFonts.montserrat(textStyle: TextStyle(fontSize: 40,color: Colors.blue))),
affichageSeries,
affichageGames,
Text (
'Mes favoris',
style: optionStyle,
)
affichageFav
];
void _onItemTapped(int index) {
......
## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Wed Feb 10 18:35:11 CET 2021
sdk.dir=C\:\\Users\\Lila\\AppData\\Local\\Android\\Sdk
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment