This commit is contained in:
RDeck 2025-05-22 06:09:57 -04:00
parent d92f990b09
commit 9b28bf7d24
12 changed files with 507 additions and 348 deletions

Binary file not shown.

View File

@ -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": ""
}
]

View File

@ -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": ""
}
]

View File

@ -6,352 +6,439 @@
@if (ShowWizard)
{
<TelerikWizard @bind-Value="@Value" OnFinish="@OnFinishHandler" Width="1440px" Height="95vh" Class="sbWizard">
<WizardSteps>
@* *@
@* Step 1 - plastic card vs postcard *@
@* *@
<WizardStep Label="Card Type" Icon="@SvgIcon.EnvelopeBox" OnChange="@OnCardChoiceStepChange" Valid="@IsCardChoiceValid">
<Content>
<TelerikForm Model="@cardType" @ref="@cardTypeForm">
<FormItems>
<h1 style="text-align:center">Choose a Card Type</h1>
@* Logic behind the buttons *@
<div style="text-align:center">
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single">
<ButtonGroupToggleButton @bind-Selected="@isPlasticCard">Plastic Card</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@isPostcard">Postcard</ButtonGroupToggleButton>
</TelerikButtonGroup>
</div>
<br />
<div class="container">
<div class="row">
<div class="col-12">
<TelerikWizard @bind-Value="@Value" OnFinish="OnFinishHandler" Width="100%" Height="95vh" Class="sbWizard" StepperPosition=WizardStepperPosition.Top>
<WizardSteps>
<WizardStep Label="Introduction" Icon="@SvgIcon.Globe" OnChange="@OnAudienceChoiceStepChange" Valid="@IsAudienceChoiceValid">
<Content>
<TelerikForm Model="@cardType" @ref="@IntroForm">
<FormItems>
<FormItem>
<Template>
<div class="container">
<div class="row">
<div class="col-12 px-sm-5 mb-2">
<h1>KeyMotive's Summer Growth Program</h1>
<div class="px-sm-5 mb-2">
<p>It's time for our Summer Growth Program!<br />If you're looking to kick off your summer season with a wildly successful campgaign, then you've come to the right place!</p>
<p>
Using this wizard, choose your target audience, decide what media you'd like to mail, choose from a few suggested designs (or request a custom design from our
creative team), and that's it!
</p>
<p>Let us handle the rest!</p>
</div>
<div>
<img src="/img/7ccdfcc7-f91b-497e-8c19-ebb3a4021ea3.png" class="img-fluid" />
</div>
<div class="px-sm-5 mb-2 text-start">
Your audience choices are:
<ul>
<li>A list of your <strong class="text-primary">Very Best Customers</strong> (always a heavy-hitting campaign!)</li>
<li>A list composed of <strong class="text-primary">Great Prospects</strong> near your shop, as well as a mix of formerly-Great Customers that you
<strong class="text-primary">haven't seen during the past 8 months</strong>.</li>
</ul>
</div>
<div class="px-sm-5 text-start">
<strong>Please Select:</strong>
<TelerikRadioGroup Data="@audiences"
@bind-Value="@audienceType"
ValueField="@nameof(AudienceType.AudienceDescription)"
TextField="@nameof(AudienceType.AudienceDescription)">
</TelerikRadioGroup>
</div>
</div>
</div>
</div>
</Template>
</FormItem>
</FormItems>
<FormButtons>
@* Need this here to avoid addition of random submit button *@
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 1 - plastic card vs postcard *@
@* *@
<WizardStep Label="Card Type" Icon="@SvgIcon.EnvelopeBox" OnChange="@OnCardChoiceStepChange" Valid="@IsCardChoiceValid">
<Content>
<TelerikForm Model="@cardType" @ref="@cardTypeForm">
<FormItems>
<FormItem>
<Template>
<div class="container">
<div class="row">
<div class="col-12">
<h1 style="text-align:center">Step 1 - Choose a Card Type</h1>
</div>
<div class="col-12 text-center mb-3">
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single">
<ButtonGroupToggleButton @bind-Selected="@isPlasticCard">Plastic Card</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@isPostcard">Postcard</ButtonGroupToggleButton>
</TelerikButtonGroup>
</div>
@* Preview information about the selected card type*@
@if (isPlasticCard)
{
<div class="col-sm-4 mb-3 text-start">
<h4>Very Popular Plastic Card Mailer!</h4>
<ul>
<li>As thick as a typical credit card!</li>
<li>Large size piece (8&frac14; x 4 inches)</li>
<li>Coupons pop out, offering great convenience for your customers!</li>
<li>Leave it to us - we select, print, sort and mail for just <strong class="text-primary text-nowrap">$1.02 each</strong></li>
</ul>
</div>
<div class="col-sm-8 text-center mb-3">
<img class="img-fluid" src="/img/1181c4aa-4f3f-4eb4-8d5d-7eff0131d5f2.png" />
</div>
}
else
{
<div class="col-sm-4 mb-3 text-start">
<h4>Premium Postcard Really Stands Out in the Mailbox</h4>
<ul>
<li>Premium paper, Jumbo-Sized (8&frac12; x 6 inches)</li>
<li>UV gloss-coated</li>
<li>Choose from our selection, or ask for a custom design!</li>
<li>Full service - select, print, sort, mail for just <strong class="text-primary text-nowrap">79&#162; each</strong></li>
</ul>
</div>
<div class="col-sm-8 text-center mb-3">
<img class="img-fluid" src="/img/ad5a2b69-a493-429b-9edd-8320ec1e9c33.png" />
</div>
}
</div>
</div>
</Template>
</FormItem>
</FormItems>
<FormButtons>
@* Need this here to avoid addition of random submit button *@
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 2 - selecting card design *@
@* *@
<WizardStep Label="Card Design" Icon="@SvgIcon.MapMarkerTarget" OnChange="@OnDesignStepChange" Valid="@IsDesignChoiceValid">
<Content>
<TelerikForm Model="@custOptions"
@ref="@customizationForm">
<FormValidation>
<DataAnnotationsValidator></DataAnnotationsValidator>
</FormValidation>
<FormItems>
<FormItem>
<Template>
<h1 style="text-align:center">Choose a Design</h1>
@* Preview information about the selected card type*@
@* Button logic *@
<div style="text-align:center">
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single">
@if (isPlasticCard)
{
<ButtonGroupToggleButton @bind-Selected="@designOne">Plastic Card 1</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@designTwo">Plastic Card 2</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@designThree">Plastic Card 3</ButtonGroupToggleButton>
}
else
{
<ButtonGroupToggleButton @bind-Selected="@designOne">Postcard 1</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@designTwo">Postcard 2</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@designThree">Postcard 3</ButtonGroupToggleButton>
}
</TelerikButtonGroup>
<br /><br />
@* Card preview logic *@
@if (designOne)
{
@if (isPostcard)
{
<img src="/img/Postcard1_Front.png" class="img-fluid" />
<img src="/img/Postcard1_Back.png" class="img-fluid" />
}
else
{
<img src="/img/Plastic1_Front.png" class="img-fluid" />
<img src="/img/Plastic1_Back.png" class="img-fluid" />
@if (isPlasticCard)
{
<h3>Focused on Expanding Your Customer Base ($1.02/card)</h3>
}
else
{
<h3>Focused on Thanking and Rewarding Your Best Customers ($0.79/card)</h3>
}
}
}
else if (designTwo)
{
@if (isPostcard)
{
<img src="/img/Postcard2_Front.png" class="img-fluid"/>
<img src="/img/Postcard2_Back.png" class="img-fluid"/>
}
else
{
<img src="/img/Plastic2_Front.png" class="img-fluid"/>
<img src="/img/Plastic2_Back.png" class="img-fluid"/>
}
}
else if (designThree)
{
@if (isPostcard)
{
<img src="/img/Postcard3_Front.png" class="img-fluid"/>
<img src="/img/Postcard3_Back.png" class="img-fluid"/>
}
else
{
<img src="/img/Plastic3_Front.png" class="img-fluid"/>
<img src="/img/Plastic3_Back.png" class="img-fluid"/>
}
}
</div>
</Template>
</FormItem>
</FormItems>
<FormButtons>
@if (isPlasticCard)
{
<img src="img/Plastic1_Back.png" />
}
else
{
<img src="img/Postcard1_Front.png" />
}
</FormItems>
<FormButtons>
@* Need this here to avoid addition of random submit button *@
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 3 - For postcards, choose a verse and a signature *@
@* *@
<WizardStep Label="Customization" OnChange="@OnMessagingStepChange" Valid="@isMessagingValid">
<Content>
<TelerikForm Model="@messagingOptions"
@ref="@messagingForm">
<FormItems>
<FormItem>
<Template>
@if (isPlasticCard)
{
<h1>No customization needed. Please proceed to logo selection.</h1>
}
else
{
<h1>Select a Verse</h1>
@if (!isPlasticCard)
{
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single" Class="vertical-buttons block-buttons">
<ButtonGroupToggleButton @bind-Selected="@verseOne">Option 1</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@verseTwo">Option 2</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@verseThree">Option 3</ButtonGroupToggleButton>
</TelerikButtonGroup>
<br />
<br />
@if (verseOne)
{
<a>Thank you for making our success possible. We appreciate loyal customers like you and look forward to continuing to be your complete auto repair, service and tire center</a>
}
else if (verseTwo)
{
<a>We appreciate the trust you have shown in us and look forward to working with you in the future.</a>
}
else if (verseThree)
{
<a>We want you to know that we truly appreciate your business and will make every effort possible to continue to provide you with excellent car care.</a>
}
<br />
<br />
<hr />
@* *@
@* Step 2 - selecting card design *@
@* *@
<WizardStep Label="Card Design" Icon="@SvgIcon.MapMarkerTarget" OnChange="@OnDesignStepChange" Valid="@IsDesignChoiceValid">
<Content>
<TelerikForm Model="@custOptions"
@ref="@customizationForm">
<FormValidation>
<DataAnnotationsValidator></DataAnnotationsValidator>
</FormValidation>
<FormItems>
<h1 style="text-align:center">Choose a Design</h1>
<h1>Select a Signature</h1>
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single">
<ButtonGroupToggleButton @bind-Selected="@sigOne">From Your Friends</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@sigTwo">Name, Title, Phone Number</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@sigThree">Custom</ButtonGroupToggleButton>
</TelerikButtonGroup>
<br />
<br />
@if (sigOne)
{
<a>From your friends at <strong>{Location Name} {Location Phone Number}</strong></a>
}
else if (sigTwo)
{
<FormItem LabelText="Custom Signature">
<Template>
<label style="text-align:center; display:block" for="CustomName" class="k-label k-form-label">Name: <TelerikTextBox Id="CustomName" @bind-Value="@customName" MaxLength="30" Width="250px"></TelerikTextBox></label>
<label style="text-align:center; display:block" for="CustomTitle" class="k-label k-form-label">Title: <TelerikTextBox Id="CustomTitle" @bind-Value="@customTitle" MaxLength="30" Width="250px"></TelerikTextBox></label>
<label style="text-align:center; display:block" for="CustomPhone" class="k-label k-form-label">Phone: <TelerikTextBox Id="CustomPhone" @bind-Value="@customPhone" MaxLength="12" Width="200px"></TelerikTextBox></label>
</Template>
</FormItem>
}
else if (sigThree)
{
<FormItem LabelText="Custom Signature">
<Template>
<label for="CustomSignature" style="text-align: center">Custom Message (max 30 character/line up to 4 lines)</label><br />
<TelerikTextArea Id="CustomSignature" @bind-Value="@customSignature" Rows="4" Cols="35" MaxLength="120"></TelerikTextArea>
</Template>
</FormItem>
}
}
}
</Template>
</FormItem>
</FormItems>
<FormButtons>
@* Button logic *@
<div style="text-align:center">
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single">
@if (isPlasticCard)
{
<ButtonGroupToggleButton @bind-Selected="@designOne">Plastic Card 1</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@designTwo">Plastic Card 2</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@designThree">Plastic Card 3</ButtonGroupToggleButton>
}
else
{
<ButtonGroupToggleButton @bind-Selected="@designOne">Postcard 1</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@designTwo">Postcard 2</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@designThree">Postcard 3</ButtonGroupToggleButton>
}
</TelerikButtonGroup>
<br /><br />
@* Card preview logic *@
@if (designOne)
{
@if (isPostcard)
{
<img src="img/Postcard1_Front.png" />
<img src="img/Postcard1_Back.png" />
}
else
{
<img src="img/Plastic1_Front.png" />
<img src="img/Plastic1_Back.png" />
}
}
else if (designTwo)
{
@if (isPostcard)
{
<img src="img/Postcard2_Front.png" />
<img src="img/Postcard2_Back.png" />
}
else
{
<img src="img/Plastic2_Front.png" />
<img src="img/Plastic2_Back.png" />
}
}
else if (designThree)
{
@if (isPostcard)
{
<img src="img/Postcard3_Front.png" />
<img src="img/Postcard3_Back.png" />
}
else
{
<img src="img/Plastic3_Front.png" />
<img src="img/Plastic3_Back.png" />
}
}
</div>
</FormItems>
<FormButtons>
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 4 - Logo Selection *@
@* *@
<WizardStep Label="Logos" OnChange="@OnLogoStepChange" Valid="@isLogoValid">
<Content>
<TelerikForm Model="@logoOptions"
@ref="@logoForm">
<FormItems>
<FormItem>
<Template>
<TelerikCheckBox Id="goodyearBox" @bind-Value="@goodyear" />
<label for="goodyearBox">Goodyear Logo</label>
<TelerikCheckBox Id="michelinBox" @bind-Value="@michelin" />
<label for="michelinBox">Michelin Logo</label>
<TelerikCheckBox Id="customBox" @bind-Value="@custom" />
<label for="customBox">Custom Logo</label>
<br /><br /><br />
@if (goodyear)
{
<img src="img/goodyear.png" />
}
@if (michelin)
{
<img src="img/michelin.png" />
}
</Template>
</FormItem>
</FormItems>
<FormButtons>
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 3 - For postcards, choose a verse and a signature *@
@* *@
<WizardStep Label="Customization" OnChange="@OnMessagingStepChange" Valid="@isMessagingValid">
<Content>
<TelerikForm Model="@messagingOptions"
@ref="@messagingForm">
<FormItems>
@if (isPlasticCard)
{
<h1>No customization needed. Please proceed to logo selection.</h1>
}
else
{
<h1>Select a Verse</h1>
@if (!isPlasticCard)
{
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single" Class="vertical-buttons block-buttons">
<ButtonGroupToggleButton @bind-Selected="@verseOne">Option 1</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@verseTwo">Option 2</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@verseThree">Option 3</ButtonGroupToggleButton>
</TelerikButtonGroup>
<br />
<br />
@* *@
@* Step 5 - Offer selection for Plastic cards *@
@* *@
<WizardStep Label="Offers" OnChange="@OnOfferStepChange" Valid="@isOfferSelectionValid">
<Content>
<TelerikForm Model="@offerOptions"
@ref="@offerForm">
<FormItems>
<FormItem>
<Template>
@if (isPlasticCard)
{
<h1>Please select two (2) full size offers:</h1>
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Multiple">
<ButtonGroupToggleButton @bind-Selected="@bigOffers[0]"><img src="img/A1.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[1]"><img src="img/A2.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[2]"><img src="img/A3.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[3]"><img src="img/A4.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[4]"><img src="img/A5.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[5]"><img src="img/A6.png" /></ButtonGroupToggleButton>
</TelerikButtonGroup>
@if (verseOne)
{
<a>Thank you for making our success possible. We appreciate loyal customers like you and look forward to continuing to be your complete auto repair, service and tire center</a>
}
else if (verseTwo)
{
<a>We appreciate the trust you have shown in us and look forward to working with you in the future.</a>
}
else if (verseThree)
{
<a>We want you to know that we truly appreciate your business and will make every effort possible to continue to provide you with excellent car care.</a>
}
<br />
<br />
<hr />
<br />
<br />
<hr />
<h1>And four (4) half-sized offers:</h1>
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Multiple">
<ButtonGroupToggleButton @bind-Selected="@smallOffers[0]"><img src="img/B1.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[1]"><img src="img/B2.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[2]"><img src="img/B3.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[3]"><img src="img/B4.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[4]"><img src="img/B5.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[5]"><img src="img/B6.png" /></ButtonGroupToggleButton>
</TelerikButtonGroup>
<br />
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Multiple">
<ButtonGroupToggleButton @bind-Selected="@smallOffers[6]"><img src="img/B7.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[7]"><img src="img/B8.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[8]"><img src="img/B9.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[9]"><img src="img/B10.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[10]"><img src="img/B11.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[11]"><img src="img/B12.png" /></ButtonGroupToggleButton>
</TelerikButtonGroup>
}
else
{
<h1>No offers needed. Please proceed to location information.</h1>
}
</Template>
</FormItem>
</FormItems>
<FormButtons>
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
<h1>Select a Signature</h1>
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single">
<ButtonGroupToggleButton @bind-Selected="@sigOne">From Your Friends</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@sigTwo">Name, Title, Phone Number</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@sigThree">Custom</ButtonGroupToggleButton>
</TelerikButtonGroup>
<br />
<br />
@if (sigOne)
{
<a>From your friends at <strong>{Location Name} {Location Phone Number}</strong></a>
}
else if (sigTwo)
{
<FormItem LabelText="Custom Signature">
<Template>
<label style="text-align:center; display:block" for="CustomName" class="k-label k-form-label">Name: <TelerikTextBox Id="CustomName" @bind-Value="@customName" MaxLength="30" Width="250px"></TelerikTextBox></label>
<label style="text-align:center; display:block" for="CustomTitle" class="k-label k-form-label">Title: <TelerikTextBox Id="CustomTitle" @bind-Value="@customTitle" MaxLength="30" Width="250px"></TelerikTextBox></label>
<label style="text-align:center; display:block" for="CustomPhone" class="k-label k-form-label">Phone: <TelerikTextBox Id="CustomPhone" @bind-Value="@customPhone" MaxLength="12" Width="200px"></TelerikTextBox></label>
</Template>
</FormItem>
}
else if (sigThree)
{
<FormItem LabelText="Custom Signature">
<Template>
<label for="CustomSignature" style="text-align: center">Custom Message (max 30 character/line up to 4 lines)</label><br />
<TelerikTextArea Id="CustomSignature" @bind-Value="@customSignature" Rows="4" Cols="35" MaxLength="120"></TelerikTextArea>
</Template>
</FormItem>
}
}
}
</FormItems>
<FormButtons>
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 6 - Location information *@
@* *@
<WizardStep Label="Location Info" OnChange="@OnLocationStepChange" Valid="@isLocationInfoValid">
<Content>
<TelerikForm Model="@locationInfo"
@ref="@locationForm" Columns="2" ColumnSpacing="25px">
<FormButtons></FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 4 - Logo Selection *@
@* *@
<WizardStep Label="Logos" OnChange="@OnLogoStepChange" Valid="@isLogoValid">
<Content>
<TelerikForm Model="@logoOptions"
@ref="@logoForm">
<FormItems>
<TelerikCheckBox Id="goodyearBox" @bind-Value="@goodyear" />
<label for="goodyearBox">Goodyear Logo</label>
<TelerikCheckBox Id="michelinBox" @bind-Value="@michelin" />
<label for="michelinBox">Michelin Logo</label>
<TelerikCheckBox Id="customBox" @bind-Value="@custom" />
<label for="customBox">Custom Logo</label>
<br /><br /><br />
@if (goodyear)
{
<img src="img/goodyear.png" />
}
@if (michelin)
{
<img src="img/michelin.png" />
}
</FormItems>
<FormButtons>
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 7 - Payment *@
@* *@
<WizardStep Label="Payment Info">
<Content>
<TelerikForm Model="@paymentInfo"
@ref="@paymentForm">
<FormItems>
<FormItem>
<Template>
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single" Class="vertical-buttons block-buttons">
<ButtonGroupToggleButton @bind-Selected="@ccOnFile">Credit Card On File</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@callWithInfo">Call With Payment Info</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@check">Check (due by 6/13/25)</ButtonGroupToggleButton>
</TelerikButtonGroup>
</Template>
</FormItem>
<br /><br />
<FormItem LabelText="Additional Info">
<Template>
<label for="RequestedQuantity" style="text-align: center">Requested Quantity</label>
<TelerikTextBox Id="RequestedQuantity" @bind-Value="@requestedQuantity" MaxLength="6" Width="150px"></TelerikTextBox>
<label for="AdditionalComments" style="text-align: center">Additional Comments</label>
<TelerikTextBox Id="AdditionalComments" @bind-Value="@additionalComments" MaxLength="120" Width="450px"></TelerikTextBox>
</Template>
</FormItem>
</FormItems>
<FormButtons>
@* *@
@* Step 5 - Offer selection for Plastic cards *@
@* *@
<WizardStep Label="Offers" OnChange="@OnOfferStepChange" Valid="@isOfferSelectionValid">
<Content>
<TelerikForm Model="@offerOptions"
@ref="@offerForm">
<FormItems>
@if (isPlasticCard)
{
<h1>Please select two (2) full size offers:</h1>
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Multiple">
<ButtonGroupToggleButton @bind-Selected="@bigOffers[0]"><img src="img/A1.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[1]"><img src="img/A2.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[2]"><img src="img/A3.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[3]"><img src="img/A4.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[4]"><img src="img/A5.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@bigOffers[5]"><img src="img/A6.png" /></ButtonGroupToggleButton>
</TelerikButtonGroup>
<br />
<br />
<hr />
<h1>And four (4) half-sized offers:</h1>
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Multiple">
<ButtonGroupToggleButton @bind-Selected="@smallOffers[0]"><img src="img/B1.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[1]"><img src="img/B2.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[2]"><img src="img/B3.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[3]"><img src="img/B4.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[4]"><img src="img/B5.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[5]"><img src="img/B6.png" /></ButtonGroupToggleButton>
</TelerikButtonGroup>
<br />
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Multiple">
<ButtonGroupToggleButton @bind-Selected="@smallOffers[6]"><img src="img/B7.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[7]"><img src="img/B8.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[8]"><img src="img/B9.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[9]"><img src="img/B10.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[10]"><img src="img/B11.png" /></ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@smallOffers[11]"><img src="img/B12.png" /></ButtonGroupToggleButton>
</TelerikButtonGroup>
}
else
{
<h1>No offers needed. Please proceed to location information.</h1>
}
</FormItems>
<FormButtons>
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 6 - Location information *@
@* *@
<WizardStep Label="Location Info" OnChange="@OnLocationStepChange" Valid="@isLocationInfoValid">
<Content>
<TelerikForm Model="@locationInfo"
@ref="@locationForm" Columns="2" ColumnSpacing="25px">
<FormButtons></FormButtons>
</TelerikForm>
</Content>
</WizardStep>
@* *@
@* Step 7 - Payment *@
@* *@
<WizardStep Label="Payment Info">
<Content>
<TelerikForm Model="@paymentInfo"
@ref="@paymentForm">
<FormItems>
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single" Class="vertical-buttons block-buttons">
<ButtonGroupToggleButton @bind-Selected="@ccOnFile">Credit Card On File</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@callWithInfo">Call With Payment Info</ButtonGroupToggleButton>
<ButtonGroupToggleButton @bind-Selected="@check">Check (due by 5/31/25)</ButtonGroupToggleButton>
</TelerikButtonGroup>
<br /><br />
<FormItem LabelText="Additional Info">
<Template>
<label for="RequestedQuantity" style="text-align: center">Requested Quantity</label>
<TelerikTextBox Id="RequestedQuantity" @bind-Value="@requestedQuantity" MaxLength="6" Width="150px"></TelerikTextBox>
<label for="AdditionalComments" style="text-align: center">Additional Comments</label>
<TelerikTextBox Id="AdditionalComments" @bind-Value="@additionalComments" MaxLength="120" Width="450px"></TelerikTextBox>
</Template>
</FormItem>
</FormItems>
<FormButtons></FormButtons>
</TelerikForm>
</Content>
</WizardStep>
</WizardSteps>
</TelerikWizard>
</FormButtons>
</TelerikForm>
</Content>
</WizardStep>
</WizardSteps>
</TelerikWizard>
</div>
</div>
</div>
}

View File

@ -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<AudienceType> audiences { get; set; } = new List<AudienceType>
{
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
}

View File

@ -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)*/
}

View File

@ -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")]

View File

@ -1 +1 @@
9df05e1d14133350458249006a8b5dba604bf73c520686c04e8adc3035e6c858
4d9f1f0b4ebbbb88ed0d5e48d4e075cc6af174dcfc64d4934e995ae1d4553706

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB