Skip to content

Commit

Permalink
Added the side menu and settings page
Browse files Browse the repository at this point in the history
Added the settings page.
Added the settings icon and side menu.
  • Loading branch information
kubaflo committed Feb 5, 2023
1 parent 2edb96e commit 440e0bb
Show file tree
Hide file tree
Showing 7 changed files with 345 additions and 72 deletions.
Binary file added img/settings_80x80.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

200 changes: 130 additions & 70 deletions src/GWallet.Frontend.XF/BalancesPage.xaml
Original file line number Diff line number Diff line change
@@ -1,84 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
<?xml version="1.0" encoding="utf-8"?>
<FlyoutPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:GWallet.Frontend.XF"
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
ios:FlyoutPage.ApplyShadow="True"
xmlns:controls="clr-namespace:GWallet.Frontend.XF.Controls"
x:Class="GWallet.Frontend.XF.BalancesPage">
<StackLayout x:Name="mainLayout"
Padding="0,0,0,0"
VerticalOptions="FillAndExpand">

<StackLayout Orientation="Horizontal"
Padding="15, 10"
Spacing="30"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand">
<!-- Side menu-->
<FlyoutPage.Flyout>
<ContentPage Title="FlyoutMenu"
ios:Page.UseSafeArea="True" >
<StackLayout Spacing="20" Margin="10,10,15,0">

<!-- we add {V|H}Options=Center* not only to the Label, as a workaround to
https://github.com/xamarin/Xamarin.Forms/issues/4655 -->
<Frame x:Name="totalFiatAmountFrame"
HasShadow="false"
BackgroundColor="Transparent"
BorderColor="Transparent"
VerticalOptions="CenterAndExpand"
HorizontalOptions="End"
Padding="0"
Margin="0,0,0,0">
<StackLayout x:Name="totalFiatAmountLayout"
Orientation="Horizontal"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Margin="0,0,0,0">
<Label Text="..." x:Name="totalFiatAmountLabel"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Margin="0,0,0,0"
FontSize="22" />
<Image HeightRequest="80"
WidthRequest="80"
Margin="0,0,0,10"
x:Name="logoInSidemenu"/>

<StackLayout Spacing="15" Orientation="Horizontal">
<Label VerticalOptions="Center" FontFamily="Icons" Text="#"/>
<Label Text="Check you still remember your payment password"/>
<StackLayout.GestureRecognizers>
<TapGestureRecognizer CommandParameter="Check you still remember your payment password" Tapped="OpenSettings_Tapped"/>
</StackLayout.GestureRecognizers>
</StackLayout>

<StackLayout Spacing="15" Orientation="Horizontal">
<Label VerticalOptions="Center" FontFamily="Icons" Text="#"/>
<Label Text="Check you still remember your secret recovery phrase"/>
<StackLayout.GestureRecognizers>
<TapGestureRecognizer CommandParameter="Check you still remember your secret recovery phrase" Tapped="OpenSettings_Tapped"/>
</StackLayout.GestureRecognizers>
</StackLayout>
</Frame>

<!-- keep this frame&stacklayout&label below almost same as previous! -->
<Frame x:Name="totalReadOnlyFiatAmountFrame"
HasShadow="false"
IsVisible="false"
BackgroundColor="Transparent"
BorderColor="Transparent"
VerticalOptions="CenterAndExpand"
HorizontalOptions="End"
Padding="0"
Margin="0,0,0,0">
<StackLayout x:Name="totalReadOnlyFiatAmountLayout"
Orientation="Horizontal"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Margin="0,0,0,0">
<Label Text="..." x:Name="totalReadOnlyFiatAmountLabel"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Margin="0,0,0,0"
FontSize="22"
TextColor="DarkBlue" />
<StackLayout Spacing="15" Orientation="Horizontal">
<Label VerticalOptions="Center" FontFamily="Icons" Text="#"/>
<Label Text="Wipe your current wallet, in order to start from scratch"/>
<StackLayout.GestureRecognizers>
<TapGestureRecognizer CommandParameter="Wipe your current wallet, in order to start from scratch" Tapped="OpenSettings_Tapped"/>
</StackLayout.GestureRecognizers>
</StackLayout>
</Frame>
</StackLayout>
</ContentPage>
</FlyoutPage.Flyout>

<!-- Main page-->
<FlyoutPage.Detail>
<ContentPage ios:Page.UseSafeArea="True"
Title="Balances">
<StackLayout x:Name="mainLayout"
Padding="0,0,0,0"
VerticalOptions="FillAndExpand">

<!-- Settings icon-->
<ImageButton TextColor="#111"
x:Name="settingsIcon"
BackgroundColor="Transparent"
FontFamily="Icons"
Padding="0"
HeightRequest="30"
WidthRequest="30"
HorizontalOptions="Start"
Margin="10,10,0,0"
Clicked="OpenFlyout_Clicked"/>


<StackLayout Orientation="Horizontal"
Padding="15, 10"
Spacing="30"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand">

<!-- we add {V|H}Options=Center* not only to the Label, as a workaround to
https://github.com/xamarin/Xamarin.Forms/issues/4655 -->
<Frame x:Name="totalFiatAmountFrame"
HasShadow="false"
BackgroundColor="Transparent"
BorderColor="Transparent"
VerticalOptions="CenterAndExpand"
HorizontalOptions="End"
Padding="0"
Margin="0,0,0,0">
<StackLayout x:Name="totalFiatAmountLayout"
Orientation="Horizontal"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Margin="0,0,0,0">
<Label Text="..." x:Name="totalFiatAmountLabel"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Margin="0,0,0,0"
FontSize="22" />
</StackLayout>
</Frame>

