diff --git a/.vs/SummerBestWebForm2/v17/.suo b/.vs/SummerBestWebForm2/v17/.suo index 9e555f4..768a156 100644 Binary files a/.vs/SummerBestWebForm2/v17/.suo and b/.vs/SummerBestWebForm2/v17/.suo differ diff --git a/.vs/SummerBestWebForm2/v17/DocumentLayout.backup.json b/.vs/SummerBestWebForm2/v17/DocumentLayout.backup.json index f356004..b6193da 100644 --- a/.vs/SummerBestWebForm2/v17/DocumentLayout.backup.json +++ b/.vs/SummerBestWebForm2/v17/DocumentLayout.backup.json @@ -5,6 +5,10 @@ { "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\pages\\home.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}", "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\pages\\home.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}" + }, + { + "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\pages\\home.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\pages\\home.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -68,9 +72,22 @@ "RelativeDocumentMoniker": "Components\\Pages\\Home.razor", "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor", "RelativeToolTip": "Components\\Pages\\Home.razor", - "ViewState": "AgIAAAcAAAAAAAAAAAAAAA8AAAA7AAAAAAAAAA==", + "ViewState": "AgIAAHgAAAAAAAAAAAAAAL4AAAAdAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|", - "WhenOpened": "2025-05-20T14:02:06.233Z", + "WhenOpened": "2025-05-22T09:45:36.931Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "Home.razor.cs", + "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor.cs", + "RelativeDocumentMoniker": "Components\\Pages\\Home.razor.cs", + "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor.cs", + "RelativeToolTip": "Components\\Pages\\Home.razor.cs", + "ViewState": "AgIAAEABAAAAAAAAAAAAAFQBAAAjAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-05-22T09:57:08.621Z", "EditorCaption": "" } ] diff --git a/.vs/SummerBestWebForm2/v17/DocumentLayout.json b/.vs/SummerBestWebForm2/v17/DocumentLayout.json index f356004..65341e7 100644 --- a/.vs/SummerBestWebForm2/v17/DocumentLayout.json +++ b/.vs/SummerBestWebForm2/v17/DocumentLayout.json @@ -5,6 +5,10 @@ { "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\pages\\home.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}", "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\pages\\home.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}" + }, + { + "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\pages\\home.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\pages\\home.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -68,9 +72,22 @@ "RelativeDocumentMoniker": "Components\\Pages\\Home.razor", "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor", "RelativeToolTip": "Components\\Pages\\Home.razor", - "ViewState": "AgIAAAcAAAAAAAAAAAAAAA8AAAA7AAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAvAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|", - "WhenOpened": "2025-05-20T14:02:06.233Z", + "WhenOpened": "2025-05-22T09:45:36.931Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "Home.razor.cs", + "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor.cs", + "RelativeDocumentMoniker": "Components\\Pages\\Home.razor.cs", + "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor.cs", + "RelativeToolTip": "Components\\Pages\\Home.razor.cs", + "ViewState": "AgIAAEABAAAAAAAAAAAAAFQBAAAjAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-05-22T09:57:08.621Z", "EditorCaption": "" } ] diff --git a/Components/Pages/Home.razor b/Components/Pages/Home.razor index 3333f7d..f54b698 100644 --- a/Components/Pages/Home.razor +++ b/Components/Pages/Home.razor @@ -6,352 +6,439 @@ @if (ShowWizard) { - - - @* *@ - @* Step 1 - plastic card vs postcard *@ - @* *@ - - - - -

Choose a Card Type

- @* Logic behind the buttons *@ -
- - Plastic Card - Postcard - -
-
+
+
+
+ + + + + + + + + + + + @* Need this here to avoid addition of random submit button *@ + + + + + @* *@ + @* Step 1 - plastic card vs postcard *@ + @* *@ + + + + + + + + + + @* Need this here to avoid addition of random submit button *@ + + + + + @* *@ + @* Step 2 - selecting card design *@ + @* *@ + + + + + + + + + + + + - @if (isPlasticCard) - { - - } - else - { - - } - - - @* Need this here to avoid addition of random submit button *@ - - - - + + + + + @* *@ + @* Step 3 - For postcards, choose a verse and a signature *@ + @* *@ + + + + + + + + + - @* Button logic *@ -
- - @if (isPlasticCard) - { - Plastic Card 1 - Plastic Card 2 - Plastic Card 3 - } - else - { - Postcard 1 - Postcard 2 - Postcard 3 - } - -

- @* Card preview logic *@ - @if (designOne) - { - @if (isPostcard) - { - - - } - else - { - - - - } - } - else if (designTwo) - { - @if (isPostcard) - { - - - } - else - { - - - } - } - else if (designThree) - { - @if (isPostcard) - { - - - } - else - { - - - } - } -
- - - - -
-
-
+ + + + + @* *@ + @* Step 4 - Logo Selection *@ + @* *@ + + + + + + + + + + + + + - @* *@ - @* Step 3 - For postcards, choose a verse and a signature *@ - @* *@ - - - - - @if (isPlasticCard) - { -

No customization needed. Please proceed to logo selection.

- } - else - { -

Select a Verse

- @if (!isPlasticCard) - { - - Option 1 - Option 2 - Option 3 - -
-
+ @* *@ + @* Step 5 - Offer selection for Plastic cards *@ + @* *@ + + + + + + + + + + + + + + + -

Select a Signature

- - From Your Friends - Name, Title, Phone Number - Custom - -
-
- @if (sigOne) - { - From your friends at {Location Name} {Location Phone Number} - } - else if (sigTwo) - { - - - - } - else if (sigThree) - { - - - - } - } - } -
- - - -
-
-
+ @* *@ + @* Step 6 - Location information *@ + @* *@ + + + + + + + - @* *@ - @* Step 4 - Logo Selection *@ - @* *@ - - - - - - - - - - -


- @if (goodyear) - { - - } - @if (michelin) - { - - } -
- - -
-
-
+ @* *@ + @* Step 7 - Payment *@ + @* *@ + + + + + + + +

+ + + +
+ - - - @* *@ - @* Step 5 - Offer selection for Plastic cards *@ - @* *@ - - - - - @if (isPlasticCard) - { -

Please select two (2) full size offers:

- - - - - - - - - -
-
-
-

And four (4) half-sized offers:

- - - - - - - - -
- - - - - - - - - } - else - { -

No offers needed. Please proceed to location information.

- } -
- - - - -
-
-
- - - - @* *@ - @* Step 6 - Location information *@ - @* *@ - - - - - - - - - - - @* *@ - @* Step 7 - Payment *@ - @* *@ - - - - - - Credit Card On File - Call With Payment Info - Check (due by 5/31/25) - -

- - - -
- -
-
-
-
-
+ + + + + + +
+
+
} diff --git a/Components/Pages/Home.razor.cs b/Components/Pages/Home.razor.cs index e408b94..91789e6 100644 --- a/Components/Pages/Home.razor.cs +++ b/Components/Pages/Home.razor.cs @@ -10,6 +10,7 @@ namespace SummerBestWebForm2.Components.Pages; public partial class Home { async Task OnFinishHandler() + //private void SaveIt() { using (var em = new kmCommonLibsCore.Emails()) { @@ -23,8 +24,6 @@ public partial class Home else if (designThree) cardDesign = "C"; - - // Postcard or Plastic specific options string customizationInfo = string.Empty; if (isPostcard) @@ -213,26 +212,34 @@ public partial class Home } } - public bool? IsCardChoiceValid { get; set; } + public bool? IsAudienceChoiceValid { get; set; } = false; + public bool? IsCardChoiceValid { get; set; } = false; - public bool? IsDesignChoiceValid { get; set; } + public bool? IsDesignChoiceValid { get; set; } = false; [CascadingParameter] public DialogFactory Dialog { get; set; } public bool ShowWizard { get; set; } = true; - public int Value { get; set; } + public int Value { get; set; } = 0; - public TelerikForm RegisterForm { get; set; } + //public TelerikForm RegisterForm { get; set; } public User UserModel { get; set; } = new User(); + public TelerikForm IntroForm { get; set; } = new(); // Variables for selecting between plastic and post public TelerikForm cardTypeForm { get; set; } = new(); public CardType cardType { get; set; } = new CardType(); - public bool isPlasticCard = true; - public bool isPostcard = false; + public bool isPlasticCard { get; set; } = true; + public bool isPostcard { get; set; } = false; + public string audienceType { get; set; } = string.Empty; + public List audiences { get; set; } = new List + { + new AudienceType() {AudienceDescription="Send to my BEST CUSTOMERS"}, + new AudienceType() {AudienceDescription="Send to Great Prospects as well as Customers who haven't been in during the past 8 months"} + }; // Variables for selecting specific design public TelerikForm customizationForm { get; set; } = new(); @@ -301,9 +308,15 @@ public partial class Home isPlasticCard = !isPlasticCard; isPostcard = !isPostcard; } + + public void OnAudienceChoiceStepChange(WizardStepChangeEventArgs args) + { + IsAudienceChoiceValid = !string.IsNullOrWhiteSpace(audienceType); + } public void OnCardChoiceStepChange(WizardStepChangeEventArgs args) { IsCardChoiceValid = true; // This is forced to be true but required nonetheless + } public void OnDesignStepChange(WizardStepChangeEventArgs args) @@ -376,6 +389,8 @@ public partial class Home } } + #region "Models and Such" + public class CardType { [Required] @@ -432,4 +447,10 @@ public partial class Home { public string info { get; set; } = string.Empty; } + + public class AudienceType + { + public string AudienceDescription { get; set; } = string.Empty; + } + #endregion } diff --git a/Components/Pages/Home.razor.css b/Components/Pages/Home.razor.css new file mode 100644 index 0000000..1fdcf49 --- /dev/null +++ b/Components/Pages/Home.razor.css @@ -0,0 +1,17 @@ +.scrollable-stepper { + border: 1px solid red; +} + + .scrollable-stepper .k-stepper { + overflow-y: hidden; + overflow-x: auto; + padding-bottom: 1em; + } + + .scrollable-stepper .k-stepper .k-step-list-horizontal { + width: 1600px; + } + + .scrollable-stepper .k-stepper .k-progressbar { + width: 1520px; /*(step list width - 1 step width)*/ + } diff --git a/obj/Debug/net8.0/SummerBestWebForm2.AssemblyInfo.cs b/obj/Debug/net8.0/SummerBestWebForm2.AssemblyInfo.cs index 75e36ed..b94f8c6 100644 --- a/obj/Debug/net8.0/SummerBestWebForm2.AssemblyInfo.cs +++ b/obj/Debug/net8.0/SummerBestWebForm2.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("SummerBestWebForm2")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+54cb1fd3a8f6b44a159ee7eac089b53c787579bb")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d92f990b09614494d51cc3b93e4acabedb32f235")] [assembly: System.Reflection.AssemblyProductAttribute("SummerBestWebForm2")] [assembly: System.Reflection.AssemblyTitleAttribute("SummerBestWebForm2")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net8.0/SummerBestWebForm2.AssemblyInfoInputs.cache b/obj/Debug/net8.0/SummerBestWebForm2.AssemblyInfoInputs.cache index b0d76bf..1703d22 100644 --- a/obj/Debug/net8.0/SummerBestWebForm2.AssemblyInfoInputs.cache +++ b/obj/Debug/net8.0/SummerBestWebForm2.AssemblyInfoInputs.cache @@ -1 +1 @@ -9df05e1d14133350458249006a8b5dba604bf73c520686c04e8adc3035e6c858 +4d9f1f0b4ebbbb88ed0d5e48d4e075cc6af174dcfc64d4934e995ae1d4553706 diff --git a/obj/Debug/net8.0/SummerBestWebForm2.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net8.0/SummerBestWebForm2.GeneratedMSBuildEditorConfig.editorconfig index 1e7fbd4..a7b2a48 100644 --- a/obj/Debug/net8.0/SummerBestWebForm2.GeneratedMSBuildEditorConfig.editorconfig +++ b/obj/Debug/net8.0/SummerBestWebForm2.GeneratedMSBuildEditorConfig.editorconfig @@ -36,10 +36,6 @@ build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xFcnJvci5yYXpvcg== build_metadata.AdditionalFiles.CssScope = -[C:/Repos/SummerBestWebForm2/Components/Pages/Home.razor] -build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xIb21lLnJhem9y -build_metadata.AdditionalFiles.CssScope = - [C:/Repos/SummerBestWebForm2/Components/Pages/Weather.razor] build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xXZWF0aGVyLnJhem9y build_metadata.AdditionalFiles.CssScope = @@ -59,3 +55,7 @@ build_metadata.AdditionalFiles.CssScope = b-3wbav9z1yy [C:/Repos/SummerBestWebForm2/Components/Layout/NavMenu.razor] build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xMYXlvdXRcTmF2TWVudS5yYXpvcg== build_metadata.AdditionalFiles.CssScope = b-c8a7towxxz + +[C:/Repos/SummerBestWebForm2/Components/Pages/Home.razor] +build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xQYWdlc1xIb21lLnJhem9y +build_metadata.AdditionalFiles.CssScope = b-k9qw4oc6s9 diff --git a/wwwroot/img/1181c4aa-4f3f-4eb4-8d5d-7eff0131d5f2.png b/wwwroot/img/1181c4aa-4f3f-4eb4-8d5d-7eff0131d5f2.png new file mode 100644 index 0000000..506b20d Binary files /dev/null and b/wwwroot/img/1181c4aa-4f3f-4eb4-8d5d-7eff0131d5f2.png differ diff --git a/wwwroot/img/7ccdfcc7-f91b-497e-8c19-ebb3a4021ea3.png b/wwwroot/img/7ccdfcc7-f91b-497e-8c19-ebb3a4021ea3.png new file mode 100644 index 0000000..bcbfa65 Binary files /dev/null and b/wwwroot/img/7ccdfcc7-f91b-497e-8c19-ebb3a4021ea3.png differ diff --git a/wwwroot/img/ad5a2b69-a493-429b-9edd-8320ec1e9c33.png b/wwwroot/img/ad5a2b69-a493-429b-9edd-8320ec1e9c33.png new file mode 100644 index 0000000..f0eb69b Binary files /dev/null and b/wwwroot/img/ad5a2b69-a493-429b-9edd-8320ec1e9c33.png differ