Merge branch 'main' of https://git.vbytes.se/PmP/vbytes-lan-registration
This commit is contained in:
commit
0dc3d05c68
4 changed files with 33 additions and 17 deletions
17
Caddyfile
Normal file
17
Caddyfile
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
lan.vbytes.se {
|
||||
reverse_proxy localhost:5000
|
||||
|
||||
log {
|
||||
output file /var/log/caddy/access.log
|
||||
}
|
||||
|
||||
encode gzip zstd
|
||||
|
||||
header {
|
||||
Permissions-Policy interest-cohort=()
|
||||
Strict-Transport-Security max-age=31536000;
|
||||
X-Content-Type-Options nosniff
|
||||
X-Frame-Options DENY
|
||||
Referrer-Policy no-referrer-when-downgrade
|
||||
}
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
"VbytesRelay": {
|
||||
"BaseUrl": "https://api.lan.vbytes.se",
|
||||
"ParticipantRegisterPath": "/api/participant",
|
||||
"VolunteerRegisterPath": "/api/volunteer/register",
|
||||
"VolunteerRegisterPath": "/api/volunteer",
|
||||
"ApiKeyHeaderName": "X-Api-Key",
|
||||
"ApiKey": "",
|
||||
"ClientCertificatePfxPath": ""
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
"VbytesRelay": {
|
||||
"BaseUrl": "https://api.lan.vbytes.se",
|
||||
"ParticipantRegisterPath": "/api/participant",
|
||||
"VolunteerRegisterPath": "/api/volunteer/register",
|
||||
"VolunteerRegisterPath": "/api/volunteer",
|
||||
"ApiKeyHeaderName": "X-Api-Key",
|
||||
"ApiKey": "__SET_IN_USER_SECRETS__",
|
||||
"ClientCertificatePfxPath": "__SET_IN_USER_SECRETS__"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { useEffect, useState } from "react";
|
|||
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
import { useRouter } from "next/navigation";
|
||||
import router from "next/router";
|
||||
|
||||
interface EventContent {
|
||||
registrationEnabled: boolean;
|
||||
|
|
@ -29,7 +29,6 @@ const isValidMobileNumber = (value: string) =>
|
|||
/^07\d{8}$/.test(normalizeMobileNumber(value));
|
||||
|
||||
export default function RegisterPage() {
|
||||
const router = useRouter();
|
||||
const [content, setContent] = useState<EventContent | null>(null);
|
||||
const [formData, setFormData] = useState({
|
||||
firstName: "",
|
||||
|
|
@ -168,7 +167,7 @@ export default function RegisterPage() {
|
|||
setShowBecomeMemberCta(false);
|
||||
|
||||
setIsSubmitting(true);
|
||||
setMessage({ type: "info", text: "Processing your registration..." });
|
||||
setMessage({ type: "info", text: "Behandlar din anmälan..." });
|
||||
|
||||
try {
|
||||
// Returns Ok (200) if NOT registered, Conflict (409) if registered
|
||||
|
|
@ -179,7 +178,7 @@ export default function RegisterPage() {
|
|||
if (checkRes.status === 409) {
|
||||
setMessage({
|
||||
type: "error",
|
||||
text: "This SSN is already registered for the LAN.",
|
||||
text: "Detta personnummer är redan registrerat för LAN:et.",
|
||||
});
|
||||
setIsSubmitting(false);
|
||||
return;
|
||||
|
|
@ -218,7 +217,7 @@ export default function RegisterPage() {
|
|||
if (response.ok) {
|
||||
setMessage({
|
||||
type: "success",
|
||||
text: "Registration complete! You are now registered for the LAN.",
|
||||
text: "Registreringen är klar! Du är nu anmäld till LAN:et.",
|
||||
});
|
||||
setShowBecomeMemberCta(!isMember);
|
||||
|
||||
|
|
@ -229,14 +228,14 @@ export default function RegisterPage() {
|
|||
const errorData = await response.json();
|
||||
setMessage({
|
||||
type: "error",
|
||||
text: errorData.message || "Event registration failed.",
|
||||
text: errorData.message || "Registreringen misslyckades.",
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Registration error:", error);
|
||||
setMessage({
|
||||
type: "error",
|
||||
text: "A connection error occurred. Please check your internet and try again.",
|
||||
text: "Ett anslutningsfel uppstod. Kontrollera internet och försök igen.",
|
||||
});
|
||||
} finally {
|
||||
setIsSubmitting(false);
|
||||
|
|
@ -269,7 +268,7 @@ export default function RegisterPage() {
|
|||
/>
|
||||
</div>
|
||||
<div className="text-center mb-10">
|
||||
<h1 className="text-3xl font-bold text-gray-900">Lan Registrering</h1>
|
||||
<h1 className="text-3xl font-bold text-gray-900">LAN-registrering</h1>
|
||||
<p className="mt-2 text-gray-600">
|
||||
Vänligen fyll i detta formulär för att anmäla dig till lanet.
|
||||
</p>
|
||||
|
|
@ -399,7 +398,7 @@ export default function RegisterPage() {
|
|||
htmlFor="email"
|
||||
className="block text-sm font-medium text-gray-700"
|
||||
>
|
||||
Email
|
||||
E-post
|
||||
</label>
|
||||
<input
|
||||
type="email"
|
||||
|
|
@ -473,7 +472,7 @@ export default function RegisterPage() {
|
|||
htmlFor="guardianEmail"
|
||||
className="block text-sm font-medium text-gray-700"
|
||||
>
|
||||
Vårdnadshavares Email *
|
||||
Vårdnadshavares E-post *
|
||||
</label>
|
||||
<input
|
||||
type="email"
|
||||
|
|
@ -493,7 +492,7 @@ export default function RegisterPage() {
|
|||
|
||||
<div className="sm:col-span-2 pt-4 border-t border-gray-100 mt-4">
|
||||
<h3 className="text-lg font-medium text-gray-900 mb-4">
|
||||
Yttrligare uppgifter
|
||||
Ytterligare uppgifter
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
|
|
@ -575,11 +574,11 @@ export default function RegisterPage() {
|
|||
htmlFor="hasApprovedGdpr"
|
||||
className="font-medium text-gray-700"
|
||||
>
|
||||
GDPR godkännande *
|
||||
GDPR-godkännande *
|
||||
</label>
|
||||
<p className="text-gray-500">
|
||||
Jag Godkänner att min personliga uppgifter sparas och
|
||||
hanteras i syfte för detta event.
|
||||
Jag godkänner att mina personuppgifter sparas och hanteras i
|
||||
syfte för detta event.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -617,7 +616,7 @@ export default function RegisterPage() {
|
|||
disabled={isSubmitting}
|
||||
className="w-full flex justify-center py-3 px-4 border border-transparent rounded-md shadow-sm text-base font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:bg-blue-400"
|
||||
>
|
||||
{isSubmitting ? "Registering..." : "Register for LAN"}
|
||||
{isSubmitting ? "Registrerar..." : "Anmäl dig till LAN"}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
Loading…
Reference in a new issue