pedroremedios

Untitled

Jul 29th, 2021
1,020
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import 'package:cached_network_image/cached_network_image.dart';
  2. import 'package:diabretes/viewmodels/post_viewmodel.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter_html/flutter_html.dart';
  5. import 'package:google_fonts/google_fonts.dart';
  6.  
  7. class PostContentPage extends StatelessWidget {
  8.   const PostContentPage(
  9.       {Key? key, required this.viewModel, required this.popCallback})
  10.       : super(key: key);
  11.  
  12.   final PostViewModel viewModel;
  13.   final Function popCallback;
  14.  
  15.   @override
  16.   Widget build(BuildContext context) {
  17.     return WillPopScope(
  18.         child: Scaffold(
  19.             backgroundColor: Color(0xFFE1E1E1),
  20.             extendBodyBehindAppBar: true,
  21.             appBar: AppBar(
  22.               elevation: 0,
  23.               backgroundColor: Colors.transparent,
  24.               brightness: Brightness.dark,
  25.             ),
  26.             body: Column(
  27.               crossAxisAlignment: CrossAxisAlignment.start,
  28.               children: [
  29.                 Stack(
  30.                   children: [
  31.                     Container(
  32.                       child: CachedNetworkImage(
  33.                         imageUrl: viewModel.itemImageURL,
  34.                         width: MediaQuery.of(context).size.width,
  35.                         height: MediaQuery.of(context).size.width * 0.56,
  36.                         fit: BoxFit.cover,
  37.                       ),
  38.                     ),
  39.                     Positioned(
  40.                         top: 0.0,
  41.                         left: 0.0,
  42.                         right: 0.0,
  43.                         height: (MediaQuery.of(context).size.width * 1) * 1.3,
  44.                         child: Container(
  45.                           decoration: BoxDecoration(
  46.                             gradient: LinearGradient(
  47.                               colors: [Color(0xBF202020), Color(0x3A202020)],
  48.                               begin: Alignment.bottomCenter,
  49.                               end: Alignment.topCenter,
  50.                             ),
  51.                           ),
  52.                         )),
  53.                   ],
  54.                 ),
  55.                 Flexible(
  56.                   child: SingleChildScrollView(
  57.                     padding: EdgeInsets.only(top: 24, left: 24, right: 24),
  58.                     child: Column(
  59.                       mainAxisSize: MainAxisSize.max,
  60.                       crossAxisAlignment: CrossAxisAlignment.start,
  61.                       mainAxisAlignment: MainAxisAlignment.start,
  62.                       children: [
  63.                         Text(viewModel.itemDate,
  64.                             style: GoogleFonts.cabin(
  65.                                 color: Color(0xFF777777),
  66.                                 fontSize: FontSize.small.size,
  67.                                 height: 1.2,
  68.                                 fontWeight: FontWeight.w500)),
  69.                         SizedBox(height: 12),
  70.                         Text(viewModel.itemTitle,
  71.                             style: GoogleFonts.cabin(
  72.                                 color: Color(0xFF202020),
  73.                                 fontSize: FontSize.xLarge.size,
  74.                                 fontWeight: FontWeight.w700)),
  75.                         SizedBox(height: 8),
  76.                         Html(data: viewModel.itemContentText, style: {
  77.                           "body": Style(
  78.                               color: Color(0xFF202020),
  79.                               margin: EdgeInsets.zero,
  80.                               padding: EdgeInsets.zero,
  81.                               fontFamily: "Cabin-Regular",
  82.                               fontWeight: FontWeight.w400,
  83.                               fontSize: FontSize.large,
  84.                               lineHeight: LineHeight(1.5))
  85.                         })
  86.                       ],
  87.                     ),
  88.                   ),
  89.                 )
  90.               ],
  91.             )),
  92.         onWillPop: () async {
  93.           popCallback();
  94.           Navigator.of(context).pop(true);
  95.           return true;
  96.         });
  97.   }
  98. }
  99.  
RAW Paste Data