476 lines
30 KiB
Plaintext
476 lines
30 KiB
Plaintext
@page "/"
|
|
@using Telerik.Blazor
|
|
@using Telerik.Blazor.Components
|
|
@using Telerik.SvgIcons
|
|
@using System.ComponentModel.DataAnnotations
|
|
|
|
<PageTitle>Welcome</PageTitle>
|
|
|
|
@if (ShowWizard)
|
|
{
|
|
<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-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¼ 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½ 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¢ 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>
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<h1 style="text-center">Choose a Design</h1>
|
|
</div>
|
|
<div class="col-12 text-center mb-3">
|
|
@* Button logic *@
|
|
<div class="text-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>
|
|
<ButtonGroupToggleButton @bind-Selected="@designCustom">Custom Design</ButtonGroupToggleButton>
|
|
}
|
|
else
|
|
{
|
|
<ButtonGroupToggleButton @bind-Selected="@designOne">Postcard 1</ButtonGroupToggleButton>
|
|
<ButtonGroupToggleButton @bind-Selected="@designTwo">Postcard 2</ButtonGroupToggleButton>
|
|
<ButtonGroupToggleButton @bind-Selected="@designThree">Postcard 3</ButtonGroupToggleButton>
|
|
<ButtonGroupToggleButton @bind-Selected="@designCustom">Custom Design</ButtonGroupToggleButton>
|
|
}
|
|
</TelerikButtonGroup>
|
|
<br /><br />
|
|
@* Card preview logic *@
|
|
@if (designOne)
|
|
{
|
|
@if (isPostcard)
|
|
{
|
|
<img src="/img/Postcard1_Front.png" class="img-fluid" alt="Back" />
|
|
<img src="/img/Postcard1_Back.png" class="img-fluid" alt="Front" />
|
|
}
|
|
else
|
|
{
|
|
<img src="/img/Plastic1_Back.png" class="img-fluid" alt="Back" />
|
|
<img src="/img/Plastic1_Front.png" class="img-fluid" alt="Front" />
|
|
|
|
}
|
|
}
|
|
else if (designTwo)
|
|
{
|
|
@if (isPostcard)
|
|
{
|
|
<img src="/img/Postcard2_Front.png" class="img-fluid" alt="Back" />
|
|
<img src="/img/Postcard2_Back.png" class="img-fluid" alt="Front" />
|
|
}
|
|
else
|
|
{
|
|
<img src="/img/Plastic2_Back.png" class="img-fluid" alt="Back" />
|
|
<img src="/img/Plastic2_Front.png" class="img-fluid" alt="Front" />
|
|
}
|
|
}
|
|
else if (designThree)
|
|
{
|
|
@if (isPostcard)
|
|
{
|
|
<img src="/img/Postcard3_Front.png" class="img-fluid" alt="Back" />
|
|
<img src="/img/Postcard3_Back.png" class="img-fluid" alt="Front" />
|
|
}
|
|
else
|
|
{
|
|
<img src="/img/Plastic3_Back.png" class="img-fluid" alt="Back" />
|
|
<img src="/img/Plastic3_Front.png" class="img-fluid" alt="Front" />
|
|
}
|
|
}
|
|
else if (designCustom)
|
|
{
|
|
<div class="d-sm-flex justify-content-around">
|
|
<div class="px-5">
|
|
<h4 class="mb-5">If you have your own idea in mind, or you would like to try another design, our creative design team will make it happen!</h4>
|
|
</div>
|
|
<div class="px-5">
|
|
<p class="fst-italic">When you're asked for "additional comments," just give us an idea of what you have in mind and our customer care team will have some ideas
|
|
ready when we call you!
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
@if (isPostcard)
|
|
{
|
|
<img src="/img/cfeb51c5-5373-44b5-be19-dadea452cc41.png" class="img-fluid" />
|
|
}
|
|
else
|
|
{
|
|
<img src="/img/a41f648d-6b39-41f1-bbe5-084fb8a71a30.png" class="img-fluid" />
|
|
}
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Template>
|
|
</FormItem>
|
|
</FormItems>
|
|
<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>
|
|
<div class="container">
|
|
<div class="row">
|
|
@if (isPlasticCard)
|
|
{
|
|
<div class="col-12">
|
|
<h4>No customization needed. Please proceed to logo selection.</h4>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="col-12">
|
|
<h4 class="mb-3">Please Select a Verse</h4>
|
|
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single" Class="vertical-buttons block-buttons mb-5">
|
|
<ButtonGroupToggleButton @bind-Selected="@verseOne">Option 1</ButtonGroupToggleButton>
|
|
<ButtonGroupToggleButton @bind-Selected="@verseTwo">Option 2</ButtonGroupToggleButton>
|
|
<ButtonGroupToggleButton @bind-Selected="@verseThree">Option 3</ButtonGroupToggleButton>
|
|
</TelerikButtonGroup>
|
|
@if (verseOne)
|
|
{
|
|
<p class="fst-italic">Thank you for making our success possible.</p>
|
|
<p class="fst-italic">We appreciate loyal customers like you and look forward to continuing to be your complete auto repair, service and tire center!</p>
|
|
}
|
|
else if (verseTwo)
|
|
{
|
|
<p class="fst-italic">We appreciate the trust you have shown in us and look forward to working with you in the future!</p>
|
|
}
|
|
else if (verseThree)
|
|
{
|
|
<p class="fst-italic">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.</p>
|
|
}
|
|
</div>
|
|
<div class="col-12">
|
|
<hr class="m-5" />
|
|
<h4 class="mb-3">Please Select a Signature</h4>
|
|
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single" Class="mb-5">
|
|
<ButtonGroupToggleButton @bind-Selected="@sigOne">From Your Friends</ButtonGroupToggleButton>
|
|
<ButtonGroupToggleButton @bind-Selected="@sigTwo">Name, Title, Phone Number</ButtonGroupToggleButton>
|
|
<ButtonGroupToggleButton @bind-Selected="@sigThree">Custom</ButtonGroupToggleButton>
|
|
</TelerikButtonGroup>
|
|
@if (sigOne)
|
|
{
|
|
<p>From your friends at <strong>TopSpeed Tire</strong><br /><i>(your location name)</i></p>
|
|
<p><strong>(888) 555-3712</strong><br /><i>(your location phone number)</i></p>
|
|
}
|
|
else if (sigTwo)
|
|
{
|
|
<FormItem LabelText="Custom Signature">
|
|
<Template>
|
|
<label style="text-align:center; display:block" for="CustomName" class="k-label k-form-label">Name:</label><TelerikTextBox Id="CustomName" @bind-Value="@customName" MaxLength="30" Width="250px"></TelerikTextBox>
|
|
<label style="text-align:center; display:block" for="CustomTitle" class="k-label k-form-label">Title:</label><TelerikTextBox Id="CustomTitle" @bind-Value="@customTitle" MaxLength="30" Width="250px"></TelerikTextBox>
|
|
<label style="text-align:center; display:block" for="CustomPhone" class="k-label k-form-label">Phone:</label><TelerikTextBox Id="CustomPhone" @bind-Value="@customPhone" MaxLength="12" Width="200px"></TelerikTextBox>
|
|
</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>
|
|
}
|
|
</div>
|
|
}
|
|
<div class="col-12 text-center mb-3">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Template>
|
|
</FormItem>
|
|
</FormItems>
|
|
<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 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>
|
|
|
|
<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>
|
|
|
|
|
|
|
|
@* *@
|
|
@* 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>
|
|
<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 Notes</label>
|
|
<TelerikTextArea Id="CustomSignature" @bind-Value="@additionalComments" Rows="4" Cols="100" MaxLength="500"></TelerikTextArea>
|
|
</Template>
|
|
</FormItem>
|
|
</FormItems>
|
|
<FormButtons>
|
|
|
|
</FormButtons>
|
|
</TelerikForm>
|
|
</Content>
|
|
</WizardStep>
|
|
</WizardSteps>
|
|
</TelerikWizard>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|