Skip to content

Commit

Permalink
ReadBlog Page & Display Blog Page: Code Refactor && code cleaning
Browse files Browse the repository at this point in the history
  • Loading branch information
rafay99-epic committed Apr 6, 2024
1 parent 97ee9f0 commit b724d36
Show file tree
Hide file tree
Showing 31 changed files with 938 additions and 1,025 deletions.
2 changes: 1 addition & 1 deletion lib/constants/routes/routes.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import "package:flutter/material.dart";

import 'package:rafay_portfolio/frontend/admin/pages/auth/loginPage.dart';
import 'package:rafay_portfolio/frontend/user/pages/aboutme/about_me.dart';
import 'package:rafay_portfolio/frontend/user/pages/blogs/displayblogs.dart';
import 'package:rafay_portfolio/frontend/user/pages/blogs/displayblogs/displayblogs.dart';
import 'package:rafay_portfolio/frontend/user/pages/error/page404.dart';
import 'package:rafay_portfolio/frontend/user/pages/project_gallery/project_gallery.dart';
import 'package:rafay_portfolio/frontend/user/pages/experiences/resume.dart';
Expand Down
28 changes: 28 additions & 0 deletions lib/constants/widgets/errorAndLanding/error.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import 'package:flutter/material.dart';
import 'package:lottie/lottie.dart';
import 'package:rafay_portfolio/constants/widgets/text/textstyle.dart';

Widget buildErrorWidget(BuildContext context) {
return SingleChildScrollView(
child: Center(
child: Padding(
padding: const EdgeInsets.only(
left: 8.0, right: 8.0, top: 20.0, bottom: 20.0),
child: Column(
children: <Widget>[
const SizedBox(height: 10),
Lottie.asset('assets/animation/datanotfound.json'),
const SizedBox(height: 10),
StyledText(
text: "Sorry!! No search results found. ",
fontSize: 20,
color: Theme.of(context).colorScheme.primary,
textAlign: TextAlign.center,
bold: true,
)
],
),
),
),
);
}
15 changes: 15 additions & 0 deletions lib/constants/widgets/errorAndLanding/loading.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
import 'package:lottie/lottie.dart';

