Files
pte/untitled/lib/views/Me/SingleGraph.dart
2024-09-27 01:31:25 +08:00

87 lines
2.4 KiB
Dart

import 'package:flutter/material.dart';
import 'package:peach/config/_.dart';
import 'package:peach/entity/_.dart';
import 'package:peach/service/_.dart';
import 'package:peach/utils/_.dart';
import 'package:peach/widget/_.dart';
class SingleGraph extends StatefulWidget {
@override
State<StatefulWidget> createState() => _SingleGraph();
}
class _SingleGraph extends State<SingleGraph> {
List<SingleGraphEntity> result = [];
List<String> imgArr = [];
@override
void initState() {
singleImg();
}
Future<List<Map<String, dynamic>>> singleImg () async {
List<SingleGraphEntity> res = await LikeService.findAllImg();
setState(() {
result = res;
res.forEach((v) {
imgArr.add(v.src);
});
});
}
Future<void> deleteAlertDialog(String url) async {
await Core.deleteDialog(context, () async {
await LikeService.deleteImg(url);
singleImg();
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("单图收藏"),
backgroundColor: ColorConfig.ThemeColor,
actions: [
Container(
alignment:Alignment.center,
padding: EdgeInsets.only(right: 15),
child: Text("${result.length ?? 0}"),
)
],
),
body: result.isNotEmpty ? ListView.builder(
itemCount: result.length ?? 0,
itemBuilder: (BuildContext context, int index) {
return InkWell(
onLongPress: () => deleteAlertDialog(result[index].src),
onTap: () async {
Navigator.of(context).push(new MaterialPageRoute(builder: (_) {
return PhotoViewGalleryScreen(
images: imgArr,
index: index,
title: "",
time: "",
heroTag: index.toString(),
);
}));
},
child: CachedNetworkImg(result[index].src),
);
},
) : Container(
height: Screen.setHeight(300),
alignment: Alignment.center,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(Icons.error_outline_outlined,size: 50,color: ColorConfig.ThemeColor,),
SizedBox(height: 10,),
Text("暂无收藏", style: TextStyle(color: ColorConfig.TextColor))
],
),
),
);
}
}