fix: SMS 스캔 화면에서 구독 카드 클릭 안되는 문제 수정

This commit is contained in:
JiWoong Sul
2025-07-17 17:46:24 +09:00
parent 186d1bbf66
commit a8728eb5f3

View File

@@ -3,7 +3,6 @@ import 'package:provider/provider.dart';
import '../../models/subscription.dart'; import '../../models/subscription.dart';
import '../../providers/category_provider.dart'; import '../../providers/category_provider.dart';
import '../../providers/locale_provider.dart'; import '../../providers/locale_provider.dart';
import '../../widgets/glassmorphism_card.dart';
import '../../widgets/themed_text.dart'; import '../../widgets/themed_text.dart';
import '../../widgets/common/buttons/primary_button.dart'; import '../../widgets/common/buttons/primary_button.dart';
import '../../widgets/common/buttons/secondary_button.dart'; import '../../widgets/common/buttons/secondary_button.dart';
@@ -50,13 +49,10 @@ class _SubscriptionCardWidgetState extends State<SubscriptionCardWidget> {
} }
void _handleCardTap() { void _handleCardTap() {
// 디버그 로그 추가
print('[SubscriptionCard] Card tapped! Service: ${widget.subscription.serviceName}');
// 구독 카드 클릭 시 처리 // 구독 카드 클릭 시 처리
AppSnackBar.showInfo( AppSnackBar.showInfo(
context: context, context: context,
message: '이 기능은 곧 출시됩니다', // 임시로 하드코딩 message: AppLocalizations.of(context).featureComingSoon,
icon: Icons.info_outline, icon: Icons.info_outline,
); );
} }
@@ -77,33 +73,57 @@ class _SubscriptionCardWidgetState extends State<SubscriptionCardWidget> {
crossAxisAlignment: CrossAxisAlignment.stretch, crossAxisAlignment: CrossAxisAlignment.stretch,
children: [ children: [
// 구독 정보 카드 // 구독 정보 카드
GlassmorphismCard( ClipRRect(
width: double.infinity, borderRadius: BorderRadius.circular(16.0),
padding: EdgeInsets.zero, child: Container(
child: Column( width: double.infinity,
children: [ decoration: BoxDecoration(
// 클릭 가능한 정보 영역 color: AppColors.glassCard,
GestureDetector( borderRadius: BorderRadius.circular(16.0),
behavior: HitTestBehavior.opaque, border: Border.all(
onTap: _handleCardTap, color: AppColors.glassBorder,
child: Padding( width: 1,
padding: const EdgeInsets.all(16.0), ),
child: _buildInfoSection(categoryProvider), boxShadow: const [
BoxShadow(
color: AppColors.shadowBlack,
blurRadius: 20,
spreadRadius: -5,
offset: Offset(0, 10),
),
],
),
child: Column(
children: [
// 클릭 가능한 정보 영역
Material(
color: Colors.transparent,
child: InkWell(
onTap: _handleCardTap,
borderRadius: const BorderRadius.only(
topLeft: Radius.circular(16.0),
topRight: Radius.circular(16.0),
),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: _buildInfoSection(categoryProvider),
),
),
), ),
),
// 구분선 // 구분선
Container( Container(
height: 1, height: 1,
color: AppColors.navyGray.withValues(alpha: 0.1), color: AppColors.navyGray.withValues(alpha: 0.1),
), ),
// 클릭 불가능한 액션 영역 // 클릭 불가능한 액션 영역
Padding( Padding(
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(16.0),
child: _buildActionSection(categoryProvider), child: _buildActionSection(categoryProvider),
), ),
], ],
),
), ),
), ),
], ],
@@ -248,11 +268,11 @@ class _SubscriptionCardWidgetState extends State<SubscriptionCardWidget> {
controller: widget.websiteUrlController, controller: widget.websiteUrlController,
label: AppLocalizations.of(context).websiteUrlAuto, label: AppLocalizations.of(context).websiteUrlAuto,
hintText: AppLocalizations.of(context).websiteUrlHint, hintText: AppLocalizations.of(context).websiteUrlHint,
prefixIcon: Icon( prefixIcon: const Icon(
Icons.language, Icons.language,
color: AppColors.navyGray, color: AppColors.navyGray,
), ),
style: TextStyle( style: const TextStyle(
color: AppColors.darkNavy, color: AppColors.darkNavy,
), ),
fillColor: AppColors.pureWhite.withValues(alpha: 0.8), fillColor: AppColors.pureWhite.withValues(alpha: 0.8),