옵션창 정보팝업 단절 처리

This commit is contained in:
JiWoong Sul
2025-11-17 19:26:46 +09:00
parent b22df5daf3
commit b018e5eb2f

View File

@@ -4,7 +4,6 @@ import 'package:provider/provider.dart';
import '../providers/notification_provider.dart';
import 'dart:io';
import '../services/notification_service.dart';
import 'package:url_launcher/url_launcher.dart';
// import '../widgets/glassmorphism_card.dart';
// import '../theme/app_colors.dart';
import '../widgets/native_ad_widget.dart';
@@ -907,60 +906,61 @@ class SettingsScreen extends StatelessWidget {
),
leading: Icon(Icons.info,
color: Theme.of(context).colorScheme.onSurfaceVariant),
onTap: () async {
// 항상 앱 내 About 다이얼로그를 우선 표시
showAboutDialog(
context: context,
applicationName: AppLocalizations.of(context).appTitle,
applicationVersion: '1.0.0',
applicationIcon: const FlutterLogo(size: 50),
children: [
Text(AppLocalizations.of(context).appDescription),
const SizedBox(height: 8),
Text(
'${AppLocalizations.of(context).developer}: Julian Sul'),
const SizedBox(height: 12),
Builder(builder: (ctx) {
return TextButton.icon(
icon: const Icon(Icons.open_in_new),
label: Text(AppLocalizations.of(ctx).openStore),
onPressed: () async {
try {
if (Platform.isAndroid) {
// 우선 Play 스토어 앱 시도
const pkg =
'com.naturebridgeai.digitalrentmanager';
final marketUri =
Uri.parse('market://details?id=$pkg');
final webUri = Uri.parse(
'https://play.google.com/store/apps/details?id=$pkg');
final ok = await launchUrl(marketUri,
mode: LaunchMode.externalApplication);
if (!ok) {
await launchUrl(webUri,
mode: LaunchMode.externalApplication);
}
} else if (Platform.isIOS) {
final uri = Uri.parse(
'https://apps.apple.com/app/id123456789');
await launchUrl(uri,
mode: LaunchMode.externalApplication);
}
} catch (e) {
if (ctx.mounted) {
AppSnackBar.showError(
context: ctx,
message: AppLocalizations.of(ctx)
.cannotOpenStore,
);
}
}
},
);
}),
],
);
},
onTap: null,
// onTap: () async {
// // 항상 앱 내 About 다이얼로그를 우선 표시 (현재 미사용)
// showAboutDialog(
// context: context,
// applicationName: AppLocalizations.of(context).appTitle,
// applicationVersion: '1.0.0',
// applicationIcon: const FlutterLogo(size: 50),
// children: [
// Text(AppLocalizations.of(context).appDescription),
// const SizedBox(height: 8),
// Text(
// '${AppLocalizations.of(context).developer}: Julian Sul'),
// const SizedBox(height: 12),
// Builder(builder: (ctx) {
// return TextButton.icon(
// icon: const Icon(Icons.open_in_new),
// label: Text(AppLocalizations.of(ctx).openStore),
// onPressed: () async {
// try {
// if (Platform.isAndroid) {
// // 우선 Play 스토어 앱 시도
// const pkg =
// 'com.naturebridgeai.digitalrentmanager';
// final marketUri =
// Uri.parse('market://details?id=$pkg');
// final webUri = Uri.parse(
// 'https://play.google.com/store/apps/details?id=$pkg');
// final ok = await launchUrl(marketUri,
// mode: LaunchMode.externalApplication);
// if (!ok) {
// await launchUrl(webUri,
// mode: LaunchMode.externalApplication);
// }
// } else if (Platform.isIOS) {
// final uri = Uri.parse(
// 'https://apps.apple.com/app/id123456789');
// await launchUrl(uri,
// mode: LaunchMode.externalApplication);
// }
// } catch (e) {
// if (ctx.mounted) {
// AppSnackBar.showError(
// context: ctx,
// message: AppLocalizations.of(ctx)
// .cannotOpenStore,
// );
// }
// }
// },
// );
// }),
// ],
// );
// },
),
),
// FloatingNavigationBar를 위한 충분한 하단 여백