Advertisement
FlyFar

lib/screens/more_data.dart

Jul 25th, 2023
826
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 2.32 KB | Cybersecurity | 0 0
  1. import 'package:client/func/redis/read_all.dart';
  2. import 'package:client/screens/show_db.dart';
  3. import 'package:client/widgets/coolButtion.dart';
  4. import 'package:client/widgets/coolText.dart';
  5. import 'package:flutter/material.dart';
  6.  
  7. import '../widgets/error_display.dart';
  8. import '../widgets/loading.dart';
  9.  
  10. class MoreData extends StatefulWidget {
  11.   const MoreData({Key? key, required this.where}) : super(key: key);
  12.   final String where;
  13.  
  14.   @override
  15.   _MoreDataState createState() => _MoreDataState();
  16. }
  17.  
  18. class _MoreDataState extends State<MoreData> {
  19.   late List<dynamic> redisVals;
  20.  
  21.   update() async {
  22.     try {
  23.       redisVals = await redis.readOneKey(widget.where);
  24.       if (mounted) {
  25.         setState(() {});
  26.       }
  27.       await Future.delayed(const Duration(seconds: 10));
  28.     } catch (e) {
  29.       if (mounted) {
  30.         error = e.toString();
  31.         ScaffoldMessenger.of(context).showSnackBar(showError);
  32.       }
  33.       await Future.delayed(const Duration(seconds: 2));
  34.     }
  35.   }
  36.  
  37.   @override
  38.   void initState() {
  39.     update();
  40.     super.initState();
  41.   }
  42.  
  43.   @override
  44.   Widget build(BuildContext context) {
  45.     try {
  46.       redisVals[0];
  47.     } catch (e) {
  48.       return const Loading();
  49.     }
  50.     return Scaffold(
  51.         appBar: AppBar(
  52.           title: coolText(
  53.             text: "Data For: ${widget.where}",
  54.             fontSize: 12,
  55.           ),
  56.         ),
  57.         body: Center(
  58.             child: SizedBox(
  59.           width: 500,
  60.           child: Column(
  61.             children: [
  62.               Expanded(
  63.                 flex: 18,
  64.                 child: ListView.builder(
  65.                   itemCount: redisVals.length,
  66.                   itemBuilder: (context, index) {
  67.                     return Card(
  68.                       child: ListTile(
  69.                         title:
  70.                             coolText(text: "${redisVals[index]}", fontSize: 12),
  71.                       ),
  72.                     );
  73.                   },
  74.                 ),
  75.               ),
  76.               ExpandedButton(
  77.                   onPressed: () {
  78.                     update();
  79.                   },
  80.                   text: "Update",
  81.                   flex: 3,
  82.                   fontSize: 14,
  83.                   width: 250),
  84.               const Spacer(),
  85.             ],
  86.           ),
  87.         )));
  88.   }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement