You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

171 lines
9.6 KiB

1 year ago
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  4. x:Class="GMCabsDriverAssistantSolution.Views.UserSignUpPage"
  5. xmlns:vm="clr-namespace:GMCabsDriverAssistantSolution.ViewModels"
  6. xmlns:custom="clr-namespace:GMCabsDriverAssistantSolution.CustomControls"
  7. Shell.FlyoutBehavior="Disabled"
  8. Title="User Signup">
  9. <ContentPage.BindingContext>
  10. <vm:UserSignUpViewModel />
  11. </ContentPage.BindingContext>
  12. <ContentPage.Resources>
  13. <ResourceDictionary>
  14. <Style x:Key="EntryStyle" TargetType="Entry">
  15. <Setter Property="TextColor" Value="#000"></Setter>
  16. <Setter Property="PlaceholderColor" Value="#9999"></Setter>
  17. <Setter Property="TranslationY" Value="1" />
  18. <Setter Property="MinimumHeightRequest" Value="36" />
  19. </Style>
  20. <Style x:Key="NoUnderlineEntryFrameStyle" TargetType="Frame">
  21. <Setter Property="Padding">
  22. <OnPlatform x:TypeArguments="Thickness">
  23. <On Platform="Android">16,4</On>
  24. <On Platform="iOS">16</On>
  25. </OnPlatform>
  26. </Setter>
  27. <Setter Property="CornerRadius" Value="12"></Setter>
  28. <Setter Property="Margin" Value="4,8,4,4"></Setter>
  29. <Setter Property="HasShadow" Value="True"></Setter>
  30. <Setter Property="MinimumHeightRequest" Value="50" />
  31. <Setter Property="BackgroundColor" Value="White" />
  32. </Style>
  33. </ResourceDictionary>
  34. </ContentPage.Resources>
  35. <ContentPage.Content>
  36. <StackLayout Orientation="Vertical"
  37. BackgroundColor="#DCDCDC">
  38. <StackLayout.Padding>
  39. <OnPlatform x:TypeArguments="Thickness">
  40. <On Platform="Android">20</On>
  41. <On Platform="iOS">20,60</On>
  42. </OnPlatform>
  43. </StackLayout.Padding>
  44. <ScrollView>
  45. <StackLayout Orientation="Vertical">
  46. <Label Text="Enter your details to complete your registration"
  47. FontSize="Title"
  48. HorizontalOptions="CenterAndExpand"
  49. TextColor="Black"/>
  50. <Frame Style="{StaticResource NoUnderlineEntryFrameStyle}" Margin="{OnIdiom Tablet='270,0,270,0'}">
  51. <Grid MinimumHeightRequest="50" >
  52. <Grid.ColumnDefinitions>
  53. <ColumnDefinition Width="1"/>
  54. <ColumnDefinition Width="*"/>
  55. </Grid.ColumnDefinitions>
  56. <custom:NoUnderlineEntry Grid.Column="1"
  57. x:Name="DriverLicence"
  58. FontSize="20"
  59. Keyboard="Text"
  60. Text="{Binding DriverLicence}"
  61. Placeholder="Driver Licence"
  62. Style="{StaticResource EntryStyle}"/>
  63. </Grid>
  64. </Frame>
  65. <StackLayout Orientation="Horizontal">
  66. <Frame Style="{StaticResource NoUnderlineEntryFrameStyle}" WidthRequest="140" Margin="{OnIdiom Tablet='270,0,270,0'}">
  67. <Grid MinimumHeightRequest="50" >
  68. <Grid.ColumnDefinitions>
  69. <ColumnDefinition Width="1"/>
  70. <ColumnDefinition Width="*"/>
  71. </Grid.ColumnDefinitions>
  72. <custom:NoUnderlineEntry Grid.Column="1"
  73. x:Name="FirstName"
  74. FontSize="20"
  75. Keyboard="Text"
  76. Text="{Binding FirstName}"
  77. Placeholder="First Name"
  78. Style="{StaticResource EntryStyle}"/>
  79. </Grid>
  80. </Frame>
  81. <Frame Style="{StaticResource NoUnderlineEntryFrameStyle}" WidthRequest="140" Margin="{OnIdiom Tablet='-243,0,0,0'}">
  82. <Grid MinimumHeightRequest="50" >
  83. <Grid.ColumnDefinitions>
  84. <ColumnDefinition Width="1"/>
  85. <ColumnDefinition Width="*"/>
  86. </Grid.ColumnDefinitions>
  87. <custom:NoUnderlineEntry Grid.Column="1"
  88. x:Name="LastName"
  89. FontSize="20"
  90. Keyboard="Text"
  91. Text="{Binding LastName}"
  92. Placeholder="Last Name"
  93. Style="{StaticResource EntryStyle}"/>
  94. </Grid>
  95. </Frame>
  96. </StackLayout>
  97. <Frame Style="{StaticResource NoUnderlineEntryFrameStyle}" Margin="{OnIdiom Tablet='270,0,270,0'}">
  98. <Grid MinimumHeightRequest="50" >
  99. <Grid.ColumnDefinitions>
  100. <ColumnDefinition Width="1"/>
  101. <ColumnDefinition Width="*"/>
  102. </Grid.ColumnDefinitions>
  103. <custom:NoUnderlineEntry Grid.Column="1"
  104. x:Name="PhoneNumber"
  105. FontSize="20"
  106. Keyboard="Telephone"
  107. MaxLength="10"
  108. Text="{Binding PhoneNumber}"
  109. Placeholder="Mobile Number"
  110. Style="{StaticResource EntryStyle}"/>
  111. </Grid>
  112. </Frame>
  113. <Frame Style="{StaticResource NoUnderlineEntryFrameStyle}" Margin="{OnIdiom Tablet='270,0,270,0'}">
  114. <Grid MinimumHeightRequest="50" >
  115. <Grid.ColumnDefinitions>
  116. <ColumnDefinition Width="1"/>
  117. <ColumnDefinition Width="*"/>
  118. </Grid.ColumnDefinitions>
  119. <custom:NoUnderlineEntry Grid.Column="1"
  120. x:Name="Password"
  121. FontSize="20"
  122. Keyboard="Text"
  123. Text="{Binding Password}"
  124. Placeholder="Password"
  125. IsPassword="True"
  126. Style="{StaticResource EntryStyle}"/>
  127. </Grid>
  128. </Frame>
  129. <Frame Style="{StaticResource NoUnderlineEntryFrameStyle}" Margin="{OnIdiom Tablet='270,0,270,0'}">
  130. <Grid MinimumHeightRequest="50" >
  131. <Grid.ColumnDefinitions>
  132. <ColumnDefinition Width="1"/>
  133. <ColumnDefinition Width="*"/>
  134. </Grid.ColumnDefinitions>
  135. <custom:NoUnderlineEntry Grid.Column="1"
  136. x:Name="Email"
  137. FontSize="20"
  138. Keyboard="Email"
  139. Text="{Binding Email}"
  140. Placeholder="Email"
  141. Style="{StaticResource EntryStyle}"/>
  142. </Grid>
  143. </Frame>
  144. <Label Text="{Binding ErrorMessage}"
  145. HorizontalTextAlignment="Center"
  146. FontSize="20"
  147. TextColor="Red"/>
  148. </StackLayout>
  149. </ScrollView>
  150. <Grid Margin="20,30,20,0"
  151. MinimumHeightRequest="40"
  152. VerticalOptions="EndAndExpand">
  153. <ActivityIndicator IsRunning="True" IsVisible="{Binding IsBusy}"/>
  154. <Button Text="SignUp"
  155. FontSize="20"
  156. Command="{Binding SignUpCommand}"
  157. IsVisible="{Binding IsBusy}"
  158. MinimumHeightRequest="40" Margin="{OnIdiom Tablet='270,0,270,0'}">
  159. <Button.Triggers>
  160. <DataTrigger TargetType="Button" Binding="{Binding IsBusy}" Value="False">
  161. <Setter Property="IsVisible" Value="True" />
  162. </DataTrigger>
  163. <DataTrigger TargetType="Button" Binding="{Binding IsBusy}" Value="True">
  164. <Setter Property="IsVisible" Value="False" />
  165. </DataTrigger>
  166. </Button.Triggers>
  167. </Button>
  168. </Grid>
  169. </StackLayout>
  170. </ContentPage.Content>
  171. </ContentPage>