|
- <section class="stack">
- <div class="section-title">
- <span class="eyebrow">New project</span>
- <h1>Create a project</h1>
- <p>Set up a new workstream with budget, team members, and delivery milestones in one pass.</p>
- </div>
-
- <?php if (!empty($errors['_token'])): ?>
- <div class="alert alert-error"><?= e($errors['_token'][0]) ?></div>
- <?php endif; ?>
-
- <form class="project-form panel" method="post" action="/projects">
- <?= csrf_field() ?>
- <div class="form-grid">
- <label class="field">
- <span>Project name</span>
- <input class="input" type="text" name="name" maxlength="120" value="<?= e($old['name']) ?>" required>
- <?php if (!empty($errors['name'])): ?><small class="field-error"><?= e($errors['name'][0]) ?></small><?php endif; ?>
- </label>
-
- <label class="field">
- <span>Code</span>
- <input class="input" type="text" name="code" maxlength="32" value="<?= e($old['code']) ?>" placeholder="Leave blank for auto-generation">
- </label>
-
- <label class="field">
- <span>Client</span>
- <input class="input" type="text" name="client_name" maxlength="120" value="<?= e($old['client_name']) ?>" required>
- <?php if (!empty($errors['client_name'])): ?><small class="field-error"><?= e($errors['client_name'][0]) ?></small><?php endif; ?>
- </label>
-
- <label class="field">
- <span>Owner</span>
- <input class="input" type="text" name="owner_name" maxlength="120" value="<?= e($old['owner_name']) ?>" required>
- <?php if (!empty($errors['owner_name'])): ?><small class="field-error"><?= e($errors['owner_name'][0]) ?></small><?php endif; ?>
- </label>
-
- <label class="field">
- <span>Status</span>
- <select class="select" name="status" required>
- <?php foreach ($statusOptions as $option): ?>
- <option value="<?= e($option) ?>" <?= $old['status'] === $option ? 'selected' : '' ?>><?= e(project_status_label($option)) ?></option>
- <?php endforeach; ?>
- </select>
- <?php if (!empty($errors['status'])): ?><small class="field-error"><?= e($errors['status'][0]) ?></small><?php endif; ?>
- </label>
-
- <label class="field">
- <span>Color token</span>
- <input class="input" type="text" name="color_token" maxlength="32" value="<?= e($old['color_token']) ?>" placeholder="teal, amber, violet...">
- </label>
-
- <label class="field">
- <span>Start date</span>
- <input class="input" type="date" name="start_date" value="<?= e($old['start_date']) ?>" required>
- <?php if (!empty($errors['start_date'])): ?><small class="field-error"><?= e($errors['start_date'][0]) ?></small><?php endif; ?>
- </label>
-
- <label class="field">
- <span>Due date</span>
- <input class="input" type="date" name="due_date" value="<?= e($old['due_date']) ?>">
- <?php if (!empty($errors['due_date'])): ?><small class="field-error"><?= e($errors['due_date'][0]) ?></small><?php endif; ?>
- </label>
-
- <label class="field">
- <span>Budget (cents)</span>
- <input class="input" type="number" min="0" name="budget_cents" value="<?= e($old['budget_cents']) ?>">
- </label>
- </div>
-
- <label class="field">
- <span>Project summary</span>
- <textarea class="textarea" name="description" maxlength="800" required><?= e($old['description']) ?></textarea>
- <?php if (!empty($errors['description'])): ?><small class="field-error"><?= e($errors['description'][0]) ?></small><?php endif; ?>
- </label>
-
- <label class="field">
- <span>Team members</span>
- <textarea class="textarea" name="members_text" placeholder="One person per line. The first person becomes the lead."><?= e($old['members_text']) ?></textarea>
- <small class="helper">Write each team member on a new line. The first person becomes the project lead.</small>
- </label>
-
- <div class="row-actions">
- <button class="button button-primary" type="submit">Create project</button>
- <a class="button button-ghost" href="/projects">Cancel</a>
- </div>
- </form>
- </section>
|