Merge branch 'api-implementation'

# Conflicts:
#	.idea/libraries/Dart_Packages.xml
#	.idea/libraries/Dart_SDK.xml
#	Sources/dafl_project_flutter/.metadata
#	Sources/dafl_project_flutter/android/app/build.gradle
#	Sources/dafl_project_flutter/lib/main.dart
#	Sources/dafl_project_flutter/lib/views/pages/sign_up/p_sign_up.dart
#	Sources/dafl_project_flutter/pubspec.lock
#	Sources/dafl_project_flutter/pubspec.yaml
messagerie_lucas_test
Félix MIELCAREK 2 years ago
commit 1f1d0f83c2

@ -0,0 +1,444 @@
<component name="libraryTable">
<library name="Dart Packages" type="DartPackagesLibraryType">
<properties>
<option name="packageNameToDirsMap">
<entry key="animations">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/animations-2.0.7/lib" />
</list>
</value>
</entry>
<entry key="archive">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/archive-3.3.2/lib" />
</list>
</value>
</entry>
<entry key="args">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/args-2.3.1/lib" />
</list>
</value>
</entry>
<entry key="async">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib" />
</list>
</value>
</entry>
<entry key="boolean_selector">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/lib" />
</list>
</value>
</entry>
<entry key="characters">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib" />
</list>
</value>
</entry>
<entry key="checked_yaml">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/checked_yaml-2.0.1/lib" />
</list>
</value>
</entry>
<entry key="cli_util">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/cli_util-0.3.5/lib" />
</list>
</value>
</entry>
<entry key="clock">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib" />
</list>
</value>
</entry>
<entry key="collection">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib" />
</list>
</value>
</entry>
<entry key="crypto">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib" />
</list>
</value>
</entry>
<entry key="csslib">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/csslib-0.17.2/lib" />
</list>
</value>
</entry>
<entry key="cupertino_icons">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/lib" />
</list>
</value>
</entry>
<entry key="fake_async">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/lib" />
</list>
</value>
</entry>
<entry key="flutter">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/packages/flutter/lib" />
</list>
</value>
</entry>
<entry key="flutter_inappwebview">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.7.1/lib" />
</list>
</value>
</entry>
<entry key="flutter_launcher_icons">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_launcher_icons-0.10.0/lib" />
</list>
</value>
</entry>
<entry key="flutter_lints">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/lib" />
</list>
</value>
</entry>
<entry key="flutter_native_splash">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_native_splash-2.2.11/lib" />
</list>
</value>
</entry>
<entry key="flutter_test">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/packages/flutter_test/lib" />
</list>
</value>
</entry>
<entry key="flutter_web_plugins">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/packages/flutter_web_plugins/lib" />
</list>
</value>
</entry>
<entry key="fluttericon">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/fluttericon-2.0.0/lib" />
</list>
</value>
</entry>
<entry key="fluttertoast">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-8.1.1/lib" />
</list>
</value>
</entry>
<entry key="graphs">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/graphs-2.1.0/lib" />
</list>
</value>
</entry>
<entry key="html">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/html-0.15.1/lib" />
</list>
</value>
</entry>
<entry key="http">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib" />
</list>
</value>
</entry>
<entry key="http_parser">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib" />
</list>
</value>
</entry>
<entry key="image">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/image-3.2.2/lib" />
</list>
</value>
</entry>
<entry key="js">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/js-0.6.4/lib" />
</list>
</value>
</entry>
<entry key="json_annotation">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib" />
</list>
</value>
</entry>
<entry key="lints">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/lints-2.0.0/lib" />
</list>
</value>
</entry>
<entry key="matcher">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.12/lib" />
</list>
</value>
</entry>
<entry key="material_color_utilities">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib" />
</list>
</value>
</entry>
<entry key="meta">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/lib" />
</list>
</value>
</entry>
<entry key="nested">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/nested-1.0.0/lib" />
</list>
</value>
</entry>
<entry key="page_transition">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/page_transition-2.0.9/lib" />
</list>
</value>
</entry>
<entry key="path">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib" />
</list>
</value>
</entry>
<entry key="petitparser">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/petitparser-5.0.0/lib" />
</list>
</value>
</entry>
<entry key="provider">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/provider-6.0.4/lib" />
</list>
</value>
</entry>
<entry key="random_string">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/random_string-2.3.1/lib" />
</list>
</value>
</entry>
<entry key="rive">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/rive-0.9.1/lib" />
</list>
</value>
</entry>
<entry key="sky_engine">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/bin/cache/pkg/sky_engine/lib" />
</list>
</value>
</entry>
<entry key="source_span">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib" />
</list>
</value>
</entry>
<entry key="stack_trace">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/lib" />
</list>
</value>
</entry>
<entry key="stream_channel">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/lib" />
</list>
</value>
</entry>
<entry key="string_scanner">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib" />
</list>
</value>
</entry>
<entry key="term_glyph">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib" />
</list>
</value>
</entry>
<entry key="test_api">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.12/lib" />
</list>
</value>
</entry>
<entry key="typed_data">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1/lib" />
</list>
</value>
</entry>
<entry key="universal_io">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/universal_io-2.0.4/lib" />
</list>
</value>
</entry>
<entry key="vector_math">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib" />
</list>
</value>
</entry>
<entry key="vibration">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/vibration-1.7.6/lib" />
</list>
</value>
</entry>
<entry key="xml">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/xml-6.1.0/lib" />
</list>
</value>
</entry>
<entry key="yaml">
<value>
<list>
<option value="$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/yaml-3.1.1/lib" />
</list>
</value>
</entry>
</option>
</properties>
<CLASSES>
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/animations-2.0.7/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/archive-3.3.2/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/args-2.3.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/checked_yaml-2.0.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/cli_util-0.3.5/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/csslib-0.17.2/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.7.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_launcher_icons-0.10.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_native_splash-2.2.11/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/fluttericon-2.0.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-8.1.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/graphs-2.1.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/html-0.15.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/image-3.2.2/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/js-0.6.4/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/lints-2.0.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.12/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/nested-1.0.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/page_transition-2.0.9/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/petitparser-5.0.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/provider-6.0.4/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/random_string-2.3.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/rive-0.9.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.12/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/universal_io-2.0.4/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/vibration-1.7.6/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/xml-6.1.0/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/.pub-cache/hosted/pub.dartlang.org/yaml-3.1.1/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/bin/cache/pkg/sky_engine/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/packages/flutter/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/packages/flutter_test/lib" />
<root url="file://$PROJECT_DIR$/../../../../flutter/packages/flutter_web_plugins/lib" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

