diff --git a/lib/assets/fonts/Manrope.ttf b/lib/assets/fonts/Manrope.ttf
new file mode 100644
index 00000000..8c4a952c
Binary files /dev/null and b/lib/assets/fonts/Manrope.ttf differ
diff --git a/lib/assets/images/manager_logo.svg b/lib/assets/images/manager_logo.svg
new file mode 100644
index 00000000..555f74eb
--- /dev/null
+++ b/lib/assets/images/manager_logo.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/lib/constants.dart b/lib/constants.dart
new file mode 100644
index 00000000..90526a64
--- /dev/null
+++ b/lib/constants.dart
@@ -0,0 +1,8 @@
+import 'package:flutter/material.dart';
+
+const purple80 = Color(0xFFD0BCFF);
+const purpleGrey80 = Color(0xFFCCC2DC);
+const pink80 = Color(0xFFEFB8C8);
+const purple40 = Color(0xFF6650a4);
+const purpleGrey40 = Color(0xFF625b71);
+const pink40 = Color(0xFF7D5260);
diff --git a/lib/main.dart b/lib/main.dart
index f24ff6e1..d92f3e3a 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,5 +1,7 @@
import 'package:flutter/material.dart';
import 'package:revanced_manager_flutter/ui/screens/home_screen.dart';
+import 'package:revanced_manager_flutter/ui/screens/patcher_screen.dart';
+import 'constants.dart';
void main() {
runApp(const MyApp());
@@ -11,11 +13,70 @@ class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
+ debugShowCheckedModeBanner: false,
title: 'ReVanced Manager',
- theme: ThemeData(
- primarySwatch: Colors.blue,
+ theme: ThemeData.light().copyWith(
+ backgroundColor: Colors.red,
+ useMaterial3: true,
+ colorScheme: const ColorScheme.light(
+ primary: purple40,
+ secondary: purpleGrey40,
+ tertiary: pink40,
+ background: Colors.red,
+ ),
+ ),
+ darkTheme: ThemeData.dark().copyWith(
+ backgroundColor: Colors.red,
+ useMaterial3: true,
+ scaffoldBackgroundColor: const Color(0xff0A0D11),
+ colorScheme: const ColorScheme.dark(
+ primary: purple80,
+ secondary: purpleGrey80,
+ tertiary: pink80,
+ background: Colors.red,
+ ),
+ ),
+ home: const Navigation(),
+ );
+ }
+}
+
+class Navigation extends StatefulWidget {
+ const Navigation({Key? key}) : super(key: key);
+
+ @override
+ State createState() => _NavigationState();
+}
+
+class _NavigationState extends State {
+ int currentPageIndex = 0;
+ final List screens = [
+ HomeScreen(),
+ PatcherScreen(),
+ ];
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ body: screens[currentPageIndex],
+ bottomNavigationBar: NavigationBar(
+ onDestinationSelected: (int index) {
+ setState(() {
+ currentPageIndex = index;
+ });
+ },
+ selectedIndex: currentPageIndex,
+ destinations: const [
+ NavigationDestination(
+ icon: Icon(Icons.dashboard),
+ label: "Dashboard",
+ ),
+ NavigationDestination(
+ icon: Icon(Icons.build),
+ label: "Patcher",
+ ),
+ ],
),
- home: const HomeScreen(),
);
}
}
diff --git a/lib/ui/screens/home_screen.dart b/lib/ui/screens/home_screen.dart
index 8a66c01e..61897628 100644
--- a/lib/ui/screens/home_screen.dart
+++ b/lib/ui/screens/home_screen.dart
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
+import 'package:google_fonts/google_fonts.dart';
class HomeScreen extends StatelessWidget {
const HomeScreen({Key? key}) : super(key: key);
@@ -6,11 +7,55 @@ class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
- appBar: AppBar(
- title: const Text('ReVanced Manager'),
- ),
- body: const Center(
- child: Text('Home Screen'),
+ body: SafeArea(
+ child: Padding(
+ padding: const EdgeInsets.symmetric(
+ vertical: 0.0,
+ horizontal: 24.0,
+ ),
+ child: Column(
+ children: [
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ Text(
+ "ReVanced Manager",
+ style: GoogleFonts.manrope(
+ fontSize: 24,
+ fontWeight: FontWeight.w500,
+ ),
+ ),
+ IconButton(
+ onPressed: () {},
+ icon: const Icon(
+ Icons.more_vert,
+ ),
+ )
+ ],
+ ),
+ const SizedBox(height: 12),
+ Align(
+ alignment: Alignment.topLeft,
+ child: Text(
+ "Dashboard",
+ style: GoogleFonts.lato(
+ fontSize: 32,
+ ),
+ ),
+ ),
+ const SizedBox(height: 12),
+ Align(
+ alignment: Alignment.topLeft,
+ child: Text(
+ "ReVanced Updates",
+ style: GoogleFonts.lato(
+ fontSize: 22,
+ ),
+ ),
+ ),
+ ],
+ ),
+ ),
),
);
}
diff --git a/lib/ui/screens/patcher_screen.dart b/lib/ui/screens/patcher_screen.dart
new file mode 100644
index 00000000..01f2bffa
--- /dev/null
+++ b/lib/ui/screens/patcher_screen.dart
@@ -0,0 +1,12 @@
+import 'package:flutter/material.dart';
+import 'package:flutter/src/foundation/key.dart';
+import 'package:flutter/src/widgets/framework.dart';
+
+class PatcherScreen extends StatelessWidget {
+ const PatcherScreen({Key? key}) : super(key: key);
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold();
+ }
+}
diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
index cccf817a..0d56f519 100644
--- a/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -5,6 +5,8 @@
import FlutterMacOS
import Foundation
+import path_provider_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
+ PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
}
diff --git a/pubspec.lock b/pubspec.lock
index fd03c568..0cb735e1 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -43,6 +43,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:
@@ -57,6 +64,20 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
+ ffi:
+ dependency: transitive
+ description:
+ name: ffi
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.1"
+ file:
+ dependency: transitive
+ description:
+ name: file
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "6.1.2"
flutter:
dependency: "direct main"
description: flutter
@@ -69,11 +90,39 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
+ flutter_svg:
+ dependency: "direct main"
+ description:
+ name: flutter_svg
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.1.1+1"
flutter_test:
dependency: "direct dev"
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: "3.0.1"
+ http:
+ dependency: transitive
+ description:
+ name: http
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "0.13.4"
+ http_parser:
+ dependency: transitive
+ description:
+ name: http_parser
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "4.0.1"
lints:
dependency: transitive
description:
@@ -109,6 +158,97 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.1"
+ path_drawing:
+ dependency: transitive
+ description:
+ name: path_drawing
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.0.0"
+ path_parsing:
+ dependency: transitive
+ description:
+ name: path_parsing
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.0.0"
+ path_provider:
+ dependency: transitive
+ description:
+ name: path_provider
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.11"
+ path_provider_android:
+ dependency: transitive
+ description:
+ name: path_provider_android
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.17"
+ path_provider_ios:
+ dependency: transitive
+ description:
+ name: path_provider_ios
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.11"
+ path_provider_linux:
+ dependency: transitive
+ description:
+ name: path_provider_linux
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.1.7"
+ path_provider_macos:
+ dependency: transitive
+ description:
+ name: path_provider_macos
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.6"
+ path_provider_platform_interface:
+ dependency: transitive
+ description:
+ name: path_provider_platform_interface
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.4"
+ path_provider_windows:
+ dependency: transitive
+ description:
+ name: path_provider_windows
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.1.0"
+ petitparser:
+ dependency: transitive
+ description:
+ name: petitparser
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "5.0.0"
+ 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.2"
+ process:
+ dependency: transitive
+ description:
+ name: process
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "4.2.4"
sky_engine:
dependency: transitive
description: flutter
@@ -156,6 +296,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.9"
+ typed_data:
+ dependency: transitive
+ description:
+ name: typed_data
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.3.1"
vector_math:
dependency: transitive
description:
@@ -163,5 +310,27 @@ 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: "2.7.0"
+ xdg_directories:
+ dependency: transitive
+ description:
+ name: xdg_directories
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "0.2.0+1"
+ xml:
+ dependency: transitive
+ description:
+ name: xml
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "6.1.0"
sdks:
dart: ">=2.17.5 <3.0.0"
+ flutter: ">=3.0.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 102b24e1..8b61cf6f 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -34,6 +34,8 @@ 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
+ flutter_svg: ^1.1.1+1
+ google_fonts: ^3.0.1
dev_dependencies:
flutter_test:
@@ -58,9 +60,9 @@ 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:
+ - lib/assets/images/
+ # - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware
@@ -73,12 +75,12 @@ flutter:
# "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:
- # - family: Schyler
- # fonts:
- # - asset: fonts/Schyler-Regular.ttf
- # - asset: fonts/Schyler-Italic.ttf
- # style: italic
+ fonts:
+ - family: Manrope
+ fonts:
+ - asset: lib/assets/fonts/Manrope.ttf
+ # - asset: fonts/Schyler-Italic.ttf
+ # style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf