parent
ffc8e24ea3
commit
9f9b52d385
@ -1,113 +1,113 @@
|
||||
import 'package:auto_size_text/auto_size_text.dart';
|
||||
import 'package:flutter/Material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:justmusic/values/constants.dart';
|
||||
|
||||
class EditablePostComponent extends StatefulWidget {
|
||||
const EditablePostComponent({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<EditablePostComponent> createState() => _EditablePostComponentState();
|
||||
}
|
||||
|
||||
class _EditablePostComponentState extends State<EditablePostComponent> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ClipRRect(
|
||||
borderRadius: BorderRadius.circular(25),
|
||||
child: Container(
|
||||
constraints: BoxConstraints(maxWidth: 400),
|
||||
width: double.infinity,
|
||||
color: warningBttnColor,
|
||||
child: Column(
|
||||
children: [
|
||||
AspectRatio(
|
||||
aspectRatio: 1 / 1,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
// add border
|
||||
border: Border.all(width: 3.0, color: grayColor),
|
||||
// set border radius
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
),
|
||||
child: ClipRRect(
|
||||
borderRadius: BorderRadius.circular(18),
|
||||
// implement image
|
||||
child: const Image(
|
||||
image: AssetImage("assets/images/exemple_cover.png"),
|
||||
fit: BoxFit.cover,
|
||||
width: double.infinity,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
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: EdgeInsets.fromLTRB(15, 0, 10, 25),
|
||||
child: SizedBox(
|
||||
width: double.infinity,
|
||||
child: TextFormField(
|
||||
keyboardAppearance: Brightness.dark,
|
||||
minLines: 1,
|
||||
cursorColor: primaryColor,
|
||||
style: GoogleFonts.plusJakartaSans(
|
||||
color: Colors.white,
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w300),
|
||||
maxLines: 4,
|
||||
maxLength: 120,
|
||||
decoration: InputDecoration(
|
||||
counterStyle: GoogleFonts.plusJakartaSans(
|
||||
color: grayText, fontSize: 9),
|
||||
focusedBorder: const OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(width: 0, color: Colors.transparent),
|
||||
borderRadius:
|
||||
BorderRadius.all(Radius.circular(10))),
|
||||
contentPadding:
|
||||
const EdgeInsets.only(top: 0, bottom: 0, left: 0),
|
||||
fillColor: Colors.transparent,
|
||||
filled: true,
|
||||
focusColor: Colors.transparent,
|
||||
enabledBorder: const OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(width: 0, color: Colors.transparent),
|
||||
borderRadius:
|
||||
BorderRadius.all(Radius.circular(10))),
|
||||
hintText: 'Description...',
|
||||
hintStyle: GoogleFonts.plusJakartaSans(
|
||||
color: grayText,
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w300),
|
||||
),
|
||||
),
|
||||
)),
|
||||
],
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
import 'package:auto_size_text/auto_size_text.dart';
|
||||
import 'package:flutter/Material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:justmusic/values/constants.dart';
|
||||
|
||||
class EditablePostComponent extends StatefulWidget {
|
||||
const EditablePostComponent({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<EditablePostComponent> createState() => _EditablePostComponentState();
|
||||
}
|
||||
|
||||
class _EditablePostComponentState extends State<EditablePostComponent> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ClipRRect(
|
||||
borderRadius: BorderRadius.circular(25),
|
||||
child: Container(
|
||||
constraints: BoxConstraints(maxWidth: 400),
|
||||
width: double.infinity,
|
||||
color: warningBttnColor,
|
||||
child: Column(
|
||||
children: [
|
||||
AspectRatio(
|
||||
aspectRatio: 1 / 1,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
// add border
|
||||
border: Border.all(width: 3.0, color: grayColor),
|
||||
// set border radius
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
),
|
||||
child: ClipRRect(
|
||||
borderRadius: BorderRadius.circular(18),
|
||||
// implement image
|
||||
child: const Image(
|
||||
image: AssetImage("assets/images/exemple_cover.png"),
|
||||
fit: BoxFit.cover,
|
||||
width: double.infinity,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
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: EdgeInsets.fromLTRB(15, 0, 10, 25),
|
||||
child: SizedBox(
|
||||
width: double.infinity,
|
||||
child: TextFormField(
|
||||
keyboardAppearance: Brightness.dark,
|
||||
minLines: 1,
|
||||
cursorColor: primaryColor,
|
||||
style: GoogleFonts.plusJakartaSans(
|
||||
color: Colors.white,
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w300),
|
||||
maxLines: 4,
|
||||
maxLength: 120,
|
||||
decoration: InputDecoration(
|
||||
counterStyle: GoogleFonts.plusJakartaSans(
|
||||
color: grayText, fontSize: 9),
|
||||
focusedBorder: const OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(width: 0, color: Colors.transparent),
|
||||
borderRadius:
|
||||
BorderRadius.all(Radius.circular(10))),
|
||||
contentPadding:
|
||||
const EdgeInsets.only(top: 0, bottom: 0, left: 0),
|
||||
fillColor: Colors.transparent,
|
||||
filled: true,
|
||||
focusColor: Colors.transparent,
|
||||
enabledBorder: const OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(width: 0, color: Colors.transparent),
|
||||
borderRadius:
|
||||
BorderRadius.all(Radius.circular(10))),
|
||||
hintText: 'Description...',
|
||||
hintStyle: GoogleFonts.plusJakartaSans(
|
||||
color: grayText,
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w300),
|
||||
),
|
||||
),
|
||||
)),
|
||||
],
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -1,126 +1,126 @@
|
||||
import 'dart:ui';
|
||||
import 'package:flutter/Material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:justmusic/components/back_button.dart';
|
||||
import 'package:justmusic/screens/search_song_screen.dart';
|
||||
import '../components/editable_post_component.dart';
|
||||
import '../components/post_button_component.dart';
|
||||
import '../values/constants.dart';
|
||||
|
||||
class PostScreen extends StatefulWidget {
|
||||
const PostScreen({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<PostScreen> createState() => _PostScreenState();
|
||||
}
|
||||
|
||||
class _PostScreenState extends State<PostScreen>
|
||||
with SingleTickerProviderStateMixin {
|
||||
final scrollController = ScrollController();
|
||||
late AnimationController _controller;
|
||||
late Animation<double> _animation;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
_controller = AnimationController(
|
||||
vsync: this,
|
||||
duration: const Duration(milliseconds: 400),
|
||||
);
|
||||
|
||||
_animation = Tween<double>(begin: 0.0, end: 400.0).animate(
|
||||
CurvedAnimation(
|
||||
parent: _controller,
|
||||
curve: Curves.easeOut,
|
||||
),
|
||||
);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
void openDetailPost() {
|
||||
showModalBottomSheet(
|
||||
transitionAnimationController: _controller,
|
||||
barrierColor: Colors.black.withOpacity(0.7),
|
||||
backgroundColor: Colors.transparent,
|
||||
elevation: 1,
|
||||
constraints: const BoxConstraints(
|
||||
maxWidth: 600,
|
||||
),
|
||||
isScrollControlled: true,
|
||||
context: context,
|
||||
shape: const RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(20), topRight: Radius.circular(20))),
|
||||
builder: ((context) {
|
||||
return const ClipRRect(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(20), topRight: Radius.circular(20)),
|
||||
child: SearchSongScreen());
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
resizeToAvoidBottomInset: true,
|
||||
backgroundColor: bgColor,
|
||||
extendBodyBehindAppBar: true,
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size(double.infinity, 80),
|
||||
child: SafeArea(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
left: defaultPadding,
|
||||
right: defaultPadding,
|
||||
top: defaultPadding),
|
||||
child: Row(
|
||||
children: [BackButtonComponent()],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
body: Container(
|
||||
padding:
|
||||
const EdgeInsets.only(left: defaultPadding, right: defaultPadding),
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage("assets/images/background_justMusic.png"),
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
child: Stack(
|
||||
alignment: Alignment.topCenter,
|
||||
children: [
|
||||
ScrollConfiguration(
|
||||
behavior: ScrollBehavior().copyWith(scrollbars: false),
|
||||
child: SingleChildScrollView(
|
||||
controller: scrollController,
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 100.h,
|
||||
),
|
||||
GestureDetector(
|
||||
onTap: openDetailPost,
|
||||
child: EditablePostComponent(),
|
||||
),
|
||||
SizedBox(
|
||||
height: 40.h,
|
||||
),
|
||||
PostButtonComponent(),
|
||||
SizedBox(
|
||||
height: 40.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
import 'dart:ui';
|
||||
import 'package:flutter/Material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:justmusic/components/back_button.dart';
|
||||
import 'package:justmusic/screens/search_song_screen.dart';
|
||||
import '../components/editable_post_component.dart';
|
||||
import '../components/post_button_component.dart';
|
||||
import '../values/constants.dart';
|
||||
|
||||
class PostScreen extends StatefulWidget {
|
||||
const PostScreen({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<PostScreen> createState() => _PostScreenState();
|
||||
}
|
||||
|
||||
class _PostScreenState extends State<PostScreen>
|
||||
with SingleTickerProviderStateMixin {
|
||||
final scrollController = ScrollController();
|
||||
late AnimationController _controller;
|
||||
late Animation<double> _animation;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
_controller = AnimationController(
|
||||
vsync: this,
|
||||
duration: const Duration(milliseconds: 400),
|
||||
);
|
||||
|
||||
_animation = Tween<double>(begin: 0.0, end: 400.0).animate(
|
||||
CurvedAnimation(
|
||||
parent: _controller,
|
||||
curve: Curves.easeOut,
|
||||
),
|
||||
);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
void openDetailPost() {
|
||||
showModalBottomSheet(
|
||||
transitionAnimationController: _controller,
|
||||
barrierColor: Colors.black.withOpacity(0.7),
|
||||
backgroundColor: Colors.transparent,
|
||||
elevation: 1,
|
||||
constraints: const BoxConstraints(
|
||||
maxWidth: 600,
|
||||
),
|
||||
isScrollControlled: true,
|
||||
context: context,
|
||||
shape: const RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(20), topRight: Radius.circular(20))),
|
||||
builder: ((context) {
|
||||
return const ClipRRect(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(20), topRight: Radius.circular(20)),
|
||||
child: SearchSongScreen());
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
resizeToAvoidBottomInset: true,
|
||||
backgroundColor: bgColor,
|
||||
extendBodyBehindAppBar: true,
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size(double.infinity, 80),
|
||||
child: SafeArea(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
left: defaultPadding,
|
||||
right: defaultPadding,
|
||||
top: defaultPadding),
|
||||
child: Row(
|
||||
children: [BackButtonComponent()],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
body: Container(
|
||||
padding:
|
||||
const EdgeInsets.only(left: defaultPadding, right: defaultPadding),
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
decoration: const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage("assets/images/background_justMusic.png"),
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
child: Stack(
|
||||
alignment: Alignment.topCenter,
|
||||
children: [
|
||||
ScrollConfiguration(
|
||||
behavior: ScrollBehavior().copyWith(scrollbars: false),
|
||||
child: SingleChildScrollView(
|
||||
controller: scrollController,
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 100.h,
|
||||
),
|
||||
GestureDetector(
|
||||
onTap: openDetailPost,
|
||||
child: EditablePostComponent(),
|
||||
),
|
||||
SizedBox(
|
||||
height: 40.h,
|
||||
),
|
||||
PostButtonComponent(),
|
||||
SizedBox(
|
||||
height: 40.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1,146 +1,146 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:justmusic/values/icons.dart';
|
||||
import '../components/profile_component.dart';
|
||||
import '../components/setting_part_component.dart';
|
||||
import '../main.dart';
|
||||
import '../values/constants.dart';
|
||||
|
||||
class ProfileScreen extends StatefulWidget {
|
||||
const ProfileScreen({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<ProfileScreen> createState() => _ProfileScreenState();
|
||||
}
|
||||
|
||||
class _ProfileScreenState extends State<ProfileScreen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size(double.infinity, 58),
|
||||
child: Container(
|
||||
height: double.infinity,
|
||||
color: bgAppBar,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: defaultPadding),
|
||||
child: Stack(
|
||||
alignment: Alignment.centerLeft,
|
||||
children: [
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
child: Container(
|
||||
height: 15,
|
||||
width: 15,
|
||||
child: Image(
|
||||
image: AssetImage("assets/images/return_icon.png"),
|
||||
height: 8,
|
||||
),
|
||||
)),
|
||||
Align(
|
||||
child: Text(
|
||||
"Profile",
|
||||
style: GoogleFonts.plusJakartaSans(
|
||||
color: Colors.white,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.bold),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
body: Container(
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
color: bgColor,
|
||||
child: SingleChildScrollView(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: settingPadding),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.only(top: 68.h, bottom: 40),
|
||||
child:
|
||||
ProfileComponent(user: MyApp.userViewModel.userCurrent),
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsets.only(bottom: 12, left: defaultPadding),
|
||||
child: Text(
|
||||
"Compte",
|
||||
style: GoogleFonts.plusJakartaSans(
|
||||
color: grayText,
|
||||
fontWeight: FontWeight.w800,
|
||||
fontSize: 16),
|
||||
),
|
||||
),
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
child: Column(
|
||||
children: const [
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.profile,
|
||||
label: 'Compte',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.history,
|
||||
label: 'Historiques des capsules',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.spotify,
|
||||
label: 'Lier un compte Spotify',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.trash,
|
||||
label: 'Supprimer mon compte',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.cross,
|
||||
label: 'Déconnexion',
|
||||
important: true,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
bottom: 12, left: defaultPadding, top: 40),
|
||||
child: Text(
|
||||
"Préférences",
|
||||
style: GoogleFonts.plusJakartaSans(
|
||||
color: grayText,
|
||||
fontWeight: FontWeight.w800,
|
||||
fontSize: 16),
|
||||
),
|
||||
),
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
child: Column(
|
||||
children: const [
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.theme,
|
||||
label: 'Thême de l\'application',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.notification,
|
||||
label: 'Notifications',
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:justmusic/values/icons.dart';
|
||||
import '../components/profile_component.dart';
|
||||
import '../components/setting_part_component.dart';
|
||||
import '../main.dart';
|
||||
import '../values/constants.dart';
|
||||
|
||||
class ProfileScreen extends StatefulWidget {
|
||||
const ProfileScreen({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<ProfileScreen> createState() => _ProfileScreenState();
|
||||
}
|
||||
|
||||
class _ProfileScreenState extends State<ProfileScreen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size(double.infinity, 58),
|
||||
child: Container(
|
||||
height: double.infinity,
|
||||
color: bgAppBar,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: defaultPadding),
|
||||
child: Stack(
|
||||
alignment: Alignment.centerLeft,
|
||||
children: [
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
child: Container(
|
||||
height: 15,
|
||||
width: 15,
|
||||
child: Image(
|
||||
image: AssetImage("assets/images/return_icon.png"),
|
||||
height: 8,
|
||||
),
|
||||
)),
|
||||
Align(
|
||||
child: Text(
|
||||
"Profile",
|
||||
style: GoogleFonts.plusJakartaSans(
|
||||
color: Colors.white,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.bold),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
body: Container(
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
color: bgColor,
|
||||
child: SingleChildScrollView(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: settingPadding),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.only(top: 68.h, bottom: 40),
|
||||
child:
|
||||
ProfileComponent(user: MyApp.userViewModel.userCurrent),
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsets.only(bottom: 12, left: defaultPadding),
|
||||
child: Text(
|
||||
"Compte",
|
||||
style: GoogleFonts.plusJakartaSans(
|
||||
color: grayText,
|
||||
fontWeight: FontWeight.w800,
|
||||
fontSize: 16),
|
||||
),
|
||||
),
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
child: Column(
|
||||
children: const [
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.profile,
|
||||
label: 'Compte',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.history,
|
||||
label: 'Historiques des capsules',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.spotify,
|
||||
label: 'Lier un compte Spotify',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.trash,
|
||||
label: 'Supprimer mon compte',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.cross,
|
||||
label: 'Déconnexion',
|
||||
important: true,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
bottom: 12, left: defaultPadding, top: 40),
|
||||
child: Text(
|
||||
"Préférences",
|
||||
style: GoogleFonts.plusJakartaSans(
|
||||
color: grayText,
|
||||
fontWeight: FontWeight.w800,
|
||||
fontSize: 16),
|
||||
),
|
||||
),
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
child: Column(
|
||||
children: const [
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.theme,
|
||||
label: 'Thême de l\'application',
|
||||
),
|
||||
SettingPartComponent(
|
||||
icon: JustMusicIcon.notification,
|
||||
label: 'Notifications',
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1,26 +1,26 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
// All needed color in the project
|
||||
|
||||
const primaryColor = Color(0xFF643BF4);
|
||||
const secondaryColor = Color(0xFF1C1B23);
|
||||
const bgColor = Color(0xFF0C0C0C);
|
||||
const grayColor = Color(0xFF242424);
|
||||
const profileBttnColor = Color(0xFF232323);
|
||||
const warningBttnColor = Color(0xFF141414);
|
||||
const disabledBttnColor = Color(0xFF1F1B2E);
|
||||
const bgTextField = Color(0xFF1C1B23);
|
||||
const strokeTextField = Color(0xFF373546);
|
||||
const unactiveFeed = Color(0xFF848484);
|
||||
const gradiantPost = Color(0xFF0D0D0D);
|
||||
const bgModal = Color(0xFF1E1E1E);
|
||||
const textFieldMessage = Color(0xFF232323);
|
||||
const bgComment = Color(0xFF222222);
|
||||
const bgAppBar = Color(0xFF181818);
|
||||
const grayText = Color(0xFF898989);
|
||||
const settingColor = Color(0xFF232323);
|
||||
const searchBarColor = Color(0xFF161616);
|
||||
// All constants important too us
|
||||
|
||||
const defaultPadding = 30.0;
|
||||
const settingPadding = 12.0;
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
// All needed color in the project
|
||||
|
||||
const primaryColor = Color(0xFF643BF4);
|
||||
const secondaryColor = Color(0xFF1C1B23);
|
||||
const bgColor = Color(0xFF0C0C0C);
|
||||
const grayColor = Color(0xFF242424);
|
||||
const profileBttnColor = Color(0xFF232323);
|
||||
const warningBttnColor = Color(0xFF141414);
|
||||
const disabledBttnColor = Color(0xFF1F1B2E);
|
||||
const bgTextField = Color(0xFF1C1B23);
|
||||
const strokeTextField = Color(0xFF373546);
|
||||
const unactiveFeed = Color(0xFF848484);
|
||||
const gradiantPost = Color(0xFF0D0D0D);
|
||||
const bgModal = Color(0xFF1E1E1E);
|
||||
const textFieldMessage = Color(0xFF232323);
|
||||
const bgComment = Color(0xFF222222);
|
||||
const bgAppBar = Color(0xFF181818);
|
||||
const grayText = Color(0xFF898989);
|
||||
const settingColor = Color(0xFF232323);
|
||||
const searchBarColor = Color(0xFF161616);
|
||||
// All constants important too us
|
||||
|
||||
const defaultPadding = 30.0;
|
||||
const settingPadding = 12.0;
|
||||
|
Loading…
Reference in new issue