@ -1,25 +1,25 @@
<component name="libraryTable"> <component name="libraryTable">
<library name="Dart SDK"> <library name="Dart SDK">
<CLASSES> <CLASSES>
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/async" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/async" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/cli" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/cli" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/collection" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/collection" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/convert" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/convert" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/core" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/core" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/developer" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/developer" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/ffi" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/ffi" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/html" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/html" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/indexed_db" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/indexed_db" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/io" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/io" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/isolate" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/isolate" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/js" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/js" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/js_util" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/js_util" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/math" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/math" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/mirrors" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/mirrors" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/svg" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/svg" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/typed_data" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/typed_data" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/web_audio" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/web_audio" />
<root url="file://$PROJECT_DIR$/../../../../flutter_windows_3.3.3-stable/flutter/bin/cache/dart-sdk/lib/web_gl" /> <root url="file://$PROJECT_DIR$/../../../../src/flutter/bin/cache/dart-sdk/lib/web_gl" />
</CLASSES> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES /> <SOURCES />

@ -4,7 +4,7 @@
# This file should be version controlled. # This file should be version controlled.
version: version:
revision: 18a827f3933c19f51862dde3fa472197683249d6 revision: eb6d86ee27deecba4a83536aa20f366a6044895c
channel: stable channel: stable
project_type: app project_type: app
@ -13,26 +13,14 @@ project_type: app
migration: migration:
platforms: platforms:
- platform: root - platform: root
create_revision: 18a827f3933c19f51862dde3fa472197683249d6 create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
base_revision: 18a827f3933c19f51862dde3fa472197683249d6 base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
- platform: android - platform: android
create_revision: 18a827f3933c19f51862dde3fa472197683249d6 create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
base_revision: 18a827f3933c19f51862dde3fa472197683249d6 base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
- platform: ios - platform: ios
create_revision: 18a827f3933c19f51862dde3fa472197683249d6 create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
base_revision: 18a827f3933c19f51862dde3fa472197683249d6 base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c
- platform: linux
create_revision: 18a827f3933c19f51862dde3fa472197683249d6
base_revision: 18a827f3933c19f51862dde3fa472197683249d6
- platform: macos
create_revision: 18a827f3933c19f51862dde3fa472197683249d6
base_revision: 18a827f3933c19f51862dde3fa472197683249d6
- platform: web
create_revision: 18a827f3933c19f51862dde3fa472197683249d6
base_revision: 18a827f3933c19f51862dde3fa472197683249d6
- platform: windows
create_revision: 18a827f3933c19f51862dde3fa472197683249d6
base_revision: 18a827f3933c19f51862dde3fa472197683249d6
# User provided section # User provided section

@ -47,7 +47,8 @@ android {
applicationId "com.example.dafl_project_flutter" applicationId "com.example.dafl_project_flutter"
// You can update the following values to match your application needs. // You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
minSdkVersion flutter.minSdkVersion //minSdkVersion flutter.minSdkVersion
minSdkVersion 17
targetSdkVersion flutter.targetSdkVersion targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()
versionName flutterVersionName versionName flutterVersionName

@ -3,7 +3,7 @@
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application <application
android:label="dafl_project_flutter" android:label="Dafl Music"
android:name="${applicationName}" android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"> android:icon="@mipmap/ic_launcher">
<activity <activity
@ -26,11 +26,15 @@
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter> </intent-filter>
</activity> </activity>
<!-- Don't delete the meta-data below. <!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java --> This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data <meta-data
android:name="flutterEmbedding" android:name="flutterEmbedding"
android:value="2" /> android:value="2" />
</application>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
</manifest> </manifest>

@ -6,7 +6,7 @@ buildscript {
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.1.2' classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
} }
} }

@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip

@ -13,7 +13,7 @@
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>dafl_project_flutter</string> <string>Dafl Music</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>

