Skip to content

Commit 1f74eec

Browse files
authored
feat(projects): require repository when location is remote (#408)
1 parent 56ff69f commit 1f74eec

1 file changed

Lines changed: 16 additions & 3 deletions

File tree

apps/staged/src/lib/features/projects/NewProjectForm.svelte

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,11 @@
9090
error = null;
9191
});
9292
93+
let repoMissing = $derived(location === 'remote' && !selectedRepo);
94+
let canCreate = $derived(!!name.trim() && !saving && !repoMissing);
95+
9396
async function handleCreate() {
94-
if (!name.trim() || saving) return;
97+
if (!canCreate) return;
9598
9699
saving = true;
97100
error = null;
@@ -239,7 +242,12 @@
239242
</div>
240243

241244
<div class="form-group">
242-
<label for="project-repo-select">Repository</label>
245+
<label for="project-repo-select"
246+
>Repository
247+
{#if location === 'remote'}
248+
<span class="field-badge required">Required</span>
249+
{/if}</label
250+
>
243251
{#if selectedRepo}
244252
<div class="repo-info">
245253
<GitBranch size={14} class="repo-info-icon" />
@@ -337,7 +345,7 @@
337345
variant="primary"
338346
class={!onCancel ? 'full-width-btn' : ''}
339347
onclick={handleCreate}
340-
disabled={saving || !name.trim()}
348+
disabled={!canCreate}
341349
>
342350
{#if saving}
343351
<span class="button-content">
@@ -395,6 +403,11 @@
395403
color: var(--bg-deepest);
396404
}
397405
406+
.field-badge.required {
407+
background-color: var(--ui-danger);
408+
color: var(--bg-deepest);
409+
}
410+
398411
.field-badge.new-branch {
399412
background-color: var(--ui-accent);
400413
color: var(--bg-deepest);

0 commit comments

Comments
 (0)