Files snapshot from branch-globs

./js_templates/common/branchesListItems.ts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
b94151 Tucker McKnight
b94151 Tucker McKnight
b94151 Tucker McKnight
b94151 Tucker McKnight
b94151 Tucker McKnight
b94151 Tucker McKnight
b94151 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
ec91a0 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
ec91a0 Tucker McKnight
ec91a0 Tucker McKnight
ec91a0 Tucker McKnight
export default (
  branches: Array<{name: string, href: string, date: string}>,
  defaultBranch: string,
  currentBranch: string,
  sortBy: 'name' | 'date',
): string => {
  return branches.toSorted((a, b) => {
    let comparison = 0
    if (a[sortBy] < b[sortBy]) { comparison = -1 }
    if (a[sortBy] > b[sortBy]) { comparison = 1 }
    // we want reverse order if sorting by date (making newest first)
    if (sortBy === 'date') { comparison = comparison * -1 }

    return comparison
  }).map((branch) => {
    const currentBadge = currentBranch === branch.name
      ? '<div class="badge rounded-pill bg-secondary mx-1">current</div>'
      : ''

    const defaultBadge = defaultBranch === branch.name
      ? '<div class="badge rounded-pill bg-info text-dark mx-1">default</div>'
      : ''

    return `
      <a href='${branch.href}' class='dropdown-item my-1'>
        <span class="branch-dropdown-branch-name me-1">
          ${branch.name}
        </span>${currentBadge}${defaultBadge}
        <span class="text-body d-block ms-2">
          updated ${branch.date}
        </span>
      </a>
    `
  }).join('')
}