|
|
@ -25,15 +25,20 @@
|
|
|
|
WindowStartupLocation="CenterScreen"
|
|
|
|
WindowStartupLocation="CenterScreen"
|
|
|
|
mc:Ignorable="d">
|
|
|
|
mc:Ignorable="d">
|
|
|
|
<materialDesign:DialogHost CloseOnClickAway="True" SnackbarMessageQueue="{Binding Notifications}">
|
|
|
|
<materialDesign:DialogHost CloseOnClickAway="True" SnackbarMessageQueue="{Binding Notifications}">
|
|
|
|
<DockPanel>
|
|
|
|
<Grid>
|
|
|
|
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Toolbar -->
|
|
|
|
<!-- Toolbar -->
|
|
|
|
<Border
|
|
|
|
<Grid
|
|
|
|
|
|
|
|
Grid.Row="0"
|
|
|
|
Background="{DynamicResource PrimaryHueMidBrush}"
|
|
|
|
Background="{DynamicResource PrimaryHueMidBrush}"
|
|
|
|
DockPanel.Dock="Top"
|
|
|
|
|
|
|
|
IsEnabled="{Binding IsEnabled}"
|
|
|
|
IsEnabled="{Binding IsEnabled}"
|
|
|
|
TextElement.Foreground="{DynamicResource SecondaryInverseTextBrush}">
|
|
|
|
TextElement.Foreground="{DynamicResource SecondaryInverseTextBrush}">
|
|
|
|
<StackPanel>
|
|
|
|
|
|
|
|
<Grid>
|
|
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
@ -113,24 +118,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Progress bar -->
|
|
|
|
<!-- Progress bar -->
|
|
|
|
<ProgressBar
|
|
|
|
<ProgressBar
|
|
|
|
Background="Transparent"
|
|
|
|
Grid.Row="1"
|
|
|
|
|
|
|
|
Background="{DynamicResource PrimaryHueMidBrush}"
|
|
|
|
IsIndeterminate="{Binding IsProgressIndeterminate}"
|
|
|
|
IsIndeterminate="{Binding IsProgressIndeterminate}"
|
|
|
|
Value="{Binding Progress, Mode=OneWay}" />
|
|
|
|
Value="{Binding Progress, Mode=OneWay}" />
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
|
</Border>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Content -->
|
|
|
|
<!-- Content -->
|
|
|
|
<Grid>
|
|
|
|
<Grid Grid.Row="2">
|
|
|
|
<DockPanel
|
|
|
|
<!-- Placeholder usage instructions -->
|
|
|
|
|
|
|
|
<Grid Margin="32,32,8,8" Visibility="{Binding AvailableGuilds, Converter={x:Static s:BoolToVisibilityConverter.InverseInstance}}">
|
|
|
|
|
|
|
|
<!-- For user token -->
|
|
|
|
|
|
|
|
<StackPanel Visibility="{Binding IsBotToken, Converter={x:Static s:BoolToVisibilityConverter.InverseInstance}}">
|
|
|
|
|
|
|
|
<TextBlock FontSize="18" Text="Please provide your user token to authorize" />
|
|
|
|
|
|
|
|
<TextBlock Margin="8,8,0,0" FontSize="14">
|
|
|
|
|
|
|
|
<Run Text="1. Open Discord" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="2. Press" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Ctrl+Shift+I" />
|
|
|
|
|
|
|
|
<Run Text="to show developer tools" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="3. Press" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Ctrl+R" />
|
|
|
|
|
|
|
|
<Run Text="to reload" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="4. Navigate to the" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Application" />
|
|
|
|
|
|
|
|
<Run Text="tab" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="5. Select" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Local Storage" />
|
|
|
|
|
|
|
|
<Run Text=">" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="https://discordapp.com" />
|
|
|
|
|
|
|
|
<Run Text="on the left" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="6. Find" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="token" />
|
|
|
|
|
|
|
|
<Run Text="under key and copy the value" />
|
|
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
|
|
<TextBlock Margin="0,24,0,0" FontSize="14">
|
|
|
|
|
|
|
|
<Run Text="To authorize using bot token instead click" />
|
|
|
|
|
|
|
|
<InlineUIContainer>
|
|
|
|
|
|
|
|
<materialDesign:PackIcon Margin="2,0,0,-2" Kind="Account" />
|
|
|
|
|
|
|
|
</InlineUIContainer>
|
|
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- For bot token -->
|
|
|
|
|
|
|
|
<StackPanel Visibility="{Binding IsBotToken, Converter={x:Static s:BoolToVisibilityConverter.Instance}}">
|
|
|
|
|
|
|
|
<TextBlock FontSize="18" Text="Please provide your bot token to authorize" />
|
|
|
|
|
|
|
|
<TextBlock Margin="8,8,0,0" FontSize="14">
|
|
|
|
|
|
|
|
<Run Text="1. Open Discord developer portal" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="2. Open your application's settings" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="3. Navigate to the" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Bot" />
|
|
|
|
|
|
|
|
<Run Text="section on the left" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="4. Under" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Token" />
|
|
|
|
|
|
|
|
<Run Text="click" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Copy" />
|
|
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
|
|
<TextBlock Margin="0,24,0,0" FontSize="14">
|
|
|
|
|
|
|
|
<Run Text="To authorize using user token instead click" />
|
|
|
|
|
|
|
|
<InlineUIContainer>
|
|
|
|
|
|
|
|
<materialDesign:PackIcon Margin="2,0,0,-2" Kind="Robot" />
|
|
|
|
|
|
|
|
</InlineUIContainer>
|
|
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Guilds and channels -->
|
|
|
|
|
|
|
|
<Grid
|
|
|
|
Background="{DynamicResource MaterialDesignCardBackground}"
|
|
|
|
Background="{DynamicResource MaterialDesignCardBackground}"
|
|
|
|
IsEnabled="{Binding IsEnabled}"
|
|
|
|
IsEnabled="{Binding IsEnabled}"
|
|
|
|
Visibility="{Binding AvailableGuilds, Converter={x:Static s:BoolToVisibilityConverter.Instance}}">
|
|
|
|
Visibility="{Binding AvailableGuilds, Converter={x:Static s:BoolToVisibilityConverter.Instance}}">
|
|
|
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Guilds -->
|
|
|
|
<!-- Guilds -->
|
|
|
|
<Border
|
|
|
|
<Border
|
|
|
|
|
|
|
|
Grid.Column="0"
|
|
|
|
BorderBrush="{DynamicResource DividerBrush}"
|
|
|
|
BorderBrush="{DynamicResource DividerBrush}"
|
|
|
|
BorderThickness="0,0,1,0"
|
|
|
|
BorderThickness="0,0,1,0">
|
|
|
|
DockPanel.Dock="Left">
|
|
|
|
|
|
|
|
<ListBox
|
|
|
|
<ListBox
|
|
|
|
ItemsSource="{Binding AvailableGuilds}"
|
|
|
|
ItemsSource="{Binding AvailableGuilds}"
|
|
|
|
ScrollViewer.VerticalScrollBarVisibility="Hidden"
|
|
|
|
ScrollViewer.VerticalScrollBarVisibility="Hidden"
|
|
|
@ -171,7 +244,7 @@
|
|
|
|
</Border>
|
|
|
|
</Border>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Channels -->
|
|
|
|
<!-- Channels -->
|
|
|
|
<Border>
|
|
|
|
<Border Grid.Column="1">
|
|
|
|
<ListBox
|
|
|
|
<ListBox
|
|
|
|
HorizontalContentAlignment="Stretch"
|
|
|
|
HorizontalContentAlignment="Stretch"
|
|
|
|
ItemsSource="{Binding AvailableChannels}"
|
|
|
|
ItemsSource="{Binding AvailableChannels}"
|
|
|
@ -208,74 +281,11 @@
|
|
|
|
</ListBox.ItemTemplate>
|
|
|
|
</ListBox.ItemTemplate>
|
|
|
|
</ListBox>
|
|
|
|
</ListBox>
|
|
|
|
</Border>
|
|
|
|
</Border>
|
|
|
|
</DockPanel>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Usage instructions -->
|
|
|
|
|
|
|
|
<Grid Margin="32,32,8,8" Visibility="{Binding AvailableGuilds, Converter={x:Static s:BoolToVisibilityConverter.InverseInstance}}">
|
|
|
|
|
|
|
|
<!-- User token -->
|
|
|
|
|
|
|
|
<StackPanel Visibility="{Binding IsBotToken, Converter={x:Static s:BoolToVisibilityConverter.InverseInstance}}">
|
|
|
|
|
|
|
|
<TextBlock FontSize="18" Text="DiscordChatExporter needs your user token to work" />
|
|
|
|
|
|
|
|
<TextBlock
|
|
|
|
|
|
|
|
Margin="0,8,0,0"
|
|
|
|
|
|
|
|
FontSize="16"
|
|
|
|
|
|
|
|
Text="To obtain it, follow these steps:" />
|
|
|
|
|
|
|
|
<TextBlock Margin="8,0,0,0" FontSize="14">
|
|
|
|
|
|
|
|
<Run Text="1. Open the Discord app" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="2. Log in if you haven't" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="3. Press" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Ctrl+Shift+I" />
|
|
|
|
|
|
|
|
<Run Text="to show developer tools" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="4. Press" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Ctrl+R" />
|
|
|
|
|
|
|
|
<Run Text="to trigger reload" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="5. Navigate to the" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Application" />
|
|
|
|
|
|
|
|
<Run Text="tab" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="6. Select" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Local Storage" />
|
|
|
|
|
|
|
|
<Run Text=">" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="https://discordapp.com" />
|
|
|
|
|
|
|
|
<Run Text="on the left" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="7. Find" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="token" />
|
|
|
|
|
|
|
|
<Run Text="under key and copy the value" />
|
|
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Bot token -->
|
|
|
|
|
|
|
|
<StackPanel Visibility="{Binding IsBotToken, Converter={x:Static s:BoolToVisibilityConverter.Instance}}">
|
|
|
|
|
|
|
|
<TextBlock FontSize="18" Text="DiscordChatExporter needs your bot token to work" />
|
|
|
|
|
|
|
|
<TextBlock
|
|
|
|
|
|
|
|
Margin="0,8,0,0"
|
|
|
|
|
|
|
|
FontSize="16"
|
|
|
|
|
|
|
|
Text="To obtain it, follow these steps:" />
|
|
|
|
|
|
|
|
<TextBlock Margin="8,0,0,0" FontSize="14">
|
|
|
|
|
|
|
|
<Run Text="1. Go to Discord developer portal" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="2. Log in if you haven't" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="3. Open your application's settings" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="4. Navigate to the" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Bot" />
|
|
|
|
|
|
|
|
<Run Text="section on the left" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<Run Text="5. Under" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Token" />
|
|
|
|
|
|
|
|
<Run Text="click" />
|
|
|
|
|
|
|
|
<Run Foreground="{DynamicResource PrimaryTextBrush}" Text="Copy" />
|
|
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
|
</Grid>
|
|
|
|
</Grid>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Notifications snackbar -->
|
|
|
|
<materialDesign:Snackbar MessageQueue="{Binding Notifications}" />
|
|
|
|
<materialDesign:Snackbar MessageQueue="{Binding Notifications}" />
|
|
|
|
</Grid>
|
|
|
|
</Grid>
|
|
|
|
</DockPanel>
|
|
|
|
</Grid>
|
|
|
|
</materialDesign:DialogHost>
|
|
|
|
</materialDesign:DialogHost>
|
|
|
|
</Window>
|
|
|
|
</Window>
|