Merge branch 'develop' into feature-highEduGraduationCalculator

# Conflicts:
#	lib/view/pages/overhang.dart
This commit is contained in:
2024-03-24 14:21:01 +01:00
11 changed files with 113 additions and 95 deletions

View File

@ -6,11 +6,13 @@ import 'package:flowder/flowder.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:jiffy/jiffy.dart';
import 'package:marianum_mobile/widget/infoDialog.dart';
import 'package:nextcloud/nextcloud.dart';
import 'package:path_provider/path_provider.dart';
import '../../../api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
import '../../../api/marianumcloud/webdav/webdavApi.dart';
import '../../../model/endpointData.dart';
import '../../../widget/centeredLeading.dart';
import '../../../widget/confirmDialog.dart';
import '../../../widget/fileViewer.dart';
@ -103,6 +105,10 @@ class _FileElementState extends State<FileElement> {
},
));
} else {
if(EndpointData().getEndpointMode() == EndpointMode.stage) {
InfoDialog.show(context, "Virtuelle Dateien im Staging Prozess können nicht heruntergeladen werden!");
return;
}
if(widget.file.currentlyDownloading) {
showDialog(
context: context,

View File

@ -238,6 +238,7 @@ class _FilesState extends State<Files> {
return Future.delayed(const Duration(seconds: 3));
},
child: ListView.builder(
padding: EdgeInsets.zero,
itemCount: files.length,
itemBuilder: (context, index) {
CacheableFile file = files.toList()[index];

View File

@ -28,7 +28,7 @@ class Overhang extends StatelessWidget {
appBar: AppBar(
title: const Text("Mehr"),
actions: [
IconButton(onPressed: () => pushNewScreen(context, screen: const Settings(), withNavBar: false), icon: const Icon(Icons.settings))
IconButton(onPressed: () => pushScreen(context, screen: const Settings(), withNavBar: false), icon: const Icon(Icons.settings))
],
),
body: ListView(
@ -57,20 +57,17 @@ class Overhang extends StatelessWidget {
return null;
}
return Visibility(
visible: snapshot.requireData,
child: ListTile(
leading: const CenteredLeading(Icon(Icons.star_rate_outlined)),
title: const Text("App Bewerten"),
subtitle: getPlatformStoreName().wrapNullable((data) => Text("Im $data")),
trailing: const Icon(Icons.arrow_right),
onTap: () {
InAppReview.instance.openStoreListing(appStoreId: "6458789560").then(
(value) => InfoDialog.show(context, "Vielen Dank!"),
return ListTile(
leading: const CenteredLeading(Icon(Icons.star_rate_outlined)),
title: const Text("App Bewerten"),
subtitle: getPlatformStoreName().wrapNullable((data) => Text("Im $data")),
trailing: const Icon(Icons.arrow_right),
onTap: () {
InAppReview.instance.openStoreListing(appStoreId: "6458789560").then(
(value) => InfoDialog.show(context, "Vielen Dank!"),
onError: (error) => InfoDialog.show(context, error.toString())
);
},
),
);
},
);
},
),

View File

@ -136,7 +136,10 @@ class _ChatListState extends State<ChatList> {
_query(renew: true);
return Future.delayed(const Duration(seconds: 3));
},
child: ListView(children: chats),
child: ListView(
padding: EdgeInsets.zero,
children: chats
),
);
},
),

View File

@ -129,7 +129,10 @@ class _ChatViewState extends State<ChatView> {
),
Container(
color: Theme.of(context).colorScheme.background,
child: SafeArea(child: ChatTextfield(widget.room.token)),
child: TalkNavigator.isSecondaryVisible(context)
? ChatTextfield(widget.room.token)
: SafeArea(child: ChatTextfield(widget.room.token)
),
)
],
),

View File

@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_split_view/flutter_split_view.dart';
import 'package:persistent_bottom_nav_bar_v2/persistent-tab-view.dart';
import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart';
class TalkNavigator {
static bool hasSplitViewState(BuildContext context) => context.findAncestorStateOfType<SplitViewState>() != null;
@ -12,7 +12,7 @@ class TalkNavigator {
SplitViewState splitView = SplitView.of(context);
overrideToSingleSubScreen ? splitView.setSecondary(view) : splitView.push(view);
} else {
pushNewScreen(context, screen: view, withNavBar: false);
pushScreen(context, screen: view, withNavBar: false);
}
}
}

View File

@ -5,7 +5,7 @@ import 'package:bottom_sheet/bottom_sheet.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:jiffy/jiffy.dart';
import 'package:persistent_bottom_nav_bar_v2/persistent-tab-view.dart';
import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart';
import 'package:provider/provider.dart';
import 'package:rrule/rrule.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';
@ -103,7 +103,7 @@ class AppointmentDetails {
trailing: IconButton(
icon: const Icon(Icons.house_outlined),
onPressed: () {
pushNewScreen(context, withNavBar: false, screen: const Roomplan());
pushScreen(context, withNavBar: false, screen: const Roomplan());
},
),
),