Updated contact form
This commit is contained in:
		@@ -1,4 +1,5 @@
 | 
				
			|||||||
import {NgModule} from '@angular/core';
 | 
					import {NgModule} from '@angular/core';
 | 
				
			||||||
 | 
					import {FormsModule, ReactiveFormsModule} from '@angular/forms';
 | 
				
			||||||
import {BrowserModule} from '@angular/platform-browser';
 | 
					import {BrowserModule} from '@angular/platform-browser';
 | 
				
			||||||
import {NgxGoogleAnalyticsModule} from 'ngx-google-analytics';
 | 
					import {NgxGoogleAnalyticsModule} from 'ngx-google-analytics';
 | 
				
			||||||
import {environment} from '../environments/environment';
 | 
					import {environment} from '../environments/environment';
 | 
				
			||||||
@@ -50,6 +51,7 @@ export const APP_IMPORTS: any[] = [
 | 
				
			|||||||
	AppRouting,
 | 
						AppRouting,
 | 
				
			||||||
	BrowserAnimationsModule,
 | 
						BrowserAnimationsModule,
 | 
				
			||||||
	BrowserModule,
 | 
						BrowserModule,
 | 
				
			||||||
 | 
						ReactiveFormsModule,
 | 
				
			||||||
	MaterialModule
 | 
						MaterialModule
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,25 +1,28 @@
 | 
				
			|||||||
<div class="d-flex flex-column-reverse flex-md-row justify-content-center cap-width">
 | 
					<div class="d-flex flex-column-reverse flex-md-row justify-content-center cap-width">
 | 
				
			||||||
	<div style="flex: 2 0 0;">
 | 
						<div style="flex: 2 0 0;">
 | 
				
			||||||
		<form>
 | 
							<div *ngIf="error" class="alert alert-danger py-2">
 | 
				
			||||||
 | 
								Coming Soon: This feature is under development
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							<form [formGroup]="form">
 | 
				
			||||||
			<div>
 | 
								<div>
 | 
				
			||||||
				<mat-form-field appearance="fill" class="w-100">
 | 
									<mat-form-field appearance="fill" class="w-100">
 | 
				
			||||||
					<mat-label>Email</mat-label>
 | 
										<mat-label>Email</mat-label>
 | 
				
			||||||
					<input matInput>
 | 
										<input matInput formControlName="email">
 | 
				
			||||||
				</mat-form-field>
 | 
									</mat-form-field>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
			<div>
 | 
								<div>
 | 
				
			||||||
				<mat-form-field appearance="fill" class="w-100">
 | 
									<mat-form-field appearance="fill" class="w-100">
 | 
				
			||||||
					<mat-label>Subject</mat-label>
 | 
										<mat-label>Subject</mat-label>
 | 
				
			||||||
					<mat-select [(value)]="contact">
 | 
										<mat-select [(value)]="contact" formControlName="subject">
 | 
				
			||||||
						<mat-option value="general">General Inquiry</mat-option>
 | 
											<mat-option value="General">General Inquiry</mat-option>
 | 
				
			||||||
						<mat-option value="castra">Castra Event</mat-option>
 | 
											<mat-option value="Castra">Castra Event</mat-option>
 | 
				
			||||||
					</mat-select>
 | 
										</mat-select>
 | 
				
			||||||
				</mat-form-field>
 | 
									</mat-form-field>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
			<div>
 | 
								<div>
 | 
				
			||||||
				<mat-form-field appearance="fill" class="w-100">
 | 
									<mat-form-field appearance="fill" class="w-100">
 | 
				
			||||||
					<mat-label>Message</mat-label>
 | 
										<mat-label>Message</mat-label>
 | 
				
			||||||
					<textarea matInput rows="10"></textarea>
 | 
										<textarea matInput rows="10" formControlName="body"></textarea>
 | 
				
			||||||
				</mat-form-field>
 | 
									</mat-form-field>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
			<div class="d-flex justify-content-between align-items-center">
 | 
								<div class="d-flex justify-content-between align-items-center">
 | 
				
			||||||
@@ -27,7 +30,8 @@
 | 
				
			|||||||
					<mat-checkbox color="primary">Send me a copy</mat-checkbox>
 | 
										<mat-checkbox color="primary">Send me a copy</mat-checkbox>
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
				<div>
 | 
									<div>
 | 
				
			||||||
					<button mat-raised-button color="primary">Send</button>
 | 
										<button mat-stroked-button class="me-3" (click)="reset()">Reset</button>
 | 
				
			||||||
 | 
										<button mat-raised-button color="primary" (click)="error = true">Send</button>
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
		</form>
 | 
							</form>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,25 @@
 | 
				
			|||||||
import {Component} from '@angular/core';
 | 
					import {Component} from '@angular/core';
 | 
				
			||||||
 | 
					import {FormBuilder, FormGroup} from '@angular/forms';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
	selector: 'app-contact',
 | 
						selector: 'app-contact',
 | 
				
			||||||
	templateUrl: './contact.component.html'
 | 
						templateUrl: './contact.component.html'
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class ContactComponent {
 | 
					export class ContactComponent {
 | 
				
			||||||
	contact: string = '';
 | 
						public contact: string = '';
 | 
				
			||||||
 | 
						public error = false;
 | 
				
			||||||
 | 
						public form!: FormGroup;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						constructor(private fb: FormBuilder) {
 | 
				
			||||||
 | 
							this.form = fb.group({
 | 
				
			||||||
 | 
								email: '',
 | 
				
			||||||
 | 
								subject: '',
 | 
				
			||||||
 | 
								body: '',
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						reset() {
 | 
				
			||||||
 | 
							this.error = false;
 | 
				
			||||||
 | 
							this.form.reset();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
.navbar-spacing {
 | 
					.navbar-spacing {
 | 
				
			||||||
 | 
						position: relative;
 | 
				
			||||||
	height: 64px;
 | 
						height: 64px;
 | 
				
			||||||
	width: 100%;
 | 
						width: 100%;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -88,7 +88,7 @@
 | 
				
			|||||||
				<p class="mb-2">It continues to host our annual events:</p>
 | 
									<p class="mb-2">It continues to host our annual events:</p>
 | 
				
			||||||
				<ul class="mt-0">
 | 
									<ul class="mt-0">
 | 
				
			||||||
					<li>Castra Aestiva (2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2022, 2023)</li>
 | 
										<li>Castra Aestiva (2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2022, 2023)</li>
 | 
				
			||||||
					<li>Castra Hiberna (2017, 2018, 2021, 2022)</li>
 | 
										<li>Castra Hiberna (2017, 2018, 2021, 2022, 2023)</li>
 | 
				
			||||||
				</ul>
 | 
									</ul>
 | 
				
			||||||
				<h2>Special Thanks</h2>
 | 
									<h2>Special Thanks</h2>
 | 
				
			||||||
				<p>Robert Sacco - <em>Aquilifer</em> (Eagle bearer) & Legio XXX's president</p>
 | 
									<p>Robert Sacco - <em>Aquilifer</em> (Eagle bearer) & Legio XXX's president</p>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
	<xxx-banner></xxx-banner>
 | 
						<xxx-banner></xxx-banner>
 | 
				
			||||||
</header>
 | 
					</header>
 | 
				
			||||||
<!-- ABout -->
 | 
					<!-- ABout -->
 | 
				
			||||||
<section id="about" class="d-flex flex-column flex-md-row align-items-center justify-content-center bg-black fill py-5 py-md-0">
 | 
					<section id="about" class="d-flex flex-column flex-md-row align-items-center justify-content-center" style="padding: 10rem 0">
 | 
				
			||||||
	<div class="d-none d-md-inline flex-grow-1 text-end" style="flex-basis: 0">
 | 
						<div class="d-none d-md-inline flex-grow-1 text-end" style="flex-basis: 0">
 | 
				
			||||||
		<img src="/assets/img/trajan.png" alt="Statue of Trajan" height="450px" width="auto">
 | 
							<img src="/assets/img/trajan.png" alt="Statue of Trajan" height="450px" width="auto">
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
@@ -48,8 +48,56 @@
 | 
				
			|||||||
		</div>
 | 
							</div>
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
</section>
 | 
					</section>
 | 
				
			||||||
 | 
					<!-- Resources -->
 | 
				
			||||||
 | 
					<section id="resources" class="d-flex flex-column flex-md-row align-items-center justify-content-center invert" style="padding: 10rem 0">
 | 
				
			||||||
 | 
						<div class="py-5 container">
 | 
				
			||||||
 | 
							<h2 class="mb-5 text-center">Resources</h2>
 | 
				
			||||||
 | 
							<div class="d-flex justify-content-around flex-wrap">
 | 
				
			||||||
 | 
								<div class="d-flex p-3 pe-4 rounded-1 bg-light m-3 align-items-center" style="min-width: 45%; flex: 1 0 0;">
 | 
				
			||||||
 | 
									<div class="pe-3">
 | 
				
			||||||
 | 
										<img src="/assets/img/capricorn.png" alt="Regulations" style="height: 80px; width: auto">
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<div>
 | 
				
			||||||
 | 
										<h3 class="mb-1">Legio XXX</h3>
 | 
				
			||||||
 | 
										<p class="m-0">Learn about Legio XXX, who we are & what we do</p>
 | 
				
			||||||
 | 
										<a routerLink="/events/calendar">About Us</a> / <a routerLink="/events/castra-aestiva">Gallery</a> / <a routerLink="/events/castra-hiberna">Contact</a>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
								<div class="d-flex p-3 pe-4 rounded-1 bg-light m-3 align-items-center" style="min-width: 45%; flex: 1 0 0;">
 | 
				
			||||||
 | 
									<div class="pe-3">
 | 
				
			||||||
 | 
										<img src="/assets/img/event.png" alt="Border icon" style="height: 80px; width: auto">
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<div>
 | 
				
			||||||
 | 
										<h3 class="mb-1">Events</h3>
 | 
				
			||||||
 | 
										<p class="m-0">See our upcoming events & learn how you can participate</p>
 | 
				
			||||||
 | 
										<a routerLink="/events/calendar">Calendar</a> / <a routerLink="/events/castra-aestiva">Castra Aestiva</a> / <a routerLink="/events/castra-hiberna">Castra Hiberna</a>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
								<div class="d-flex p-3 pe-4 rounded-1 bg-light m-3 align-items-center" style="min-width: 45%; flex: 1 0 0;">
 | 
				
			||||||
 | 
									<div class="pe-3">
 | 
				
			||||||
 | 
										<img src="/assets/img/reenact.png" alt="Canadian leaf" style="height: 80px; width: auto">
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<div>
 | 
				
			||||||
 | 
										<h3 class="mb-1">Reenacting</h3>
 | 
				
			||||||
 | 
										<p class="m-0">Learn about re-enacting and how you can get involved</p>
 | 
				
			||||||
 | 
										<a routerLink="/events/calendar">Getting Started</a> / <a routerLink="/events/castra-aestiva">Rules & Regulations</a> / <a routerLink="/events/castra-hiberna">Drill Commands</a>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
								<div class="d-flex p-3 pe-4 rounded-1 bg-light m-3 align-items-center" style="min-width: 45%; flex: 1 0 0;">
 | 
				
			||||||
 | 
									<div class="pe-3">
 | 
				
			||||||
 | 
										<img src="/assets/img/helmet.png" alt="Regulations" style="height: 80px; width: auto">
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<div>
 | 
				
			||||||
 | 
										<h3 class="mb-1">Equipment</h3>
 | 
				
			||||||
 | 
										<p class="m-0">Learn how to assemble & maintain your kit</p>
 | 
				
			||||||
 | 
										<a routerLink="/events/calendar">Buy Equipment</a> / <a routerLink="/events/castra-aestiva">Build Equipment</a> / <a routerLink="/events/castra-hiberna">Maintenance</a>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
					</section>
 | 
				
			||||||
<!-- Recruitment -->
 | 
					<!-- Recruitment -->
 | 
				
			||||||
<section id="recruitment" class="d-flex flex-column flex-md-row align-items-center justify-content-center fill invert">
 | 
					<section id="recruitment" class="d-flex flex-column flex-md-row align-items-center justify-content-center invert" style="padding: 10rem 0">
 | 
				
			||||||
	<div class="flex-grow-1 mt-5 mt-md-0 p-5 pb-0 text-center text-md-end" style="flex-basis: 0">
 | 
						<div class="flex-grow-1 mt-5 mt-md-0 p-5 pb-0 text-center text-md-end" style="flex-basis: 0">
 | 
				
			||||||
		<img src="/assets/img/recruitment.png" alt="I want you for Legio XXX" style="max-width: min(90%, 400px)">
 | 
							<img src="/assets/img/recruitment.png" alt="I want you for Legio XXX" style="max-width: min(90%, 400px)">
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
@@ -73,7 +121,7 @@
 | 
				
			|||||||
	<div style="height: 300px; background: 0 url('/assets/img/formation.png') repeat-x; background-size: auto 300px;"></div>
 | 
						<div style="height: 300px; background: 0 url('/assets/img/formation.png') repeat-x; background-size: auto 300px;"></div>
 | 
				
			||||||
</section>
 | 
					</section>
 | 
				
			||||||
<!-- Contact -->
 | 
					<!-- Contact -->
 | 
				
			||||||
<section id="contact" class="d-flex flex-column align-items-center justify-content-center fill">
 | 
					<section id="contact" class="d-flex flex-column align-items-center justify-content-center" style="padding: 10rem 0">
 | 
				
			||||||
	<div class="container">
 | 
						<div class="container">
 | 
				
			||||||
		<h2 class="text-center mb-5">Contact</h2>
 | 
							<h2 class="text-center mb-5">Contact</h2>
 | 
				
			||||||
		<app-contact></app-contact>
 | 
							<app-contact></app-contact>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								src/assets/img/capricorn.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/assets/img/capricorn.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 9.6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/img/event.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/assets/img/event.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 2.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/img/helmet.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/assets/img/helmet.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/img/reenact.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/assets/img/reenact.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 4.1 KiB  | 
@@ -64,7 +64,7 @@ h3 { font: 400 18px / 30px Roboto, "Helvetica Neue", sans-serif !important; }
 | 
				
			|||||||
	margin-right: auto;
 | 
						margin-right: auto;
 | 
				
			||||||
	padding: 5rem 2rem;
 | 
						padding: 5rem 2rem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@media screen and (max-width: 400px) {
 | 
						@media screen and (max-width: 1200px) {
 | 
				
			||||||
		padding: 3rem 2rem;
 | 
							padding: 3rem 2rem;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user