Skip to content

Commit d47aa21

Browse files
committed
Make more pages responsive
1 parent 5235c87 commit d47aa21

15 files changed

+179
-13
lines changed

Guard.WPF/Guard.WPF.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525
<RootNamespace>$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
2626
<Platforms>x64</Platforms>
2727
<DebugType>embedded</DebugType>
28-
<DefineConstants Condition=" '$(IsPortable)' == 'true' ">$(DefineConstants);PORTABLE</DefineConstants>
28+
<DefineConstants Condition=" '$(IsPortable)' == 'true' "
29+
>$(DefineConstants);PORTABLE</DefineConstants
30+
>
2931
<ApplicationManifest>app.manifest</ApplicationManifest>
3032
<StartupObject>Guard.WPF.Program</StartupObject>
3133
<PackageProjectUrl>https://2faguard.app</PackageProjectUrl>

Guard.WPF/MainWindow.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ private static void SetAnimationFPS()
434434

435435
private void OnSizeChanged(object sender, SizeChangedEventArgs e)
436436
{
437-
const double HideNavElementTitlesThreshold = 700;
437+
const double HideNavElementTitlesThreshold = 800;
438438
const double HidePageTitleThreshold = 600;
439439

440440
if (HomeNavigationItem != null)

Guard.WPF/Views/Pages/Add/TokenSettings.xaml

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,12 @@
1313
d:DesignWidth="1150"
1414
mc:Ignorable="d">
1515

16-
<Grid Margin="0,20" HorizontalAlignment="Center">
17-
<Grid.ColumnDefinitions>
18-
<ColumnDefinition Width="Auto" />
19-
<ColumnDefinition Width="Auto" />
20-
<ColumnDefinition Width="Auto" />
21-
</Grid.ColumnDefinitions>
16+
<WrapPanel Margin="0,20" HorizontalAlignment="Center">
2217
<StackPanel
23-
Grid.Column="0"
18+
x:Name="LeftStackPanel"
2419
Width="200"
2520
Margin="0,0,25,0">
2621
<StackPanel
27-
Grid.Column="0"
2822
Width="60"
2923
Margin="0,80,0,25"
3024
HorizontalAlignment="Center">
@@ -48,8 +42,8 @@
4842
Icon="{ui:SymbolIcon ImageAdd24}" />
4943
</StackPanel>
5044
<StackPanel
51-
Grid.Column="1"
5245
Width="320"
46+
x:Name="CenterStackPanel"
5347
Margin="50,0,50,0">
5448
<TextBlock
5549
Margin="0,24,0,0"
@@ -114,7 +108,7 @@
114108
Margin="0,20,0,0"
115109
IsOpen="False" />
116110
</StackPanel>
117-
<StackPanel Grid.Column="2" Margin="50,0,0,0">
111+
<StackPanel Margin="50,0,0,0" x:Name="RightStackPanel">
118112
<TextBlock
119113
Width="320"
120114
Margin="0,24,0,0"
@@ -171,5 +165,5 @@
171165
PlaceholderText="{DynamicResource i.td.expert.period.placeholder}"
172166
Value="30" />
173167
</StackPanel>
174-
</Grid>
168+
</WrapPanel>
175169
</Page>

Guard.WPF/Views/Pages/Add/TokenSettings.xaml.cs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,14 @@ public TokenSettings()
154154
mainWindow.SetPageTitle(I18n.GetString("i.page.tokensettings.add"));
155155
}
156156
};
157+
158+
Core.EventManager.WindowSizeChanged += OnWindowSizeChanged;
159+
OnWindowSizeChanged(this, (mainWindow.ActualWidth, mainWindow.ActualHeight));
160+
161+
Unloaded += (sender, e) =>
162+
{
163+
Core.EventManager.WindowSizeChanged -= OnWindowSizeChanged;
164+
};
157165
}
158166

159167
private void AutoSuggestBoxOnSuggestionChosen(
@@ -432,5 +440,32 @@ private void ShowCustomImage()
432440
ImageLicense.Text = string.Empty;
433441
NoIconText.Visibility = Visibility.Collapsed;
434442
}
443+
444+
private void OnWindowSizeChanged(object? sender, (double width, double height) size)
445+
{
446+
if (size.width < 800)
447+
{
448+
LeftStackPanel.Margin = new Thickness(0, 0, 0, 0);
449+
CenterStackPanel.Margin = new Thickness(0, 20, 0, 0);
450+
RightStackPanel.Margin = new Thickness(0, 20, 0, 0);
451+
}
452+
else
453+
{
454+
LeftStackPanel.Margin = new Thickness(0, 0, 25, 0);
455+
CenterStackPanel.Margin = new Thickness(50, 0, 50, 0);
456+
RightStackPanel.Margin = new Thickness(50, 0, 0, 0);
457+
}
458+
459+
if (size.width < 600)
460+
{
461+
LeftStackPanel.HorizontalAlignment = HorizontalAlignment.Center;
462+
LeftStackPanel.Width = size.width - 150;
463+
}
464+
else
465+
{
466+
LeftStackPanel.HorizontalAlignment = HorizontalAlignment.Left;
467+
LeftStackPanel.Width = 200;
468+
}
469+
}
435470
}
436471
}

