59 lines
2.7 KiB
PHP
59 lines
2.7 KiB
PHP
<div class="page-header">
|
|
<h1><?= $contact ? 'Edit' : 'Add' ?> Contact</h1>
|
|
</div>
|
|
|
|
<div class="glass-panel" style="max-width: 600px;">
|
|
<form action="/admin/contacts/store" method="POST" class="form-stacked">
|
|
<?php if ($contact): ?>
|
|
<input type="hidden" name="id" value="<?= $contact['id'] ?>">
|
|
<?php endif; ?>
|
|
<input type="hidden" name="_csrf" value="<?= $this->session->getCsrfToken() ?>">
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Name *</label>
|
|
<input type="text" name="name" class="form-control" required value="<?= $contact ? $this->escape($contact['name']) : '' ?>">
|
|
</div>
|
|
|
|
<div class="form-row">
|
|
<div class="form-group">
|
|
<label class="form-label">Email</label>
|
|
<input type="email" name="email" class="form-control" value="<?= $contact ? $this->escape($contact['email'] ?? '') : '' ?>">
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="form-label">Phone</label>
|
|
<input type="text" name="phone" class="form-control" value="<?= $contact ? $this->escape($contact['phone'] ?? '') : '' ?>">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Position / Title</label>
|
|
<input type="text" name="position" class="form-control" placeholder="e.g. Partner, Director" value="<?= $contact ? $this->escape($contact['position'] ?? '') : '' ?>">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Organization</label>
|
|
<select name="organization_id" class="form-control">
|
|
<option value="">No Organization</option>
|
|
<?php foreach ($organizations as $org): ?>
|
|
<option value="<?= $org['id'] ?>" <?= ($selectedOrgId == $org['id']) ? 'selected' : '' ?>><?= $this->escape($org['name']) ?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Notes</label>
|
|
<textarea name="notes" class="form-control" rows="3"><?= $contact ? $this->escape($contact['notes'] ?? '') : '' ?></textarea>
|
|
</div>
|
|
|
|
<div style="display: flex; gap: 12px; margin-top: 10px;">
|
|
<button type="submit" class="btn btn-primary"><?= $contact ? 'Update' : 'Create' ?> Contact</button>
|
|
<a href="/admin/contacts" class="btn btn-secondary">Cancel</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<style>
|
|
.form-stacked { display: flex; flex-direction: column; gap: 16px; }
|
|
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
|
|
@media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } }
|
|
</style>
|