Merge branch 'develop' into develop-fileMessagesWithText
This commit is contained in:
@@ -28,13 +28,13 @@ android {
|
|||||||
ndkVersion "27.0.12077973"
|
ndkVersion "27.0.12077973"
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
sourceCompatibility JavaVersion.VERSION_17
|
||||||
|
targetCompatibility JavaVersion.VERSION_17
|
||||||
coreLibraryDesugaringEnabled true
|
coreLibraryDesugaringEnabled true
|
||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
jvmTarget = '1.8'
|
jvmTarget = '17'
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
@@ -65,5 +65,5 @@ flutter {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.android.support:multidex:2.0.1'
|
implementation 'com.android.support:multidex:2.0.1'
|
||||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4'
|
||||||
}
|
}
|
||||||
|
@@ -20,7 +20,7 @@ pluginManagement {
|
|||||||
plugins {
|
plugins {
|
||||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||||
id "com.android.application" version '8.7.3' apply false
|
id "com.android.application" version '8.7.3' apply false
|
||||||
id "org.jetbrains.kotlin.android" version "1.8.10" apply false
|
id "org.jetbrains.kotlin.android" version "2.1.10" apply false
|
||||||
}
|
}
|
||||||
|
|
||||||
include ":app"
|
include ":app"
|
||||||
|
@@ -18,7 +18,7 @@ class AutocompleteResponseObject {
|
|||||||
String label;
|
String label;
|
||||||
String? icon;
|
String? icon;
|
||||||
String? source;
|
String? source;
|
||||||
List<String>? status;
|
String? status;
|
||||||
String? subline;
|
String? subline;
|
||||||
String? shareWithDisplayNameUniqe;
|
String? shareWithDisplayNameUniqe;
|
||||||
|
|
||||||
|
@@ -28,7 +28,7 @@ AutocompleteResponseObject _$AutocompleteResponseObjectFromJson(
|
|||||||
json['label'] as String,
|
json['label'] as String,
|
||||||
json['icon'] as String?,
|
json['icon'] as String?,
|
||||||
json['source'] as String?,
|
json['source'] as String?,
|
||||||
(json['status'] as List<dynamic>?)?.map((e) => e as String).toList(),
|
json['status'] as String?,
|
||||||
json['subline'] as String?,
|
json['subline'] as String?,
|
||||||
json['shareWithDisplayNameUniqe'] as String?,
|
json['shareWithDisplayNameUniqe'] as String?,
|
||||||
);
|
);
|
||||||
|
@@ -31,7 +31,7 @@ class AppModule {
|
|||||||
var available = {
|
var available = {
|
||||||
Modules.timetable: AppModule(
|
Modules.timetable: AppModule(
|
||||||
Modules.timetable,
|
Modules.timetable,
|
||||||
name: 'Vertretung',
|
name: 'Stundenplan',
|
||||||
icon: () => Icon(Icons.calendar_month),
|
icon: () => Icon(Icons.calendar_month),
|
||||||
breakerArea: BreakerArea.timetable,
|
breakerArea: BreakerArea.timetable,
|
||||||
create: Timetable.new,
|
create: Timetable.new,
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:better_open_file/better_open_file.dart';
|
|
||||||
import 'package:filesize/filesize.dart';
|
import 'package:filesize/filesize.dart';
|
||||||
import 'package:flowder/flowder.dart';
|
import 'package:flowder/flowder.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:jiffy/jiffy.dart';
|
import 'package:jiffy/jiffy.dart';
|
||||||
|
import 'package:open_filex/open_filex.dart';
|
||||||
import '../../../widget/infoDialog.dart';
|
import '../../../widget/infoDialog.dart';
|
||||||
import 'package:nextcloud/nextcloud.dart';
|
import 'package:nextcloud/nextcloud.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
|
@@ -3,26 +3,28 @@ import 'package:flutter/material.dart';
|
|||||||
import '../../../../../api/marianumcloud/talk/getParticipants/getParticipantsResponse.dart';
|
import '../../../../../api/marianumcloud/talk/getParticipants/getParticipantsResponse.dart';
|
||||||
import '../../../../../widget/userAvatar.dart';
|
import '../../../../../widget/userAvatar.dart';
|
||||||
|
|
||||||
class ParticipantsListView extends StatefulWidget {
|
class ParticipantsListView extends StatelessWidget {
|
||||||
final GetParticipantsResponse participantsResponse;
|
final GetParticipantsResponse participantsResponse;
|
||||||
const ParticipantsListView(this.participantsResponse, {super.key});
|
const ParticipantsListView(this.participantsResponse, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<ParticipantsListView> createState() => _ParticipantsListViewState();
|
Widget build(BuildContext context) {
|
||||||
}
|
final participants = participantsResponse.data.map((participant) => ListTile(
|
||||||
|
leading: UserAvatar(id: participant.actorId),
|
||||||
|
title: Text(participant.displayName),
|
||||||
|
subtitle: participant.statusMessage != null ? Text(participant.statusMessage!) : null,
|
||||||
|
)).toList();
|
||||||
|
|
||||||
class _ParticipantsListViewState extends State<ParticipantsListView> {
|
lastname(participant) => participant.title.toString().split(' ').last;
|
||||||
@override
|
participants.sort((a, b) => lastname(a).compareTo(lastname(b)));
|
||||||
Widget build(BuildContext context) => Scaffold(
|
|
||||||
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: const Text('Teilnehmende'),
|
title: const Text('Teilnehmende'),
|
||||||
),
|
),
|
||||||
body: ListView(
|
body: ListView(
|
||||||
children: widget.participantsResponse.data.map((participant) => ListTile(
|
children: participants,
|
||||||
leading: UserAvatar(id: participant.actorId),
|
|
||||||
title: Text(participant.displayName),
|
|
||||||
subtitle: participant.statusMessage != null ? Text(participant.statusMessage!) : null,
|
|
||||||
)).toList(),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
import 'package:better_open_file/better_open_file.dart';
|
|
||||||
import 'package:bubble/bubble.dart';
|
import 'package:bubble/bubble.dart';
|
||||||
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart' as emojis;
|
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart' as emojis;
|
||||||
import 'package:flowder/flowder.dart';
|
import 'package:flowder/flowder.dart';
|
||||||
@@ -6,6 +5,7 @@ import 'package:flutter/foundation.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:jiffy/jiffy.dart';
|
import 'package:jiffy/jiffy.dart';
|
||||||
|
import 'package:open_filex/open_filex.dart';
|
||||||
import '../../../../extensions/text.dart';
|
import '../../../../extensions/text.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
@@ -32,7 +32,7 @@ class DefaultSettings {
|
|||||||
hiddenModules: [],
|
hiddenModules: [],
|
||||||
),
|
),
|
||||||
timetableSettings: TimetableSettings(
|
timetableSettings: TimetableSettings(
|
||||||
connectDoubleLessons: false,
|
connectDoubleLessons: true,
|
||||||
timetableNameMode: TimetableNameMode.name
|
timetableNameMode: TimetableNameMode.name
|
||||||
),
|
),
|
||||||
talkSettings: TalkSettings(
|
talkSettings: TalkSettings(
|
||||||
|
@@ -246,7 +246,7 @@ class _SettingsState extends State<Settings> {
|
|||||||
ListTile(
|
ListTile(
|
||||||
leading: const CenteredLeading(Icon(Icons.date_range_outlined)),
|
leading: const CenteredLeading(Icon(Icons.date_range_outlined)),
|
||||||
title: const Text('Infos zu Web-/ Untis'),
|
title: const Text('Infos zu Web-/ Untis'),
|
||||||
subtitle: const Text('Für den Vertretungsplan'),
|
subtitle: const Text('Für den Stundenplan'),
|
||||||
trailing: const Icon(Icons.arrow_right),
|
trailing: const Icon(Icons.arrow_right),
|
||||||
onTap: () => PrivacyInfo(providerText: 'Untis', imprintUrl: 'https://www.untis.at/impressum', privacyUrl: 'https://www.untis.at/datenschutz-wu-apps').showPopup(context)
|
onTap: () => PrivacyInfo(providerText: 'Untis', imprintUrl: 'https://www.untis.at/impressum', privacyUrl: 'https://www.untis.at/datenschutz-wu-apps').showPopup(context)
|
||||||
),
|
),
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:better_open_file/better_open_file.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:open_filex/open_filex.dart';
|
||||||
import 'package:photo_view/photo_view.dart';
|
import 'package:photo_view/photo_view.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:share_plus/share_plus.dart';
|
import 'package:share_plus/share_plus.dart';
|
||||||
@@ -93,7 +93,7 @@ class _FileViewerState extends State<FileViewer> {
|
|||||||
);
|
);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
OpenFile.open(widget.path).then((result) {
|
OpenFilex.open(widget.path).then((result) {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
if(result.type != ResultType.done) {
|
if(result.type != ResultType.done) {
|
||||||
showDialog(context: context, builder: (context) => AlertDialog(
|
showDialog(context: context, builder: (context) => AlertDialog(
|
||||||
|
24
pubspec.yaml
24
pubspec.yaml
@@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
# In Windows, build-name is used as the major, minor, and patch parts
|
# In Windows, build-name is used as the major, minor, and patch parts
|
||||||
# of the product and file versions while build-number is used as the build suffix.
|
# of the product and file versions while build-number is used as the build suffix.
|
||||||
version: 0.1.3+41
|
version: 0.1.4+42
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>3.0.0'
|
sdk: '>3.0.0'
|
||||||
@@ -42,7 +42,6 @@ dependencies:
|
|||||||
animated_digit: ^3.2.3
|
animated_digit: ^3.2.3
|
||||||
async: ^2.11.0
|
async: ^2.11.0
|
||||||
badges: ^3.1.2
|
badges: ^3.1.2
|
||||||
better_open_file: ^3.6.5
|
|
||||||
bloc: ^9.0.0
|
bloc: ^9.0.0
|
||||||
bottom_sheet: ^4.0.4
|
bottom_sheet: ^4.0.4
|
||||||
bubble: ^1.2.1
|
bubble: ^1.2.1
|
||||||
@@ -55,11 +54,11 @@ dependencies:
|
|||||||
easy_debounce: ^2.0.3
|
easy_debounce: ^2.0.3
|
||||||
emoji_picker_flutter: ^4.3.0
|
emoji_picker_flutter: ^4.3.0
|
||||||
fast_rsa: ^3.7.1
|
fast_rsa: ^3.7.1
|
||||||
file_picker: ^8.1.7
|
file_picker: ^10.3.2
|
||||||
filesize: ^2.0.1
|
filesize: ^2.0.1
|
||||||
firebase_core: ^3.10.1
|
firebase_core: ^4.1.0
|
||||||
firebase_in_app_messaging: ^0.8.1+1
|
firebase_in_app_messaging: ^0.9.0+1
|
||||||
firebase_messaging: ^15.2.1
|
firebase_messaging: ^16.0.1
|
||||||
flowder:
|
flowder:
|
||||||
git:
|
git:
|
||||||
url: https://github.com/Harsh223/flowder.git
|
url: https://github.com/Harsh223/flowder.git
|
||||||
@@ -67,11 +66,11 @@ dependencies:
|
|||||||
flutter_bloc: ^9.0.0
|
flutter_bloc: ^9.0.0
|
||||||
flutter_launcher_icons: ^0.14.3
|
flutter_launcher_icons: ^0.14.3
|
||||||
flutter_linkify: ^6.0.0
|
flutter_linkify: ^6.0.0
|
||||||
flutter_local_notifications: ^18.0.1
|
flutter_local_notifications: ^19.4.1
|
||||||
flutter_login: ^5.0.0
|
flutter_login: ^5.0.0
|
||||||
flutter_native_splash: ^2.4.4
|
flutter_native_splash: ^2.4.4
|
||||||
flutter_split_view: ^0.1.2
|
flutter_split_view: ^0.1.2
|
||||||
freezed_annotation: ^2.4.4
|
freezed_annotation: ^3.1.0
|
||||||
http: ^1.3.0
|
http: ^1.3.0
|
||||||
hydrated_bloc: ^10.0.0
|
hydrated_bloc: ^10.0.0
|
||||||
image_picker: ^1.1.2
|
image_picker: ^1.1.2
|
||||||
@@ -87,20 +86,21 @@ dependencies:
|
|||||||
url: https://github.com/provokateurin/nextcloud-neon
|
url: https://github.com/provokateurin/nextcloud-neon
|
||||||
package_info_plus: ^8.1.3
|
package_info_plus: ^8.1.3
|
||||||
path_provider: ^2.1.5
|
path_provider: ^2.1.5
|
||||||
persistent_bottom_nav_bar_v2: ^5.3.1
|
persistent_bottom_nav_bar_v2: ^6.1.0
|
||||||
photo_view: ^0.15.0
|
photo_view: ^0.15.0
|
||||||
pretty_json: ^2.0.0
|
pretty_json: ^2.0.0
|
||||||
provider: ^6.1.2
|
provider: ^6.1.2
|
||||||
qr_flutter: ^4.1.0
|
qr_flutter: ^4.1.0
|
||||||
rrule: ^0.2.17
|
rrule: ^0.2.17
|
||||||
rrule_generator: ^0.9.0
|
rrule_generator: ^0.9.0
|
||||||
share_plus: ^10.1.4
|
share_plus: ^11.1.0
|
||||||
shared_preferences: ^2.3.5
|
shared_preferences: ^2.3.5
|
||||||
syncfusion_flutter_calendar: ^28.1.41
|
syncfusion_flutter_calendar: ^31.1.17
|
||||||
syncfusion_flutter_pdfviewer: ^28.1.41
|
syncfusion_flutter_pdfviewer: ^31.1.17
|
||||||
time_range_picker: ^2.3.0
|
time_range_picker: ^2.3.0
|
||||||
url_launcher: ^6.3.1
|
url_launcher: ^6.3.1
|
||||||
uuid: ^4.5.1
|
uuid: ^4.5.1
|
||||||
|
open_filex: ^4.7.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
Reference in New Issue
Block a user