From f58b53117629f37c73dceeadf8b6f944ad40af2f Mon Sep 17 00:00:00 2001 From: Paul-Winpenny <92634321+Paul-Winpenny@users.noreply.github.com> Date: Wed, 30 Oct 2024 17:19:19 +0000 Subject: [PATCH] Added additionl styles, fonts and icon --- App/RobobinApp/App.xaml | 14 ++ App/RobobinApp/MauiProgram.cs | 2 + .../Resources/AppIcon/RobobinLogo.png | Bin 0 -> 19785 bytes App/RobobinApp/Resources/Fonts/Cabal-w5j3.ttf | Bin 0 -> 23612 bytes App/RobobinApp/Resources/Styles/Styles.xaml | 2 +- App/RobobinApp/Resources/Styles/appstyle.css | 91 +++++++++-- .../Resources/Styles/appstylepink.css | 146 ++++++++++++++++++ App/RobobinApp/RobobinApp.csproj | 2 +- App/RobobinApp/Views/ConnectionPage.xaml | 132 ++++++---------- App/RobobinApp/Views/MainPage.xaml | 2 - 10 files changed, 287 insertions(+), 104 deletions(-) create mode 100644 App/RobobinApp/Resources/AppIcon/RobobinLogo.png create mode 100644 App/RobobinApp/Resources/Fonts/Cabal-w5j3.ttf create mode 100644 App/RobobinApp/Resources/Styles/appstylepink.css diff --git a/App/RobobinApp/App.xaml b/App/RobobinApp/App.xaml index d16152ef..5398a5c5 100644 --- a/App/RobobinApp/App.xaml +++ b/App/RobobinApp/App.xaml @@ -12,5 +12,19 @@ <StyleSheet Source="/Resources/Styles/appstyle.css" /> </ResourceDictionary> + <ResourceDictionary> + <Style TargetType="Label"> + <Setter Property="FontFamily" Value="Cabal" /> + <Setter Property="FontSize" Value="16" /> + <Setter Property="TextColor" Value="#E8EDF1" /> + <Setter Property="Margin" Value="10" /> + </Style> + <Style TargetType="Button"> + <Setter Property="FontFamily" Value="Cabal" /> + <Setter Property="FontSize" Value="16" /> + <Setter Property="TextColor" Value="#E8EDF1" /> + <Setter Property="Margin" Value="10" /> + </Style> + </ResourceDictionary> </Application.Resources> </Application> diff --git a/App/RobobinApp/MauiProgram.cs b/App/RobobinApp/MauiProgram.cs index b66f8298..a93f4f10 100644 --- a/App/RobobinApp/MauiProgram.cs +++ b/App/RobobinApp/MauiProgram.cs @@ -16,6 +16,8 @@ public static class MauiProgram { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); + // fonts.AddFont("Cabal-w5j3.tff", "Atop"); + fonts.AddFont("Cabal-w5j3.tff", "Cabal"); }); diff --git a/App/RobobinApp/Resources/AppIcon/RobobinLogo.png b/App/RobobinApp/Resources/AppIcon/RobobinLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..f22f9630a604d4823e7bdd5ff576f0af86627b8e GIT binary patch literal 19785 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 DEy-tU literal 0 HcmV?d00001 diff --git a/App/RobobinApp/Resources/Fonts/Cabal-w5j3.ttf b/App/RobobinApp/Resources/Fonts/Cabal-w5j3.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9fd9424d853bf8f07d9d433d2d80313ce47261cc GIT binary patch literal 23612 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 literal 0 HcmV?d00001 diff --git a/App/RobobinApp/Resources/Styles/Styles.xaml b/App/RobobinApp/Resources/Styles/Styles.xaml index e36989d6..32b7bb86 100644 --- a/App/RobobinApp/Resources/Styles/Styles.xaml +++ b/App/RobobinApp/Resources/Styles/Styles.xaml @@ -5,7 +5,7 @@ <Style x:Key="TopBarButtonStyle" TargetType="Button"> <Setter Property="BackgroundColor" Value="#E4E4E4"/> <Setter Property="TextColor" Value="#333333"/> - <Setter Property="FontSize" Value="14"/> + <Setter Property="FontSize" Value="20"/> <Setter Property="Padding" Value="10,5"/> <Setter Property="CornerRadius" Value="5"/> <Setter Property="BorderWidth" Value="0.5"/> diff --git a/App/RobobinApp/Resources/Styles/appstyle.css b/App/RobobinApp/Resources/Styles/appstyle.css index a9bc7726..3716a8e8 100644 --- a/App/RobobinApp/Resources/Styles/appstyle.css +++ b/App/RobobinApp/Resources/Styles/appstyle.css @@ -1,15 +1,15 @@ -navigationpage { - -maui-bar-background-color: lightgray; + +navigationpage { + -maui-bar-background-color: #647687; + -maui-bar-text-color: #FFFFFF; } ^contentpage { - background-color: lightgray; -} - -#listView { - background-color: lightgray; + background-color: #2B333E; + color: #E8EDF1; } +/* Layout Styling */ stacklayout { margin: 20; -maui-spacing: 6; @@ -20,47 +20,84 @@ grid { column-gap: 6; } + .mainPageTitle { font-style: bold; - font-size: 14; + font-size: 18; + color: #E8EDF1; } .mainPageSubtitle { + font-size: 16; + color: #A3B4C6; margin-top: 15; } .detailPageTitle { font-style: bold; - font-size: 14; + font-size: 16; text-align: center; + color: #E8EDF1; } .detailPageSubtitle { text-align: center; font-style: italic; + font-size: 14; + color: #A3B4C6; +} + + +#listView { + background-color: #2B333E; + separator-color: #A3B4C6; + color: #E8EDF1; } listview image { height: 60; width: 60; + border-radius: 8; } stacklayout > image { height: 200; width: 200; + border-radius: 10; + border-color: #647687; } + .mainFrame { - background-color: White; - border-color: Black; + background-color: white; + border-color: #647687; corner-radius: 5; + padding: 15; } -.sideFrame { +.primaryFrame { background-color: #2B333E; - border-color: Black; + border-color: #647687; + corner-radius: 8; + padding: 10; +} + +.button-primary { + background-color: #647687; + color: #FFFFFF; + padding: 10 5; + corner-radius: 5; + font-style: bold; +} + +.button-secondary { + background-color: #A3B4C6; + color: #FFFFFF; + padding: 8 4; corner-radius: 5; + font-style: bold; } + .sideBox { margin: 0; padding: 0; @@ -75,7 +112,7 @@ stacklayout > image { } .side-box-header { - background-color: #647687; + background-color: #647687; padding: 10 5; } @@ -88,13 +125,35 @@ stacklayout > image { background-color: #E8EDF1; padding: 10; height: 200; + color: #2B333E; } - .side-box-content Label { + .side-box-content label { margin: 0; padding: 0; } .side-box-vertical-stack { spacing: 0; -} \ No newline at end of file +} + + +.card { + background-color: #2B333E; + border-color: #647687; + corner-radius: 8; + padding: 15; +} + +.card-header { + background-color: #647687; + padding: 10 5; + font-size: 16; + font-style: bold; + color: #FFFFFF; +} + +.card-content { + background-color: #E8EDF1; + padding: 10; +} diff --git a/App/RobobinApp/Resources/Styles/appstylepink.css b/App/RobobinApp/Resources/Styles/appstylepink.css new file mode 100644 index 00000000..0586142a --- /dev/null +++ b/App/RobobinApp/Resources/Styles/appstylepink.css @@ -0,0 +1,146 @@ +/* Navigation and Page Backgrounds */ +navigationpage { + -maui-bar-background-color: #D5006D; /* Bright pink accent */ + -maui-bar-text-color: #FFFFFF; /* White text for contrast */ +} + +^contentpage { + background-color: #FCE4EC; /* Light pink background */ + color: #880E4F; /* Darker pink for text */ +} + +/* Layout Styling */ +stacklayout { + margin: 20; + -maui-spacing: 6; +} + +grid { + row-gap: 6; + column-gap: 6; +} + +/* Title and Subtitle Styling */ +.mainPageTitle { + font-style: bold; + font-size: 18; /* Increased for main titles */ + color: #880E4F; /* Darker pink for visibility */ +} + +.mainPageSubtitle { + font-size: 16; + color: #AD1457; /* Medium pink */ + margin-top: 15; +} + +.detailPageTitle { + font-style: bold; + font-size: 16; + text-align: center; + color: #880E4F; /* Darker pink */ +} + +.detailPageSubtitle { + text-align: center; + font-style: italic; + font-size: 14; + color: #AD1457; /* Medium pink */ +} + +/* ListView and Image Styling */ +#listView { + background-color: #FCE4EC; /* Match background */ + separator-color: #AD1457; /* Medium pink separator */ + color: #880E4F; /* Darker pink for text */ +} + +listview image { + height: 60; + width: 60; + border-radius: 8; /* Rounded corners for consistency */ +} + +stacklayout > image { + height: 200; + width: 200; + border-radius: 10; + border-color: #D5006D; /* Bright pink for image border */ +} + +/* Frame Styling */ +.mainFrame { + background-color: white; /* Keep it white for contrast */ + border-color: #D5006D; /* Bright pink border */ + corner-radius: 5; + padding: 15; +} + +.primaryFrame { + background-color: #FCE4EC; /* Light pink for cohesive look */ + border-color: #D5006D; /* Bright pink border */ + corner-radius: 8; + padding: 10; +} + +/* Button Styling */ +.button-primary { + background-color: #D5006D; /* Bright pink */ + color: #FFFFFF; /* White text */ + padding: 10 5; + corner-radius: 5; + font-style: bold; +} + +.button-secondary { + background-color: #F8BBD0; /* Lighter pink accent */ + color: #FFFFFF; /* White text */ + padding: 8 4; + corner-radius: 5; + font-style: bold; +} + +/* SideBox Styling */ +.sideBox { + margin: 0; + padding: 0; +} + +.side-box-frame { + margin: 10; + padding: 0; + background-color: transparent; + border-color: transparent; + horizontal-options: fill-and-expand; +} + +.side-box-header { + background-color: #D5006D; /* Bright pink for header */ + padding: 10 5; +} + +.side-box-header-text { + color: #FFFFFF; /* White text */ + font-size: 16; +} + +.side-box-content { + background-color: #FCE4EC; /* Light pink */ + padding: 10; + height: 200; + color: #880E4F; /* Darker pink for readability */ +} + + .side-box-content label { + margin: 0; + padding: 0; + } + +.side-box-vertical-stack { + spacing: 0; +} + +/* Card Styling */ +.card { + background-color: #FCE4EC; /* Light pink */ + border-color: #D5006D; /* Bright pink */ + corner-radius: 8 diff --git a/App/RobobinApp/RobobinApp.csproj b/App/RobobinApp/RobobinApp.csproj index 68992df4..269654ee 100644 --- a/App/RobobinApp/RobobinApp.csproj +++ b/App/RobobinApp/RobobinApp.csproj @@ -20,7 +20,7 @@ </PropertyGroup> <ItemGroup> - <MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" /> + <MauiIcon Include="Resources\AppIcon\robobinlogo.png"/> <MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" /> <MauiImage Include="Resources\Images\*" /> <MauiImage Update="Resources\Images\dotnet_bot.png" Resize="True" BaseSize="300,185" /> diff --git a/App/RobobinApp/Views/ConnectionPage.xaml b/App/RobobinApp/Views/ConnectionPage.xaml index 42521cba..b690ba31 100644 --- a/App/RobobinApp/Views/ConnectionPage.xaml +++ b/App/RobobinApp/Views/ConnectionPage.xaml @@ -2,34 +2,12 @@ <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="RobobinApp.Views.ConnectionPage" - Title="Connect to Robobin"> + Title="Connect to Robobin" + BackgroundColor="#2B333E"> + <!-- Apply the CSS stylesheet --> <ContentPage.Resources> <ResourceDictionary> - <Style x:Key="HeaderLabelStyle" TargetType="Label"> - <Setter Property="FontSize" Value="Medium" /> - <Setter Property="TextColor" Value="DarkSlateBlue" /> - <Setter Property="HorizontalOptions" Value="Center" /> - <Setter Property="VerticalOptions" Value="Start" /> - </Style> - - <Style x:Key="ButtonStyle" TargetType="Button"> - <Setter Property="BackgroundColor" Value="LightBlue" /> - <Setter Property="TextColor" Value="White" /> - <Setter Property="Padding" Value="10,5" /> - <Setter Property="CornerRadius" Value="5" /> - <Setter Property="FontAttributes" Value="Bold" /> - </Style> - - - - <Style x:Key="ListViewStyle" TargetType="ListView"> - <Setter Property="BackgroundColor" Value="White" /> - <Setter Property="SeparatorVisibility" Value="Default" /> - <Setter Property="SeparatorColor" Value="LightGray" /> - <Setter Property="SelectedItem" Value="Blue" /> - <Setter Property="VerticalScrollBarVisibility" Value="Always"/> - - </Style> + <StyleSheet Source="/Resources/Styles/appstyle.css" /> </ResourceDictionary> </ContentPage.Resources> @@ -40,18 +18,18 @@ </ContentPage.MenuBarItems> <StackLayout Padding="20"> - <StackLayout IsVisible="{Binding IsBluetoothDeviceSelectionVisible}"> - <Label Text="Select a Bluetooth Device" - FontSize="Medium" - HorizontalOptions="Center" - VerticalOptions="Start" /> + + <!-- Bluetooth Device Selection Stack --> + <StackLayout StyleClass="mainBox" IsVisible="{Binding IsBluetoothDeviceSelectionVisible}"> + <Label StyleClass="mainPageSubtitle" HorizontalOptions="CenterAndExpand" Text="Select a Bluetooth Device" /> <ListView x:Name="DeviceListView" + StyleClass="listView" ItemsSource="{Binding BluetoothDevices}" SelectedItem="{Binding SelectedDevice}" VerticalOptions="FillAndExpand" - ItemTapped="DeviceListView_ItemTapped"> - + ItemTapped="DeviceListView_ItemTapped" + HorizontalOptions="CenterAndExpand"> <ListView.ItemTemplate> <DataTemplate> <TextCell Text="{Binding Name}" /> @@ -59,42 +37,38 @@ </ListView.ItemTemplate> </ListView> - <Button Text="{Binding ConnectButtonText}" - Command="{Binding ConnectCommand}" - IsEnabled="{Binding SelectedDevice, Converter={StaticResource NullToBooleanConverter}}" - HorizontalOptions="Center" - VerticalOptions="End" /> + <Button Text="{Binding ConnectButtonText}" + Command="{Binding ConnectCommand}" + IsEnabled="{Binding SelectedDevice, Converter={StaticResource NullToBooleanConverter}}" + StyleClass="button-primary" + HorizontalOptions="Center" /> </StackLayout> - <StackLayout IsVisible="{Binding IsWifiNetworkSelectionVisible}"> - <Grid Padding="10" HorizontalOptions="FillAndExpand"> + <!-- WiFi Network Selection Stack --> + <StackLayout StyleClass="mainBox" IsVisible="{Binding IsWifiNetworkSelectionVisible}"> + <Grid Padding="10" HorizontalOptions="CenterAndExpand" StyleClass="primaryFrame"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> - <Label Text="{Binding SelectedDevice.Name}" - FontSize="Medium" - HorizontalOptions="Start" - VerticalOptions="Center" + <Label Text="{Binding SelectedDevice.Name}" + StyleClass="mainPageTitle" Grid.Column="0" /> - <Button Text="Disconnect" - Command="{Binding DisconnectCommand}" - HorizontalOptions="End" - VerticalOptions="Center" + <Button Text="Disconnect" + Command="{Binding DisconnectCommand}" + StyleClass="button-primary" Grid.Column="1" /> </Grid> - <Label Text="Select a WiFi Network" - FontSize="Medium" - HorizontalOptions="Center" - VerticalOptions="Start" /> + <Label StyleClass="mainPageSubtitle" Text="Select a WiFi Network" /> <ListView x:Name="WifiListView" ItemsSource="{Binding WifiNetworks}" SelectedItem="{Binding SelectedWifiNetwork}" - VerticalOptions="FillAndExpand"> + VerticalOptions="FillAndExpand" + HorizontalOptions="CenterAndExpand"> <ListView.ItemTemplate> <DataTemplate> <TextCell Text="{Binding SSID}" /> @@ -102,41 +76,31 @@ </ListView.ItemTemplate> </ListView> - <StackLayout Padding="10" - BackgroundColor="LightGray" - HorizontalOptions="FillAndExpand" - VerticalOptions="Start"> - <Label Text="Password:" - FontSize="Medium" - HorizontalOptions="Start" /> - <Entry x:Name="PasswordEntry" - Placeholder="Enter Password" - Text="{Binding Password}" - IsPassword="True" + <!-- Password Entry for WiFi --> + <StackLayout StyleClass="side-box-content"> + <Label StyleClass="side-box-header-text" Text="Password:" /> + <Entry x:Name="PasswordEntry" + Placeholder="Enter Password" + Text="{Binding Password}" + IsPassword="True" HorizontalOptions="Fill" /> - - <Button Text="Send WiFi Information" - Command="{Binding SendWifiInfoCommand}" - HorizontalOptions="Center" - VerticalOptions="End" /> + <Button Text="Send WiFi Information" + Command="{Binding SendWifiInfoCommand}" + StyleClass="button-primary" + HorizontalOptions="Center" /> </StackLayout> </StackLayout> - <StackLayout Padding="10" - BackgroundColor="Black" - HorizontalOptions="FillAndExpand" - VerticalOptions="Start"> - <Label Text="Admin Panel:" - FontSize="Medium" - HorizontalOptions="Start" /> - <Button Text= "Test Read Operation" - Command="{Binding TestReadOperation}" - HorizontalOptions="Center" - VerticalOptions="End" /> - <Button Text="Test Write Operation" - Command="{Binding TestWriteOperation}" - HorizontalOptions="Center" - VerticalOptions="End" /> + <!-- Admin Panel Section --> + <StackLayout StyleClass="sideFrame" Padding="10"> + <Label StyleClass="side-box-header-text" Text="Admin Panel:" /> + + <Button Text="Test Read Operation" + Command="{Binding TestReadOperation}" + StyleClass="button-primary" /> + <Button Text="Test Write Operation" + Command="{Binding TestWriteOperation}" + StyleClass="button-primary" /> </StackLayout> </StackLayout> </ContentPage> diff --git a/App/RobobinApp/Views/MainPage.xaml b/App/RobobinApp/Views/MainPage.xaml index f5007a27..3e6da28f 100644 --- a/App/RobobinApp/Views/MainPage.xaml +++ b/App/RobobinApp/Views/MainPage.xaml @@ -13,8 +13,6 @@ <ContentPage.Resources> <ResourceDictionary> - <ResourceDictionary Source="../Resources/Styles/Styles.xaml" /> - <StyleSheet Source="/Resources/Styles/appstyle.css" /> </ResourceDictionary> </ContentPage.Resources> -- GitLab