nitai/projects
rblxtool / src / ui / RblxTool / Views / GroupsPage.xaml
102 lines · 5.4 KB Raw
1<Page
2 x:Class="RblxTool.Views.GroupsPage"
3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5 xmlns:models="using:RblxTool.Models">
6
7 <Grid Padding="{StaticResource PagePadding}" RowSpacing="16">
8 <Grid.RowDefinitions>
9 <RowDefinition Height="Auto" />
10 <RowDefinition Height="Auto" />
11 <RowDefinition Height="Auto" />
12 <RowDefinition Height="*" />
13 </Grid.RowDefinitions>
14
15 <TextBlock Style="{StaticResource SectionTitle}" Text="Ownerless Group Hunter" />
16
17 <Border Grid.Row="1" Style="{StaticResource CardBorder}">
18 <StackPanel Spacing="12">
19 <TextBlock
20 FontSize="12"
21 Opacity="0.7"
22 TextWrapping="Wrap"
23 Text="Sweeps group id ranges 100 at a time through the batch endpoint, keeps the ones with no owner, then optionally reads member count and entry policy before claiming." />
24 <Grid ColumnSpacing="20">
25 <Grid.ColumnDefinitions>
26 <ColumnDefinition Width="*" />
27 <ColumnDefinition Width="*" />
28 <ColumnDefinition Width="*" />
29 <ColumnDefinition Width="*" />
30 <ColumnDefinition Width="Auto" />
31 </Grid.ColumnDefinitions>
32 <StackPanel>
33 <TextBlock Style="{StaticResource FieldLabel}" Text="Start id" />
34 <NumberBox x:Name="StartBox" Minimum="1" Value="1" SpinButtonPlacementMode="Compact" />
35 </StackPanel>
36 <StackPanel Grid.Column="1">
37 <TextBlock Style="{StaticResource FieldLabel}" Text="End id" />
38 <NumberBox x:Name="EndBox" Minimum="1" Value="200000" SpinButtonPlacementMode="Compact" />
39 </StackPanel>
40 <StackPanel Grid.Column="2">
41 <TextBlock Style="{StaticResource FieldLabel}" Text="Min members" />
42 <NumberBox x:Name="MinMembersBox" Minimum="0" Value="1" SpinButtonPlacementMode="Compact" />
43 </StackPanel>
44 <StackPanel Grid.Column="3">
45 <TextBlock Style="{StaticResource FieldLabel}" Text="Workers" />
46 <NumberBox x:Name="ThreadsBox" Minimum="1" Maximum="64" Value="12" SpinButtonPlacementMode="Compact" />
47 </StackPanel>
48 <StackPanel Grid.Column="4" Orientation="Horizontal" Spacing="8" VerticalAlignment="Bottom">
49 <Button x:Name="StartButton" Click="OnStart" Content="Start scan" Style="{StaticResource AccentButtonStyle}" />
50 <Button x:Name="StopButton" Click="OnStop" Content="Stop" IsEnabled="False" />
51 </StackPanel>
52 </Grid>
53 <StackPanel Orientation="Horizontal" Spacing="20">
54 <ToggleSwitch x:Name="EnrichToggle" Header="Read member counts" IsOn="True" />
55 <ToggleSwitch x:Name="PublicEntryToggle" Header="Open entry only" IsOn="True" />
56 <ToggleSwitch x:Name="ClaimToggle" Header="Claim automatically" />
57 </StackPanel>
58 </StackPanel>
59 </Border>
60
61 <Border Grid.Row="2" Style="{StaticResource CardBorder}">
62 <Grid ColumnSpacing="24">
63 <Grid.ColumnDefinitions>
64 <ColumnDefinition Width="*" />
65 <ColumnDefinition Width="*" />
66 <ColumnDefinition Width="*" />
67 </Grid.ColumnDefinitions>
68 <StackPanel>
69 <TextBlock Style="{StaticResource FieldLabel}" Text="Groups scanned" />
70 <TextBlock x:Name="ScannedText" Style="{StaticResource MetricValue}" Text="0" />
71 </StackPanel>
72 <StackPanel Grid.Column="1">
73 <TextBlock Style="{StaticResource FieldLabel}" Text="Ownerless" />
74 <TextBlock x:Name="OwnerlessText" Style="{StaticResource MetricValue}" Text="0" />
75 </StackPanel>
76 <StackPanel Grid.Column="2">
77 <TextBlock Style="{StaticResource FieldLabel}" Text="Requests" />
78 <TextBlock x:Name="RequestsText" Style="{StaticResource MetricValue}" Text="0" />
79 </StackPanel>
80 </Grid>
81 </Border>
82
83 <Border Grid.Row="3" Style="{StaticResource CardBorder}">
84 <ListView x:Name="FeedList" SelectionMode="None">
85 <ListView.ItemContainerStyle>
86 <Style TargetType="ListViewItem">
87 <Setter Property="MinHeight" Value="0" />
88 <Setter Property="Padding" Value="8,2,8,2" />
89 </Style>
90 </ListView.ItemContainerStyle>
91 <ListView.ItemTemplate>
92 <DataTemplate x:DataType="models:FeedLine">
93 <TextBlock
94 Style="{StaticResource LogText}"
95 Foreground="{x:Bind Brush}"
96 Text="{x:Bind Text}" />
97 </DataTemplate>
98 </ListView.ItemTemplate>
99 </ListView>
100 </Border>
101 </Grid>
102</Page>