Skip to content
Snippets Groups Projects
Commit bbd8fe53 authored by Himali Aryal's avatar Himali Aryal
Browse files

Merge branch 'list_entries' into 'master'

List entries

See merge request !3
parents b64ebfbe f8fd58b1
No related branches found
No related tags found
1 merge request!3List entries
......@@ -2,6 +2,8 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter_app/db/database_helper.dart';
class AddEmojis extends StatefulWidget {
@override
_AddEmojisState createState() => _AddEmojisState();
......
......@@ -37,7 +37,7 @@ class _AddEntryState extends State<AddEntry> {
String content = _contentController.text;
Map<String, String> diary = {
'title' : title,
'content' : content
'content' : content,
};
_ref.push().set(diary).then((value) {
Navigator.of(context).pop();
......
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class Emojis extends StatefulWidget {
@override
_EmojisState createState() => _EmojisState();
}
class _EmojisState extends State<Emojis> {
String _typeSelected ='';
@override
Widget _buildContactType(String title){
return InkWell(
child: Container(
height: 40,
width: 90,
decoration: BoxDecoration(
color: _typeSelected == title? Colors.green : Theme.of(context).accentColor,
borderRadius: BorderRadius.circular(15),
),
child: Center(child: Text(title, style: TextStyle(fontSize: 18,
color: Colors.white),
),),),
onTap: (){
setState(() {
_typeSelected = title;
});
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: SingleChildScrollView(
child: Stack(
children: <Widget>[
Row(
children: [
InkResponse(
onTap: () {
Navigator.of(context).pop();
},
child: Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: Colors.white,
border: Border.all(color: Colors.black12),
borderRadius: BorderRadius.circular(100),
boxShadow: [
BoxShadow(
color: Color(0xFF3C4858).withOpacity(.5),
offset: Offset(1.0, 10.0),
blurRadius: 10.0),
],
),
child: Icon(
Icons.arrow_downward,
semanticLabel: 'Back',
size: 22,
),
),
),
],
),
// SizedBox(height: 15,),
Column(
children: [
Container(
margin: EdgeInsets.all(15),
height: 40,
child: ListView(
scrollDirection: Axis.horizontal,
children: [
_buildContactType('Angry'),
SizedBox(width: 20,),
],
),
),
],
),
],
),
),
),
);
}
}
import 'package:cached_network_image/cached_network_image.dart';
import 'package:firebase_database/ui/firebase_animated_list.dart';
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter_app/ui/common/slide_up_route.dart';
import 'add_entries.dart';
class ListEntries extends StatefulWidget {
@override
_ListEntriesState createState() => _ListEntriesState();
}
class _ListEntriesState extends State<ListEntries> {
Query _ref;
DatabaseReference reference =
FirebaseDatabase.instance.reference().child('diary');
@override
void initState() {
// TODO: implement initState
super.initState();
_ref = FirebaseDatabase.instance
.reference()
.child('diary');
}
@override
Widget _buildDiaryEntry({Map diary}){
return GestureDetector(
onTap: () => Navigator.of(context).push(SlideUpRoute(widget: AddEntry())),
child: Container(
margin: EdgeInsets.only(bottom: 15.0, top: 15.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
LimitedBox(
maxWidth: MediaQuery.of(context).size.width * .9,
maxHeight: 280,
child: Stack(
children: <Widget>[
Container(
// imageUrl: 'https://images.unsplash.com/photo-1517423440428-a5a00ad493e8',
width: 200,
height: 250,
margin: EdgeInsets.only(left: 100),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
image: DecorationImage(
colorFilter: ColorFilter.mode(Color(0xFF3C4858), BlendMode.lighten),
image: CachedNetworkImageProvider(
"https://images.unsplash.com/photo-1517423440428-a5a00ad493e8"
),
fit: BoxFit.cover,
),
boxShadow: [
BoxShadow(
color: Color(0xFF3C4858).withOpacity(.4),
offset: Offset(5.0, 5.0),
blurRadius: 10.0),
],
),
),
Positioned(
left: 0.0,
top: 30.0,
//the center = (height of image container/2) - (height of this container/2)
child: Container(
width: 180,
height: 190,
alignment: Alignment.center,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.0),
boxShadow: [
BoxShadow(
color: Colors.black12,
offset: Offset(0.0, 0.0),
blurRadius: 10.0),
]),
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Column(
children: <Widget>[
Text(
diary['title'],
maxLines: 3,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color: Colors.black54,
fontWeight: FontWeight.bold,
fontSize: 20.0),
),
Expanded(
child: Column(
mainAxisAlignment:
MainAxisAlignment.end,
children: <Widget>[
Row(
children: <Widget>[
Icon(
Icons.event_note,
size: 18.0,
color: Color(0xFF3C4858),
),
Padding(
padding:
const EdgeInsets.all(8.0),
child: Text('Date'),
),
],
),
Row(
mainAxisAlignment:
MainAxisAlignment.end,
children: <Widget>[
Icon(
Icons.arrow_forward,
size: 26.0,
color: Colors.blueGrey,
)
],
),
],
),
)
],
),
),
),
),
],
),
),
],
),
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: FirebaseAnimatedList(query: _ref,
itemBuilder: (BuildContext context, DataSnapshot snapshot,
Animation<double> animation, int index) {
Map diary = snapshot.value;
diary['key'] = snapshot.key;
return _buildDiaryEntry(diary: diary);
},
),
),
);
// Consumer<EntryViewModel>(builder: (context, model, child) {
// List<Entry> entries = model.entries;
// if (model.viewStatus == ViewStatus.Loading) return LoadingView();
// if (entries.length < 1) return EmptyView();
// return ListView.builder(
// itemCount: entries.length,
// itemBuilder: (BuildContext context, int index) {
// final Entry entry = entries[index];
// final String heroTag = 'diary-image-${entry.id}';
//
// return GestureDetector(
// onTap: () => Navigator.of(context)
// .pushNamed(ViewEntry.routeName, arguments: entry),
// child: Container(
// margin: EdgeInsets.only(bottom: 15.0, top: 15.0),
// child: Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: <Widget>[
// LimitedBox(
// maxWidth: MediaQuery.of(context).size.width * .9,
// maxHeight: 280,
// child: Stack(
// children: <Widget>[
// CachedNetworkImage(
// imageUrl: entry.imageUrl,
// imageBuilder: (context, imageProvider) =>
// EntryImage(
// heroTag: heroTag,
// imageProvider: imageProvider,
// ),
// placeholder: (context, url) => EntryImage(
// heroTag: heroTag,
// imageProvider:
// AssetImage('images/entry_placeholder_image.jpg'),
// ),
// errorWidget: (context, url, error) => EntryImage(
// heroTag: heroTag,
// imageProvider:
// AssetImage('images/entry_placeholder_image.jpg'),
// ),
// ),
// Positioned(
// left: 0.0,
// top: 30.0,
// //the center = (height of image container/2) - (height of this container/2)
// child: Container(
// width: 180,
// height: 190,
// alignment: Alignment.center,
// decoration: BoxDecoration(
// color: Colors.white,
// borderRadius: BorderRadius.circular(10.0),
// boxShadow: [
// BoxShadow(
// color: Colors.black12,
// offset: Offset(0.0, 0.0),
// blurRadius: 10.0),
// ]),
// child: Padding(
// padding: const EdgeInsets.all(10.0),
// child: Column(
// children: <Widget>[
// Text(
// entry.title,
// maxLines: 3,
// overflow: TextOverflow.ellipsis,
// style: TextStyle(
// color: Colors.black54,
// fontWeight: FontWeight.bold,
// fontSize: 20.0),
// ),
// Expanded(
// child: Column(
// mainAxisAlignment:
// MainAxisAlignment.end,
// children: <Widget>[
// Row(
// children: <Widget>[
// Icon(
// Icons.event_note,
// size: 18.0,
// color: Color(0xFF3C4858),
// ),
// Padding(
// padding:
// const EdgeInsets.all(8.0),
// child: Text(entry.createdAt),
// ),
// ],
// ),
// Row(
// mainAxisAlignment:
// MainAxisAlignment.end,
// children: <Widget>[
// Icon(
// Icons.arrow_forward,
// size: 26.0,
// color: Colors.blueGrey,
// )
// ],
// ),
// ],
// ),
// )
// ],
// ),
// ),
// ),
// ),
// ],
// ),
// ),
// ],
// ),
// ),
// );
// });
// }),
// );
}
}
// class EmptyView extends StatelessWidget {
// @override
// Widget build(BuildContext context) {
// return Column(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
// children: <Widget>[
// Container(
// alignment: Alignment.center,
// margin: EdgeInsets.only(bottom: 15.0),
// child: Text(
// 'No entries yet',
// style: TextStyle(fontSize: 20.0),
// ),
// ),
// Container(
// alignment: Alignment.center,
// child: Text('Click the + button to start writing'),
// )
// ],
// );
// }
// }
\ No newline at end of file
// import 'dart:typed_data';
import 'package:flutter_app/ui/entries/add_entries.dart';
import 'package:flutter_app/ui/entries/emoji_entries.dart';
import 'package:flutter_app/ui/entries/image_uploader.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app/ui/common/slide_up_route.dart';
// import 'package:flutter_app/ui/entries/add_entries.dart';
import 'add_emojis.dart';
import 'package:flutter_app/ui/entries/range_slider.dart';
import 'list_entries.dart';
import 'sensor_input.dart';
class Selectentries extends StatefulWidget {
......@@ -52,7 +54,7 @@ class _SelectentriesState extends State<Selectentries> {
Column(
children: <Widget>[
GestureDetector(
onTap: () => Navigator.of(context).push(SlideUpRoute(widget: AddEntry())),
onTap: () => Navigator.of(context).push(SlideUpRoute(widget: ListEntries())),
child: Container(
margin: EdgeInsets.only(bottom: 10.0, top: 10.0),
child: Row(
......@@ -156,7 +158,7 @@ class _SelectentriesState extends State<Selectentries> {
// ),
// ),
GestureDetector(
onTap: () =>Navigator.of(context).push(SlideUpRoute(widget: AddEmojis())),
onTap: () =>Navigator.of(context).push(SlideUpRoute(widget: Emojis())),
child: Container(
margin: EdgeInsets.only(bottom: 10.0, top: 10.0),
child: Row(
......
import 'package:flutter/material.dart';
import 'package:flutter/material.dart';
// import 'package:provider/provider.dart';
// import 'package:flutter_app/view_model/entry.dart';
// import 'package:flutter_app/models/entries.dart';
// import 'package:flutter_app/view_model/base.dart';
// import 'view_entry.dart';
// import 'package:cached_network_image/cached_network_image.dart';
//
// class ListEntries extends StatefulWidget {
// @override
// _ListEntriesState createState() => _ListEntriesState();
// }
//
// class _ListEntriesState extends State<ListEntries> {
// EntryViewModel entryViewModel;
//
// @override
// void didChangeDependencies() {
// super.didChangeDependencies();
// final entryViewModel = Provider.of<EntryViewModel>(context);
// if (this.entryViewModel != entryViewModel) {
// this.entryViewModel = entryViewModel;
// Future.microtask(entryViewModel.getEntries);
// }
// }
//
// @override
// Widget build(BuildContext context) {
// return SafeArea(
// child: Consumer<EntryViewModel>(builder: (context, model, child) {
// List<Entry> entries = model.entries;
// if (model.viewStatus == ViewStatus.Loading) return LoadingView();
// if (entries.length < 1) return EmptyView();
// return ListView.builder(
// itemCount: entries.length,
// itemBuilder: (BuildContext context, int index) {
// final Entry entry = entries[index];
// final String heroTag = 'diary-image-${entry.id}';
//
// return GestureDetector(
// onTap: () => Navigator.of(context)
// .pushNamed(ViewEntry.routeName, arguments: entry),
// child: Container(
// margin: EdgeInsets.only(bottom: 15.0, top: 15.0),
// child: Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: <Widget>[
// LimitedBox(
// maxWidth: MediaQuery.of(context).size.width * .9,
// maxHeight: 280,
// child: Stack(
// children: <Widget>[
// CachedNetworkImage(
// imageUrl: entry.imageUrl,
// imageBuilder: (context, imageProvider) =>
// EntryImage(
// heroTag: heroTag,
// imageProvider: imageProvider,
// ),
// placeholder: (context, url) => EntryImage(
// heroTag: heroTag,
// imageProvider:
// AssetImage('images/entry_placeholder_image.jpg'),
// ),
// errorWidget: (context, url, error) => EntryImage(
// heroTag: heroTag,
// imageProvider:
// AssetImage('images/entry_placeholder_image.jpg'),
// ),
// ),
// Positioned(
// left: 0.0,
// top: 30.0,
// //the center = (height of image container/2) - (height of this container/2)
// child: Container(
// width: 180,
// height: 190,
// alignment: Alignment.center,
// decoration: BoxDecoration(
// color: Colors.white,
// borderRadius: BorderRadius.circular(10.0),
// boxShadow: [
// BoxShadow(
// color: Colors.black12,
// offset: Offset(0.0, 0.0),
// blurRadius: 10.0),
// ]),
// child: Padding(
// padding: const EdgeInsets.all(10.0),
// child: Column(
// children: <Widget>[
// Text(
// entry.title,
// maxLines: 3,
// overflow: TextOverflow.ellipsis,
// style: TextStyle(
// color: Colors.black54,
// fontWeight: FontWeight.bold,
// fontSize: 20.0),
// ),
// Expanded(
// child: Column(
// mainAxisAlignment:
// MainAxisAlignment.end,
// children: <Widget>[
// Row(
// children: <Widget>[
// Icon(
// Icons.event_note,
// size: 18.0,
// color: Color(0xFF3C4858),
// ),
// Padding(
// padding:
// const EdgeInsets.all(8.0),
// child: Text(entry.createdAt),
// ),
// ],
// ),
// Row(
// mainAxisAlignment:
// MainAxisAlignment.end,
// children: <Widget>[
// Icon(
// Icons.arrow_forward,
// size: 26.0,
// color: Colors.blueGrey,
// )
// ],
// ),
// ],
// ),
// )
// ],
// ),
// ),
// ),
// ),
// ],
// ),
// ),
// ],
// ),
// ),
// );
// });
// }),
// );
// }
// }
//
// class EntryImage extends StatelessWidget {
// final String heroTag;
// final ImageProvider imageProvider;
//
// const EntryImage({
// Key key,
// this.heroTag,
// this.imageProvider,
// }) : super(key: key);
//
// @override
// Widget build(BuildContext context) {
// return Hero(
// tag: imageProvider,
// child: Container(
// width: 200,
// height: 250,
// margin: EdgeInsets.only(left: 100),
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(10),
// image: DecorationImage(
// colorFilter:
// ColorFilter.mode(Color(0xFF3C4858), BlendMode.lighten),
// image: imageProvider,
// fit: BoxFit.cover),
// boxShadow: [
// BoxShadow(
// color: Color(0xFF3C4858).withOpacity(.4),
// offset: Offset(5.0, 5.0),
// blurRadius: 10.0),
// ],
// ),
// ),
// );
// }
// }
//
// class EmptyView extends StatelessWidget {
// @override
// Widget build(BuildContext context) {
// return Column(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
// children: <Widget>[
// Container(
// alignment: Alignment.center,
// margin: EdgeInsets.only(bottom: 15.0),
// child: Text(
// 'No entries yet',
// style: TextStyle(fontSize: 20.0),
// ),
// ),
// Container(
// alignment: Alignment.center,
// child: Text('Click the + button to start writing'),
// )
// ],
// );
// }
// }
//
// class LoadingView extends StatelessWidget {
// @override
// Widget build(BuildContext context) {
// return Column(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
// children: <Widget>[
// Container(
// alignment: Alignment.center,
// margin: EdgeInsets.only(bottom: 20),
// child: CircularProgressIndicator(
// valueColor: AlwaysStoppedAnimation(Color(0xFF3C4858)),
// ),
// ),
// Text('Fetching your entries '),
// ],
// );
// }
// }
......@@ -23,7 +23,7 @@ packages:
source: hosted
version: "2.1.0"
cached_network_image:
dependency: "direct dev"
dependency: "direct main"
description:
name: cached_network_image
url: "https://pub.dartlang.org"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment