feat(upload): enhance PDF upload banners with title and description

This commit is contained in:
Achintha Isuru
2026-03-18 15:06:06 -04:00
parent 0c8a5bb15b
commit e7b5cb33a4
7 changed files with 39 additions and 8 deletions

View File

@@ -186,7 +186,8 @@ class _CertificateUploadPageState extends State<CertificateUploadPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
PdfFileTypesBanner(
message: t.staff_documents.upload.pdf_banner,
title: t.staff_documents.upload.pdf_banner_title,
description: t.staff_documents.upload.pdf_banner_description,
),
const SizedBox(height: UiConstants.space6),

View File

@@ -3,12 +3,24 @@ import 'package:flutter/material.dart';
/// Banner displaying accepted file types and size limit for PDF upload.
class PdfFileTypesBanner extends StatelessWidget {
const PdfFileTypesBanner({super.key, required this.message});
const PdfFileTypesBanner({
super.key,
required this.title,
this.description,
});
final String message;
/// Short title for the banner.
final String title;
/// Optional description with additional details.
final String? description;
@override
Widget build(BuildContext context) {
return UiNoticeBanner(title: message, icon: UiIcons.info);
return UiNoticeBanner(
title: title,
description: description,
icon: UiIcons.info,
);
}
}

View File

@@ -70,7 +70,8 @@ class DocumentUploadPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
PdfFileTypesBanner(
message: t.staff_documents.upload.pdf_banner,
title: t.staff_documents.upload.pdf_banner_title,
description: t.staff_documents.upload.pdf_banner_description,
),
const SizedBox(height: UiConstants.space6),
DocumentFileSelector(

View File

@@ -3,12 +3,24 @@ import 'package:flutter/material.dart';
/// Banner displaying accepted file types and size limit for PDF upload.
class PdfFileTypesBanner extends StatelessWidget {
const PdfFileTypesBanner({required this.message, super.key});
const PdfFileTypesBanner({
super.key,
required this.title,
this.description,
});
final String message;
/// Short title for the banner.
final String title;
/// Optional description with additional details.
final String? description;
@override
Widget build(BuildContext context) {
return UiNoticeBanner(title: message, icon: UiIcons.info);
return UiNoticeBanner(
title: title,
description: description,
icon: UiIcons.info,
);
}
}