@ -0,0 +1,156 @@
import 'dart:convert';
import 'dart:math';
import 'package:http/http.dart' as http;
import 'package:crypto/crypto.dart';
import 'track.dart';
class Api {
//from dashboard
final _clientId = '7ceb49d874b9404492246027e4d68cf8';
final _clientSecret = '98f9cb960bf54ebbb9ad306e7ff919cb';
//for web api
get redirectUri => 'https://daflmusic.000webhostapp.com/callback/';
final _scopes = 'user-read-playback-state user-read-currently-playing';
late String _state;
dynamic _codeVerifier;
dynamic _codeChallenge;
late String _encodedLogs;
final _tokenType = 'Bearer ';
//from web api
String? _code;
int? _expiresIn;
String? _refreshToken;
String? _accessToken; //use _getToken() as kind of a private getter
//other
final _client = http.Client();
late Uri _urlAuthorize;
get urlAuthorize => _urlAuthorize;
DateTime? _tokenEnd;
Api() {
_state = _generateRandomString(16);
_codeVerifier = _generateRandomString(_generateRandomInt(43, 128));
_codeChallenge = _generateCodeChallenge();
print(_codeChallenge);
_encodedLogs = base64.encode(utf8.encode("$_clientId:$_clientSecret"));
_urlAuthorize = Uri.https('accounts.spotify.com', 'authorize', {
'client_id': _clientId,
'response_type': 'code',
'redirect_uri': redirectUri,
'state': _state,
'scope': _scopes,
'show_dialog': 'false',
'code_challenge_method': 'S256',
'code_challenge': _codeChallenge
});
}
//PKCE generations
_generateRandomInt(int min, int max) {
return min + Random().nextInt(max - min);
}
_generateRandomString(int length) {
const chars =
'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890';
return String.fromCharCodes(Iterable.generate(
length, (_) => chars.codeUnitAt(Random().nextInt(chars.length))));
}
_generateCodeChallenge() {
//care : base64Url doesn't work
return base64Encode(sha256.convert(utf8.encode(_codeVerifier)).bytes)
.replaceAll('+', '-')
.replaceAll('/', '_')
.replaceAll('=', '');
}
//session management
requestUserAuthorization(Uri url) async {
if (url.queryParameters['state'] == _state.toString()) {
_code = url.queryParameters['code'];
await _requestAccessToken();
}
// TODO : implement the else
}
_requestAccessToken() async {
var urlToken = Uri.https('accounts.spotify.com', 'api/token', {
'code': _code,
'redirect_uri': redirectUri,
'grant_type': 'authorization_code',
'client_id': _clientId,
'code_verifier': _codeVerifier
});
var response = await _client.post(urlToken, headers: <String, String>{
'Authorization': 'Basic $_encodedLogs',
'Content-Type': 'application/x-www-form-urlencoded'
});
var decodedResponse = jsonDecode(utf8.decode(response.bodyBytes)) as Map;
_accessToken = decodedResponse['access_token'];
_expiresIn = decodedResponse['expires_in'];
_tokenEnd = DateTime.now().add(Duration(seconds: _expiresIn!));
_refreshToken = decodedResponse['refresh_token'];
}
Future<String?> _getToken() async {
await _tokenValidity();
return _accessToken;
}
_tokenValidity() async {
if (DateTime.now().isAfter(_tokenEnd!)) {
await _getRefreshedAccessToken();
}
}
_getRefreshedAccessToken() async {
var urlToken = Uri.https('accounts.spotify.com', 'api/token', {
'grant_type': 'refresh_token',
'refresh_token': _refreshToken,
'client_id': _clientId
});
var response = await _client.post(urlToken, headers: <String, String>{
'Content-Type': 'application/x-www-form-urlencoded'
});
var decodedResponse = jsonDecode(utf8.decode(response.bodyBytes)) as Map;
_accessToken = decodedResponse['access_token'];
_expiresIn = decodedResponse['expires_in'];
_tokenEnd = DateTime.now().add(Duration(seconds: _expiresIn!));
}
//functional methods
Future<String> getCurrentlyPlayingTrack() async {
var url = Uri.https('api.spotify.com', 'v1/me/player/currently-playing');
var token = await _getToken();
var response = await _client.get(url, headers: <String, String>{
'Authorization': '$_tokenType $token',
'Content-Type': 'application/json'
});
var decodedResponse = jsonDecode(utf8.decode(response.bodyBytes)) as Map;
return decodedResponse['item']['id'];
}
Future<Track> getTrackInfo(String id) async {
var url = Uri.https('api.spotify.com', 'v1/tracks/$id');
var token = await _getToken();
var response = await _client.get(url, headers: <String, String>{
'Authorization': '$_tokenType $token',
'Content-Type': 'application/json'
});
var decodedResponse = jsonDecode(utf8.decode(response.bodyBytes)) as Map;
return Track(
decodedResponse['artists'][0]['name'],
decodedResponse['name'],
decodedResponse['album']['images']
[decodedResponse['album']['images'].length - 1]['url']);
}
}