class LoadingData extends StatelessWidget {
const LoadingData({super.key});

@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: Center(
child: Lottie.asset('assets/animation/loader.json'),
),
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,16 @@
import 'package:flutter/material.dart';

import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:lottie/lottie.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:rafay_portfolio/constants/screensSize/screentype.dart';
import 'package:rafay_portfolio/constants/scrollAnimation/button_scroll.dart';

import 'package:rafay_portfolio/frontend/user/pages/blogs/widgets/blog_builder.dart';
import 'package:rafay_portfolio/constants/widgets/errorAndLanding/error.dart';
import 'package:rafay_portfolio/constants/widgets/errorAndLanding/loading.dart';
import 'package:rafay_portfolio/frontend/user/pages/blogs/displayblogs/widgets/blog_builder/blog_builder.dart';
import 'package:rafay_portfolio/constants/widgets/ultis/floating_button.dart';
import 'package:rafay_portfolio/frontend/user/pages/blogs/widgets/no_internet.dart';

import 'package:rafay_portfolio/frontend/user/pages/blogs/displayblogs/widgets/check_internet.dart/no_internet.dart';
import 'package:rafay_portfolio/constants/widgets/text/animatedtext.dart';
import 'package:rafay_portfolio/constants/widgets/text/textstyle.dart';
import 'dart:io' show Platform;

class DisplayBlog extends StatefulWidget {
Expand All @@ -34,6 +32,7 @@ class _DisplayBlogState extends State<DisplayBlog> with ScrollControllerMixin {
@override
void initState() {
super.initState();
_checkInternetConnectivity();
scrollController = ScrollController();
}

Expand All @@ -48,29 +47,14 @@ class _DisplayBlogState extends State<DisplayBlog> with ScrollControllerMixin {
// ----------------------------
@override
Widget build(BuildContext context) {
// ----------------------------
// Screen Sizes
// ----------------------------
ScreenType screenType = ScreenType(MediaQuery.of(context).size.width);
// --------------------------------
// Internet Net Check for Mobile
// --------------------------------
if (!_isInternetConnected) {
return noInternetConnection(context);
}
return Scaffold(
backgroundColor: Theme.of(context).colorScheme.background,
// ---------------------------------------
// App Bar, Only For Android Application
// --------------------------------------
appBar: !kIsWeb ? buildAppBar(context) : null,
// ----------------------------
// Main widget Body
// ----------------------------
body: buildBody(context, screenType),
// --------------------------------
// Floating Buttons for Web Only
// -------------------------------
floatingActionButton: screenType.isMobile
? null
: buildFloatingButton(context, smoothScrollToTop, smoothScrollDown),
Expand Down Expand Up @@ -151,9 +135,6 @@ class _DisplayBlogState extends State<DisplayBlog> with ScrollControllerMixin {
);
}

// ----------------------------------
// App Bar for Android Application
// ----------------------------------
AppBar buildAppBar(BuildContext context) {
return AppBar(
backgroundColor: Theme.of(context).colorScheme.background,
Expand Down Expand Up @@ -189,9 +170,6 @@ class _DisplayBlogState extends State<DisplayBlog> with ScrollControllerMixin {
);
}

// ----------------------------
// Container for Main Body
// ----------------------------
Container buildBody(BuildContext context, ScreenType screenType) {
return Container(
margin: const EdgeInsets.all(15.0),
Expand All @@ -214,47 +192,14 @@ class _DisplayBlogState extends State<DisplayBlog> with ScrollControllerMixin {
.snapshots(),
builder: (context, snapshot) {
if (snapshot.hasError) {
return SingleChildScrollView(
child: Center(
child:
Lottie.asset('assets/animation/datanotfound.json'),
),
);
return buildErrorWidget(context);
}

if (snapshot.connectionState == ConnectionState.waiting) {
return SingleChildScrollView(
child: Center(
child: Lottie.asset('assets/animation/loader.json'),
),
);
return const LoadingData();
}

if (snapshot.data!.docs.isEmpty) {
// Add this condition
return SingleChildScrollView(
child: Center(
child: Padding(
padding: const EdgeInsets.only(
left: 8.0, right: 8.0, top: 20.0, bottom: 20.0),
child: Column(
children: <Widget>[
const SizedBox(height: 10),
Lottie.asset(
'assets/animation/datanotfound.json'),
const SizedBox(height: 10),
StyledText(
text: "Sorry!! No search results found. ",
fontSize: 20,
color: Theme.of(context).colorScheme.primary,
textAlign: TextAlign.center,
bold: true,
)
],
),
),
),
);
return buildErrorWidget(context);
}
// ----------------------------------------------
// Building Boxes and Display Blogs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import 'package:page_transition/page_transition.dart';
import 'package:rafay_portfolio/constants/screensSize/screentype.dart';
import 'package:rafay_portfolio/constants/scrollAnimation/button_scroll.dart';

import 'package:rafay_portfolio/frontend/user/pages/blogs/widgets/blog_display_cards.dart';
import 'package:rafay_portfolio/frontend/user/pages/blogs/read_blog.dart';
import 'package:rafay_portfolio/frontend/user/pages/blogs/displayblogs/widgets/blog_display_cards/blog_display_cards.dart';
import 'package:rafay_portfolio/frontend/user/pages/blogs/readblogs/read_blog.dart';

class BlogLayoutBuilder extends StatelessWidget with ScrollControllerMixin {
final AsyncSnapshot<QuerySnapshot> snapshot;
Expand Down
Empty file.
Loading

0 comments on commit b724d36

Please sign in to comment.