Change layout of cars on index page

3f354cf5176d0f9bbb9efa445a0f507ac0cc8ac4

Tucker McKnight <tmcknight@instructure.com> | Mon Sep 07 2026

Change layout of cars on index page

Want to make sure the clone URL shows up on its own line. Decided
to put the buttons inside the card. This page should be redone
at some point anyway.
js_templates/index.ts:27
Before
26
27
28
29
30
31
32
33
34
              m('div', {class: "card-header"},
                m('a', {class: "card-title fs-5", href: nav.repoHomePath(repo.name)}, repo.name)
              ),
              m('div', {class: "card-body"},
                repo.description ? m('p', {class: "card-text"}, repo.description) : null
              ),
              m('div', {class: "card-footer"}, [
                m('a', {
                  href: nav.repoHomePath(repo.name),
                  class: "ms-0 me-2 my-2 btn btn-primary text-white"
After
26
27
28
29

30

31
32
              m('div', {class: "card-header"},
                m('a', {class: "card-title fs-5", href: nav.repoHomePath(repo.name)}, repo.name)
              ),
              m('div', {class: "card-body"}, [
⁣
                repo.description ? m('p', {class: "card-text"}, repo.description) : null,
⁣
                m('a', {
                  href: nav.repoHomePath(repo.name),
                  class: "ms-0 me-2 my-2 btn btn-primary text-white"
js_templates/index.ts:42
Before
41
42
43


44
45
46
47
48
                    target: button.newTab ? '_blank' : '_self'
                  }, [button.text, button.newTab ? [' ', m('span', m.trust('&#x29C9;'))] : null])
                }),
⁣
⁣
                m('span', { class: 'd-inline-block mx-1' }, [
                  m('span', {class: 'me-1'}, 'Clone URL:'),
                  m('span', {class: 'clone overflow-scroll font-monospace'}, repo.cloneUrl),
                  m('button', {
                    class: 'btn btn-info shadow-none copy-button ms-1',
                    ['data-copy-text']: repo.cloneUrl,
After
41
42
43
44
45
46
47
48
49
50
                    target: button.newTab ? '_blank' : '_self'
                  }, [button.text, button.newTab ? [' ', m('span', m.trust('&#x29C9;'))] : null])
                }),
              ]),
              m('div', {class: "card-footer"}, [
                m('span', { class: 'd-flex align-items-center mt-2' }, [
                  m('span', {class: 'me-1'}, 'Clone URL:'),
                  m('span', {class: 'clone overflow-scroll font-monospace flex-grow-1 flex-shrink-1'}, repo.cloneUrl),
                  m('button', {
                    class: 'btn btn-info shadow-none copy-button ms-1',
                    ['data-copy-text']: repo.cloneUrl,