import 'package:flutter/material.dart';

import '../../core/theme/app_theme.dart';
import '../../core/widgets/game_ui.dart';

/// صفحه‌ی «شرایط و قوانین» استفاده از حکم‌شو (برای انتشار در مایکت/کافه‌بازار).
class TermsScreen extends StatelessWidget {
  const TermsScreen({super.key});

  static const _sections = <(String, String)>[
    (
      '۱. پذیرش شرایط',
      'با نصب، ثبت‌نام یا استفاده از اپلیکیشن «حکم‌شو»، تأیید می‌کنید که این شرایط و '
          'قوانین را خوانده و پذیرفته‌اید. اگر با بخشی از این قوانین موافق نیستید، '
          'لطفاً از برنامه استفاده نکنید.'
    ),
    (
      '۲. حساب کاربری',
      'ورود به برنامه با شماره‌ی موبایل و کد یک‌بارمصرف انجام می‌شود. مسئولیت حفظِ '
          'دسترسی به شماره و حسابِ کاربری بر عهده‌ی شماست. هر فعالیتی که از طریقِ حسابِ '
          'شما انجام شود، به نامِ شما ثبت می‌گردد.'
    ),
    (
      '۳. سکه، بلیت و خریدِ درون‌برنامه‌ای',
      'سکه، بلیت و اشتراکِ VIP اعتبارِ مجازیِ درون‌برنامه‌ای هستند و ارزشِ نقدی '
          'واقعی ندارند و قابلِ تبدیل به پول یا انتقال به کاربرِ دیگر نیستند. خرید از '
          'طریقِ درگاهِ رسمیِ فروشگاه (مایکت/کافه‌بازار) انجام می‌شود. اقلامِ مصرف‌شده '
          'قابلِ بازگشت نیستند مگر طبقِ قوانینِ همان فروشگاه.'
    ),
    (
      '۴. رفتارِ منصفانه',
      'استفاده از هرگونه ربات، تقلب، سوءاستفاده از باگ، یا دست‌کاریِ بازی ممنوع است. '
          'در صورتِ تخلف، حسابِ کاربری بدونِ بازگشتِ سکه یا اشتراک مسدود می‌شود.'
    ),
    (
      '۵. رفتار با دیگران',
      'استفاده از پیام‌ها و شکلک‌های چت برای توهین، تهدید، یا انتشارِ محتوای نامناسب '
          'مجاز نیست. احترام به دیگر بازیکنان الزامی است.'
    ),
    (
      '۶. حریمِ خصوصی',
      'برای ارائه‌ی خدمات، شماره‌ی موبایل و اطلاعاتِ بازیِ شما (امتیاز، آمار، تراکنشِ '
          'سکه) نگه‌داری می‌شود. این اطلاعات برای سنجشِ عملکرد و پشتیبانی استفاده می‌شود '
          'و بدونِ اجازه در اختیارِ اشخاصِ ثالثِ غیرمرتبط قرار نمی‌گیرد.'
    ),
    (
      '۷. تغییرات',
      'ممکن است این شرایط، امکانات، قیمت‌ها یا قوانینِ بازی در آینده به‌روزرسانی شوند. '
          'ادامه‌ی استفاده از برنامه پس از تغییر، به‌منزله‌ی پذیرشِ نسخه‌ی جدید است.'
    ),
    (
      '۸. مسئولیت',
      'برنامه «همان‌طور که هست» ارائه می‌شود. در صورتِ اختلالِ فنی تلاش می‌کنیم مشکل را '
          'برطرف کنیم، اما مسئولیتی در قبالِ ازدست‌رفتنِ سکه یا اشتراک ناشی از خطای شبکه، '
          'دستگاه یا استفاده‌ی نادرست بر عهده‌ی توسعه‌دهنده نیست.'
    ),
    (
      '۹. ارتباط با ما',
      'برای پرسش یا گزارشِ مشکل می‌توانید از طریقِ صفحه‌ی برنامه در فروشگاه (مایکت/'
          'کافه‌بازار) با پشتیبانی در تماس باشید.'
    ),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: GameBackground(
        child: SafeArea(
          child: Column(
            children: [
              Padding(
                padding: const EdgeInsets.all(12),
                child: Row(children: const [
                  AppBackButton(),
                  Spacer(),
                  GlowText('شرایط و قوانین', size: 22),
                  Spacer(),
                  SizedBox(width: 48),
                ]),
              ),
              Expanded(
                child: SingleChildScrollView(
                  padding: const EdgeInsets.fromLTRB(16, 0, 16, 24),
                  child: GamePanel(
                    child: Column(
                      crossAxisAlignment: CrossAxisAlignment.stretch,
                      children: [
                        const Text(
                          'به حکم‌شو خوش آمدید. لطفاً پیش از استفاده، این شرایط را مطالعه کنید.',
                          style: TextStyle(
                              color: Colors.white70,
                              fontSize: 13,
                              height: 1.7),
                        ),
                        const SizedBox(height: 16),
                        for (final (title, body) in _sections) ...[
                          Text(
                            title,
                            style: const TextStyle(
                              color: AppColors.gold,
                              fontSize: 15,
                              fontWeight: FontWeight.bold,
                            ),
                          ),
                          const SizedBox(height: 6),
                          Text(
                            body,
                            textAlign: TextAlign.justify,
                            style: const TextStyle(
                              color: Colors.white,
                              fontSize: 13.5,
                              height: 1.9,
                            ),
                          ),
                          const SizedBox(height: 16),
                        ],
                        const Divider(color: AppColors.goldFaint),
                        const SizedBox(height: 6),
                        const Text(
                          'با ادامه‌ی استفاده از حکم‌شو، این شرایط و قوانین را می‌پذیرید.',
                          textAlign: TextAlign.center,
                          style: TextStyle(
                              color: Colors.white54, fontSize: 12, height: 1.7),
                        ),
                      ],
                    ),
                  ),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
