This commit is contained in:
otsmr 2025-04-29 20:45:29 +02:00
parent 26af9460a6
commit ac9820261c
7 changed files with 51 additions and 24 deletions

View file

@ -73,6 +73,7 @@
"contextMenuPin": "Anheften", "contextMenuPin": "Anheften",
"contextMenuUnpin": "Lösen", "contextMenuUnpin": "Lösen",
"mediaViewerAuthReason": "Bitte authentifiziere dich, um diesen twonly zu sehen!", "mediaViewerAuthReason": "Bitte authentifiziere dich, um diesen twonly zu sehen!",
"mediaViewerTwonlyTapToOpen": "Tippe um den twonly zu öffnen!",
"messageSendState_Received": "Empfangen", "messageSendState_Received": "Empfangen",
"messageSendState_Opened": "Geöffnet", "messageSendState_Opened": "Geöffnet",
"messageSendState_Send": "Gesendet", "messageSendState_Send": "Gesendet",

View file

@ -120,6 +120,8 @@
"@contextMenuUnpin": {}, "@contextMenuUnpin": {},
"mediaViewerAuthReason": "Please authenticate to see this twonly!", "mediaViewerAuthReason": "Please authenticate to see this twonly!",
"@mediaViewerAuthReason": {}, "@mediaViewerAuthReason": {},
"mediaViewerTwonlyTapToOpen": "Tap to open your twonly!",
"@mediaViewerTwonlyTapToOpen": {},
"messageSendState_Received": "Received", "messageSendState_Received": "Received",
"@messageSendState_Received": {}, "@messageSendState_Received": {},
"messageSendState_Opened": "Opened", "messageSendState_Opened": "Opened",

View file

@ -443,6 +443,12 @@ abstract class AppLocalizations {
/// **'Please authenticate to see this twonly!'** /// **'Please authenticate to see this twonly!'**
String get mediaViewerAuthReason; String get mediaViewerAuthReason;
/// No description provided for @mediaViewerTwonlyTapToOpen.
///
/// In en, this message translates to:
/// **'Tap to open your twonly!'**
String get mediaViewerTwonlyTapToOpen;
/// No description provided for @messageSendState_Received. /// No description provided for @messageSendState_Received.
/// ///
/// In en, this message translates to: /// In en, this message translates to:

View file

@ -184,6 +184,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get mediaViewerAuthReason => 'Bitte authentifiziere dich, um diesen twonly zu sehen!'; String get mediaViewerAuthReason => 'Bitte authentifiziere dich, um diesen twonly zu sehen!';
@override
String get mediaViewerTwonlyTapToOpen => 'Tippe um den twonly zu öffnen!';
@override @override
String get messageSendState_Received => 'Empfangen'; String get messageSendState_Received => 'Empfangen';

View file

@ -184,6 +184,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get mediaViewerAuthReason => 'Please authenticate to see this twonly!'; String get mediaViewerAuthReason => 'Please authenticate to see this twonly!';
@override
String get mediaViewerTwonlyTapToOpen => 'Tap to open your twonly!';
@override @override
String get messageSendState_Received => 'Received'; String get messageSendState_Received => 'Received';

View file

@ -187,11 +187,13 @@ class _ShareImageEditorView extends State<ShareImageEditorView> {
return; return;
} }
if (maxShowTime == gMediaShowInfinite) { if (maxShowTime == gMediaShowInfinite) {
maxShowTime = 4; maxShowTime = 1;
} else if (maxShowTime >= 22) { } else if (maxShowTime == 1) {
maxShowTime = gMediaShowInfinite; maxShowTime = 5;
} else if (maxShowTime == 5) {
maxShowTime = 20;
} else { } else {
maxShowTime = maxShowTime + 8; maxShowTime = gMediaShowInfinite;
} }
setState(() {}); setState(() {});
var user = await getUser(); var user = await getUser();

View file

@ -53,6 +53,7 @@ class _MediaViewerViewState extends State<MediaViewerView> {
bool imageSaved = false; bool imageSaved = false;
bool imageSaving = false; bool imageSaving = false;
bool isMounted = true;
StreamSubscription<Message?>? downloadStateListener; StreamSubscription<Message?>? downloadStateListener;
@ -268,6 +269,7 @@ class _MediaViewerViewState extends State<MediaViewerView> {
_subscription.cancel(); _subscription.cancel();
downloadStateListener?.cancel(); downloadStateListener?.cancel();
videoController?.dispose(); videoController?.dispose();
isMounted = false;
super.dispose(); super.dispose();
} }
@ -390,11 +392,16 @@ class _MediaViewerViewState extends State<MediaViewerView> {
IconButton.outlined( IconButton.outlined(
icon: FaIcon(FontAwesomeIcons.camera), icon: FaIcon(FontAwesomeIcons.camera),
onPressed: () async { onPressed: () async {
nextMediaTimer?.cancel();
progressTimer?.cancel();
await Navigator.push(context, MaterialPageRoute( await Navigator.push(context, MaterialPageRoute(
builder: (context) { builder: (context) {
return CameraSendToView(widget.contact); return CameraSendToView(widget.contact);
}, },
)); ));
if (isMounted && maxShowTime != gMediaShowInfinite) {
nextMediaOrExit();
}
}, },
style: ButtonStyle( style: ButtonStyle(
padding: WidgetStateProperty.all<EdgeInsets>( padding: WidgetStateProperty.all<EdgeInsets>(
@ -481,7 +488,7 @@ class _MediaViewerViewState extends State<MediaViewerView> {
), ),
Container( Container(
padding: EdgeInsets.only(bottom: 200), padding: EdgeInsets.only(bottom: 200),
child: Text("Tap to open your twonly!"), child: Text(context.lang.mediaViewerTwonlyTapToOpen),
), ),
], ],
), ),
@ -658,6 +665,8 @@ class _ReactionButtonsState extends State<ReactionButtons> {
child: AnimatedOpacity( child: AnimatedOpacity(
opacity: widget.show ? 1.0 : 0.0, // Fade in/out opacity: widget.show ? 1.0 : 0.0, // Fade in/out
duration: Duration(milliseconds: 150), duration: Duration(milliseconds: 150),
child: Container(
color: Colors.transparent,
child: Column( child: Column(
children: [ children: [
if (secondRowEmojis.isNotEmpty) if (secondRowEmojis.isNotEmpty)
@ -691,6 +700,7 @@ class _ReactionButtonsState extends State<ReactionButtons> {
], ],
), ),
), ),
),
); );
} }
} }