Repository Public MIT Selected
1{#2 ─────────────────────────────────────────────3 SPB Git — Personal Git Platform4 ─────────────────────────────────────────────5 Author : Simon-Pierre Boucher6 Contact : contact@spboucher.ai7 File : src/web/views/partials/clone-panel.njk8 Purpose : Clone panel — HTTPS URL, spbgit CLI, archive downloads (bottom sheet on phones, dialog on desktop)9 License : MIT © Simon-Pierre Boucher10 ─────────────────────────────────────────────11#}{% import "components/ui.njk" as ui %}12<dialog class="sheet clone-panel" id="clone-panel" aria-label="Clone {{ overview.name }}">13 <div class="sheet-handle" aria-hidden="true"></div>14 <div class="sheet-head"><h2 class="sheet-title">Clone {{ overview.name }}</h2><button type="button" class="icon-btn" data-close aria-label="Close">{{ ui.icon('close', 16) }}</button></div>15 <label class="field-label" for="clone-https">HTTPS</label>16 <div class="clone-row">17 <input id="clone-https" class="clone-url" type="text" readonly value="{{ overview.cloneUrl }}" aria-label="HTTPS clone URL" spellcheck="false">18 {{ ui.copyButton(overview.cloneUrl, 'Copy', 'Copy HTTPS URL') }}19 </div>20 <p class="clone-hint">Anonymous clone and fetch. Pushing requires the owner's personal access token.</p>21 <label class="field-label" for="clone-cli">spbgit CLI</label>22 <div class="clone-row">23 <input id="clone-cli" class="clone-url" type="text" readonly value="spbgit clone {{ overview.name }}" aria-label="spbgit CLI command" spellcheck="false">24 {{ ui.copyButton('spbgit clone ' + overview.name, 'Copy', 'Copy spbgit command') }}25 </div>26 {% if not overview.empty %}27 <p class="field-label">Snapshot of <code>{{ currentRef }}</code></p>28 <div class="btn-row">29 <a class="btn btn-sm" href="/archive/{{ overview.name }}/{{ currentRef }}.zip" rel="nofollow">{{ ui.icon('download', 14) }} ZIP</a>30 <a class="btn btn-sm" href="/archive/{{ overview.name }}/{{ currentRef }}.tar.gz" rel="nofollow">{{ ui.icon('download', 14) }} tar.gz</a>31 </div>32 {% endif %}33</dialog>34