@ -0,0 +1,36 @@
import 'dart:io';
import 'package:dafl_project_flutter/main.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'track.dart';
class MyInAppBrowser extends InAppBrowser {
var options = InAppBrowserClassOptions(
crossPlatform:
InAppBrowserOptions(hideUrlBar: true, hideToolbarTop: true),
inAppWebViewGroupOptions: InAppWebViewGroupOptions(
crossPlatform: InAppWebViewOptions(javaScriptEnabled: true)));
MyInAppBrowser() {
_debugBrowser();
openUrlRequest(
urlRequest: URLRequest(url: MyApp.api.urlAuthorize), options: options);
}
_debugBrowser() async {
if (Platform.isAndroid) {
await AndroidInAppWebViewController.setWebContentsDebuggingEnabled(true);
}
}
@override
Future onLoadStart(url) async {
if (url!.origin + url.path == MyApp.api.redirectUri) {
await MyApp.api.requestUserAuthorization(url);
/*String id = await MyApp.api.getCurrentlyPlayingTrack();
Track track = await MyApp.api.getTrackInfo(id);
print('${track.artist} ${track.name} ${track.albumImage}');*/
close();
}
}
}

@ -0,0 +1,11 @@
class Track {
final String _artist;
final String _name;
final String _albumImage;
Track(this._artist, this._name, this._albumImage);
String get artist => _artist;
String get name => _name;
String get albumImage => _albumImage;
}

