feat: Prioritize main/master branches in branch selection dropdown

Add sortBranchesByPriority() helper to sort branches with priority:
main first, master second, then alphabetically. This improves UX
by pre-selecting the most commonly used default branches.
This commit is contained in:
Duane Adam 2025-12-06 16:35:14 +08:00
parent a528f4c3d1
commit 3c2f6a5fd6
No known key found for this signature in database
GPG Key ID: 8ECBF303D9B14D71
2 changed files with 19 additions and 0 deletions

View File

@ -138,6 +138,7 @@ class GithubPrivateRepository extends Component
$this->loadBranchByPage();
}
}
$this->branches = sortBranchesByPriority($this->branches);
$this->selected_branch_name = data_get($this->branches, '0.name', 'main');
}

View File

@ -300,6 +300,24 @@ function generate_application_name(string $git_repository, string $git_branch, ?
return Str::kebab("$git_repository:$git_branch-$cuid");
}
/**
* Sort branches by priority: main first, master second, then alphabetically.
*
* @param Collection $branches Collection of branch objects with 'name' key
*/
function sortBranchesByPriority(Collection $branches): Collection
{
return $branches->sortBy(function ($branch) {
$name = data_get($branch, 'name');
return match ($name) {
'main' => '0_main',
'master' => '1_master',
default => '2_'.$name,
};
})->values();
}
function base_ip(): string
{
if (isDev()) {