diff --git a/.idea/Project_JustMusic.iml b/.idea/Project_JustMusic.iml
index d0f497c..0e67cf3 100644
--- a/.idea/Project_JustMusic.iml
+++ b/.idea/Project_JustMusic.iml
@@ -9,5 +9,7 @@
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
new file mode 100644
index 0000000..33649a6
--- /dev/null
+++ b/.idea/libraries/Dart_Packages.xml
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Dart_SDK.xml b/.idea/libraries/Dart_SDK.xml
new file mode 100644
index 0000000..6ae284f
--- /dev/null
+++ b/.idea/libraries/Dart_SDK.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/justMUSIC/assets/images/logo.png b/justMUSIC/assets/images/logo.png
new file mode 100644
index 0000000..a2c9c95
Binary files /dev/null and b/justMUSIC/assets/images/logo.png differ
diff --git a/justMUSIC/assets/images/wellcome_background.png b/justMUSIC/assets/images/wellcome_background.png
new file mode 100644
index 0000000..84a56c2
Binary files /dev/null and b/justMUSIC/assets/images/wellcome_background.png differ
diff --git a/justMUSIC/lib/components/join_button.dart b/justMUSIC/lib/components/join_button.dart
new file mode 100644
index 0000000..1c141e6
--- /dev/null
+++ b/justMUSIC/lib/components/join_button.dart
@@ -0,0 +1,28 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+import 'package:google_fonts/google_fonts.dart';
+
+class JoinButton extends StatelessWidget {
+ const JoinButton({Key? key}) : super(key: key);
+
+ @override
+ Widget build(BuildContext context) {
+ return ElevatedButton(
+ onPressed: () {},
+ child: Text(
+ "Rejoindre",
+ style: GoogleFonts.plusJakartaSans(
+ fontWeight: FontWeight.w800, fontSize: 17),
+ ),
+ style: ButtonStyle(
+ maximumSize: MaterialStateProperty.all(const Size(800, 50)),
+ minimumSize: MaterialStateProperty.all(const Size(500, 50)),
+ backgroundColor: MaterialStateProperty.all(Colors.white),
+ foregroundColor: MaterialStateProperty.all(Colors.black),
+ shape: MaterialStateProperty.all(RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(100),
+ )),
+ ),
+ );
+ }
+}
diff --git a/justMUSIC/lib/main.dart b/justMUSIC/lib/main.dart
index e016029..aab6788 100644
--- a/justMUSIC/lib/main.dart
+++ b/justMUSIC/lib/main.dart
@@ -1,4 +1,6 @@
import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
+import 'package:justmusic/screens/welcome_screen.dart';
void main() {
runApp(const MyApp());
@@ -10,8 +12,9 @@ class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
+ SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
return MaterialApp(
- title: 'Flutter Demo',
+ debugShowCheckedModeBanner: false,
theme: ThemeData(
// This is the theme of your application.
//
@@ -24,92 +27,7 @@ class MyApp extends StatelessWidget {
// is not restarted.
primarySwatch: Colors.blue,
),
- home: const MyHomePage(title: 'Flutter Demo Home Page'),
- );
- }
-}
-
-class MyHomePage extends StatefulWidget {
- const MyHomePage({super.key, required this.title});
-
- // This widget is the home page of your application. It is stateful, meaning
- // that it has a State object (defined below) that contains fields that affect
- // how it looks.
-
- // This class is the configuration for the state. It holds the values (in this
- // case the title) provided by the parent (in this case the App widget) and
- // used by the build method of the State. Fields in a Widget subclass are
- // always marked "final".
-
- final String title;
-
- @override
- State createState() => _MyHomePageState();
-}
-
-class _MyHomePageState extends State {
- int _counter = 0;
-
- void _incrementCounter() {
- setState(() {
- // This call to setState tells the Flutter framework that something has
- // changed in this State, which causes it to rerun the build method below
- // so that the display can reflect the updated values. If we changed
- // _counter without calling setState(), then the build method would not be
- // called again, and so nothing would appear to happen.
- _counter++;
- });
- }
-
- @override
- Widget build(BuildContext context) {
- // This method is rerun every time setState is called, for instance as done
- // by the _incrementCounter method above.
- //
- // The Flutter framework has been optimized to make rerunning build methods
- // fast, so that you can just rebuild anything that needs updating rather
- // than having to individually change instances of widgets.
- return Scaffold(
- appBar: AppBar(
- // Here we take the value from the MyHomePage object that was created by
- // the App.build method, and use it to set our appbar title.
- title: Text(widget.title),
- ),
- body: Center(
- // Center is a layout widget. It takes a single child and positions it
- // in the middle of the parent.
- child: Column(
- // Column is also a layout widget. It takes a list of children and
- // arranges them vertically. By default, it sizes itself to fit its
- // children horizontally, and tries to be as tall as its parent.
- //
- // Invoke "debug painting" (press "p" in the console, choose the
- // "Toggle Debug Paint" action from the Flutter Inspector in Android
- // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
- // to see the wireframe for each widget.
- //
- // Column has various properties to control how it sizes itself and
- // how it positions its children. Here we use mainAxisAlignment to
- // center the children vertically; the main axis here is the vertical
- // axis because Columns are vertical (the cross axis would be
- // horizontal).
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- const Text(
- 'You have pushed the button this many times:',
- ),
- Text(
- '$_counter',
- style: Theme.of(context).textTheme.headline4,
- ),
- ],
- ),
- ),
- floatingActionButton: FloatingActionButton(
- onPressed: _incrementCounter,
- tooltip: 'Increment',
- child: const Icon(Icons.add),
- ), // This trailing comma makes auto-formatting nicer for build methods.
+ home: const WellcomeScreen(),
);
}
}
diff --git a/justMUSIC/lib/screens/welcome_screen.dart b/justMUSIC/lib/screens/welcome_screen.dart
new file mode 100644
index 0000000..d792170
--- /dev/null
+++ b/justMUSIC/lib/screens/welcome_screen.dart
@@ -0,0 +1,87 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+import 'package:google_fonts/google_fonts.dart';
+import 'package:justmusic/values/constants.dart';
+
+import '../components/join_button.dart';
+
+class WellcomeScreen extends StatelessWidget {
+ const WellcomeScreen({Key? key}) : super(key: key);
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ body: Container(
+ padding: EdgeInsets.all(defaultPadding),
+ width: double.infinity,
+ height: double.infinity,
+ decoration: const BoxDecoration(
+ image: DecorationImage(
+ image: AssetImage("assets/images/wellcome_background.png"),
+ fit: BoxFit.cover,
+ ),
+ ),
+ child: Align(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Expanded(
+ flex: 10,
+ child: Padding(
+ padding: EdgeInsets.only(bottom: 100),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.end,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ "Bienvenue sur,",
+ style: GoogleFonts.plusJakartaSans(
+ color: Colors.white,
+ fontWeight: FontWeight.bold,
+ fontSize: 34),
+ ),
+ Image(
+ image: AssetImage("assets/images/logo.png"),
+ width: 230,
+ ),
+ SizedBox(
+ height: 25,
+ ),
+ Text(
+ "Explore les nouvelles découvertes musicales de tes amis, et partage leur ton mood.",
+ style: GoogleFonts.plusJakartaSans(
+ color: Colors.white,
+ fontWeight: FontWeight.w200,
+ fontSize: 15),
+ ),
+ ],
+ ),
+ ),
+ ),
+ Expanded(
+ flex: 3,
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.start,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ JoinButton(),
+ SizedBox(
+ height: defaultPadding,
+ ),
+ Text(
+ "Tu as déja un compte? Connexion",
+ style: GoogleFonts.plusJakartaSans(
+ color: Colors.white,
+ fontWeight: FontWeight.w400,
+ fontSize: 15),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ) /* add child content here */,
+ ),
+ );
+ }
+}
diff --git a/justMUSIC/lib/values/constants.dart b/justMUSIC/lib/values/constants.dart
new file mode 100644
index 0000000..29cfecb
--- /dev/null
+++ b/justMUSIC/lib/values/constants.dart
@@ -0,0 +1,15 @@
+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);
+
+// All constants important too us
+
+const defaultPadding = 30.0;
diff --git a/justMUSIC/pubspec.lock b/justMUSIC/pubspec.lock
index 4fe9359..33dd8a0 100644
--- a/justMUSIC/pubspec.lock
+++ b/justMUSIC/pubspec.lock
@@ -36,6 +36,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.16.0"
+ crypto:
+ dependency: transitive
+ description:
+ name: crypto
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "3.0.2"
cupertino_icons:
dependency: "direct main"
description:
@@ -50,6 +57,20 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
+ ffi:
+ dependency: transitive
+ description:
+ name: ffi
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.2"
+ file:
+ dependency: transitive
+ description:
+ name: file
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "6.1.4"
flutter:
dependency: "direct main"
description: flutter
@@ -67,6 +88,27 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
+ google_fonts:
+ dependency: "direct main"
+ description:
+ name: google_fonts
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "4.0.4"
+ http:
+ dependency: transitive
+ description:
+ name: http
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "0.13.5"
+ http_parser:
+ dependency: transitive
+ description:
+ name: http_parser
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "4.0.2"
lints:
dependency: transitive
description:
@@ -102,6 +144,69 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.2"
+ path_provider:
+ dependency: transitive
+ description:
+ name: path_provider
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.15"
+ path_provider_android:
+ dependency: transitive
+ description:
+ name: path_provider_android
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.27"
+ path_provider_foundation:
+ dependency: transitive
+ description:
+ name: path_provider_foundation
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.2.3"
+ path_provider_linux:
+ dependency: transitive
+ description:
+ name: path_provider_linux
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.1.11"
+ path_provider_platform_interface:
+ dependency: transitive
+ description:
+ name: path_provider_platform_interface
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.6"
+ path_provider_windows:
+ dependency: transitive
+ description:
+ name: path_provider_windows
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.1.7"
+ platform:
+ dependency: transitive
+ description:
+ name: platform
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "3.1.0"
+ plugin_platform_interface:
+ dependency: transitive
+ description:
+ name: plugin_platform_interface
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.1.4"
+ process:
+ dependency: transitive
+ description:
+ name: process
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "4.2.4"
sky_engine:
dependency: transitive
description: flutter
@@ -149,6 +254,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.12"
+ typed_data:
+ dependency: transitive
+ description:
+ name: typed_data
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.3.2"
vector_math:
dependency: transitive
description:
@@ -156,5 +268,20 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.2"
+ win32:
+ dependency: transitive
+ description:
+ name: win32
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "4.1.4"
+ xdg_directories:
+ dependency: transitive
+ description:
+ name: xdg_directories
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.0.0"
sdks:
dart: ">=2.18.2 <3.0.0"
+ flutter: ">=3.3.0"
diff --git a/justMUSIC/pubspec.yaml b/justMUSIC/pubspec.yaml
index 03f3822..565e5f6 100644
--- a/justMUSIC/pubspec.yaml
+++ b/justMUSIC/pubspec.yaml
@@ -36,6 +36,7 @@ dependencies:
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
+ google_fonts: ^4.0.4
dev_dependencies:
flutter_test:
@@ -60,9 +61,8 @@ flutter:
uses-material-design: true
# To add assets to your application, add an assets section, like this:
- # assets:
- # - images/a_dot_burr.jpeg
- # - images/a_dot_ham.jpeg
+ assets:
+ - assets/images/
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware