generated from Code-Institute-Org/gitpod-full-template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
contact.html
224 lines (210 loc) · 11.3 KB
/
contact.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Meta Data -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="The VisEnsemble Choir for people living with sightloss in Ireland">
<meta name="keywords" content="the visensemble, choir, visually impaired, sightloss, choral singing, dublin, ireland">
<!-- Website Title -->
<title>The VisEnsemble</title>
<!-- Link to my Cloudinary Media Library -->
<link rel="icon" href="https://res.cloudinary.com/aperlae/image/upload/c_scale,w_32/v1660385839/treblesquare_g0xno3.jpg" type="image/x-icon">
<!-- Link to my CSS -->
<link rel="stylesheet" href="assets/css/styles.css">
</head>
<body>
<!-- Skip Navigation Link -->
<div class="skip-nav-container">
<a href="#main" id="skip-navigation-link" class="skip-nav">Skip Navigation</a>
</div>
<!-- Site Header -->
<header>
<div class="header-container">
<!-- Logo -->
<div class="logo-div">
<a href="index.html">
<img class="logo" alt="The Visensemble Logo"
width="200" height="59"
src="https://res.cloudinary.com/aperlae/image/upload/c_scale,q_auto:eco,w_200/v1659108822/visensemble_logo_crop_orange_mtq39g.png"
srcset="https://res.cloudinary.com/aperlae/image/upload/c_scale,q_auto:eco,w_200/v1659108822/visensemble_logo_crop_orange_mtq39g.png 200w,
https://res.cloudinary.com/aperlae/image/upload/c_scale,q_auto:eco,w_250/v1659108822/visensemble_logo_crop_orange_mtq39g.png 250w,
https://res.cloudinary.com/aperlae/image/upload/c_scale,q_auto:eco,w_300/v1659108822/visensemble_logo_crop_orange_mtq39g.png 300w,
https://res.cloudinary.com/aperlae/image/upload/c_scale,q_auto:eco,w_350/v1659108822/visensemble_logo_crop_orange_mtq39g.png 350w"
sizes="(max-width: 768px) 200px, (max-width: 1240px) 250px, (max-width: 1440px) 300px, 350px"/>
</a>
</div>
<!-- Hamburger Button -->
<button type="button" class="nav-toggle" aria-label="open-navigation">
<span class="hamburger">☰</span>
</button>
<!-- Navigation Links -->
<nav class="nav">
<ul class="nav__list">
<li class="nav__item"><a href="index.html" class="nav__link">Home</a></li>
<li class="nav__item"><a href="about.html" class="nav__link">About</a></li>
<li class="nav__item"><a href="events.html" class="nav__link">Events</a></li>
<li class="nav__item"><a href="contact.html" class="nav__link active">Contact</a></li>
</ul>
</nav>
</div>
</header>
<!-- Main Content Starts Here -->
<main id="main" tabindex="-1">
<!-- Contact Us Page -->
<section class="contact-us">
<div class="contact-us__img"></div>
<h2>Get in Touch</h2>
<p class="contact-us__text">We would love to hear from you!
Whether you would like to join our choir, talk to us
about upcoming event opportunities or simply leave a
comment, please fill in the form below and we will get
back to you as soon as possible.
</p>
<div class="contact-us__form-container">
<!-- Contact Form -->
<form class="contact-form" action="https://formdump.codeinstitute.net/" method="post">
<!-- Personal Information Inputs -->
<fieldset id="set-a">
<legend>Your contact information</legend>
<div class="info">
<label for="fname" id="fname-label">First Name:</label><br>
<input type="text" id="fname" name="fname" class="text-input contact-info"
title="Enter your First name here" data-error="Please enter a valid name"
aria-labelledby="fname-label fname-error" required><br>
<div aria-live="assertive" aria-relevant="additions removals"
class="error-area" id="fname-error">First name is required.
</div>
</div>
<div class="info">
<label for="lname" id="lname-label">Last Name:</label><br>
<input type="text" id="lname" name="lname" class="text-input contact-info"
title="Enter your Surname here" data-error="Please enter a valid surname"
aria-labelledby="lname-label lname-error" required><br>
<div aria-live="assertive" aria-relevant="additions removals"
class="error-area" id="lname-error">Last name is required.
</div>
</div>
<div class="info">
<label for="email" id="email-label">Email:</label><br>
<input type="email" id="email" name="email" class="text-input contact-info"
title="Enter your Email here" data-error="Please enter a valid email"
aria-labelledby="email-label email-error" required><br>
<div aria-live="assertive" aria-relevant="additions removals"
class="error-area" id="email-error">Email is required.
</div>
</div>
<label for="mobile">Mobile (optional):</label><br>
<input type="tel" id="mobile" name="mobile" class="text-input contact-info" title="Enter your mobile number here"
pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}"><br>
</fieldset>
<!-- Select type of Contact Radio Buttons -->
<fieldset id="set-b">
<legend>Select type of contact</legend>
<input type="radio" id="new_member" name="feedback_type" class="radio" value="new_member" checked>
<label for="new_member">New Member</label><br>
<input type="radio" id="organiser" name="feedback_type" class="radio" value="organiser">
<label for="organiser">Event Organiser</label><br>
<input type="radio" id="other" name="feedback_type" class="radio" value="other">
<label for="other">Other</label><br>
</fieldset>
<!-- Feedback Textarea-->
<fieldset id="set-c">
<legend>Message Us</legend>
<label for="feedback">Enter any questions, comments or feedback below.</label>
<textarea id="feedback" class="text-input marbot-medium" name="message" title="Enter any questions, comments or feedback here" rows="15" cols="30">
</textarea>
</fieldset>
<!-- Note for screen reader users and Submit Button -->
<div>
<span class="error-area visually-hidden">Note: If you don't get confirmation after submitting form please review your required fields.</span>
<input class="btn" type="submit" value="Submit">
</div>
</form>
</div>
</section>
</main>
<!-- Back to Top Button -->
<a href="#skip-navigation-link" class="back-to-top">Back to Top ⇧</a>
<!-- Site Footer -->
<footer class="footer-container">
<div class="footer__links">
<!-- Contact Links -->
<div class="contact-links">
<ul>
<li>
<a href="tel:+353012345678" target="_blank" rel="noopener"
aria-label="Call us on +353 012 345 678">
<i class="fa-solid fa-phone"></i>
</a>
</li>
<li>
<a href="mailto:thevisensemble@nomail.com" target="_blank" rel="noopener"
aria-label="Email us at thevisensemble@nomail.com (opens in a new tab)">
<i class="fa-solid fa-envelope"></i>
</a>
</li>
</ul>
</div>
<!-- Social Links -->
<div class="social-links">
<ul>
<li>
<a href="https://facebook.com" target="_blank" rel="noopener"
aria-label="Visit our Facebook page (opens in a new tab)">
<i class="fa-brands fa-facebook-square"></i>
</a>
</li>
<li>
<a href="https://youtube.com" target="_blank" rel="noopener"
aria-label="Visit our YouTube page (opens in a new tab)">
<i class="fa-brands fa-youtube-square"></i>
</a>
</li>
</ul>
</div>
</div>
<p>© 2022 | The VisEnsemble by <a href="https://github.com/MoniPar"
target="_blank" rel="noopener"><span>Monique Parnis</span></a>
</p>
</footer>
<!-- Fontawesome Script -->
<script src="https://kit.fontawesome.com/967a4d433b.js" crossorigin="anonymous" defer></script>
<!-- Internal JS -->
<script>
// Hamburger button navigation
const navToggle = document.querySelector(".nav-toggle");
const nav = document.querySelector(".nav");
navToggle.addEventListener("click", () => {
nav.classList.toggle("nav--visible");
});
// Contact form script taken from Hidde's Blog (link in README.md)
let fields = document.querySelectorAll("input");
[].forEach.call(fields, (field) => {
field.addEventListener("blur", (event) => {
handleError(event.target);
});
});
function validate(field) {
return false;
}
function handleError(field) {
if(field.getAttribute("data-has-error") !== "true") {
let error = getErrorMessage(field);
let info = field.closest("div");
let errorArea = contact.querySelector(".error-area");
if(validate(field) === false) {
errorArea.appendChild(error);
field.setAttribute("data-has-error", "true");
}
}
}
function getErrorMessage(field) {
let message = document.createElement("p");
let messageContent = field.getAttribute("data-error");
message.textContent = "Error: " + messageContent;
return message;
}
</script>
</body>
</html>