creation page tops
continuous-integration/drone/push Build is failing Details

messagerie_lucas_test
Lucas DELANIER 2 years ago
parent d16608ea80
commit f7db676502

@ -184,6 +184,13 @@
</list>
</value>
</entry>
<entry key="font_awesome_flutter">
<value>
<list>
<option value="$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/font_awesome_flutter-10.2.1/lib" />
</list>
</value>
</entry>
<entry key="graphs">
<value>
<list>
@ -532,6 +539,7 @@
<root url="file://$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_native_splash-2.2.11/lib" />
<root url="file://$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/fluttericon-2.0.0/lib" />
<root url="file://$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-8.1.1/lib" />
<root url="file://$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/font_awesome_flutter-10.2.1/lib" />
<root url="file://$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/graphs-2.1.0/lib" />
<root url="file://$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/html-0.15.1/lib" />
<root url="file://$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib" />

@ -1,4 +1,5 @@
import 'package:dafl_project_flutter/presentation/custom_icons_icons.dart';
import 'package:dafl_project_flutter/views/pages/main/w_top.dart';
import 'package:flutter/material.dart';
import './w_settings.dart';
import './w_spot.dart';
@ -19,9 +20,9 @@ class _MainPageState extends State<MainPage> {
int get index => _index;
final screens = [
ProfilWidget(),
new DiscoveryWidget(),
DiscoveryWidget(),
SpotsWidget(),
Center(child: Text('Tops'),),
TopsWidget(),
MessagesWidget(),
SettingsWidget(),
];
@ -62,4 +63,29 @@ class _MainPageState extends State<MainPage> {
),
);
}
}
class GradientText extends StatelessWidget {
const GradientText(
this.text, {
required this.gradient,
this.style,
});
final String text;
final TextStyle? style;
final Gradient gradient;
@override
Widget build(BuildContext context) {
return ShaderMask(
blendMode: BlendMode.srcIn,
shaderCallback: (bounds) => gradient.createShader(
Rect.fromLTWH(0, 0, bounds.width, bounds.height),
),
child: Text(text, style: style),
);
}
}

@ -0,0 +1,144 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:fluttericon/font_awesome5_icons.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'p_main.dart';
class TopsWidget extends StatefulWidget {
const TopsWidget({Key? key}) : super(key: key);
@override
State<TopsWidget> createState() => _TopsWidgetState();
}
class _TopsWidgetState extends State<TopsWidget> {
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
color: Color(0xFF141414),
child: Padding(padding: EdgeInsets.fromLTRB(0, 50, 0, 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: EdgeInsets.fromLTRB(30, 0, 30, 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('Les Tops', style: TextStyle(color: Colors.white, fontWeight: FontWeight.w500, fontSize: 25),),
Padding(padding: EdgeInsets.fromLTRB(0, 5, 0, 0)),
Text('Retrouvez ici les titres les plus écoutés', style: TextStyle(color: Colors.grey.withOpacity(0.4), fontSize: 15),),
],
),
),
Expanded(child: ListView(
children: [
TopWidget(),
TopWidget(),
TopWidget(),
TopWidget(),
TopWidget(),
TopWidget(),
],
)),
],
),),
);
}
}
class TopWidget extends StatelessWidget{
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.fromLTRB(30, 0, 30, 0),
width: double.infinity,
height: 200,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Stack(
alignment: AlignmentDirectional.centerEnd,
clipBehavior: Clip.none,
children: [
Positioned(child: Icon(FontAwesomeIcons.champagneGlasses,size: 50,color: Colors.white,),
right: 20,
top: -15,),
Container(
width: double.infinity,
height: 35,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Color(0xFFD9D9D9).withOpacity(0.16),
),
child: Align(
alignment: Alignment.centerLeft,
child: Padding(
padding: EdgeInsets.fromLTRB(20, 0, 0, 0),
child: Text('Pour mon mariage',style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold,fontSize: 16),),
),
)
),
],
),
SizedBox(height: 20,),
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.fromLTRB(15, 0, 0, 0),
child: ClipRRect(
borderRadius: BorderRadius.circular(15),
child: FadeInImage.assetNetwork(
height: 120,
width: 120,
placeholder: "assets/images/loadingPlaceholder.gif", image: 'https://images.genius.com/ef4849be3da5fdb22ea9e656679be3a3.600x600x1.jpg'),
),
),
Stack(
children: [
Container(
margin: EdgeInsets.fromLTRB(12, 5, 80, 60),
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('BAMBINA', style: TextStyle(fontSize:25, fontWeight: FontWeight.w700, color: Colors.white),),
Text('PNL', style: TextStyle(fontSize:20, fontWeight: FontWeight.w400, color: Colors.grey),),
],
),
),
Positioned(
bottom: 0,
right: 0,
child: Row(
children: [
GradientText(
'7,2%',
style: const TextStyle(fontSize: 60, fontWeight: FontWeight.bold),
gradient: LinearGradient(colors: [
Colors.orange,
Colors.red,
Colors.purple,
]),
),
],
),
),
],
),
],
),
],
),
);
}
}

@ -177,6 +177,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "8.1.1"
font_awesome_flutter:
dependency: "direct main"
description:
name: font_awesome_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "10.2.1"
graphs:
dependency: transitive
description:

@ -45,6 +45,7 @@ dependencies:
vibration: ^1.7.6
postgresql2: ^1.0.3
path_provider: ^2.0.11
font_awesome_flutter: ^10.2.1
dev_dependencies:
flutter_test:

Loading…
Cancel
Save