All checks were successful
Docker Deploy / build-and-push (push) Successful in 4m6s
133 lines
3.9 KiB
Plaintext
133 lines
3.9 KiB
Plaintext
---
|
|
import DashboardLayout from '../../../layouts/DashboardLayout.astro';
|
|
|
|
const user = Astro.locals.user;
|
|
if (!user) return Astro.redirect('/login');
|
|
---
|
|
|
|
<DashboardLayout title="New Client - Chronus">
|
|
<div class="max-w-2xl mx-auto">
|
|
<h1 class="text-3xl font-bold mb-6">Add New Client</h1>
|
|
|
|
<form method="POST" action="/api/clients/create" class="card bg-base-100 shadow-xl border border-base-200">
|
|
<div class="card-body">
|
|
<div class="form-control">
|
|
<label class="label" for="name">
|
|
<span class="label-text">Client Name</span>
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="name"
|
|
name="name"
|
|
placeholder="Acme Corp"
|
|
class="input input-bordered w-full"
|
|
required
|
|
/>
|
|
</div>
|
|
|
|
<div class="form-control">
|
|
<label class="label" for="email">
|
|
<span class="label-text">Email (optional)</span>
|
|
</label>
|
|
<input
|
|
type="email"
|
|
id="email"
|
|
name="email"
|
|
placeholder="jason.borne@cia.com"
|
|
class="input input-bordered w-full"
|
|
/>
|
|
</div>
|
|
|
|
<div class="form-control">
|
|
<label class="label" for="phone">
|
|
<span class="label-text">Phone (optional)</span>
|
|
</label>
|
|
<input
|
|
type="tel"
|
|
id="phone"
|
|
name="phone"
|
|
placeholder="+1 (780) 420-1337"
|
|
class="input input-bordered w-full"
|
|
/>
|
|
</div>
|
|
|
|
<div class="divider">Address Details</div>
|
|
|
|
<div class="form-control">
|
|
<label class="label" for="street">
|
|
<span class="label-text">Street Address (optional)</span>
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="street"
|
|
name="street"
|
|
placeholder="123 Business Rd"
|
|
class="input input-bordered w-full"
|
|
/>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
<div class="form-control">
|
|
<label class="label" for="city">
|
|
<span class="label-text">City (optional)</span>
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="city"
|
|
name="city"
|
|
placeholder="Edmonton"
|
|
class="input input-bordered w-full"
|
|
/>
|
|
</div>
|
|
|
|
<div class="form-control">
|
|
<label class="label" for="state">
|
|
<span class="label-text">State / Province (optional)</span>
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="state"
|
|
name="state"
|
|
placeholder="AB"
|
|
class="input input-bordered w-full"
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
<div class="form-control">
|
|
<label class="label" for="zip">
|
|
<span class="label-text">Zip / Postal Code (optional)</span>
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="zip"
|
|
name="zip"
|
|
placeholder="10001"
|
|
class="input input-bordered w-full"
|
|
/>
|
|
</div>
|
|
|
|
<div class="form-control">
|
|
<label class="label" for="country">
|
|
<span class="label-text">Country (optional)</span>
|
|
</label>
|
|
<input
|
|
type="text"
|
|
id="country"
|
|
name="country"
|
|
placeholder="Canada"
|
|
class="input input-bordered w-full"
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card-actions justify-end mt-6">
|
|
<a href="/dashboard/clients" class="btn btn-ghost">Cancel</a>
|
|
<button type="submit" class="btn btn-primary">Create Client</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</DashboardLayout>
|