Skip to content

Commit

Permalink
merge work with no category screen
Browse files Browse the repository at this point in the history
  • Loading branch information
Kero-83 committed Apr 19, 2024
1 parent 4677c39 commit a6ec81e
Show file tree
Hide file tree
Showing 13 changed files with 835 additions and 192 deletions.
5 changes: 1 addition & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,4 @@ app.*.map.json
/android/app/debug
/android/app/profile
/android/app/release
/lib/screens/home_screen_v2.dart
/lib/screens/movie_detail_screen.dart
/lib/services/API
/lib/services/Database helper.dart
/lib/screens/home_screen.dart
18 changes: 14 additions & 4 deletions lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
// ignore_for_file: prefer_const_constructors, prefer_final_fields, prefer_const_literals_to_create_immutables

import 'package:flutter/material.dart';
import 'package:movie_app/models/movie_model.dart';
import 'package:movie_app/screens/category_screen.dart';
import 'package:movie_app/screens/home_screen.dart';
import 'package:movie_app/screens/favourite_screen.dart';
import 'package:movie_app/screens/home_screen_v2.dart';
import 'package:movie_app/screens/settings_screen.dart';
import 'package:movie_app/screens/wishlist_screen.dart';
import 'package:movie_app/services/API/api.dart';
import 'package:movie_app/services/Database%20helper.dart';


void main() {
runApp(const MyApp());
Expand Down Expand Up @@ -39,10 +43,16 @@ class MovieApp extends StatefulWidget {
class _MovieAppState extends State<MovieApp> {
int _selectedIndex = 0;


@override
void initState() {
super.initState();
Database_helper.instance.createDatabase();
}
static List<Widget> _widgets = <Widget>[
HomeScreen(),
MyHomePage(),
CategoryScreen(),
WishlistScreen(),
fav_screen(),
SettingsScreen()
];

Expand Down
34 changes: 34 additions & 0 deletions lib/models/movie_model.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import 'package:flutter/foundation.dart';

class Movie_model {
late int id;
late double populartiy;
late String title;
late String posterPath;
late bool adult;
late String backDropPath;
late String overview;
late String language;
late double rating;
late String date;
Movie_model({ required this.id,required this.populartiy,required this.title,required this.posterPath,required this.adult,required this.backDropPath,required this.overview,
required this.language,required this.rating ,required this.date});
factory Movie_model.fromMap(Map<String,dynamic> map)
{
return Movie_model(id:map['id'],populartiy: map['popularity'],title: map['title'], posterPath: map['poster_path'], adult: map['adult'], backDropPath: map['backdrop_path'], overview: map['overview'], language: map['original_language'], rating: map['vote_average'], date: map['release_date']);
}
Map<String,dynamic> toMap(){
return {
'id':id,
'popularity':populartiy,
'title':title,
'poster_path':posterPath,
'adult':adult,
'backdrop_path':backDropPath,
'overview':overview,
'original_language':language,
'vote_average':rating,
'release_date':date
};
}
}
133 changes: 133 additions & 0 deletions lib/screens/favourite_screen.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:movie_app/services/Database%20helper.dart';

class fav_screen extends StatefulWidget {
@override
State<fav_screen> createState() => _fav_screenState();
}

class _fav_screenState extends State<fav_screen> {
@override
void initState() {
super.initState();
_loadFavorites();
Database_helper.instance.favoriteNotifier.addListener(_onFavoritesChanged);
}

@override
void dispose() {
Database_helper.instance.favoriteNotifier
.removeListener(_onFavoritesChanged);
super.dispose();
}

void _onFavoritesChanged() {
if (mounted) {
_loadFavorites();
}
}

Future<void> _loadFavorites() async {
movies =
await Database_helper.instance.getDataFromDatabase(Database_helper.db);
if (mounted) {
setState(() {
movies = movies;
});
}
}

@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
appBar: AppBar(
elevation: 0,
backgroundColor: Colors.black,
title: Text(
"My List ",
style: GoogleFonts.montserrat(
fontSize: 22,
fontWeight: FontWeight.bold,
fontStyle: FontStyle.italic,
color: Colors.white,
),
),
),
body: ListView.builder(
itemCount: movies.length,
itemBuilder: (context, index) => Padding(
padding: const EdgeInsets.only(top: 10,bottom: 10,left: 7),
child: Row(
children: [
Expanded(
child: Container(
//margin: EdgeInsets.symmetric(horizontal: 5),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(15)
),
child: ClipRRect(
borderRadius: BorderRadius.circular(15),
child:Image.network(
"https://image.tmdb.org/t/p/original/${movies[index]['image']}",
height: 100,
width: double.infinity,
fit: BoxFit.cover,) ,
),
),
),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 12.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
movies[index]['title'],
//overflow: TextOverflow.ellipsis,
style: GoogleFonts.montserrat(
fontSize: 15,
fontWeight: FontWeight.bold,
fontStyle: FontStyle.italic,
color: Colors.white,
),
),
],
),
),
),
IconButton(
icon: Icon(
Icons.delete,
color: Colors.white,
),
onPressed: () async {
await Database_helper.instance
.deleteFromDatabase(movies[index]['id']);
_loadFavorites();
},
),
],
)),
),
);
}
}
// ListTile(
// leading: Image.network("https://image.tmdb.org/t/p/original/${movies[index]['image']}",),
// title: Text(movies[index]['title'],style: GoogleFonts.montserrat(
// fontSize: 20,
// fontWeight: FontWeight.bold,
// fontStyle: FontStyle.italic,
// color: Colors.white,
// ),),
// trailing: IconButton(
// icon: Icon(Icons.delete,color: Colors.white,),
// onPressed: () async{
// await Database_helper.instance.deleteFromDatabase(movies[index]['id']);
// _loadFavorites();
// },
// ),),${movies[index]['image']}
173 changes: 0 additions & 173 deletions lib/screens/home_screen.dart

This file was deleted.

Loading

0 comments on commit a6ec81e

Please sign in to comment.