48 lines
1.9 KiB
Handlebars
48 lines
1.9 KiB
Handlebars
{{template "base/head" .}}
|
|
<div role="main" aria-label="{{.Title}}" class="page-content repository new migrate">
|
|
<div class="ui middle very relaxed page grid">
|
|
<div class="column">
|
|
<div class="ui cards migrate-entries" id="template-cards">
|
|
<div class="ui active inverted dimmer">
|
|
<div class="ui text loader">加载模板中...</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
const cardsContainer = document.getElementById('template-cards');
|
|
|
|
fetch('https://devstar.cn/api/v1/repos/search?template=true')
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
cardsContainer.innerHTML = '';
|
|
if (data.data && data.data.length > 0) {
|
|
data.data.forEach(repo => {
|
|
const card = `
|
|
<a class="ui card migrate-entry tw-flex tw-items-center"
|
|
href="{{.AppSubUrl}}/repo/create?template_owner=${repo.owner.login}&template_name=${repo.name}">
|
|
<img src="/assets/img/favicon.svg" width="184" height="184" class="tw-p-4" alt="${repo.name}" />
|
|
<div class="content">
|
|
<div class="header tw-text-center">${repo.name}</div>
|
|
<div class="description tw-text-center tw-text-balance">${repo.description}</div>
|
|
</div>
|
|
</a>
|
|
`;
|
|
cardsContainer.insertAdjacentHTML('beforeend', card);
|
|
});
|
|
} else {
|
|
cardsContainer.innerHTML = '<div class="ui warning message">未找到任何模板</div>';
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error('获取模板数据失败:', error);
|
|
cardsContainer.innerHTML = '<div class="ui error message">加载模板失败</div>';
|
|
});
|
|
});
|
|
</script>
|
|
|
|
{{template "base/footer" .}}
|