Skip to content

Commit 7c7f88b

Browse files
committed
Added clean image url function
1 parent d472779 commit 7c7f88b

4 files changed

Lines changed: 7 additions & 44 deletions

File tree

lib/components/app_image_display.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'dart:io';
44
import 'package:cached_network_image/cached_network_image.dart';
55
import 'package:flutter/material.dart';
66
import 'package:piwigo_ng/network/api_client.dart';
7+
import 'package:piwigo_ng/network/images.dart';
78
import 'package:piwigo_ng/services/preferences_service.dart';
89
import 'package:piwigo_ng/utils/settings.dart';
910
import 'package:shared_preferences/shared_preferences.dart';
@@ -24,11 +25,13 @@ class ImageNetworkDisplay extends StatefulWidget {
2425

2526
class _ImageNetworkDisplayState extends State<ImageNetworkDisplay> {
2627
late final Future<Map<String, String>> _headers;
28+
late final String? _cleanUrl;
2729

2830
@override
2931
initState() {
3032
super.initState();
3133
_headers = _getHeaders();
34+
_cleanUrl = cleanImageUrl(widget.imageUrl) ?? widget.imageUrl;
3235
}
3336

3437
Future<Map<String, String>> _getHeaders() async {
@@ -68,7 +71,7 @@ class _ImageNetworkDisplayState extends State<ImageNetworkDisplay> {
6871

6972
@override
7073
Widget build(BuildContext context) {
71-
if (widget.imageUrl == null) {
74+
if (_cleanUrl == null) {
7275
return _buildNoImageWidget(context);
7376
}
7477
_checkMemory();
@@ -83,7 +86,7 @@ class _ImageNetworkDisplayState extends State<ImageNetworkDisplay> {
8386
? constraints.maxHeight
8487
: null;
8588
return CachedNetworkImage(
86-
imageUrl: widget.imageUrl!,
89+
imageUrl: _cleanUrl!,
8790
fadeInDuration: const Duration(milliseconds: 300),
8891
fit: widget.fit ?? BoxFit.cover,
8992
httpHeaders: snapshot.data!,

lib/components/cards/image_card.dart

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import 'package:auto_size_text/auto_size_text.dart';
2-
import 'package:cached_network_image/cached_network_image.dart';
32
import 'package:flutter/material.dart';
43
import 'package:piwigo_ng/components/app_image_display.dart';
54
import 'package:piwigo_ng/models/image_model.dart';
@@ -106,32 +105,6 @@ class ImageCard extends StatelessWidget {
106105
return ImageNetworkDisplay(
107106
imageUrl: imageUrl,
108107
);
109-
return CachedNetworkImage(
110-
imageUrl: imageUrl ?? '',
111-
fadeInDuration: const Duration(milliseconds: 300),
112-
imageBuilder: (context, provider) => Image(
113-
image: provider,
114-
fit: BoxFit.cover,
115-
errorBuilder: (context, o, s) {
116-
debugPrint("$o\n$s");
117-
return _buildErrorWidget(context);
118-
},
119-
),
120-
progressIndicatorBuilder: (context, url, download) {
121-
if (download.downloaded >= (download.totalSize ?? 0)) {
122-
return const SizedBox();
123-
}
124-
return Center(
125-
child: CircularProgressIndicator(
126-
value: download.progress,
127-
),
128-
);
129-
},
130-
errorWidget: (context, url, error) {
131-
debugPrint("[$url] $error");
132-
return _buildErrorWidget(context);
133-
},
134-
);
135108
}
136109

137110
List<Widget> _buildSelectOverlay(context) {
@@ -185,17 +158,4 @@ class ImageCard extends StatelessWidget {
185158
),
186159
];
187160
}
188-
189-
Widget _buildErrorWidget(BuildContext context) {
190-
return FittedBox(
191-
fit: BoxFit.cover,
192-
child: Container(
193-
padding: const EdgeInsets.all(16.0),
194-
decoration: BoxDecoration(
195-
color: Theme.of(context).scaffoldBackgroundColor,
196-
),
197-
child: const Icon(Icons.broken_image_outlined),
198-
),
199-
);
200-
}
201161
}

lib/main.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import 'package:shared_preferences/shared_preferences.dart';
1313

1414
void main() async {
1515
WidgetsFlutterBinding.ensureInitialized();
16-
// SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
1716
_setUITheme();
1817
HttpOverrides.global = SSLHttpOverrides();
1918
appPreferences = await SharedPreferences.getInstance();

lib/services/notification_service.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import 'package:shared_preferences/shared_preferences.dart';
1313
final FlutterLocalNotificationsPlugin localNotification =
1414
FlutterLocalNotificationsPlugin();
1515

16-
void initLocalNotifications() {
16+
Future<void> initLocalNotifications() async {
1717
const AndroidInitializationSettings initializationSettingsAndroid =
1818
AndroidInitializationSettings(
1919
'@mipmap/ic_launcher',
@@ -24,6 +24,7 @@ void initLocalNotifications() {
2424
initSettings,
2525
onDidReceiveNotificationResponse: onSelectNotification,
2626
);
27+
await askNotificationPermissions();
2728
}
2829

2930
Future<void> onSelectNotification(NotificationResponse response) async {

0 commit comments

Comments
 (0)