adams-toolkit

codigo-fonte GPL-3.0 · espelho oficial · commit b208bae5
Views/OpenSourceView.xaml · 121 linhas · raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<UserControl x:Class="AdamsToolkit.Views.OpenSourceView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <UserControl.Resources>
        <!-- linha "não faz X" com visto verde -->
        <Style x:Key="ClaimText" TargetType="TextBlock">
            <Setter Property="Foreground" Value="{DynamicResource BrText}"/>
            <Setter Property="FontSize" Value="12.5"/>
            <Setter Property="TextWrapping" Value="Wrap"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
        </Style>
    </UserControl.Resources>

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition/>
        </Grid.RowDefinitions>

        <StackPanel Grid.Row="0" Margin="0,0,0,14">
            <TextBlock Text="Código Aberto" Style="{StaticResource H1}"/>
            <TextBlock Text="Todo o código desta aplicação é público. Qualquer pessoa pode ler o que ela faz — não é preciso acreditar em ninguém."
                       Style="{StaticResource Muted}" Margin="0,4,0,0"/>
        </StackPanel>

        <ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto">
            <StackPanel>

                <!-- ===== Repositório ===== -->
                <Border Style="{StaticResource Card}" Margin="0,0,0,12">
                    <StackPanel>
                        <StackPanel Orientation="Horizontal">
                            <Path Data="{StaticResource IcoShield}" Fill="{DynamicResource BrAccent}"
                                  Width="18" Height="18" Stretch="Uniform" VerticalAlignment="Center"/>
                            <TextBlock Text="Ver o código" Style="{StaticResource H2}" Margin="10,0,0,0"/>
                        </StackPanel>

                        <TextBlock Style="{StaticResource Muted}" Margin="0,8,0,0" TextWrapping="Wrap"
                                   Text="O programa que tens instalado é compilado a partir deste código, sem ofuscação nem compressão. Podes lê-lo, compilá-lo tu próprio e comparar."/>

                        <Border Background="{DynamicResource BrSurface}" CornerRadius="9" Padding="12,9" Margin="0,12,0,0">
                            <TextBlock x:Name="RepoUrlText" FontFamily="Consolas" FontSize="12.5"
                                       Foreground="{DynamicResource BrAccent}" TextWrapping="Wrap"/>
                        </Border>

                        <WrapPanel Margin="0,12,0,0">
                            <Button x:Name="BtnRepo" Style="{StaticResource PrimaryButton}"
                                    Content="Abrir no GitHub" Click="BtnRepo_Click" Margin="0,0,8,8"/>
                            <Button x:Name="BtnCopy" Style="{StaticResource GhostButton}"
                                    Content="Copiar link" Click="BtnCopy_Click" Margin="0,0,8,8"/>
                        </WrapPanel>
                    </StackPanel>
                </Border>

                <!-- ===== O que não faz ===== -->
                <Border Style="{StaticResource Card}" Margin="0,0,0,12">
                    <StackPanel>
                        <TextBlock Text="O que esta aplicação não faz" Style="{StaticResource H2}"/>
                        <TextBlock Style="{StaticResource Muted}" Margin="0,6,0,0" TextWrapping="Wrap"
                                   Text="Cada ponto é verificável no próprio código, que está publicado por inteiro."/>
                        <ItemsControl x:Name="ClaimList" Margin="0,12,0,0">
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <Grid Margin="0,0,0,9">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto"/>
                                            <ColumnDefinition/>
                                        </Grid.ColumnDefinitions>
                                        <Border Grid.Column="0" Width="18" Height="18" CornerRadius="9"
                                                Background="#1A34D399" VerticalAlignment="Top" Margin="0,1,10,0">
                                            <TextBlock Text="✓" FontSize="11" FontWeight="Bold"
                                                       Foreground="{DynamicResource BrSuccess}"
                                                       HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                        </Border>
                                        <TextBlock Grid.Column="1" Text="{Binding}" Style="{StaticResource ClaimText}"/>
                                    </Grid>
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                        </ItemsControl>
                    </StackPanel>
                </Border>

                <!-- ===== Estado das funcionalidades de input ===== -->
                <Border Style="{StaticResource Card}" Margin="0,0,0,12">
                    <StackPanel>
                        <TextBlock Text="Verificação de PC — funcionalidades de teclado" Style="{StaticResource H2}"/>
                        <TextBlock Style="{StaticResource Muted}" Margin="0,6,0,0" TextWrapping="Wrap"
                                   Text="A repetição de teclado altera o input do jogo. Vem desligada e só funciona se o jogador a ligar à mão. Muitos servidores proíbem-na — este é o estado neste PC, agora. O Snap Tap foi retirado da app: já não existe no programa nem no teu PC."/>

                        <Border Margin="0,12,0,0" Background="{DynamicResource BrSurface}" CornerRadius="9" Padding="14,11"
                                HorizontalAlignment="Left" MinWidth="240">
                            <StackPanel>
                                <TextBlock Text="Repetição de teclado" FontWeight="SemiBold" FontSize="12.5"
                                           Foreground="{DynamicResource BrText}"/>
                                <TextBlock x:Name="KeyRepeatState" FontSize="15" FontWeight="Bold" Margin="0,4,0,0"/>
                            </StackPanel>
                        </Border>

                        <TextBlock Style="{StaticResource Muted}" Margin="0,12,0,0" TextWrapping="Wrap"
                                   Text="Este estado está guardado num ficheiro de texto simples (keyrepeat.json), que qualquer staff pode abrir num screenshare sem confiar no que a app diz."/>

                        <Button x:Name="BtnOpenData" Style="{StaticResource GhostButton}" Margin="0,12,0,0"
                                HorizontalAlignment="Left" Content="Abrir a pasta destes ficheiros"
                                Click="BtnOpenData_Click"/>
                    </StackPanel>
                </Border>

                <!-- ===== Licença ===== -->
                <Border Style="{StaticResource Card}" Margin="0,0,0,4">
                    <StackPanel>
                        <TextBlock Text="Licença" Style="{StaticResource H2}"/>
                        <TextBlock Style="{StaticResource Muted}" Margin="0,6,0,0" TextWrapping="Wrap"
                                   Text="GPL-3.0: qualquer pessoa pode estudar, alterar e distribuir o código, desde que o resultado continue aberto. O nome e o logótipo do Adams Toolkit não fazem parte da licença — um fork tem de usar nome próprio."/>
                        <TextBlock x:Name="VersionText" Style="{StaticResource Muted}" Margin="0,10,0,0"/>
                    </StackPanel>
                </Border>

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