fix playing song

PHOTO_PICKER_LDE
Lucas Delanier 2 years ago
parent a03decc7d9
commit 1abcd1a5a9

@ -1,5 +1,5 @@
buildscript { buildscript {
ext.kotlin_version = '1.6.10' ext.kotlin_version = '1.9.0'
repositories { repositories {
google() google()
mavenCentral() mavenCentral()

@ -0,0 +1,15 @@
import 'package:flutter/Material.dart';
import '../values/constants.dart';
class ButtonPostComponent extends StatelessWidget {
const ButtonPostComponent({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.fromLTRB(20, 5, 20, 5),
color: postbutton,
);
}
}

@ -1,71 +1,116 @@
import 'dart:io';
import 'package:auto_size_text/auto_size_text.dart'; import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/Material.dart'; import 'package:flutter/Material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:google_fonts/google_fonts.dart'; import 'package:google_fonts/google_fonts.dart';
import 'package:image_picker/image_picker.dart';
import 'package:justmusic/values/constants.dart'; import 'package:justmusic/values/constants.dart';
class EditablePostComponent extends StatefulWidget { class EditablePostComponent extends StatefulWidget {
const EditablePostComponent({Key? key}) : super(key: key); final Function callback;
const EditablePostComponent({Key? key, required this.callback})
: super(key: key);
@override @override
State<EditablePostComponent> createState() => _EditablePostComponentState(); State<EditablePostComponent> createState() => _EditablePostComponentState();
} }
class _EditablePostComponentState extends State<EditablePostComponent> { class _EditablePostComponentState extends State<EditablePostComponent> {
final ImagePicker picker = ImagePicker();
File? image;
Future pickImage() async {
try {
final image = await ImagePicker().pickImage(source: ImageSource.gallery);
if (image == null) return;
final imageTemp = File(image.path);
setState(() {
this.image = imageTemp;
});
} on PlatformException catch (e) {
print('Failed to pick image: $e');
}
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ClipRRect( return ClipRRect(
borderRadius: BorderRadius.circular(25), borderRadius: BorderRadius.circular(25),
child: Container( child: Container(
constraints: BoxConstraints(maxWidth: 400), constraints: BoxConstraints(maxWidth: 400, minHeight: 500),
width: double.infinity, width: double.infinity,
color: warningBttnColor, color: warningBttnColor,
child: Column( child: Stack(
alignment: Alignment.topCenter,
children: [ children: [
AspectRatio( AspectRatio(
aspectRatio: 1 / 1, aspectRatio: 1 / 1,
child: Container( child: GestureDetector(
decoration: BoxDecoration( onTap: () {
// add border print("cc");
border: Border.all(width: 3.0, color: grayColor), widget.callback;
// set border radius },
borderRadius: BorderRadius.circular(20), child: Container(
), decoration: BoxDecoration(
child: ClipRRect( // add border
borderRadius: BorderRadius.circular(18), border: Border.all(width: 3.0, color: grayColor),
// implement image // set border radius
child: const Image( borderRadius: BorderRadius.circular(20),
image: AssetImage("assets/images/exemple_cover.png"), ),
fit: BoxFit.cover, child: ClipRRect(
width: double.infinity, borderRadius: BorderRadius.circular(18),
// implement image
child: const Image(
image: AssetImage("assets/images/exemple_cover.png"),
fit: BoxFit.cover,
width: double.infinity,
),
),
), ),
)),
Positioned(
bottom: 40,
child: Padding(
padding: EdgeInsets.fromLTRB(15, 25, 15, 25),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
AutoSizeText(
"France, Lyon",
style: GoogleFonts.plusJakartaSans(
color: Colors.white, fontSize: 13.sp),
maxFontSize: 20,
),
image == null
? GestureDetector(
child: Image(
image:
AssetImage("assets/images/camera_icon.png"),
width: 30,
),
onTap: () {
print("cc2");
pickImage();
},
)
: Container(
height: 80,
width: 80,
child: Image.file(image!),
),
AutoSizeText(
"10 Juil. 2023",
style: GoogleFonts.plusJakartaSans(
color: Colors.white, fontSize: 13.sp),
maxFontSize: 20,
),
],
), ),
), ),
), ),
Padding(
padding: EdgeInsets.fromLTRB(15, 25, 15, 25),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
AutoSizeText(
"France, Lyon",
style: GoogleFonts.plusJakartaSans(
color: Colors.white, fontSize: 13.sp),
maxFontSize: 20,
),
Image(
image: AssetImage("assets/images/camera_icon.png"),
width: 30,
),
AutoSizeText(
"10 Juil. 2023",
style: GoogleFonts.plusJakartaSans(
color: Colors.white, fontSize: 13.sp),
maxFontSize: 20,
),
],
),
),
Padding( Padding(
padding: EdgeInsets.fromLTRB(15, 0, 10, 25), padding: EdgeInsets.fromLTRB(15, 0, 10, 25),
child: SizedBox( child: SizedBox(

@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:google_fonts/google_fonts.dart'; import 'package:google_fonts/google_fonts.dart';
import 'package:image_picker/image_picker.dart';
import '../components/comment_component.dart'; import '../components/comment_component.dart';
import '../components/post_component.dart'; import '../components/post_component.dart';
import '../components/top_nav_bar_component.dart'; import '../components/top_nav_bar_component.dart';

@ -103,10 +103,7 @@ class _PostScreenState extends State<PostScreen>
SizedBox( SizedBox(
height: 100.h, height: 100.h,
), ),
GestureDetector( EditablePostComponent(callback: openDetailPost),
onTap: openDetailPost,
child: EditablePostComponent(),
),
SizedBox( SizedBox(
height: 40.h, height: 40.h,
), ),

@ -20,6 +20,7 @@ const bgAppBar = Color(0xFF181818);
const grayText = Color(0xFF898989); const grayText = Color(0xFF898989);
const settingColor = Color(0xFF232323); const settingColor = Color(0xFF232323);
const searchBarColor = Color(0xFF161616); const searchBarColor = Color(0xFF161616);
const postbutton = Color(0xFF1B1B1B);
// All constants important too us // All constants important too us
const defaultPadding = 30.0; const defaultPadding = 30.0;

@ -113,14 +113,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.1" version: "1.17.1"
cross_file:
dependency: transitive
description:
name: cross_file
sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9"
url: "https://pub.dev"
source: hosted
version: "0.3.3+4"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.2" version: "3.0.3"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -161,6 +169,38 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.4" version: "6.1.4"
file_selector_linux:
dependency: transitive
description:
name: file_selector_linux
sha256: "770eb1ab057b5ae4326d1c24cc57710758b9a46026349d021d6311bd27580046"
url: "https://pub.dev"
source: hosted
version: "0.9.2"
file_selector_macos:
dependency: transitive
description:
name: file_selector_macos
sha256: "4ada532862917bf16e3adb3891fe3a5917a58bae03293e497082203a80909412"
url: "https://pub.dev"
source: hosted
version: "0.9.3+1"
file_selector_platform_interface:
dependency: transitive
description:
name: file_selector_platform_interface
sha256: "412705a646a0ae90f33f37acfae6a0f7cbc02222d6cd34e479421c3e74d3853c"
url: "https://pub.dev"
source: hosted
version: "2.6.0"
file_selector_windows:
dependency: transitive
description:
name: file_selector_windows
sha256: "1372760c6b389842b77156203308940558a2817360154084368608413835fc26"
url: "https://pub.dev"
source: hosted
version: "0.9.3"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@ -182,14 +222,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.2" version: "2.0.2"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: "950e77c2bbe1692bc0874fc7fb491b96a4dc340457f4ea1641443d0a6c1ea360"
url: "https://pub.dev"
source: hosted
version: "2.0.15"
flutter_screenutil: flutter_screenutil:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_screenutil name: flutter_screenutil
sha256: "0a122936b450324cbdfd51be0819cc6fcebb093eb65585e9cd92263f7a1a8a39" sha256: "1b61f8c4cbf965104b6ca7160880ff1af6755aad7fec70b58444245132453745"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.7.0" version: "5.8.4"
flutter_signin_button: flutter_signin_button:
dependency: "direct main" dependency: "direct main"
description: description:
@ -244,10 +292,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: http name: http
sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482" sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.13.5" version: "0.13.6"
http_parser: http_parser:
dependency: transitive dependency: transitive
description: description:
@ -256,6 +304,70 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.2" version: "4.0.2"
image_picker:
dependency: "direct main"
description:
name: image_picker
sha256: "6296e98782726d37f59663f0727d0e978eee1ced1ffed45ccaba591786a7f7b3"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
image_picker_android:
dependency: transitive
description:
name: image_picker_android
sha256: "8179b54039b50eee561676232304f487602e2950ffb3e8995ed9034d6505ca34"
url: "https://pub.dev"
source: hosted
version: "0.8.7+4"
image_picker_for_web:
dependency: transitive
description:
name: image_picker_for_web
sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
image_picker_ios:
dependency: transitive
description:
name: image_picker_ios
sha256: b3e2f21feb28b24dd73a35d7ad6e83f568337c70afab5eabac876e23803f264b
url: "https://pub.dev"
source: hosted
version: "0.8.8"
image_picker_linux:
dependency: transitive
description:
name: image_picker_linux
sha256: "02cbc21fe1706b97942b575966e5fbbeaac535e76deef70d3a242e4afb857831"
url: "https://pub.dev"
source: hosted
version: "0.2.1"
image_picker_macos:
dependency: transitive
description:
name: image_picker_macos
sha256: cee2aa86c56780c13af2c77b5f2f72973464db204569e1ba2dd744459a065af4
url: "https://pub.dev"
source: hosted
version: "0.2.1"
image_picker_platform_interface:
dependency: transitive
description:
name: image_picker_platform_interface
sha256: c1134543ae2187e85299996d21c526b2f403854994026d575ae4cf30d7bb2a32
url: "https://pub.dev"
source: hosted
version: "2.9.0"
image_picker_windows:
dependency: transitive
description:
name: image_picker_windows
sha256: c3066601ea42113922232c7b7b3330a2d86f029f685bba99d82c30e799914952
url: "https://pub.dev"
source: hosted
version: "0.2.1"
ionicons: ionicons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -276,10 +388,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "2.1.1"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -304,6 +416,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.9.1"
mime:
dependency: transitive
description:
name: mime
sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
url: "https://pub.dev"
source: hosted
version: "1.0.4"
modal_bottom_sheet: modal_bottom_sheet:
dependency: "direct main" dependency: "direct main"
description: description:
@ -497,10 +617,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" sha256: f2add6fa510d3ae152903412227bda57d0d5a8da61d2c39c1fb022c9429a41c0
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.4" version: "5.0.6"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
@ -518,5 +638,5 @@ packages:
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
sdks: sdks:
dart: ">=3.0.0-0 <4.0.0" dart: ">=3.0.0 <4.0.0"
flutter: ">=3.3.0" flutter: ">=3.10.0"

@ -53,6 +53,7 @@ dependencies:
audioplayers: ^4.1.0 audioplayers: ^4.1.0
ionicons: ^0.2.2 ionicons: ^0.2.2
top_snackbar_flutter: ^3.1.0 top_snackbar_flutter: ^3.1.0
image_picker: ^1.0.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:

Loading…
Cancel
Save