Added timezones

This commit is contained in:
2026-04-04 22:19:58 +10:00
parent 7f62c31456
commit 509efbe821
11 changed files with 516 additions and 424 deletions
+89 -78
View File
@@ -1,20 +1,14 @@
<script setup>
import Checkbox from '@/Components/Checkbox.vue';
import GuestLayout from '@/Layouts/GuestLayout.vue';
import InputError from '@/Components/InputError.vue';
import InputLabel from '@/Components/InputLabel.vue';
import PrimaryButton from '@/Components/PrimaryButton.vue';
import TextInput from '@/Components/TextInput.vue';
import { Head, Link, useForm } from '@inertiajs/vue3';
<script setup lang="ts">
import MainLayout from "@/Layouts/MainLayout.vue";
import GlassBox from "@/Components/FlightsGoneBy/GlassBox.vue";
import { Head, Link, useForm } from "@inertiajs/vue3";
defineProps({
canResetPassword: {
type: Boolean,
},
status: {
type: String,
},
});
defineOptions({ layout: MainLayout });
defineProps<{
canResetPassword: boolean;
status?: string;
}>();
const form = useForm({
email: '',
@@ -30,71 +24,88 @@ const submit = () => {
</script>
<template>
<GuestLayout>
<Head title="Log in" />
<Head title="Log in" />
<GlassBox title="Welcome Back" blurb="Log in to continue logging your flights.">
<div v-if="status" class="mb-4 text-sm font-medium text-green-600">
{{ status }}
</div>
<v-alert v-if="status" type="success" class="mb-2">{{ status }}</v-alert>
<form @submit.prevent="submit">
<div>
<InputLabel for="email" value="Email" />
<v-form style="width: 100%" @submit.prevent="submit">
<v-container>
<v-row>
<v-col cols="12">
<v-text-field
v-model="form.email"
label="Email"
type="email"
autocomplete="username"
autofocus
:error-messages="form.errors.email"
/>
</v-col>
</v-row>
<TextInput
id="email"
type="email"
class="mt-1 block w-full"
v-model="form.email"
required
autofocus
autocomplete="username"
/>
<v-row>
<v-col cols="12">
<v-text-field
v-model="form.password"
label="Password"
type="password"
autocomplete="current-password"
:error-messages="form.errors.password"
/>
</v-col>
</v-row>
<InputError class="mt-2" :message="form.errors.email" />
</div>
<v-row>
<v-col cols="12">
<v-checkbox
v-model="form.remember"
label="Remember me"
hide-details
/>
</v-col>
</v-row>
<div class="mt-4">
<InputLabel for="password" value="Password" />
<TextInput
id="password"
type="password"
class="mt-1 block w-full"
v-model="form.password"
required
autocomplete="current-password"
/>
<InputError class="mt-2" :message="form.errors.password" />
</div>
<div class="mt-4 block">
<label class="flex items-center">
<Checkbox name="remember" v-model:checked="form.remember" />
<span class="ms-2 text-sm text-gray-600"
>Remember me</span
>
</label>
</div>
<div class="mt-4 flex items-center justify-end">
<Link
v-if="canResetPassword"
:href="route('password.request')"
class="rounded-md text-sm text-gray-600 underline hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2"
>
Forgot your password?
</Link>
<PrimaryButton
class="ms-4"
:class="{ 'opacity-25': form.processing }"
:disabled="form.processing"
>
Log in
</PrimaryButton>
</div>
</form>
</GuestLayout>
<v-row>
<v-col cols="12" class="d-flex align-center justify-end" style="gap: 1rem">
<v-btn
block
variant="elevated"
size="large"
type="submit"
:loading="form.processing"
:disabled="form.processing"
>
Log in
</v-btn>
</v-col>
</v-row>
<v-row>
<v-col cols="12" class="d-flex align-center justify-end" style="gap: 1rem">
<Link
v-if="canResetPassword"
:href="route('password.request')"
style="opacity: 0.7; font-size: 0.9rem"
>
Forgot your password?
</Link>
</v-col>
</v-row>
</v-container>
</v-form>
</GlassBox>
</template>
<style scoped>
h2 {
font-size: 2rem;
text-align: center;
}
p {
text-align: center;
width: 100%;
opacity: 0.7;
margin-bottom: 1rem;
}
</style>