<UserControl x:Class="AppTunnel.Views.HelpTabView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:services="clr-namespace:AppTunnel.Services">

    <ScrollViewer VerticalScrollBarVisibility="Auto"
                  HorizontalScrollBarVisibility="Disabled"
                  Padding="0,14,0,12">
        <StackPanel Margin="16,0">

            <!-- Overview -->
            <Border Style="{StaticResource CardPanel}">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="Auto"/>
                    </Grid.ColumnDefinitions>

                    <StackPanel Grid.Column="0">
                        <TextBlock Text="TunnelX"
                                   FontSize="22"
                                   FontWeight="Bold"
                                   Foreground="{StaticResource TextPrimaryBrush}"/>
                        <TextBlock Text="Split tunneling برای برنامه‌ها، مقصدها و حالت کل سیستم"
                                   FontSize="11"
                                   Foreground="{StaticResource TextSecondaryBrush}"
                                   Margin="0,4,0,0"/>
                    </StackPanel>

                    <Border Grid.Column="1"
                            Background="#1AE8803A"
                            CornerRadius="8"
                            Padding="10,5"
                            VerticalAlignment="Center">
                        <TextBlock Text="{x:Static services:AppInfo.VersionText}"
                                   FontSize="12"
                                   FontWeight="SemiBold"
                                   Foreground="{StaticResource AccentBrush}"
                                   FlowDirection="LeftToRight"/>
                    </Border>
                </Grid>
            </Border>

            <!-- Project + Support -->
            <Border Style="{StaticResource CardPanel}">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="12"/>
                        <ColumnDefinition Width="Auto"/>
                    </Grid.ColumnDefinitions>

                    <StackPanel Grid.Column="0">
                        <TextBlock Style="{StaticResource SectionHeader}" Text="پروژه آزاد و حمایت"/>
                        <TextBlock Text="{Binding AppCreatorText}"
                                   FontSize="11"
                                   Foreground="{StaticResource TextPrimaryBrush}"
                                   Margin="0,0,0,4"/>
                        <TextBlock Text="{Binding AppGitHubUrl}"
                                   FontSize="10"
                                   Foreground="{StaticResource AccentBrush}"
                                   FlowDirection="LeftToRight"
                                   TextWrapping="Wrap"/>
                        <TextBlock Text="{Binding AppLicenseText, StringFormat=لایسنس: {0}}"
                                   FontSize="10"
                                   Foreground="{StaticResource TextSecondaryBrush}"
                                   FlowDirection="LeftToRight"
                                   Margin="0,5,0,0"/>
                        <TextBlock Text="{Binding DonatePayPalText}"
                                   FontSize="10"
                                   Foreground="{StaticResource TextSecondaryBrush}"
                                   FlowDirection="LeftToRight"
                                   Margin="0,5,0,0"/>
                        <TextBlock Text="{Binding CryptoDonationText}"
                                   FontSize="10"
                                   Foreground="{StaticResource TextSecondaryBrush}"
                                   FontFamily="Consolas"
                                   FlowDirection="LeftToRight"
                                   TextWrapping="Wrap"
                                   Margin="0,5,0,0"/>
                    </StackPanel>

                    <StackPanel Grid.Column="2"
                                Orientation="Vertical"
                                VerticalAlignment="Center"
                                MinWidth="150">
                        <Button Style="{StaticResource SecondaryButton}"
                                Content="باز کردن گیت‌هاب"
                                Command="{Binding OpenGitHubCommand}"
                                Padding="14,8"/>
                        <Button Style="{StaticResource PrimaryButton}"
                                Content="حمایت با پی‌پل"
                                Command="{Binding OpenDonateCommand}"
                                Padding="16,8"
                                Margin="0,8,0,0"/>
                        <Button Style="{StaticResource SecondaryButton}"
                                Content="کپی اطلاعات حمایت"
                                Command="{Binding CopyDonationInfoCommand}"
                                Padding="14,8"
                                Margin="0,8,0,0"/>
                    </StackPanel>
                </Grid>
            </Border>

            <!-- Quick Path -->
            <Border Style="{StaticResource CardPanel}">
                <StackPanel>
                    <TextBlock Style="{StaticResource SectionHeader}" Text="شروع سریع"/>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="8"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="8"/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>

                        <Border Grid.Row="0" Grid.Column="0" Background="#11FFFFFF" CornerRadius="8" Padding="12,10">
                            <StackPanel>
                                <TextBlock Text="۱. پروفایل" FontSize="12" FontWeight="SemiBold"
                                           Foreground="{StaticResource TextPrimaryBrush}"/>
                                <TextBlock Text="نوع اتصال را انتخاب کنید و کانفیگ L2TP یا V2Ray/Xray را وارد کنید."
                                           FontSize="10" TextWrapping="Wrap"
                                           Foreground="{StaticResource TextSecondaryBrush}" Margin="0,5,0,0"/>
                            </StackPanel>
                        </Border>

                        <Border Grid.Row="0" Grid.Column="2" Background="#11FFFFFF" CornerRadius="8" Padding="12,10">
                            <StackPanel>
                                <TextBlock Text="۲. تست سرور" FontSize="12" FontWeight="SemiBold"
                                           Foreground="{StaticResource TextPrimaryBrush}"/>
                                <TextBlock Text="قبل از اتصال، تست سرور را بزنید. برای TLS، handshake واقعی اندازه‌گیری می‌شود."
                                           FontSize="10" TextWrapping="Wrap"
                                           Foreground="{StaticResource TextSecondaryBrush}" Margin="0,5,0,0"/>
                            </StackPanel>
                        </Border>

                        <Border Grid.Row="2" Grid.Column="0" Background="#11FFFFFF" CornerRadius="8" Padding="12,10">
                            <StackPanel>
                                <TextBlock Text="۳. برنامه‌ها" FontSize="12" FontWeight="SemiBold"
                                           Foreground="{StaticResource TextPrimaryBrush}"/>
                                <TextBlock Text="برنامه‌هایی که باید از تونل عبور کنند را در تب برنامه‌ها فعال کنید."
                                           FontSize="10" TextWrapping="Wrap"
                                           Foreground="{StaticResource TextSecondaryBrush}" Margin="0,5,0,0"/>
                            </StackPanel>
                        </Border>

                        <Border Grid.Row="2" Grid.Column="2" Background="#11FFFFFF" CornerRadius="8" Padding="12,10">
                            <StackPanel>
                                <TextBlock Text="۴. اتصال" FontSize="12" FontWeight="SemiBold"
                                           Foreground="{StaticResource TextPrimaryBrush}"/>
                                <TextBlock Text="بعد از اتصال، کارت سلامت ترافیک را برای Leak، DNS، IPv6 و Route بررسی کنید."
                                           FontSize="10" TextWrapping="Wrap"
                                           Foreground="{StaticResource TextSecondaryBrush}" Margin="0,5,0,0"/>
                            </StackPanel>
                        </Border>
                    </Grid>
                </StackPanel>
            </Border>

            <!-- Modes -->
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="8"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>

                <Border Grid.Column="0" Style="{StaticResource CardPanel}">
                    <StackPanel>
                        <TextBlock Style="{StaticResource SectionHeader}" Text="حالت انتخابی"/>
                        <TextBlock Text="فقط برنامه‌های انتخاب‌شده و مقصدهای لزومی از تونل عبور می‌کنند. این حالت برای مصرف کمتر و کنترل دقیق‌تر پیشنهاد می‌شود."
                                   FontSize="11"
                                   LineHeight="19"
                                   TextWrapping="Wrap"
                                   Foreground="{StaticResource TextSecondaryBrush}"/>
                    </StackPanel>
                </Border>

                <Border Grid.Column="2" Style="{StaticResource CardPanel}">
                    <StackPanel>
                        <TextBlock Style="{StaticResource SectionHeader}" Text="عبور کل سیستم"/>
                        <TextBlock Text="وقتی Full Route روشن باشد، کل ترافیک ویندوز از تونل عبور می‌کند. برای تست یا زمانی که همه برنامه‌ها باید VPN داشته باشند مناسب است."
                                   FontSize="11"
                                   LineHeight="19"
                                   TextWrapping="Wrap"
                                   Foreground="{StaticResource TextSecondaryBrush}"/>
                    </StackPanel>
                </Border>
            </Grid>

            <!-- Rules + Apps -->
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="8"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>

                <Border Grid.Column="0" Style="{StaticResource CardPanel}">
                    <StackPanel>
                        <TextBlock Style="{StaticResource SectionHeader}" Text="برنامه‌ها"/>
                        <TextBlock TextWrapping="Wrap" FontSize="11" LineHeight="19"
                                   Foreground="{StaticResource TextSecondaryBrush}">
