From 91d0ff01b439d4e40a6b1e03a2fbfa13c6fa302f Mon Sep 17 00:00:00 2001 From: ssbg04 Date: Thu, 2 Jul 2026 13:39:18 +0800 Subject: [PATCH] UI: Redesign student profile modal into android 17 frosted glass --- .../widgets/student_profile_modal.dart | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/frontend/lib/ui/screens/documents/widgets/student_profile_modal.dart b/frontend/lib/ui/screens/documents/widgets/student_profile_modal.dart index 2814618..8fa5383 100644 --- a/frontend/lib/ui/screens/documents/widgets/student_profile_modal.dart +++ b/frontend/lib/ui/screens/documents/widgets/student_profile_modal.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'dart:ui'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../../../core/constants/app_colors.dart'; import '../../../../domain/repositories/document_repository.dart' @@ -25,22 +26,27 @@ void showStudentProfileModal( ? const EdgeInsets.all(12) : const EdgeInsets.symmetric(horizontal: 80, vertical: 40), child: ClipRRect( - borderRadius: BorderRadius.circular(12), - child: Container( - constraints: const BoxConstraints(maxWidth: 620), - color: AppColors.pageBackground, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - // ── Modal header ── - Container( - padding: - const EdgeInsets.symmetric(horizontal: 20, vertical: 10), - decoration: const BoxDecoration( - color: AppColors.primaryGreen, - borderRadius: - BorderRadius.vertical(top: Radius.circular(12)), - ), + borderRadius: BorderRadius.circular(16), + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 5.0, sigmaY: 5.0), + child: Container( + constraints: const BoxConstraints(maxWidth: 620), + decoration: BoxDecoration( + color: Colors.white.withValues(alpha: 0.75), + borderRadius: BorderRadius.circular(16), + border: Border.all(color: Colors.white.withValues(alpha: 0.8), width: 1.5), + ), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + // ── Modal header ── + Container( + padding: + const EdgeInsets.symmetric(horizontal: 20, vertical: 10), + decoration: BoxDecoration( + color: AppColors.primaryGreen.withValues(alpha: 0.9), + borderRadius: const BorderRadius.vertical(top: Radius.circular(16)), + ), child: Row( children: [ const Icon(Icons.person_rounded, @@ -76,6 +82,7 @@ void showStudentProfileModal( ], ), ), + ), ), ), );