elCaribe app - customization and branding
This commit is contained in:
43
news-app/lib/ui/widgets/adSpaces.dart
Normal file
43
news-app/lib/ui/widgets/adSpaces.dart
Normal file
@@ -0,0 +1,43 @@
|
||||
//sponsored Ads
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:news/data/models/adSpaceModel.dart';
|
||||
import 'package:news/ui/widgets/customTextLabel.dart';
|
||||
import 'package:news/ui/widgets/networkImage.dart';
|
||||
import 'package:news/utils/uiUtils.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class AdSpaces extends StatelessWidget {
|
||||
AdSpaceModel adsModel;
|
||||
AdSpaces({super.key, required this.adsModel});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
margin: const EdgeInsets.only(top: 10),
|
||||
child: InkWell(
|
||||
splashColor: Colors.transparent,
|
||||
onTap: () async {
|
||||
if (await canLaunchUrl(Uri.parse(adsModel.adUrl!))) {
|
||||
//To open link in other apps or outside of Current App
|
||||
//Add -> , mode: LaunchMode.externalApplication
|
||||
await launchUrl(Uri.parse(adsModel.adUrl!));
|
||||
}
|
||||
},
|
||||
child: Column(mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [
|
||||
Container(
|
||||
alignment: AlignmentDirectional.centerEnd,
|
||||
padding: const EdgeInsetsDirectional.only(end: 5),
|
||||
child: CustomTextLabel(
|
||||
text: 'sponsoredLbl',
|
||||
textStyle: Theme.of(context).textTheme.bodySmall?.copyWith(color: UiUtils.getColorScheme(context).primaryContainer.withOpacity(0.6), fontWeight: FontWeight.w800),
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(top: 2),
|
||||
child: CustomNetworkImage(networkImageUrl: adsModel.adImage!, isVideo: false, width: MediaQuery.of(context).size.width, fit: BoxFit.values.first),
|
||||
),
|
||||
])),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user