fix: review changes

This commit is contained in:
DenserMeerkat
2024-06-03 23:52:45 +05:30
parent 437346440d
commit e1e93e985c
17 changed files with 39 additions and 40 deletions

View File

@ -0,0 +1,7 @@
import 'package:apidash/consts.dart';
import 'package:flutter/material.dart';
extension MediaQueryExtension on BuildContext {
bool get isMobile =>
kIsMobile && MediaQuery.of(this).size.width < kMinWindowSize.width;
}

View File

@ -1 +1,2 @@
export 'context_extensions.dart';
export 'string_extensions.dart';

View File

@ -2,7 +2,7 @@ import 'package:flutter/widgets.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:inner_drawer/inner_drawer.dart';
final mobileDrawerKeyProvider = Provider<GlobalKey<InnerDrawerState>>(
final mobileDrawerKeyProvider = StateProvider<GlobalKey<InnerDrawerState>>(
(ref) => GlobalKey<InnerDrawerState>());
final navRailIndexStateProvider = StateProvider<int>((ref) => 0);
final selectedIdEditStateProvider = StateProvider<String?>((ref) => null);

View File

@ -4,6 +4,7 @@ import 'package:apidash/providers/providers.dart';
import 'package:apidash/widgets/widgets.dart';
import 'package:apidash/models/models.dart';
import 'package:apidash/consts.dart';
import 'package:apidash/extensions/extensions.dart' show MediaQueryExtension;
class CollectionPane extends ConsumerWidget {
const CollectionPane({
@ -142,8 +143,6 @@ class _RequestListState extends ConsumerState<RequestList> {
final alwaysShowCollectionPaneScrollbar = ref.watch(settingsProvider
.select((value) => value.alwaysShowCollectionPaneScrollbar));
final filterQuery = ref.watch(searchQueryProvider).trim();
final isMobile =
kIsMobile && MediaQuery.sizeOf(context).width < kMinWindowSize.width;
return Scrollbar(
controller: controller,
@ -151,7 +150,7 @@ class _RequestListState extends ConsumerState<RequestList> {
radius: const Radius.circular(12),
child: filterQuery.isEmpty
? ReorderableListView.builder(
padding: isMobile
padding: context.isMobile
? EdgeInsets.only(
bottom: MediaQuery.paddingOf(context).bottom,
right: 8,

View File

@ -1,19 +1,18 @@
import 'package:apidash/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:apidash/providers/providers.dart';
import 'package:apidash/consts.dart';
import 'details_card/details_card.dart';
import 'url_card.dart';
import 'package:apidash/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart';
import 'package:apidash/extensions/extensions.dart' show MediaQueryExtension;
class RequestEditor extends StatelessWidget {
const RequestEditor({super.key});
@override
Widget build(BuildContext context) {
final isMobile =
kIsMobile && MediaQuery.sizeOf(context).width < kMinWindowSize.width;
return isMobile
return context.isMobile
? const Padding(
padding: kPb10,
child: Column(

View File

@ -3,14 +3,13 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:apidash/providers/providers.dart';
import 'package:apidash/widgets/widgets.dart';
import 'package:apidash/consts.dart';
import 'package:apidash/extensions/extensions.dart' show MediaQueryExtension;
class EditorPaneRequestURLCard extends StatelessWidget {
const EditorPaneRequestURLCard({super.key});
@override
Widget build(BuildContext context) {
final isMobile =
kIsMobile && MediaQuery.sizeOf(context).width < kMinWindowSize.width;
return Card(
elevation: 0,
shape: RoundedRectangleBorder(
@ -22,9 +21,9 @@ class EditorPaneRequestURLCard extends StatelessWidget {
child: Padding(
padding: EdgeInsets.symmetric(
vertical: 5,
horizontal: !isMobile ? 20 : 6,
horizontal: !context.isMobile ? 20 : 6,
),
child: isMobile
child: context.isMobile
? const Row(
children: [
DropdownButtonHTTPMethod(),

View File

@ -6,9 +6,9 @@ import 'package:inner_drawer/inner_drawer.dart';
import 'package:flex_color_scheme/flex_color_scheme.dart';
import '../../providers/providers.dart';
import 'navbar.dart';
import 'left_drawer.dart';
import 'requests_page/requests_page.dart';
import 'requests_page/response_drawer.dart';
import 'widgets/left_drawer.dart';
import 'requests_page.dart';
import 'response_drawer.dart';
import '../home_page/collection_pane.dart';
class MobileDashboard extends ConsumerStatefulWidget {

View File

@ -1,5 +1,5 @@
import 'package:apidash/providers/ui_providers.dart';
import 'package:apidash/screens/mobile/page_base.dart';
import 'package:apidash/screens/mobile/widgets/page_base.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../settings_page.dart';

View File

@ -5,11 +5,11 @@ import 'package:apidash/providers/providers.dart';
import 'package:apidash/utils/http_utils.dart';
import 'package:apidash/consts.dart';
import 'package:apidash/widgets/widgets.dart';
import '../../home_page/editor_pane/editor_request.dart';
import '../../home_page/editor_pane/editor_pane.dart';
import '../../home_page/editor_pane/url_card.dart';
import '../../home_page/editor_pane/details_card/code_pane.dart';
import '../page_base.dart';
import '../home_page/editor_pane/editor_request.dart';
import '../home_page/editor_pane/editor_pane.dart';
import '../home_page/editor_pane/url_card.dart';
import '../home_page/editor_pane/details_card/code_pane.dart';
import 'widgets/page_base.dart';
class RequestsPage extends StatelessWidget {
final GlobalKey<InnerDrawerState> innerDrawerKey;
@ -64,8 +64,7 @@ class RequestTitle extends ConsumerWidget {
Widget build(BuildContext context, WidgetRef ref) {
final id = ref.watch(selectedIdStateProvider);
final name = getRequestTitleFromUrl(
ref.watch(selectedRequestModelProvider.select((value) => value?.name)),
capitalize: true);
ref.watch(selectedRequestModelProvider.select((value) => value?.name)));
return ClipRRect(
borderRadius: BorderRadius.circular(8),
child: Material(

View File

@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import '../../home_page/editor_pane/details_card/response_pane.dart';
import '../home_page/editor_pane/details_card/response_pane.dart';
class ResponseDrawer extends StatelessWidget {
const ResponseDrawer({super.key});

View File

@ -4,6 +4,7 @@ import '../providers/providers.dart';
import '../widgets/widgets.dart';
import '../common/utils.dart';
import '../consts.dart';
import 'package:apidash/extensions/extensions.dart' show MediaQueryExtension;
class SettingsPage extends ConsumerWidget {
const SettingsPage({super.key});
@ -13,12 +14,10 @@ class SettingsPage extends ConsumerWidget {
final settings = ref.watch(settingsProvider);
final clearingData = ref.watch(clearDataStateProvider);
var sm = ScaffoldMessenger.of(context);
final isMobile =
kIsMobile && MediaQuery.sizeOf(context).width < kMinWindowSize.width;
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
!isMobile
!context.isMobile
? Padding(
padding: kPh20t40,
child: kIsDesktop

View File

@ -7,14 +7,14 @@ import '../models/models.dart';
import 'convert_utils.dart' show rowsToMap;
import '../consts.dart';
String getRequestTitleFromUrl(String? url, {bool capitalize = false}) {
String getRequestTitleFromUrl(String? url) {
if (url == null || url.trim() == "") {
return !capitalize ? "untitled" : "Untitled";
return "untitled";
}
if (url.contains("://")) {
String rem = url.split("://")[1];
if (rem.trim() == "") {
return !capitalize ? "untitled" : "Untitled";
return "untitled";
}
return rem;
}

View File

@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:apidash/utils/utils.dart';
import 'package:apidash/consts.dart';
import 'package:apidash/extensions/extensions.dart' show MediaQueryExtension;
class DropdownButtonHttpMethod extends StatelessWidget {
const DropdownButtonHttpMethod({
@ -15,8 +16,6 @@ class DropdownButtonHttpMethod extends StatelessWidget {
@override
Widget build(BuildContext context) {
final surfaceColor = Theme.of(context).colorScheme.surface;
final isMobile =
kIsMobile && MediaQuery.sizeOf(context).width < kMinWindowSize.width;
return DropdownButton<HTTPVerb>(
focusColor: surfaceColor,
value: method,
@ -31,11 +30,10 @@ class DropdownButtonHttpMethod extends StatelessWidget {
return DropdownMenuItem<HTTPVerb>(
value: value,
child: Padding(
padding: EdgeInsets.only(left: isMobile ? 8 : 16),
padding: EdgeInsets.only(left: context.isMobile ? 8 : 16),
child: Text(
value.name.toUpperCase(),
style: kCodeStyle.copyWith(
fontSize: isMobile ? 13 : null,
fontWeight: FontWeight.bold,
color: getHTTPMethodColor(
value,

View File

@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:apidash/consts.dart';
import 'tabs.dart';
import 'package:apidash/extensions/extensions.dart' show MediaQueryExtension;
class RequestPane extends StatefulWidget {
const RequestPane({
@ -45,11 +46,9 @@ class _RequestPaneState extends State<RequestPane>
if (widget.tabIndex != null) {
_controller.index = widget.tabIndex!;
}
final isMobile =
kIsMobile && MediaQuery.sizeOf(context).width < kMinWindowSize.width;
return Column(
children: [
isMobile
context.isMobile
? const SizedBox.shrink()
: Padding(
padding: kP8,

View File

@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:apidash/consts.dart';
import 'package:apidash/extensions/extensions.dart' show MediaQueryExtension;
class TabLabel extends StatelessWidget {
const TabLabel({
@ -12,10 +13,8 @@ class TabLabel extends StatelessWidget {
@override
Widget build(BuildContext context) {
final isMobile =
kIsMobile && MediaQuery.sizeOf(context).width < kMinWindowSize.width;
return SizedBox(
height: isMobile ? kMobileTabHeight : kTabHeight,
height: context.isMobile ? kMobileTabHeight : kTabHeight,
child: Stack(
children: [
Center(