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