Merge branch 'POSTS_FRIENDS_EKA-LDE'

pull/35/head
Lucas Delanier 2 years ago
commit 70a12290d7

@ -16,6 +16,13 @@
</list> </list>
</value> </value>
</entry> </entry>
<entry key="animations">
<value>
<list>
<option value="$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/animations-2.0.7/lib" />
</list>
</value>
</entry>
<entry key="another_flushbar"> <entry key="another_flushbar">
<value> <value>
<list> <list>
@ -798,6 +805,7 @@
<CLASSES> <CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/_flutterfire_internals-1.3.4/lib" /> <root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/_flutterfire_internals-1.3.4/lib" />
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/animated_appear-0.0.4/lib" /> <root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/animated_appear-0.0.4/lib" />
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/animations-2.0.7/lib" />
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/another_flushbar-1.12.30/lib" /> <root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/another_flushbar-1.12.30/lib" />
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/archive-3.3.7/lib" /> <root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/archive-3.3.7/lib" />
<root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0/lib" /> <root url="file://$USER_HOME$/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0/lib" />

@ -1 +1 @@
{"nm":"newScene","ddd":0,"h":506,"w":246,"meta":{"g":"LottieFiles Figma v38"},"layers":[{"ty":4,"nm":"","sr":1,"st":0,"op":55,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"nm":"","it":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[18.31699999999998,-14.117000000000019],[0,0],[4.924000000000007,-5.552999999999997],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.176000000000016,8.12299999999999],[0,0],[-4.0330000000000155,15.050000000000011],[0,0],[0,0]],"o":[[-15.049000000000007,-4.031999999999982],[0,0],[-8.12299999999999,-2.1759999999999877],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[7.271000000000015,-1.488999999999976],[0,0],[21.383999999999986,-8.803999999999974],[0,0],[0,0],[0,0]],"v":[[229.562,323.522],[173.235,338.521],[161.993,335.509],[142.666,343.701],[136.075,351.133],[146.207,353.848],[156.351,356.566],[164.059,369.916],[171.766,383.266],[169.048,393.41],[166.333,403.542],[176.065,401.551],[192.823,388.908],[195.836,377.666],[236.989,336.385],[239.707,326.24],[229.562,323.522]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[1.0389999999999873,-3.8759999999999764],[3.8770000000000095,1.038000000000011],[-1.0389999999999873,3.8770000000000095],[-3.8770000000000095,-1.0389999999999873]],"o":[[3.8760000000000048,1.038000000000011],[-1.0390000000000157,3.8770000000000095],[-3.8770000000000095,-1.0389999999999873],[1.038000000000011,-3.8770000000000095],[0,0]],"v":[[205.989,339.775],[211.127,348.674],[202.227,353.813],[197.089,344.913],[205.989,339.775]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[-7.138000000000005,4.120999999999981],[0,0],[0,0]],"o":[[0,0],[-6.4269999999999925,3.7110000000000127],[0,0],[0,0],[0,0],[0,0]],"v":[[149.08,369.664],[144.63,372.233],[132.909,387.9],[152.338,385.583],[156.788,383.014],[149.08,369.664]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[1,1,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[90],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[90],"t":5},{"s":[0],"t":25}]},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":5},{"s":[100],"t":25}]}}]}],"ind":1}],"v":"5.7.0","fr":60,"op":55,"ip":0,"assets":[]} {"nm":"newScene","ddd":0,"h":506,"w":246,"meta":{"g":"LottieFiles Figma v38"},"layers":[{"ty":4,"nm":"","sr":1,"st":0,"op":55,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"nm":"","it":[{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[18.31699999999998,-14.117000000000019],[0,0],[4.924000000000007,-5.552999999999997],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-2.176000000000016,8.12299999999999],[0,0],[-4.0330000000000155,15.050000000000011],[0,0],[0,0]],"o":[[-15.049000000000007,-4.031999999999982],[0,0],[-8.12299999999999,-2.1759999999999877],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[7.271000000000015,-1.488999999999976],[0,0],[21.383999999999986,-8.803999999999974],[0,0],[0,0],[0,0]],"v":[[229.562,323.522],[173.235,338.521],[161.993,335.509],[142.666,343.701],[136.075,351.133],[146.207,353.848],[156.351,356.566],[164.059,369.916],[171.766,383.266],[169.048,393.41],[166.333,403.542],[176.065,401.551],[192.823,388.908],[195.836,377.666],[236.989,336.385],[239.707,326.24],[229.562,323.522]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[1.0389999999999873,-3.8759999999999764],[3.8770000000000095,1.038000000000011],[-1.0389999999999873,3.8770000000000095],[-3.8770000000000095,-1.0389999999999873]],"o":[[3.8760000000000048,1.038000000000011],[-1.0390000000000157,3.8770000000000095],[-3.8770000000000095,-1.0389999999999873],[1.038000000000011,-3.8770000000000095],[0,0]],"v":[[205.989,339.775],[211.127,348.674],[202.227,353.813],[197.089,344.913],[205.989,339.775]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[-7.138000000000005,4.120999999999981],[0,0],[0,0]],"o":[[0,0],[-6.4269999999999925,3.7110000000000127],[0,0],[0,0],[0,0],[0,0]],"v":[[149.08,369.664],[144.63,372.233],[132.909,387.9],[152.338,385.583],[156.788,383.014],[149.08,369.664]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"","c":{"a":0,"k":[0.0471,0.0471,0.0471]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[90],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[90],"t":5},{"s":[0],"t":25}]},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":5},{"s":[100],"t":25}]}}]}],"ind":1}],"v":"5.7.0","fr":60,"op":55,"ip":0,"assets":[]}

@ -63,10 +63,7 @@ class _EditablePostComponentState extends State<EditablePostComponent> with Tick
Future pickImage(ImageSource source) async { Future pickImage(ImageSource source) async {
try { try {
final image = await ImagePicker().pickImage( final image = await ImagePicker().pickImage(source: source, imageQuality: 20);
source: source,
imageQuality: 20
);
if (image == null) return; if (image == null) return;
final imageTemp = File(image.path); final imageTemp = File(image.path);
setState(() { setState(() {
@ -130,69 +127,66 @@ class _EditablePostComponentState extends State<EditablePostComponent> with Tick
color: warningBttnColor, color: warningBttnColor,
child: Column( child: Column(
children: [ children: [
CircularRevealAnimation( Stack(
animation: animation, children: [
centerOffset: Offset(30.w, -100), AspectRatio(
child: Stack( aspectRatio: 1 / 1,
children: [ child: Container(
AspectRatio( decoration: BoxDecoration(
aspectRatio: 1 / 1, // add border
child: Container( border: Border.all(width: 3.0, color: grayColor),
decoration: BoxDecoration( // set border radius
// add border borderRadius: BorderRadius.circular(20),
border: Border.all(width: 3.0, color: grayColor), ),
// set border radius child: ClipRRect(
borderRadius: BorderRadius.circular(20), borderRadius: BorderRadius.circular(18),
), // implement image
child: ClipRRect( child: widget.music == null
borderRadius: BorderRadius.circular(18), ? Container(
// implement image color: grayColor,
child: widget.music == null width: double.infinity,
? Container( )
color: grayColor, : Image(
width: double.infinity, image: NetworkImage(widget.music?.cover ?? ""),
) fit: BoxFit.cover,
: Image( width: double.infinity,
image: NetworkImage(widget.music?.cover ?? ""), ),
),
),
),
image != null
? Positioned(
top: 10,
right: 10,
child: AnimatedAppear(
delay: Duration(milliseconds: 500),
duration: Duration(milliseconds: 400),
child: Container(
width: 110,
height: 110,
decoration: BoxDecoration(
image: DecorationImage(
image: FileImage(image!),
fit: BoxFit.cover, fit: BoxFit.cover,
width: double.infinity,
), ),
), color: grayColor,
), borderRadius: BorderRadius.circular(20),
), border: Border.all(style: BorderStyle.solid, color: Colors.white, width: 4)),
image != null child: ClipRRect(
? Positioned( borderRadius: BorderRadius.circular(20),
top: 10, child: InstaImageViewer(
right: 10, backgroundIsTransparent: true,
child: AnimatedAppear( child: Image(
delay: Duration(milliseconds: 500), image: FileImage(image!),
duration: Duration(milliseconds: 400), fit: BoxFit.cover,
child: Container(
width: 110,
height: 110,
decoration: BoxDecoration(
image: DecorationImage(
image: FileImage(image!),
fit: BoxFit.cover,
),
color: grayColor,
borderRadius: BorderRadius.circular(20),
border: Border.all(style: BorderStyle.solid, color: Colors.white, width: 4)),
child: ClipRRect(
borderRadius: BorderRadius.circular(20),
child: InstaImageViewer(
backgroundIsTransparent: true,
child: Image(
image: FileImage(image!),
fit: BoxFit.cover,
),
),
), ),
), ),
)) ),
: Container() ),
], ))
)), : Container()
],
),
widget.music != null widget.music != null
? Padding( ? Padding(
padding: const EdgeInsets.all(10), padding: const EdgeInsets.all(10),

@ -1,5 +1,6 @@
import 'package:flutter/Material.dart'; import 'package:flutter/Material.dart';
import 'package:justmusic/screens/add_friend_screen.dart'; import 'package:justmusic/screens/add_friend_screen.dart';
import 'package:justmusic/screens/feed_screen.dart';
import 'package:justmusic/screens/profile_screen.dart'; import 'package:justmusic/screens/profile_screen.dart';
Route routeProfile() { Route routeProfile() {
@ -37,3 +38,15 @@ Route routeAddFriend() {
}, },
); );
} }
Route routeRocket() {
return PageRouteBuilder(
pageBuilder: (context, animation, secondaryAnimation) => FeedScreen(),
transitionsBuilder: (context, animation, secondaryAnimation, child) {
return FadeTransition(
opacity: animation,
child: child,
);
},
);
}

@ -1,4 +1,5 @@
import 'package:flutter/Material.dart'; import 'package:flutter/Material.dart';
import 'package:justmusic/config/routes.dart';
import 'package:lottie/lottie.dart'; import 'package:lottie/lottie.dart';
import '../values/constants.dart'; import '../values/constants.dart';
@ -18,24 +19,24 @@ class _LaunchingRocketScreenState extends State<LaunchingRocketScreen> with Tick
@override @override
initState() { initState() {
_controller = AnimationController(vsync: this, duration: Duration(seconds: 3)); _controller = AnimationController(vsync: this, duration: Duration(seconds: 7));
_controller2 = AnimationController( _controller2 = AnimationController(
vsync: this, vsync: this,
duration: Duration(milliseconds: 800), duration: Duration(milliseconds: 900),
); );
final CurvedAnimation curve = CurvedAnimation(parent: _controller2, curve: Curves.easeIn); final CurvedAnimation curve = CurvedAnimation(parent: _controller2, curve: Curves.easeIn);
_animation = Tween<double>( _animation = Tween<double>(
begin: 0, begin: 0,
end: 1, end: 0.6,
).animate(curve); ).animate(curve);
_controller2.addStatusListener((status) { _controller2.addStatusListener((status) {
print("cccccccc"); print("cccccccc");
if (status == AnimationStatus.completed) { if (status == AnimationStatus.completed) {
Navigator.of(context).popUntil((route) => route.settings.name == '/feed'); Navigator.of(context).push(routeRocket());
} }
}); });
@ -100,7 +101,7 @@ class CirclePainter extends CustomPainter {
@override @override
void paint(Canvas canvas, Size size) { void paint(Canvas canvas, Size size) {
Paint paint = Paint()..color = Colors.white; Paint paint = Paint()..color = bgColor;
double radius = 50 * circlePosition; // Remplacez par le rayon souhaité de votre cercle double radius = 50 * circlePosition; // Remplacez par le rayon souhaité de votre cercle
Offset center = Offset(size.width / 2, size.height / 2); Offset center = Offset(size.width / 2, size.height / 2);

@ -1,8 +1,10 @@
import 'dart:io'; import 'dart:io';
import 'dart:ui'; import 'dart:ui';
import 'package:animations/animations.dart';
import 'package:flutter/Material.dart'; import 'package:flutter/Material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:justmusic/components/back_button.dart'; import 'package:justmusic/components/back_button.dart';
import 'package:justmusic/screens/launching_rocker_screen.dart';
import 'package:justmusic/screens/search_song_screen.dart'; import 'package:justmusic/screens/search_song_screen.dart';
import 'package:tuple/tuple.dart'; import 'package:tuple/tuple.dart';
import '../components/editable_post_component.dart'; import '../components/editable_post_component.dart';
@ -96,6 +98,7 @@ class _PostScreenState extends State<PostScreen> with SingleTickerProviderStateM
} }
quit() { quit() {
Navigator.of(context).pop();
Navigator.pushNamed(context, '/launchingRocket'); Navigator.pushNamed(context, '/launchingRocket');
} }
@ -146,9 +149,21 @@ class _PostScreenState extends State<PostScreen> with SingleTickerProviderStateM
SizedBox( SizedBox(
height: 40.h, height: 40.h,
), ),
PostButtonComponent( OpenContainer(
empty: selectedMusic == null, openBuilder: (context, closedContainer) {
callback: handleSubmit, return const LaunchingRocketScreen();
},
openColor: Colors.transparent,
closedShape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(100.0))),
closedColor: Colors.transparent,
closedElevation: 6,
transitionDuration: const Duration(milliseconds: 2000),
closedBuilder: (context, openContainer) {
return PostButtonComponent(
empty: selectedMusic == null,
callback: handleSubmit,
);
},
), ),
SizedBox( SizedBox(
height: 40.h, height: 40.h,

@ -17,6 +17,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.0.4" version: "0.0.4"
animations:
dependency: "direct main"
description:
name: animations
sha256: fe8a6bdca435f718bb1dc8a11661b2c22504c6da40ef934cee8327ed77934164
url: "https://pub.dev"
source: hosted
version: "2.0.7"
another_flushbar: another_flushbar:
dependency: "direct main" dependency: "direct main"
description: description:

@ -69,6 +69,7 @@ dependencies:
intl: ^0.18.1 intl: ^0.18.1
lottie: ^2.5.0 lottie: ^2.5.0
custom_refresh_indicator: ^2.2.1 custom_refresh_indicator: ^2.2.1
animations: ^2.0.7
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:

Loading…
Cancel
Save