feat: UI fix

This commit is contained in:
xkeyC
2025-11-26 13:23:35 +08:00
parent 9959ae8c8f
commit 7d6f7879c4
2 changed files with 16 additions and 34 deletions

View File

@@ -18,47 +18,35 @@ class CachedSvgImage extends HookWidget {
final cachedFile = useState<File?>(null);
final errorInfo = useState<String?>(null);
useEffect(
() {
() async {
try {
cachedFile.value = await FileCacheUtils.getFile(url);
} catch (e) {
debugPrint("Error loading SVG: $e");
errorInfo.value = "Error loading SVG: $e";
}
}();
return null;
},
[url],
);
useEffect(() {
() async {
try {
final file = await FileCacheUtils.getFile(url);
if (context.mounted) cachedFile.value = file;
} catch (e) {
debugPrint("Error loading SVG: $e");
if (context.mounted) errorInfo.value = "Error loading SVG: $e";
}
}();
return null;
}, [url]);
if (errorInfo.value != null) {
return SizedBox(
width: width,
height: height,
child: Center(
child: Text(
errorInfo.value!,
style: TextStyle(color: Colors.red),
),
child: Text(errorInfo.value!, style: TextStyle(color: Colors.red)),
),
);
}
return cachedFile.value != null
? SvgPicture.file(
cachedFile.value!,
width: width,
height: height,
fit: fit ?? BoxFit.contain,
)
? SvgPicture.file(cachedFile.value!, width: width, height: height, fit: fit ?? BoxFit.contain)
: SizedBox(
width: width,
height: height,
child: Center(
child: ProgressRing(),
),
child: Center(child: ProgressRing()),
);
}
}