@ -13,9 +13,10 @@ import '../model/music.dart';
import 'model/music.dart'; import 'model/music.dart';
import 'model/spot.dart'; import 'model/spot.dart';
import 'model/user.dart'; import 'model/user.dart';
import 'package:rive/rive.dart';
import 'api/api.dart';
void main() { void main() {
MyApp mainApp = MyApp();
runApp(MyApp()); runApp(MyApp());
} }
@ -23,6 +24,7 @@ class MyApp extends StatelessWidget {
Controller controller = Controller(); Controller controller = Controller();
static Api api = Api();
// This widget is the root of your application. // This widget is the root of your application.
@override @override
Widget build(BuildContext context){ Widget build(BuildContext context){
@ -39,7 +41,7 @@ class MyApp extends StatelessWidget {
} }
} }
enum CardStatus { like, disLike, discovery, message} enum CardStatus { like, disLike, discovery, message }
class CardProvider extends ChangeNotifier{ class CardProvider extends ChangeNotifier{
List<Spot> _spotsList = MyApp().controller.currentUser.Spots2; List<Spot> _spotsList = MyApp().controller.currentUser.Spots2;
@ -53,10 +55,6 @@ class CardProvider extends ChangeNotifier{
Offset get position => _position; Offset get position => _position;
double get angle => _angle; double get angle => _angle;
void setScreenSize(Size screenSize) => _screenSize = screenSize; void setScreenSize(Size screenSize) => _screenSize = screenSize;
void startPosition(DragStartDetails details) { void startPosition(DragStartDetails details) {
@ -79,7 +77,6 @@ class CardProvider extends ChangeNotifier{
final status = getStatus(force: true); final status = getStatus(force: true);
switch (status) { switch (status) {
case CardStatus.like: case CardStatus.like:
like(context); like(context);
@ -97,6 +94,7 @@ class CardProvider extends ChangeNotifier{
resetPosition(); resetPosition();
} }
} }
void resetPosition() { void resetPosition() {
_isDragging = false; _isDragging = false;
_position = Offset.zero; _position = Offset.zero;
@ -119,33 +117,35 @@ class CardProvider extends ChangeNotifier{
final forceDiscovery = x.abs() < 80; final forceDiscovery = x.abs() < 80;
final forceMessage = x.abs() < 100; final forceMessage = x.abs() < 100;
if(force) { if (force) {
final delta = 100; final delta = 100;
if (x >= delta) { if (x >= delta) {
return CardStatus.like; return CardStatus.like;
} else if ( x <= -delta){ } else if (x <= -delta) {
return CardStatus.disLike; return CardStatus.disLike;
} else if ( y <= -delta/2 && forceDiscovery){ } else if (y <= -delta / 2 && forceDiscovery) {
return CardStatus.message; return CardStatus.message;
} else if (y >= delta * 2 && x.abs() < 100) { } else if (y >= delta * 2 && x.abs() < 100) {
return CardStatus.discovery; return CardStatus.discovery;
} }
} else{ } else {
final delta = 20; final delta = 20;
if(y <= -delta * 2 && forceDiscovery) { if (y <= -delta * 2 && forceDiscovery) {
return CardStatus.message; return CardStatus.message;
} else if (y >= delta *2 && x.abs() < 80) { } else if (y >= delta * 2 && x.abs() < 80) {
return CardStatus.discovery; return CardStatus.discovery;
}else if ( x >= delta) { } else if (x >= delta) {
return CardStatus.like; return CardStatus.like;
} else if ( x <= -delta) { } else if (x <= -delta) {
return CardStatus.disLike; return CardStatus.disLike;
} }
} }
} }
void dislike() { void dislike() {
Vibration.vibrate(duration: 20, amplitude: 60);
print("dislike"); print("dislike");
_angle = -20; _angle = -20;
_position -= Offset(2 * _screenSize.width, 0); _position -= Offset(2 * _screenSize.width, 0);
@ -155,6 +155,8 @@ class CardProvider extends ChangeNotifier{
} }
void discovery() { void discovery() {
Vibration.vibrate(duration: 20, amplitude: 60);
print("discovery");
_angle = 0; _angle = 0;
_position -= Offset(0, -_screenSize.height); _position -= Offset(0, -_screenSize.height);
_discovery_card(); _discovery_card();
@ -189,6 +191,7 @@ class CardProvider extends ChangeNotifier{
} }
void message(context) { void message(context) {
Vibration.vibrate(duration: 20, amplitude: 60);
print("message"); print("message");
_angle = 0; _angle = 0;
_position -= Offset(0, _screenSize.height); _position -= Offset(0, _screenSize.height);
@ -200,10 +203,11 @@ class CardProvider extends ChangeNotifier{
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
context: context, context: context,
constraints: BoxConstraints( constraints: BoxConstraints(
maxWidth: 600, maxWidth: 600,
maxHeight: double.infinity, maxHeight: double.infinity,
), ),
builder: (context) => buildSheet(),); builder: (context) => buildSheet(),
);
notifyListeners(); notifyListeners();
} }
Widget buildSheet(){ Widget buildSheet(){
@ -317,12 +321,12 @@ class CardProvider extends ChangeNotifier{
void like(context) { void like(context) {
Vibration.vibrate(duration: 20, amplitude: 60);
print("like"); print("like");
_angle = 20; _angle = 20;
_position += Offset(2 * _screenSize.width, 0); _position += Offset(2 * _screenSize.width, 0);
_nextCard(); _nextCard();
notifyListeners(); notifyListeners();
} }
Future _nextCard() async { Future _nextCard() async {
@ -348,10 +352,8 @@ class CardProvider extends ChangeNotifier{
await Future.delayed(Duration(milliseconds: 200)); await Future.delayed(Duration(milliseconds: 200));
resetPosition(); resetPosition();
} }
} }
class Splash extends StatefulWidget { class Splash extends StatefulWidget {
const Splash({Key? key}) : super(key: key); const Splash({Key? key}) : super(key: key);
@ -360,7 +362,6 @@ class Splash extends StatefulWidget {
} }
class _SplashState extends State<Splash> { class _SplashState extends State<Splash> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -373,11 +374,8 @@ class _SplashState extends State<Splash> {
); );
}); });
}); });
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(

@ -14,7 +14,7 @@ class _HomePageState extends State<HomePage> {
double height = MediaQuery.of(context).size.height; double height = MediaQuery.of(context).size.height;
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return Scaffold( return Scaffold(
backgroundColor: Color(0xFF141414), backgroundColor: const Color(0xFF141414),
body: Stack( body: Stack(
alignment: AlignmentDirectional.topCenter, alignment: AlignmentDirectional.topCenter,
children: <Widget>[ children: <Widget>[
@ -33,68 +33,116 @@ class _HomePageState extends State<HomePage> {
'assets/images/Logo.png', 'assets/images/Logo.png',
width: 230, width: 230,
), ),
SizedBox(height: height*0.08,), SizedBox(
height: height * 0.04,
),
SizedBox(
height: 55,
width: width * 0.75,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: const Color(0xFF24CF5F),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0),
), // background// foreground
),
onPressed: () {},
child: const Text(
"CONTINUER AVEC SPOTIFY",
style: TextStyle(
color: Colors.white,
fontSize: 17,
fontWeight: FontWeight.bold),
textAlign: TextAlign.center,
),
),
),
SizedBox(
height: height * 0.015,
),
SizedBox(
height: height * 0.08,
),
SizedBox( SizedBox(
height: 55, height: 55,
width: width*0.75, width: width * 0.75,
child: ElevatedButton( child: ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: Color(0xFF5C1DC3), backgroundColor: const Color(0xFF5C1DC3),
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0), borderRadius: BorderRadius.circular(15.0),
),// background// foreground ), // background// foreground
), ),
onPressed: () { onPressed: () {
Navigator.of(context).push(PageTransition( Navigator.of(context).push(
duration: Duration(milliseconds: 300), PageTransition(
reverseDuration: Duration(milliseconds: 300), duration: const Duration(milliseconds: 300),
type: PageTransitionType.rightToLeftJoined, reverseDuration: const Duration(milliseconds: 300),
childCurrent: widget, type: PageTransitionType.rightToLeftJoined,
child: SignUpPage()), childCurrent: widget,
child: const SignUpPage()),
); );
}, },
child: Text("SINSCRIRE MAINTENANT", child: const Text(
style: TextStyle(color: Colors.white ,fontSize: 17, fontWeight: FontWeight.bold), "SINSCRIRE MAINTENANT",
style: TextStyle(
color: Colors.white,
fontSize: 17,
fontWeight: FontWeight.bold),
textAlign: TextAlign.center, textAlign: TextAlign.center,
), ),
),), ),
),
Spacer(), Spacer(),
GestureDetector( GestureDetector(
onTap: (){ onTap: () {
Navigator.of(context).push( Navigator.of(context).push(
PageTransition( PageTransition(
duration: Duration(milliseconds: 300), duration: const Duration(milliseconds: 300),
reverseDuration: Duration(milliseconds: 300), reverseDuration: const Duration(milliseconds: 300),
type: PageTransitionType.rightToLeftJoined, type: PageTransitionType.rightToLeftJoined,
childCurrent: widget, childCurrent: widget,
child: SignInPage()), child: const SignInPage()),
); );
}, },
child: Container( child: Container(
child: Align( child: const Align(
alignment: Alignment.center, alignment: Alignment.center,
child: Text("SE CONNECTER", child: Text(
style: TextStyle(color: Colors.white ,fontSize: 17, fontWeight: FontWeight.bold), "SE CONNECTER",
style: TextStyle(
color: Colors.white,
fontSize: 17,
fontWeight: FontWeight.bold),
textAlign: TextAlign.center, textAlign: TextAlign.center,
), ),
), ),
margin: EdgeInsets.fromLTRB(0, 0, 0, 0), margin: const EdgeInsets.fromLTRB(0, 0, 0, 0),
width: double.infinity, width: double.infinity,
height: 80, height: 80,
decoration: BoxDecoration( decoration: const BoxDecoration(
color: Color(0xFF232123), color: Color(0xFF232123),
border: Border( border: Border(
top: BorderSide(width: 1.5, color: Color(0xFF3C3C3C)), top: BorderSide(width: 1.5, color: Color(0xFF3C3C3C)),
),// Set rounded corner radius ), // Set rounded corner radius
), ),
), ),
), ),
], ],
), ),
Align(
alignment: Alignment.topRight,
child: Container(
padding: const EdgeInsets.fromLTRB(0, 20, 20, 0),
child: Text(
"v1.0",
style: TextStyle(
fontFamily: 'DMSans',
color: Colors.white.withOpacity(0.5),
fontSize: 17,
fontWeight: FontWeight.w700),
),
)),
], ],
), ),
); );