<!-- keep this frame&stacklayout&label below almost same as previous! -->
<Frame x:Name="totalReadOnlyFiatAmountFrame"
HasShadow="false"
IsVisible="false"
BackgroundColor="Transparent"
BorderColor="Transparent"
VerticalOptions="CenterAndExpand"
HorizontalOptions="End"
Padding="0"
Margin="0,0,0,0">
<StackLayout x:Name="totalReadOnlyFiatAmountLayout"
Orientation="Horizontal"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Margin="0,0,0,0">
<Label Text="..." x:Name="totalReadOnlyFiatAmountLabel"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Margin="0,0,0,0"
FontSize="22"
TextColor="DarkBlue" />
</StackLayout>
</Frame>

<controls:CircleChartView x:Name="normalChartView"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"/>
<controls:CircleChartView x:Name="normalChartView"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"/>

<controls:CircleChartView x:Name="readonlyChartView"
IsVisible="False"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"/>
<controls:CircleChartView x:Name="readonlyChartView"
IsVisible="False"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"/>

</StackLayout>
</StackLayout>

<ScrollView HorizontalOptions="FillAndExpand">
<StackLayout x:Name="contentLayout" />
</ScrollView>
<ScrollView HorizontalOptions="FillAndExpand">
<StackLayout x:Name="contentLayout" />
</ScrollView>

<Label Text="www.geewallet.com" x:Name="footerLabel"
VerticalOptions="End"
HorizontalOptions="Center"
Margin="0,10,0,10" />
</StackLayout>
</ContentPage>
<Label Text="www.geewallet.com" x:Name="footerLabel"
VerticalOptions="End"
HorizontalOptions="Center"
Margin="0,10,0,10" />
</StackLayout>
</ContentPage>
</FlyoutPage.Detail>
</FlyoutPage>
14 changes: 13 additions & 1 deletion src/GWallet.Frontend.XF/BalancesPage.xaml.fs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ type BalancesPage(state: FrontendHelpers.IGlobalAppState,
currencyImages: Map<Currency*bool,Image>,
startWithReadOnlyAccounts: bool)
as this =
inherit ContentPage()
inherit FlyoutPage()

let _ = base.LoadFromXaml(typeof<BalancesPage>)

Expand All @@ -46,6 +46,8 @@ type BalancesPage(state: FrontendHelpers.IGlobalAppState,
let contentLayout = base.FindByName<StackLayout> "contentLayout"
let normalChartView = base.FindByName<CircleChartView> "normalChartView"
let readonlyChartView = base.FindByName<CircleChartView> "readonlyChartView"
let logoInSideMenu = base.FindByName<Image> "logoInSidemenu"
let settingsButton = base.FindByName<ImageButton> "settingsIcon"

let standardTimeToRefreshBalances = TimeSpan.FromMinutes 5.0
let standardTimeToRefreshBalancesWhenThereIsImminentIncomingPaymentOrNotEnoughInfoToKnow = TimeSpan.FromMinutes 1.0
Expand Down Expand Up @@ -500,6 +502,8 @@ type BalancesPage(state: FrontendHelpers.IGlobalAppState,
member private this.Init () =
normalChartView.DefaultImageSource <- FrontendHelpers.GetSizedImageSource "logo" 512
readonlyChartView.DefaultImageSource <- FrontendHelpers.GetSizedImageSource "logo" 512
logoInSideMenu.Source <- FrontendHelpers.GetSizedImageSource "logo" 512
settingsButton.Source <- FrontendHelpers.GetSizedImageSource "settings" 80

let tapGestureRecognizer = TapGestureRecognizer()
tapGestureRecognizer.Tapped.Subscribe(fun _ ->
Expand Down Expand Up @@ -535,3 +539,11 @@ type BalancesPage(state: FrontendHelpers.IGlobalAppState,
this.StopTimer()
this.CancelBalanceRefreshJobs()
)

member this.OpenFlyout_Clicked(_: obj, _: EventArgs) =
this.IsPresented <- true

member this.OpenSettings_Tapped(_: obj, e: EventArgs) =
let title = ((e :?> TappedEventArgs).Parameter :?> string)
let settingsPage () = SettingsPage(title) :> Page
FrontendHelpers.SwitchToNewPage this settingsPage true
7 changes: 7 additions & 0 deletions src/GWallet.Frontend.XF/GWallet.Frontend.XF.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@
<EmbeddedResource Include="..\..\img\eth_grey_120x120.png">
<Link>img\eth_grey_120x120.png</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\img\settings_80x80.png">
<Link>img\settings_80x80.png</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\img\eth_red_60x60.png">
<Link>img\eth_red_60x60.png</Link>
</EmbeddedResource>
Expand Down Expand Up @@ -102,6 +105,10 @@
<Compile Include="SendPage.xaml.fs">
<DependentUpon>SendPage.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="SettingsPage.xaml.fs">
<DependentUpon>SettingsPage.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="PairingToPage.xaml.fs">
<DependentUpon>PairingToPage.xaml</DependentUpon>
Expand Down
Loading

0 comments on commit 440e0bb

Please sign in to comment.