Guard.WPF/Views/Pages/Home.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
HorizontalAlignment="Center"
4141
Visibility="Collapsed">
4242
<svgc:SvgViewbox
43+
x:Name="NoTokensInfoImage"
4344
Width="150"
4445
Margin="0,50,0,0"
4546
HorizontalAlignment="Center"

Guard.WPF/Views/Pages/Home.xaml.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ await TokenManager.GetAllTokens()
7979
{
8080
LoadingInfo.Visibility = Visibility.Collapsed;
8181
NoTokensInfo.Visibility = Visibility.Visible;
82+
if (mainWindow.ActualHeight < 500)
83+
{
84+
NoTokensInfoImage.Visibility = Visibility.Collapsed;
85+
}
8286
return;
8387
}
8488

Guard.WPF/Views/Pages/Start/Login.xaml.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ private async void Setup(bool promptWinHello)
4242
Core.EventManager.WindowSizeChanged -= OnWindowSizeChanged;
4343
};
4444

45+
OnWindowSizeChanged(null, (mainWindow.ActualWidth, mainWindow.ActualHeight));
46+
4547
PasswordBox.KeyDown += (sender, e) =>
4648
{
4749
if (Keyboard.IsKeyToggled(Key.CapsLock))

Guard.WPF/Views/Pages/Start/SetupCompleted.xaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,20 @@
1414
<Grid>
1515
<StackPanel HorizontalAlignment="Center">
1616
<svgc:SvgViewbox
17+
x:Name="HeaderLogo"
1718
Width="200"
1819
Margin="0,45,0,0"
1920
HorizontalAlignment="Center"
2021
Source="pack://application:,,,/Assets/check.svg" />
2122
<ui:TextBlock
23+
x:Name="HeaderTitle"
2224
Margin="0,20,0,0"
2325
FontSize="32"
2426
FontWeight="SemiBold"
2527
Text="{DynamicResource i.setup.finished.title}"
2628
TextAlignment="Center" />
2729
<ui:TextBlock
30+
x:Name="HeaderSubtitle"
2831
MaxWidth="400"
2932
Margin="0,20,0,30"
3033
FontSize="15"

Guard.WPF/Views/Pages/Start/SetupCompleted.xaml.cs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ public SetupCompleted()
2424
_ = TokenManager.GetAllTokens();
2525
Stats.TrackEvent(Stats.EventType.SetupCompleted);
2626
InactivityDetector.Start();
27+
28+
Core.EventManager.WindowSizeChanged += OnWindowSizeChanged;
29+
30+
Unloaded += (object? sender, RoutedEventArgs e) =>
31+
{
32+
Core.EventManager.WindowSizeChanged -= OnWindowSizeChanged;
33+
};
34+
35+
OnWindowSizeChanged(null, (mainWindow.ActualWidth, mainWindow.ActualHeight));
2736
}
2837

2938
private void CardAction_Click(object sender, RoutedEventArgs e)
@@ -41,5 +50,25 @@ private void CardAction_Click_Settings(object sender, RoutedEventArgs e)
4150
mainWindow.ShowNavigation();
4251
mainWindow.Navigate(typeof(Settings));
4352
}
53+
54+
private void OnWindowSizeChanged(object? sender, (double width, double height) size)
55+
{
56+
if (mainWindow.ActualHeight < 600)
57+
{
58+
HeaderLogo.Visibility = Visibility.Collapsed;
59+
HeaderTitle.Visibility = Visibility.Collapsed;
60+
var margin = HeaderSubtitle.Margin;
61+
margin.Top = 60;
62+
HeaderSubtitle.Margin = margin;
63+
}
64+
else
65+
{
66+
HeaderLogo.Visibility = Visibility.Visible;
67+
HeaderTitle.Visibility = Visibility.Visible;
68+
var margin = HeaderSubtitle.Margin;
69+
margin.Top = 20;
70+
HeaderSubtitle.Margin = margin;
71+
}
72+
}
4473
}
4574
}

Guard.WPF/Views/Pages/Start/SetupPassword.xaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,20 @@
1616
<Grid>
1717
<StackPanel HorizontalAlignment="Center">
1818
<svgc:SvgViewbox
19+
x:Name="HeaderLogo"
1920
Width="200"
2021
Margin="0,45,0,0"
2122
HorizontalAlignment="Center"
2223
Source="pack://application:,,,/Assets/padlock-gradient.svg" />
2324
<ui:TextBlock
25+
x:Name="HeaderTitle"
2426
Margin="0,20,0,0"
2527
FontSize="32"
2628
FontWeight="SemiBold"
2729
Text="{DynamicResource i.welcome.pass.title}"
2830
TextAlignment="Center" />
2931
<ui:TextBlock
32+
x:Name="HeaderSubtitle"
3033
MaxWidth="400"
3134
Margin="0,20,0,30"
3235
FontSize="15"

0 commit comments

Comments
 (0)