برنامه‌های Store/MSIX و WebView2 ممکن است چند پردازش داشته باشند. اگر اپی دیده نشد، آن را باز کنید و دوباره بارگذاری برنامه‌ها را بزنید.
                        </TextBlock>
                    </StackPanel>
                </Border>

                <Border Grid.Column="2" Style="{StaticResource CardPanel}">
                    <StackPanel>
                        <TextBlock Style="{StaticResource SectionHeader}" Text="قوانین مسیر"/>
                        <TextBlock TextWrapping="Wrap" FontSize="11" LineHeight="19"
                                   Foreground="{StaticResource TextSecondaryBrush}">
استثناها مقصد را مستقیم نگه می‌دارند. لزومی‌ها مقصد را حتی بدون انتخاب برنامه از تونل عبور می‌دهند. دامنه، IP و URL قابل استفاده است.
                        </TextBlock>
                    </StackPanel>
                </Border>
            </Grid>

            <!-- Local Proxy + Diagnostics -->
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="8"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>

                <Border Grid.Column="0" Style="{StaticResource CardPanel}">
                    <StackPanel>
                        <TextBlock Style="{StaticResource SectionHeader}" Text="SOCKS5 داخلی"/>
                        <TextBlock TextWrapping="Wrap" FontSize="11" LineHeight="19"
                                   Foreground="{StaticResource TextSecondaryBrush}">
