diff --git a/.idea/Motula-Translate-App.iml b/.idea/Motula-Translate-App.iml
index 2d7b4cc..3e245fa 100644
--- a/.idea/Motula-Translate-App.iml
+++ b/.idea/Motula-Translate-App.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..2a0027a
--- /dev/null
+++ b/.idea/libraries/Dart_Packages.xml
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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..3c407c5
--- /dev/null
+++ b/.idea/libraries/Dart_SDK.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 639900d..2c9733a 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,5 @@
-
-
+
\ No newline at end of file
diff --git a/motula_translate_app/android/settings.gradle b/motula_translate_app/android/settings.gradle
index 1d6d19b..6935726 100644
--- a/motula_translate_app/android/settings.gradle
+++ b/motula_translate_app/android/settings.gradle
@@ -23,4 +23,4 @@ plugins {
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
}
-include ":app"
+
diff --git a/motula_translate_app/assets/Backgrounds/Spline.png b/motula_translate_app/assets/Backgrounds/Spline.png
new file mode 100644
index 0000000..e84ec0e
Binary files /dev/null and b/motula_translate_app/assets/Backgrounds/Spline.png differ
diff --git a/motula_translate_app/assets/Fonts/Inter-Regular.ttf b/motula_translate_app/assets/Fonts/Inter-Regular.ttf
new file mode 100644
index 0000000..cc73944
Binary files /dev/null and b/motula_translate_app/assets/Fonts/Inter-Regular.ttf differ
diff --git a/motula_translate_app/assets/Fonts/Inter-SemiBold.ttf b/motula_translate_app/assets/Fonts/Inter-SemiBold.ttf
new file mode 100644
index 0000000..278ceaa
Binary files /dev/null and b/motula_translate_app/assets/Fonts/Inter-SemiBold.ttf differ
diff --git a/motula_translate_app/assets/Fonts/Poppins-Bold.ttf b/motula_translate_app/assets/Fonts/Poppins-Bold.ttf
new file mode 100644
index 0000000..00559ee
Binary files /dev/null and b/motula_translate_app/assets/Fonts/Poppins-Bold.ttf differ
diff --git a/motula_translate_app/assets/RiveAssets/button.riv b/motula_translate_app/assets/RiveAssets/button.riv
new file mode 100644
index 0000000..f3130b7
Binary files /dev/null and b/motula_translate_app/assets/RiveAssets/button.riv differ
diff --git a/motula_translate_app/assets/RiveAssets/check.riv b/motula_translate_app/assets/RiveAssets/check.riv
new file mode 100644
index 0000000..8c0e1b1
Binary files /dev/null and b/motula_translate_app/assets/RiveAssets/check.riv differ
diff --git a/motula_translate_app/assets/RiveAssets/confetti.riv b/motula_translate_app/assets/RiveAssets/confetti.riv
new file mode 100644
index 0000000..221714d
Binary files /dev/null and b/motula_translate_app/assets/RiveAssets/confetti.riv differ
diff --git a/motula_translate_app/assets/RiveAssets/house.riv b/motula_translate_app/assets/RiveAssets/house.riv
new file mode 100644
index 0000000..bcbd285
Binary files /dev/null and b/motula_translate_app/assets/RiveAssets/house.riv differ
diff --git a/motula_translate_app/assets/RiveAssets/icons.riv b/motula_translate_app/assets/RiveAssets/icons.riv
new file mode 100644
index 0000000..26ccc6c
Binary files /dev/null and b/motula_translate_app/assets/RiveAssets/icons.riv differ
diff --git a/motula_translate_app/assets/RiveAssets/menu_button.riv b/motula_translate_app/assets/RiveAssets/menu_button.riv
new file mode 100644
index 0000000..2b66261
Binary files /dev/null and b/motula_translate_app/assets/RiveAssets/menu_button.riv differ
diff --git a/motula_translate_app/assets/RiveAssets/shapes.riv b/motula_translate_app/assets/RiveAssets/shapes.riv
new file mode 100644
index 0000000..0c9cf5f
Binary files /dev/null and b/motula_translate_app/assets/RiveAssets/shapes.riv differ
diff --git a/motula_translate_app/assets/avaters/Avatar 1.jpg b/motula_translate_app/assets/avaters/Avatar 1.jpg
new file mode 100644
index 0000000..e72ded0
Binary files /dev/null and b/motula_translate_app/assets/avaters/Avatar 1.jpg differ
diff --git a/motula_translate_app/assets/avaters/Avatar 2.jpg b/motula_translate_app/assets/avaters/Avatar 2.jpg
new file mode 100644
index 0000000..f828aac
Binary files /dev/null and b/motula_translate_app/assets/avaters/Avatar 2.jpg differ
diff --git a/motula_translate_app/assets/avaters/Avatar 3.jpg b/motula_translate_app/assets/avaters/Avatar 3.jpg
new file mode 100644
index 0000000..8bcf99f
Binary files /dev/null and b/motula_translate_app/assets/avaters/Avatar 3.jpg differ
diff --git a/motula_translate_app/assets/avaters/Avatar 4.jpg b/motula_translate_app/assets/avaters/Avatar 4.jpg
new file mode 100644
index 0000000..b0022b8
Binary files /dev/null and b/motula_translate_app/assets/avaters/Avatar 4.jpg differ
diff --git a/motula_translate_app/assets/avaters/Avatar 5.jpg b/motula_translate_app/assets/avaters/Avatar 5.jpg
new file mode 100644
index 0000000..44c70ef
Binary files /dev/null and b/motula_translate_app/assets/avaters/Avatar 5.jpg differ
diff --git a/motula_translate_app/assets/avaters/Avatar 6.jpg b/motula_translate_app/assets/avaters/Avatar 6.jpg
new file mode 100644
index 0000000..fc227bd
Binary files /dev/null and b/motula_translate_app/assets/avaters/Avatar 6.jpg differ
diff --git a/motula_translate_app/assets/avaters/Avatar Default.jpg b/motula_translate_app/assets/avaters/Avatar Default.jpg
new file mode 100644
index 0000000..e8cf8d2
Binary files /dev/null and b/motula_translate_app/assets/avaters/Avatar Default.jpg differ
diff --git a/motula_translate_app/assets/icons/Arrow Right.svg b/motula_translate_app/assets/icons/Arrow Right.svg
new file mode 100644
index 0000000..0b65734
--- /dev/null
+++ b/motula_translate_app/assets/icons/Arrow Right.svg
@@ -0,0 +1,5 @@
+
diff --git a/motula_translate_app/assets/icons/User.svg b/motula_translate_app/assets/icons/User.svg
new file mode 100644
index 0000000..81a4aa3
--- /dev/null
+++ b/motula_translate_app/assets/icons/User.svg
@@ -0,0 +1,4 @@
+
diff --git a/motula_translate_app/assets/icons/apple_box.svg b/motula_translate_app/assets/icons/apple_box.svg
new file mode 100644
index 0000000..f33beee
--- /dev/null
+++ b/motula_translate_app/assets/icons/apple_box.svg
@@ -0,0 +1,5 @@
+
diff --git a/motula_translate_app/assets/icons/code.svg b/motula_translate_app/assets/icons/code.svg
new file mode 100644
index 0000000..d3c6508
--- /dev/null
+++ b/motula_translate_app/assets/icons/code.svg
@@ -0,0 +1,6 @@
+
diff --git a/motula_translate_app/assets/icons/email.svg b/motula_translate_app/assets/icons/email.svg
new file mode 100644
index 0000000..c302586
--- /dev/null
+++ b/motula_translate_app/assets/icons/email.svg
@@ -0,0 +1,7 @@
+
diff --git a/motula_translate_app/assets/icons/email_box.svg b/motula_translate_app/assets/icons/email_box.svg
new file mode 100644
index 0000000..5105642
--- /dev/null
+++ b/motula_translate_app/assets/icons/email_box.svg
@@ -0,0 +1,4 @@
+
diff --git a/motula_translate_app/assets/icons/google_box.svg b/motula_translate_app/assets/icons/google_box.svg
new file mode 100644
index 0000000..7568034
--- /dev/null
+++ b/motula_translate_app/assets/icons/google_box.svg
@@ -0,0 +1,9 @@
+
diff --git a/motula_translate_app/assets/icons/ios.svg b/motula_translate_app/assets/icons/ios.svg
new file mode 100644
index 0000000..0160a1e
--- /dev/null
+++ b/motula_translate_app/assets/icons/ios.svg
@@ -0,0 +1,7 @@
+
diff --git a/motula_translate_app/assets/icons/password.svg b/motula_translate_app/assets/icons/password.svg
new file mode 100644
index 0000000..f3b98e8
--- /dev/null
+++ b/motula_translate_app/assets/icons/password.svg
@@ -0,0 +1,7 @@
+
diff --git a/motula_translate_app/assets/icons/profile_img.png b/motula_translate_app/assets/icons/profile_img.png
new file mode 100644
index 0000000..7f595a0
Binary files /dev/null and b/motula_translate_app/assets/icons/profile_img.png differ
diff --git a/motula_translate_app/lib/constants.dart b/motula_translate_app/lib/constants.dart
new file mode 100644
index 0000000..2a8cb11
--- /dev/null
+++ b/motula_translate_app/lib/constants.dart
@@ -0,0 +1,7 @@
+import 'package:flutter/material.dart';
+
+const Color backgroundColor2 = Color(0xFF17203A);
+const Color backgroundColorLight = Color(0xFFF2F6FF);
+const Color backgroundColorDark = Color(0xFF25254B);
+const Color shadowColorLight = Color(0xFF4A5367);
+const Color shadowColorDark = Colors.black;
diff --git a/motula_translate_app/lib/main.dart b/motula_translate_app/lib/main.dart
index 8e94089..0acefc2 100644
--- a/motula_translate_app/lib/main.dart
+++ b/motula_translate_app/lib/main.dart
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
+import 'package:motula_translate_app/screens/onboding/onboding_screen.dart';
void main() {
runApp(const MyApp());
@@ -11,115 +12,33 @@ class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
- title: 'Flutter Demo',
+ title: 'The Flutter Way',
theme: ThemeData(
- // This is the theme of your application.
- //
- // TRY THIS: Try running your application with "flutter run". You'll see
- // the application has a purple toolbar. Then, without quitting the app,
- // try changing the seedColor in the colorScheme below to Colors.green
- // and then invoke "hot reload" (save your changes or press the "hot
- // reload" button in a Flutter-supported IDE, or press "r" if you used
- // the command line to start the app).
- //
- // Notice that the counter didn't reset back to zero; the application
- // state is not lost during the reload. To reset the state, use hot
- // restart instead.
- //
- // This works for code too, not just values: Most code changes can be
- // tested with just a hot reload.
- colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
- useMaterial3: true,
- ),
- 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(
- // TRY THIS: Try changing the color here to a specific color (to
- // Colors.amber, perhaps?) and trigger a hot reload to see the AppBar
- // change color while the other colors stay the same.
- backgroundColor: Theme.of(context).colorScheme.inversePrimary,
- // 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.
- //
- // 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).
- //
- // TRY THIS: Invoke "debug painting" (choose the "Toggle Debug Paint"
- // action in the IDE, or press "p" in the console), to see the
- // wireframe for each widget.
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- const Text(
- 'You have pushed the button this many times:',
- ),
- Text(
- '$_counter',
- style: Theme.of(context).textTheme.headlineMedium,
- ),
- ],
+ scaffoldBackgroundColor: const Color(0xFFEEF1F8),
+ primarySwatch: Colors.blue,
+ fontFamily: "Intel",
+ elevatedButtonTheme: ElevatedButtonThemeData(
+ style: ElevatedButton.styleFrom(foregroundColor: Colors.white),
+ ),
+ inputDecorationTheme: const InputDecorationTheme(
+ filled: true,
+ fillColor: Colors.white,
+ errorStyle: TextStyle(height: 0),
+ border: defaultInputBorder,
+ enabledBorder: defaultInputBorder,
+ focusedBorder: defaultInputBorder,
+ errorBorder: defaultInputBorder,
),
),
- floatingActionButton: FloatingActionButton(
- onPressed: _incrementCounter,
- tooltip: 'Increment',
- child: const Icon(Icons.add),
- ), // This trailing comma makes auto-formatting nicer for build methods.
+ home: const OnbodingScreen(),
);
}
}
+
+const defaultInputBorder = OutlineInputBorder(
+ borderRadius: BorderRadius.all(Radius.circular(16)),
+ borderSide: BorderSide(
+ color: Color(0xFFDEE3F2),
+ width: 1,
+ ),
+);
diff --git a/motula_translate_app/lib/model/course.dart b/motula_translate_app/lib/model/course.dart
new file mode 100644
index 0000000..183677c
--- /dev/null
+++ b/motula_translate_app/lib/model/course.dart
@@ -0,0 +1,39 @@
+import 'package:flutter/material.dart' show Color;
+
+class Course {
+ final String title, description, iconSrc;
+ final Color color;
+
+ Course({
+ required this.title,
+ this.description = 'Build and animate an iOS app from scratch',
+ this.iconSrc = "assets/icons/ios.svg",
+ this.color = const Color(0xFF7553F6),
+ });
+}
+
+final List courses = [
+ Course(
+ title: "Animations in SwiftUI",
+ ),
+ Course(
+ title: "Animations in Flutter",
+ iconSrc: "assets/icons/code.svg",
+ color: const Color(0xFF80A4FF),
+ ),
+];
+
+final List recentCourses = [
+ Course(title: "State Machine"),
+ Course(
+ title: "Animated Menu",
+ color: const Color(0xFF9CC5FF),
+ iconSrc: "assets/icons/code.svg",
+ ),
+ Course(title: "Flutter with Rive"),
+ Course(
+ title: "Animated Menu",
+ color: const Color(0xFF9CC5FF),
+ iconSrc: "assets/icons/code.svg",
+ ),
+];
diff --git a/motula_translate_app/lib/model/menu.dart b/motula_translate_app/lib/model/menu.dart
new file mode 100644
index 0000000..710988e
--- /dev/null
+++ b/motula_translate_app/lib/model/menu.dart
@@ -0,0 +1,93 @@
+import 'rive_model.dart';
+
+class Menu {
+ final String title;
+ final RiveModel rive;
+
+ Menu({required this.title, required this.rive});
+}
+
+List