68 lines
2.6 KiB
HTML
68 lines
2.6 KiB
HTML
<div class="form-overlay" (click)="onClose()">
|
|
<div class="form-dialog" (click)="$event.stopPropagation()">
|
|
<div class="form-header">
|
|
<h2>{{ id ? 'Edit Underwriter' : 'Add Underwriter' }}</h2>
|
|
<button type="button" class="btn-close" (click)="onClose()">×</button>
|
|
</div>
|
|
|
|
@if (error) {
|
|
<div class="form-error" role="alert">{{ error }}</div>
|
|
}
|
|
@if (success) {
|
|
<div class="form-success" role="alert">{{ success }}</div>
|
|
}
|
|
|
|
<form (ngSubmit)="onSubmit()" class="admin-form">
|
|
<div class="form-row">
|
|
<div class="form-group">
|
|
<label for="name">Name</label>
|
|
<input id="name" type="text" [(ngModel)]="name" name="name" placeholder="Company name" required [class.is-invalid]="submitted && !name">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="display_order">Display Order</label>
|
|
<input id="display_order" type="number" [(ngModel)]="display_order" name="display_order">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="description">Description</label>
|
|
<textarea id="description" [(ngModel)]="description" name="description" rows="3" placeholder="Short paragraph about the underwriter..." required [class.is-invalid]="submitted && !description"></textarea>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="website_url">Website URL (optional)</label>
|
|
<input id="website_url" type="url" [(ngModel)]="website_url" name="website_url" placeholder="https://example.com">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="logo_url">Logo URL (optional)</label>
|
|
<div class="url-with-upload">
|
|
<input id="logo_url" type="text" [(ngModel)]="logo_url" name="logo_url" placeholder="uploads/logo.png">
|
|
<label class="btn btn-upload">
|
|
Upload
|
|
<input type="file" accept="image/*" (change)="onImageUpload($event, 'logo_url')" [disabled]="uploading">
|
|
</label>
|
|
</div>
|
|
@if (logo_url) {
|
|
<img [src]="getPreviewUrl(logo_url)" [alt]="name + ' logo'" class="image-preview" (error)="$event.target.style.display='none'">
|
|
}
|
|
</div>
|
|
|
|
<div class="form-group checkbox-group">
|
|
<label>
|
|
<input type="checkbox" [(ngModel)]="active" name="active">
|
|
Active
|
|
</label>
|
|
</div>
|
|
|
|
<div class="form-actions">
|
|
<button type="button" class="btn btn-cancel" (click)="onClose()">Cancel</button>
|
|
<button type="submit" class="btn btn-save" [disabled]="loading">
|
|
{{ loading ? 'Saving…' : (id ? 'Update' : 'Create') }}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|