پروکسی داخلی روی 127.0.0.1 اجرا می‌شود. پورت را قبل از اتصال انتخاب کنید؛ پورت‌های سیستم، رزرو و پورت‌های رایج توسعه محدود شده‌اند.
                        </TextBlock>
                        <Border Background="#11FFFFFF" CornerRadius="6" Padding="8" Margin="0,8,0,0">
                            <TextBlock Text="127.0.0.1:1080"
                                       FontSize="11"
                                       FontFamily="Consolas"
                                       Foreground="{StaticResource AccentBrush}"
                                       FlowDirection="LeftToRight"/>
                        </Border>
                    </StackPanel>
                </Border>

                <Border Grid.Column="2" Style="{StaticResource CardPanel}">
                    <StackPanel>
                        <TextBlock Style="{StaticResource SectionHeader}" Text="کارت سلامت"/>
                        <TextBlock TextWrapping="Wrap" FontSize="11" LineHeight="19"
                                   Foreground="{StaticResource TextSecondaryBrush}">
Leak باید صفر باشد. DNS نشان می‌دهد درخواست‌های DNS هدایت شده‌اند. IPv6 blocked یعنی مسیرهای IPv6 ناخواسته بسته شده‌اند. Route تعداد مسیرهای فعال و خطاها را نشان می‌دهد.
                        </TextBlock>
                    </StackPanel>
                </Border>
            </Grid>

            <!-- Troubleshooting -->
            <Border Style="{StaticResource CardPanel}">
                <StackPanel>
                    <TextBlock Style="{StaticResource SectionHeader}" Text="عیب‌یابی سریع"/>

                    <Expander Header="اتصال برقرار نمی‌شود" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,4,0,0">
                        <TextBlock Text="دسترسی Administrator، فایروال، پورت SOCKS5 و صحت کانفیگ را بررسی کنید. در کانفیگ‌های xhttp، هسته باید Xray باشد."
                                   TextWrapping="Wrap" FontSize="11" LineHeight="19"
                                   Foreground="{StaticResource TextSecondaryBrush}" Margin="0,8,0,0"/>
                    </Expander>

                    <Expander Header="ترافیک برنامه از تونل عبور نمی‌کند" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,0">
                        <TextBlock Text="برنامه را در تب برنامه‌ها فعال کنید. برای اپ‌های Store، برنامه را باز نگه دارید و لیست برنامه‌ها را دوباره بارگذاری کنید."
                                   TextWrapping="Wrap" FontSize="11" LineHeight="19"
                                   Foreground="{StaticResource TextSecondaryBrush}" Margin="0,8,0,0"/>
                    </Expander>

                    <Expander Header="سایت داخلی باید مستقیم باز شود" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,0">
                        <TextBlock Text="دامنه یا IP را به استثناها اضافه کنید. برای عبور اجباری یک مقصد از VPN، آن را به لزومی‌ها اضافه کنید."
                                   TextWrapping="Wrap" FontSize="11" LineHeight="19"
                                   Foreground="{StaticResource TextSecondaryBrush}" Margin="0,8,0,0"/>
                    </Expander>
                </StackPanel>
            </Border>

        </StackPanel>
    </ScrollViewer>
</UserControl>
