diff --git a/assets/images/undraw_no_data.svg b/assets/images/undraw_no_data.svg new file mode 100644 index 0000000..b36b0d9 --- /dev/null +++ b/assets/images/undraw_no_data.svg @@ -0,0 +1,3 @@ +<svg height="632.17383" + id="b21613c9-2bf0-4d37-bef0-3b193d34fc5d" viewBox="0 0 647.63626 632.17383" width="647.63626" + xmlns="http://www.w3.org/2000/svg"><path d="M687.3279,276.08691H512.81813a15.01828,15.01828,0,0,0-15,15v387.85l-2,.61005-42.81006,13.11a8.00676,8.00676,0,0,1-9.98974-5.31L315.678,271.39691a8.00313,8.00313,0,0,1,5.31006-9.99l65.97022-20.2,191.25-58.54,65.96972-20.2a7.98927,7.98927,0,0,1,9.99024,5.3l32.5498,106.32Z" transform="translate(-276.18187 -133.91309)" fill="#f2f2f2"/><path d="M725.408,274.08691l-39.23-128.14a16.99368,16.99368,0,0,0-21.23-11.28l-92.75,28.39L380.95827,221.60693l-92.75,28.4a17.0152,17.0152,0,0,0-11.28028,21.23l134.08008,437.93a17.02661,17.02661,0,0,0,16.26026,12.03,16.78926,16.78926,0,0,0,4.96972-.75l63.58008-19.46,2-.62v-2.09l-2,.61-64.16992,19.65a15.01489,15.01489,0,0,1-18.73-9.95l-134.06983-437.94a14.97935,14.97935,0,0,1,9.94971-18.73l92.75-28.4,191.24024-58.54,92.75-28.4a15.15551,15.15551,0,0,1,4.40966-.66,15.01461,15.01461,0,0,1,14.32032,10.61l39.0498,127.56.62012,2h2.08008Z" transform="translate(-276.18187 -133.91309)" fill="#3f3d56"/><path d="M398.86279,261.73389a9.0157,9.0157,0,0,1-8.61133-6.3667l-12.88037-42.07178a8.99884,8.99884,0,0,1,5.9712-11.24023l175.939-53.86377a9.00867,9.00867,0,0,1,11.24072,5.9707l12.88037,42.07227a9.01029,9.01029,0,0,1-5.9707,11.24072L401.49219,261.33887A8.976,8.976,0,0,1,398.86279,261.73389Z" transform="translate(-276.18187 -133.91309)" fill="#5890e3"/><circle cx="190.15351" cy="24.95465" r="20" fill="#5890e3"/><circle cx="190.15351" cy="24.95465" r="12.66462" fill="#fff"/><path d="M878.81836,716.08691h-338a8.50981,8.50981,0,0,1-8.5-8.5v-405a8.50951,8.50951,0,0,1,8.5-8.5h338a8.50982,8.50982,0,0,1,8.5,8.5v405A8.51013,8.51013,0,0,1,878.81836,716.08691Z" transform="translate(-276.18187 -133.91309)" fill="#e6e6e6"/><path d="M723.31813,274.08691h-210.5a17.02411,17.02411,0,0,0-17,17v407.8l2-.61v-407.19a15.01828,15.01828,0,0,1,15-15H723.93825Zm183.5,0h-394a17.02411,17.02411,0,0,0-17,17v458a17.0241,17.0241,0,0,0,17,17h394a17.0241,17.0241,0,0,0,17-17v-458A17.02411,17.02411,0,0,0,906.81813,274.08691Zm15,475a15.01828,15.01828,0,0,1-15,15h-394a15.01828,15.01828,0,0,1-15-15v-458a15.01828,15.01828,0,0,1,15-15h394a15.01828,15.01828,0,0,1,15,15Z" transform="translate(-276.18187 -133.91309)" fill="#3f3d56"/><path d="M801.81836,318.08691h-184a9.01015,9.01015,0,0,1-9-9v-44a9.01016,9.01016,0,0,1,9-9h184a9.01016,9.01016,0,0,1,9,9v44A9.01015,9.01015,0,0,1,801.81836,318.08691Z" transform="translate(-276.18187 -133.91309)" fill="#5890e3"/><circle cx="433.63626" cy="105.17383" r="20" fill="#5890e3"/><circle cx="433.63626" cy="105.17383" r="12.18187" fill="#fff"/></svg> \ No newline at end of file diff --git a/lib/core/widgets/components/empty_widget.dart b/lib/core/widgets/components/empty_widget.dart new file mode 100644 index 0000000..e5f3c86 --- /dev/null +++ b/lib/core/widgets/components/empty_widget.dart @@ -0,0 +1,33 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; + +class EmptyWidget extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Center( + child: Column( + children: [ + Spacer(), + SvgPicture.asset( + 'images/undraw_no_data.svg', + height: 200, + width: 200, + ), + SizedBox( + height: 20, + ), + Text( + "No Data Found", + style: TextStyle( + color: Colors.blue, + fontSize: 25 + ), + ), + Spacer() + ], + ), + ); + } +} diff --git a/lib/features/devboard/devs/devs_list.dart b/lib/features/devboard/devs/devs_list.dart index 79f4a5a..f735e0e 100644 --- a/lib/features/devboard/devs/devs_list.dart +++ b/lib/features/devboard/devs/devs_list.dart @@ -1,6 +1,7 @@ import 'package:devs/core/constant/colors.dart'; import 'package:devs/core/constant/string.dart'; import 'package:devs/core/models/dev.dart'; +import 'package:devs/core/widgets/components/empty_widget.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -17,7 +18,7 @@ class DevsList extends StatelessWidget { Widget build(BuildContext context) { var itemSizeWidth = MediaQuery.of(context).size.width; if (devs.isEmpty) { - return Text('No devs found'); + return EmptyWidget(); } /// Sort dev's ascending diff --git a/pubspec.lock b/pubspec.lock index 407f93b..e248df5 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -90,6 +90,13 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + url: "https://pub.dartlang.org" + source: hosted + version: "0.20.0-nullsafety.3" flutter_test: dependency: "direct dev" description: flutter @@ -170,6 +177,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.0" + path_drawing: + dependency: transitive + description: + name: path_drawing + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.0-nullsafety.0" + path_parsing: + dependency: transitive + description: + name: path_parsing + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0-nullsafety.0" path_provider: dependency: transitive description: @@ -212,6 +233,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.9.2" + petitparser: + dependency: transitive + description: + name: petitparser + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.0-nullsafety.1" platform: dependency: transitive description: @@ -364,6 +392,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.1.2" + xml: + dependency: transitive + description: + name: xml + url: "https://pub.dartlang.org" + source: hosted + version: "5.0.0-nullsafety.1" sdks: dart: ">=2.12.0-0.0 <3.0.0" - flutter: ">=1.22.0" + flutter: ">=1.24.0-7.0" diff --git a/pubspec.yaml b/pubspec.yaml index 512313b..4ae6807 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,6 +14,7 @@ dependencies: provider: ^4.3.3 font_awesome_flutter: ^8.11.0 url_launcher: ^5.7.10 + flutter_svg: ^0.20.0-nullsafety.3 dev_dependencies: flutter_test: