This commit is contained in:
Dwi Swandhana
2026-07-22 05:18:55 +07:00
parent 6d0f9a8bf6
commit 32db765b98
50 changed files with 2189 additions and 1909 deletions
+8 -1
View File
@@ -25,6 +25,13 @@ part '../screens/expertise/expertise_form.dart';
part '../data/expertise_data.dart';
part '../widgets/common_widgets.dart';
const String kAppShortName = 'MyLIS';
const String kAppLongName =
'Mikrobiology Laboratory Information System (MyLIS)';
const String kHospitalName = 'Rumah Sakit Umum Daerah Dr. Saiful Anwar';
const String kAppLogoAsset = 'assets/branding/logo.png';
const String kHospitalLogoAsset = 'assets/branding/logo_rssa.png';
const String kDefaultBaseUrl = String.fromEnvironment(
'LIS_BASE_URL',
defaultValue: 'https://lis.swandhana.test/',
@@ -36,7 +43,7 @@ class MyLisApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'MyLIS Mobile',
title: kAppLongName,
debugShowCheckedModeBanner: false,
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(
@@ -43,7 +43,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Dashboard'),
title: const Text(kAppShortName),
actions: [
IconButton(
onPressed: _reload,
@@ -131,9 +131,44 @@ class HeaderPanel extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
width: 54,
height: 54,
padding: const EdgeInsets.all(6),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8),
),
child: Image.asset(kHospitalLogoAsset, fit: BoxFit.contain),
),
const SizedBox(width: 12),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
kAppShortName,
style: Theme.of(context).textTheme.titleLarge?.copyWith(
color: Colors.white,
fontWeight: FontWeight.w800,
),
),
const Text(
kHospitalName,
style: TextStyle(color: Colors.white70, fontSize: 12),
),
],
),
),
],
),
const SizedBox(height: 14),
Text(
user['nama']?.toString() ?? '-',
style: Theme.of(context).textTheme.titleLarge?.copyWith(
style: Theme.of(context).textTheme.titleMedium?.copyWith(
color: Colors.white,
fontWeight: FontWeight.w700,
),
+25 -6
View File
@@ -120,19 +120,38 @@ class _LoginScreenState extends State<LoginScreen> {
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Icon(
Icons.biotech_outlined,
size: 72,
color: Color(0xFF0F766E),
Center(
child: Image.asset(
kAppLogoAsset,
height: 96,
fit: BoxFit.contain,
),
),
const SizedBox(height: 16),
Text(
'MyLIS Mobile',
kAppLongName,
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.headlineMedium
?.copyWith(fontWeight: FontWeight.w700),
),
const SizedBox(height: 6),
const SizedBox(height: 12),
Center(
child: Image.asset(
kHospitalLogoAsset,
height: 54,
fit: BoxFit.contain,
),
),
const SizedBox(height: 8),
Text(
kHospitalName,
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.titleSmall?.copyWith(
fontWeight: FontWeight.w700,
color: const Color(0xFF0F766E),
),
),
const SizedBox(height: 8),
Text(
'Login petugas',
textAlign: TextAlign.center,