mirror of
https://github.com/revanced/revanced-manager.git
synced 2025-04-30 05:54:26 +02:00
feat: add an OpenContainer wrapper and remove an unneeded padding on app selector card
This commit is contained in:
parent
0d14db41e1
commit
10a6ec2f1e
@ -81,9 +81,7 @@ class MyApp extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class Navigation extends StatelessWidget {
|
class Navigation extends StatelessWidget {
|
||||||
const Navigation({
|
const Navigation({Key? key}) : super(key: key);
|
||||||
Key? key,
|
|
||||||
}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -73,7 +73,6 @@ class HomeView extends StatelessWidget {
|
|||||||
const SizedBox(height: 10),
|
const SizedBox(height: 10),
|
||||||
LatestCommitCard(
|
LatestCommitCard(
|
||||||
onPressed: () => model.updateManager(context),
|
onPressed: () => model.updateManager(context),
|
||||||
color: Theme.of(context).colorScheme.primary,
|
|
||||||
),
|
),
|
||||||
const SizedBox(height: 23),
|
const SizedBox(height: 23),
|
||||||
I18nText(
|
I18nText(
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import 'package:animations/animations.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_i18n/flutter_i18n.dart';
|
import 'package:flutter_i18n/flutter_i18n.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
@ -10,6 +9,7 @@ import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
|
|||||||
import 'package:revanced_manager/ui/views/patches_selector/patches_selector_view.dart';
|
import 'package:revanced_manager/ui/views/patches_selector/patches_selector_view.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/patcherView/app_selector_card.dart';
|
import 'package:revanced_manager/ui/widgets/patcherView/app_selector_card.dart';
|
||||||
import 'package:revanced_manager/ui/widgets/patcherView/patch_selector_card.dart';
|
import 'package:revanced_manager/ui/widgets/patcherView/patch_selector_card.dart';
|
||||||
|
import 'package:revanced_manager/ui/widgets/shared/open_container_wrapper.dart';
|
||||||
import 'package:stacked/stacked.dart';
|
import 'package:stacked/stacked.dart';
|
||||||
|
|
||||||
class PatcherView extends StatelessWidget {
|
class PatcherView extends StatelessWidget {
|
||||||
@ -23,14 +23,8 @@ class PatcherView extends StatelessWidget {
|
|||||||
builder: (context, model, child) => Scaffold(
|
builder: (context, model, child) => Scaffold(
|
||||||
floatingActionButton: Visibility(
|
floatingActionButton: Visibility(
|
||||||
visible: model.showPatchButton(),
|
visible: model.showPatchButton(),
|
||||||
child: OpenContainer(
|
child: OpenContainerWrapper(
|
||||||
transitionDuration: const Duration(milliseconds: 400),
|
openBuilder: (_, __) => const InstallerView(),
|
||||||
openBuilder: (_, openContainer) => const InstallerView(),
|
|
||||||
openColor: Theme.of(context).colorScheme.primary,
|
|
||||||
closedColor: Colors.transparent,
|
|
||||||
closedShape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(12),
|
|
||||||
),
|
|
||||||
closedBuilder: (_, openContainer) => FloatingActionButton.extended(
|
closedBuilder: (_, openContainer) => FloatingActionButton.extended(
|
||||||
label: I18nText('patcherView.patchButton'),
|
label: I18nText('patcherView.patchButton'),
|
||||||
icon: const Icon(Icons.build),
|
icon: const Icon(Icons.build),
|
||||||
@ -80,18 +74,10 @@ class PatcherView extends StatelessWidget {
|
|||||||
sliver: SliverList(
|
sliver: SliverList(
|
||||||
delegate: SliverChildListDelegate.fixed(
|
delegate: SliverChildListDelegate.fixed(
|
||||||
<Widget>[
|
<Widget>[
|
||||||
OpenContainer(
|
OpenContainerWrapper(
|
||||||
transitionDuration: const Duration(milliseconds: 400),
|
openBuilder: (_, __) => const AppSelectorView(),
|
||||||
openBuilder: (_, openContainer) =>
|
|
||||||
const AppSelectorView(),
|
|
||||||
openColor: Theme.of(context).colorScheme.primary,
|
|
||||||
closedColor: Colors.transparent,
|
|
||||||
closedShape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(12),
|
|
||||||
),
|
|
||||||
closedBuilder: (_, openContainer) => AppSelectorCard(
|
closedBuilder: (_, openContainer) => AppSelectorCard(
|
||||||
onPressed: openContainer,
|
onPressed: openContainer,
|
||||||
color: Theme.of(context).colorScheme.primary,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
@ -99,19 +85,11 @@ class PatcherView extends StatelessWidget {
|
|||||||
opacity: isDark
|
opacity: isDark
|
||||||
? (model.dimPatchesCard() ? 0.5 : 1)
|
? (model.dimPatchesCard() ? 0.5 : 1)
|
||||||
: (model.dimPatchesCard() ? 0.75 : 1),
|
: (model.dimPatchesCard() ? 0.75 : 1),
|
||||||
child: OpenContainer(
|
child: OpenContainerWrapper(
|
||||||
transitionDuration: const Duration(milliseconds: 400),
|
openBuilder: (_, __) => const PatchesSelectorView(),
|
||||||
openBuilder: (_, openContainer) =>
|
|
||||||
const PatchesSelectorView(),
|
|
||||||
openColor: Theme.of(context).colorScheme.primary,
|
|
||||||
closedColor: Colors.transparent,
|
|
||||||
closedShape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(12),
|
|
||||||
),
|
|
||||||
closedBuilder: (_, openContainer) => PatchSelectorCard(
|
closedBuilder: (_, openContainer) => PatchSelectorCard(
|
||||||
onPressed:
|
onPressed:
|
||||||
model.dimPatchesCard() ? () => {} : openContainer,
|
model.dimPatchesCard() ? () => {} : openContainer,
|
||||||
color: Theme.of(context).colorScheme.primary,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -5,9 +5,7 @@ import 'package:revanced_manager/ui/views/home/home_viewmodel.dart';
|
|||||||
import 'package:revanced_manager/ui/widgets/shared/application_item.dart';
|
import 'package:revanced_manager/ui/widgets/shared/application_item.dart';
|
||||||
|
|
||||||
class AvailableUpdatesCard extends StatelessWidget {
|
class AvailableUpdatesCard extends StatelessWidget {
|
||||||
AvailableUpdatesCard({
|
AvailableUpdatesCard({Key? key}) : super(key: key);
|
||||||
Key? key,
|
|
||||||
}) : super(key: key);
|
|
||||||
|
|
||||||
final List<PatchedApplication> apps =
|
final List<PatchedApplication> apps =
|
||||||
locator<HomeViewModel>().patchedUpdatableApps;
|
locator<HomeViewModel>().patchedUpdatableApps;
|
||||||
|
@ -7,6 +7,7 @@ class DashboardChip extends StatelessWidget {
|
|||||||
final String label;
|
final String label;
|
||||||
final bool isSelected;
|
final bool isSelected;
|
||||||
final Function(bool)? onSelected;
|
final Function(bool)? onSelected;
|
||||||
|
|
||||||
const DashboardChip({
|
const DashboardChip({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.label,
|
required this.label,
|
||||||
|
@ -6,9 +6,7 @@ import 'package:revanced_manager/ui/views/home/home_viewmodel.dart';
|
|||||||
import 'package:revanced_manager/ui/widgets/shared/application_item.dart';
|
import 'package:revanced_manager/ui/widgets/shared/application_item.dart';
|
||||||
|
|
||||||
class InstalledAppsCard extends StatelessWidget {
|
class InstalledAppsCard extends StatelessWidget {
|
||||||
InstalledAppsCard({
|
InstalledAppsCard({Key? key}) : super(key: key);
|
||||||
Key? key,
|
|
||||||
}) : super(key: key);
|
|
||||||
|
|
||||||
final List<PatchedApplication> apps =
|
final List<PatchedApplication> apps =
|
||||||
locator<HomeViewModel>().patchedInstalledApps;
|
locator<HomeViewModel>().patchedInstalledApps;
|
||||||
|
@ -9,11 +9,10 @@ import 'package:revanced_manager/ui/widgets/shared/patch_text_button.dart';
|
|||||||
|
|
||||||
class LatestCommitCard extends StatefulWidget {
|
class LatestCommitCard extends StatefulWidget {
|
||||||
final Function() onPressed;
|
final Function() onPressed;
|
||||||
final Color? color;
|
|
||||||
const LatestCommitCard({
|
const LatestCommitCard({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.onPressed,
|
required this.onPressed,
|
||||||
this.color = const Color(0xff1B222B),
|
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -28,7 +27,7 @@ class _LatestCommitCardState extends State<LatestCommitCard> {
|
|||||||
return Container(
|
return Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(12),
|
borderRadius: BorderRadius.circular(12),
|
||||||
color: widget.color,
|
color: Theme.of(context).colorScheme.primary,
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.symmetric(vertical: 18, horizontal: 20),
|
padding: const EdgeInsets.symmetric(vertical: 18, horizontal: 20),
|
||||||
child: Row(
|
child: Row(
|
||||||
|
@ -8,12 +8,10 @@ import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
|
|||||||
|
|
||||||
class AppSelectorCard extends StatelessWidget {
|
class AppSelectorCard extends StatelessWidget {
|
||||||
final Function() onPressed;
|
final Function() onPressed;
|
||||||
final Color? color;
|
|
||||||
|
|
||||||
const AppSelectorCard({
|
const AppSelectorCard({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.onPressed,
|
required this.onPressed,
|
||||||
this.color = const Color(0xff1B222B),
|
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -24,13 +22,12 @@ class AppSelectorCard extends StatelessWidget {
|
|||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(12),
|
borderRadius: BorderRadius.circular(12),
|
||||||
color: color,
|
color: Theme.of(context).colorScheme.primary,
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.symmetric(vertical: 18, horizontal: 20),
|
padding: const EdgeInsets.symmetric(vertical: 18, horizontal: 20),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
const SizedBox(height: 10),
|
|
||||||
I18nText(
|
I18nText(
|
||||||
locator<PatcherViewModel>().selectedApp == null
|
locator<PatcherViewModel>().selectedApp == null
|
||||||
? 'appSelectorCard.widgetTitle'
|
? 'appSelectorCard.widgetTitle'
|
||||||
|
@ -8,12 +8,10 @@ import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
|
|||||||
|
|
||||||
class PatchSelectorCard extends StatelessWidget {
|
class PatchSelectorCard extends StatelessWidget {
|
||||||
final Function() onPressed;
|
final Function() onPressed;
|
||||||
final Color? color;
|
|
||||||
|
|
||||||
const PatchSelectorCard({
|
const PatchSelectorCard({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.onPressed,
|
required this.onPressed,
|
||||||
this.color = const Color(0xff1B222B),
|
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -24,7 +22,7 @@ class PatchSelectorCard extends StatelessWidget {
|
|||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(12),
|
borderRadius: BorderRadius.circular(12),
|
||||||
color: color,
|
color: Theme.of(context).colorScheme.primary,
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.symmetric(vertical: 18, horizontal: 20),
|
padding: const EdgeInsets.symmetric(vertical: 18, horizontal: 20),
|
||||||
child: Column(
|
child: Column(
|
||||||
|
@ -5,6 +5,7 @@ import 'package:google_fonts/google_fonts.dart';
|
|||||||
|
|
||||||
class MagiskButton extends StatelessWidget {
|
class MagiskButton extends StatelessWidget {
|
||||||
final Function() onPressed;
|
final Function() onPressed;
|
||||||
|
|
||||||
const MagiskButton({
|
const MagiskButton({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.onPressed,
|
required this.onPressed,
|
||||||
|
@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
|||||||
class CustomSwitch extends StatelessWidget {
|
class CustomSwitch extends StatelessWidget {
|
||||||
final ValueChanged<bool> onChanged;
|
final ValueChanged<bool> onChanged;
|
||||||
final bool value;
|
final bool value;
|
||||||
|
|
||||||
const CustomSwitch({
|
const CustomSwitch({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.onChanged,
|
required this.onChanged,
|
||||||
|
28
lib/ui/widgets/shared/open_container_wrapper.dart
Normal file
28
lib/ui/widgets/shared/open_container_wrapper.dart
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import 'package:animations/animations.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class OpenContainerWrapper extends StatelessWidget {
|
||||||
|
final OpenContainerBuilder openBuilder;
|
||||||
|
final CloseContainerBuilder closedBuilder;
|
||||||
|
|
||||||
|
const OpenContainerWrapper({
|
||||||
|
Key? key,
|
||||||
|
required this.openBuilder,
|
||||||
|
required this.closedBuilder,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return OpenContainer(
|
||||||
|
openBuilder: openBuilder,
|
||||||
|
closedBuilder: closedBuilder,
|
||||||
|
transitionType: ContainerTransitionType.fade,
|
||||||
|
transitionDuration: const Duration(milliseconds: 400),
|
||||||
|
openColor: Theme.of(context).colorScheme.primary,
|
||||||
|
closedColor: Colors.transparent,
|
||||||
|
closedShape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(12),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -8,6 +8,7 @@ class PatchTextButton extends StatelessWidget {
|
|||||||
final Function() onPressed;
|
final Function() onPressed;
|
||||||
final Color borderColor;
|
final Color borderColor;
|
||||||
final Color backgroundColor;
|
final Color backgroundColor;
|
||||||
|
|
||||||
const PatchTextButton({
|
const PatchTextButton({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.text,
|
required this.text,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user