@ -1,6 +1,9 @@
import 'package:dafl_project_flutter/main.dart'; import 'package:dafl_project_flutter/main.dart';
import 'package:dafl_project_flutter/api/api.dart';
import 'package:dafl_project_flutter/main.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:page_transition/page_transition.dart'; import 'package:page_transition/page_transition.dart';
import '../../../api/in_app_browser.dart';
import 'package:rive/rive.dart' as riv; import 'package:rive/rive.dart' as riv;
import '../../../model/user.dart'; import '../../../model/user.dart';
import '../home/p_home.dart'; import '../home/p_home.dart';
@ -15,7 +18,6 @@ class SignUpPage extends StatefulWidget {
} }
class _SignUpPageState extends State<SignUpPage> { class _SignUpPageState extends State<SignUpPage> {
Color boxColor = Colors.white; Color boxColor = Colors.white;
bool isHovering = false; bool isHovering = false;
@override @override
@ -24,9 +26,10 @@ class _SignUpPageState extends State<SignUpPage> {
final passwordTextField = TextEditingController(); final passwordTextField = TextEditingController();
final passwordConfirmTextField = TextEditingController(); final passwordConfirmTextField = TextEditingController();
Widget build(BuildContext context) { Widget build(BuildContext context) {
double width = MediaQuery.of(context).size.width;
return Scaffold( return Scaffold(
resizeToAvoidBottomInset: false, resizeToAvoidBottomInset: false,
backgroundColor: Color(0xFF141414), backgroundColor: const Color(0xFF141414),
body: Stack( body: Stack(
alignment: AlignmentDirectional.topCenter, alignment: AlignmentDirectional.topCenter,
children: <Widget>[ children: <Widget>[
@ -40,40 +43,49 @@ class _SignUpPageState extends State<SignUpPage> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
Image.asset( Image.asset(
'assets/images/Logo.png', 'assets/images/Logo.png',
width: 250, width: 250,
), ),
SizedBox(height: 45,), const SizedBox(
Text( height: 45,
),
const Text(
"S'INSCRIRE", "S'INSCRIRE",
style: TextStyle(fontFamily: 'DMSans', color: Colors.white ,fontSize: 23, fontWeight: FontWeight.w700), style: TextStyle(
fontFamily: 'DMSans',
color: Colors.white,
fontSize: 23,
fontWeight: FontWeight.w700),
textAlign: TextAlign.center, textAlign: TextAlign.center,
), ),
SizedBox(height: 10,), const SizedBox(
height: 10,
),
Container( Container(
width: 500, width: 500,
padding: EdgeInsets.fromLTRB(45, 0, 45, 0), padding: const EdgeInsets.fromLTRB(45, 0, 45, 0),
child: Stack( child: Stack(
children: [ children: [
Container( Container(
height: 43, height: 43,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.all( borderRadius:
Radius.circular(50)), const BorderRadius.all(Radius.circular(50)),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.black.withOpacity(0.3), color: Colors.black.withOpacity(0.3),
spreadRadius: 5, spreadRadius: 5,
blurRadius: 7, blurRadius: 7,
offset: Offset(0, 3), // changes position of shadow offset: const Offset(
0, 3), // changes position of shadow
), ),
], ],
), ),
), ),
Padding(padding: EdgeInsets.fromLTRB(50, 0, 20, 0), const Padding(
padding: EdgeInsets.fromLTRB(50, 0, 20, 0),
child: TextField( child: TextField(
controller: userNameTextField, controller: userNameTextField,
decoration: InputDecoration( decoration: InputDecoration(
@ -84,7 +96,7 @@ class _SignUpPageState extends State<SignUpPage> {
), ),
), ),
Container( Container(
margin: EdgeInsets.fromLTRB(15, 12, 0, 0), margin: const EdgeInsets.fromLTRB(15, 12, 0, 0),
child: Image.asset( child: Image.asset(
'assets/images/profil_logo.png', 'assets/images/profil_logo.png',
height: 16, height: 16,
@ -93,31 +105,31 @@ class _SignUpPageState extends State<SignUpPage> {
), ),
), ),
], ],
) )),
),
Container( Container(
width: 500, width: 500,
padding: EdgeInsets.fromLTRB(45, 10, 45, 0), padding: const EdgeInsets.fromLTRB(45, 10, 45, 0),
child: Stack( child: Stack(
children: [ children: [
Container( Container(
height: 43, height: 43,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.all( borderRadius:
Radius.circular(50)), const BorderRadius.all(Radius.circular(50)),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.black.withOpacity(0.3), color: Colors.black.withOpacity(0.3),
spreadRadius: 5, spreadRadius: 5,
blurRadius: 7, blurRadius: 7,
offset: Offset(0, 3), // changes position of shadow offset: const Offset(
0, 3), // changes position of shadow
), ),
], ],
), ),
),
),Padding(padding: EdgeInsets.fromLTRB(50, 0, 20, 0), const Padding(
padding: EdgeInsets.fromLTRB(50, 0, 20, 0),
child: TextField( child: TextField(
controller: passwordTextField, controller: passwordTextField,
obscureText: true, obscureText: true,
@ -129,7 +141,7 @@ class _SignUpPageState extends State<SignUpPage> {
), ),
), ),
Container( Container(
margin: EdgeInsets.fromLTRB(15, 12, 0, 0), margin: const EdgeInsets.fromLTRB(15, 12, 0, 0),
child: Image.asset( child: Image.asset(
'assets/images/password_logo.png', 'assets/images/password_logo.png',
height: 16, height: 16,
@ -138,31 +150,31 @@ class _SignUpPageState extends State<SignUpPage> {
), ),
), ),
], ],
) )),
),
Container( Container(
width: 500, width: 500,
padding: EdgeInsets.fromLTRB(45, 10, 45, 0), padding: const EdgeInsets.fromLTRB(45, 10, 45, 0),
child: Stack( child: Stack(
children: [ children: [
Container( Container(
height: 43, height: 43,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.all( borderRadius:
Radius.circular(50)), const BorderRadius.all(Radius.circular(50)),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.black.withOpacity(0.3), color: Colors.black.withOpacity(0.3),
spreadRadius: 5, spreadRadius: 5,
blurRadius: 7, blurRadius: 7,
offset: Offset(0, 3), // changes position of shadow offset: const Offset(
0, 3), // changes position of shadow
), ),
], ],
), ),
),
),Padding(padding: EdgeInsets.fromLTRB(50, 0, 20, 0), Padding(
padding: const EdgeInsets.fromLTRB(50, 0, 20, 0),
child: TextField( child: TextField(
obscureText: true, obscureText: true,
controller: passwordConfirmTextField, controller: passwordConfirmTextField,
@ -174,7 +186,7 @@ class _SignUpPageState extends State<SignUpPage> {
), ),
), ),
Container( Container(
margin: EdgeInsets.fromLTRB(15, 12, 0, 0), margin: const EdgeInsets.fromLTRB(15, 12, 0, 0),
child: Image.asset( child: Image.asset(
'assets/images/password_logo.png', 'assets/images/password_logo.png',
height: 16, height: 16,
@ -183,58 +195,70 @@ class _SignUpPageState extends State<SignUpPage> {
), ),
), ),
], ],
) )),
),
Container( Container(
width: 500, width: 500,
padding: EdgeInsets.fromLTRB(45, 10, 45, 0), padding: const EdgeInsets.fromLTRB(45, 10, 45, 0),
child: Stack( child: Stack(
children: [ children: [
Container( Container(
height: 43, height: 43,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color(0xFF24CF5F), color: const Color(0xFF24CF5F),
borderRadius: BorderRadius.all( borderRadius:
Radius.circular(50)), const BorderRadius.all(Radius.circular(50)),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.black.withOpacity(0.3), color: Colors.black.withOpacity(0.3),
spreadRadius: 5, spreadRadius: 5,
blurRadius: 7, blurRadius: 7,
offset: Offset(0, 3), // changes position of shadow offset: const Offset(
0, 3), // changes position of shadow
), ),
], ],
), ),
), ),
Padding( SizedBox(
padding: EdgeInsets.fromLTRB(0, 10, 10, 0), height: 43,
child: Row( width: width * 0.75,
mainAxisAlignment: MainAxisAlignment.center, child: ElevatedButton(
children: [ style: ElevatedButton.styleFrom(
Text( backgroundColor: const Color(0xFF24CF5F),
"Lier compte ", shape: RoundedRectangleBorder(
style: TextStyle(fontFamily: 'DMSans', color: Colors.white ,fontSize: 18, fontWeight: FontWeight.w700), borderRadius: BorderRadius.circular(100),
textAlign: TextAlign.center, ), // background// foreground
), ),
Image.asset( onPressed: () {
'assets/images/spotify_logo.png', MyInAppBrowser();
height: 25, },
width: 25, child: Row(
fit: BoxFit.cover, mainAxisAlignment: MainAxisAlignment.center,
), children: [
], const Text(
),), "Lier compte",
style: TextStyle(
fontFamily: 'DMSans',
color: Colors.white,
fontSize: 18,
fontWeight: FontWeight.w700),
),
Image.asset(
'assets/images/spotify_logo.png',
height: 25,
width: 25,
fit: BoxFit.cover,
),
],
)),
),
], ],
) )),
const SizedBox(
height: 30,
), ),
SizedBox(height: 30,),
ClipRRect( ClipRRect(
borderRadius: BorderRadius.circular(22), borderRadius: BorderRadius.circular(22),
child: Material( child: Material(
child: InkWell( child: InkWell(
highlightColor: Colors.grey.shade100, highlightColor: Colors.grey.shade100,
splashColor: Color(0xFF406DE1), splashColor: Color(0xFF406DE1),
@ -255,13 +279,14 @@ class _SignUpPageState extends State<SignUpPage> {
width: 83, width: 83,
height: 83, height: 83,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white,// Set rounded corner radius color: Colors.white, // Set rounded corner radius
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.black.withOpacity(0.3), color: Colors.black.withOpacity(0.3),
spreadRadius: 5, spreadRadius: 5,
blurRadius: 7, blurRadius: 7,
offset: Offset(0, 3), // changes position of shadow offset: const Offset(
0, 3), // changes position of shadow
), ),
], ],
), ),
@ -270,26 +295,39 @@ class _SignUpPageState extends State<SignUpPage> {
), ),
), ),
), ),
SizedBox(height: 100,), const SizedBox(
height: 100,
),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Text('Tu as déjà un compte ?', style: TextStyle(color: Colors.white, fontWeight: FontWeight.normal, fontSize: 17)), const Text('Tu as déjà un compte ?',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.normal,
fontSize: 17)),
GestureDetector( GestureDetector(
onTap: () { onTap: () {
Navigator.of(context).push( Navigator.of(context).push(
PageTransition( PageTransition(
type: PageTransitionType.fade, type: PageTransitionType.fade,
childCurrent: widget, childCurrent: widget,
child: SignInPage()), child: const SignInPage()),
); );
}, },
child: Text(' se connecter', style: TextStyle(color: Color(0xFF406DE1), fontWeight: FontWeight.normal, fontSize: 16), child: const Text(
' se connecter',
style: TextStyle(
color: Color(0xFF406DE1),
fontWeight: FontWeight.normal,
fontSize: 16),
), ),
), ),
], ],
), ),
SizedBox(height: 60,), const SizedBox(
height: 60,
),
], ],
), ),

@ -132,6 +132,13 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
flutter_inappwebview:
dependency: "direct main"
description:
name: flutter_inappwebview
url: "https://pub.dartlang.org"
source: hosted
version: "5.7.1"
flutter_launcher_icons: flutter_launcher_icons:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -199,7 +206,7 @@ packages:
source: hosted source: hosted
version: "0.15.1" version: "0.15.1"
http: http:
dependency: transitive dependency: "direct main"
description: description:
name: http name: http
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
@ -387,6 +394,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.4" version: "6.0.4"
random_string:
dependency: "direct main"
description:
name: random_string
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.1"
rikulo_commons: rikulo_commons:
dependency: transitive dependency: transitive
description: description:

@ -1,40 +1,17 @@
name: dafl_project_flutter name: dafl_project_flutter
description: A new Flutter project. description: A new Flutter project.
# The following line prevents the package from being accidentally published to publish_to: 'none'
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=2.18.2 <3.0.0' sdk: '>=2.18.2 <3.0.0'
# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
# dependencies can be manually updated by changing the version numbers below to
# the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`.
dependencies: dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2 cupertino_icons: ^1.0.2
page_transition: ^2.0.9 page_transition: ^2.0.9
provider: ^6.0.4 provider: ^6.0.4
@ -43,6 +20,9 @@ dependencies:
animations: ^2.0.7 animations: ^2.0.7
fluttertoast: ^8.1.1 fluttertoast: ^8.1.1
vibration: ^1.7.6 vibration: ^1.7.6
flutter_inappwebview: ^5.7.1
http: ^0.13.5
random_string: ^2.3.1
postgresql2: ^1.0.3 postgresql2: ^1.0.3
path_provider: ^2.0.11 path_provider: ^2.0.11
font_awesome_flutter: ^10.2.1 font_awesome_flutter: ^10.2.1
@ -53,11 +33,6 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
# The "flutter_lints" package below contains a set of recommended lints to
# encourage good coding practices. The lint set provided by the package is
# activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
flutter_lints: ^2.0.0 flutter_lints: ^2.0.0
flutter_launcher_icons: ^0.10.0 flutter_launcher_icons: ^0.10.0
flutter_native_splash: ^2.2.11 flutter_native_splash: ^2.2.11
@ -71,11 +46,6 @@ flutter_native_splash:
#background_image: "assets/images/background_blur.png" #background_image: "assets/images/background_blur.png"
image: "assets/images/icon_App.png" image: "assets/images/icon_App.png"
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter packages.
flutter_icons: flutter_icons:
image_path_android: "assets/images/icon_App.png" image_path_android: "assets/images/icon_App.png"
image_path_ios: "assets/images/icon_App.png" image_path_ios: "assets/images/icon_App.png"
@ -83,28 +53,11 @@ flutter_icons:
ios: true ios: true
flutter: flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true uses-material-design: true
# To add assets to your application, add an assets section, like this:
assets: assets:
- assets/images/ - assets/images/
- assets/fonts/ - assets/fonts/
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
fonts: fonts:
- family: DMSans - family: DMSans
fonts: fonts:
@ -122,5 +75,3 @@ flutter:
- family: CustomIcons - family: CustomIcons
fonts: fonts:
- asset: assets/fonts/CustomIcons.ttf - asset: assets/fonts/CustomIcons.ttf
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages

Loading…
Cancel
Save