diff options
author | yp05327 <576951401@qq.com> | 2024-12-06 23:29:04 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-06 14:29:04 +0000 |
commit | faf5705d29bcfc08e6d7d75cd9694ee859ee7e58 (patch) | |
tree | ab8cb642bf8c77ad21eb9defc6757a711743f4cf /web_src/js | |
parent | 3c4a06273f776df340459c3775d90eb8d20b71e5 (diff) | |
download | gitea-faf5705d29bcfc08e6d7d75cd9694ee859ee7e58.tar.gz gitea-faf5705d29bcfc08e6d7d75cd9694ee859ee7e58.zip |
GitHub like repo home page (#32213)
Move some components (description, license, release, language stats) to sidebar
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'web_src/js')
-rw-r--r-- | web_src/js/features/citation.ts | 43 | ||||
-rw-r--r-- | web_src/js/features/repo-home.ts | 15 |
2 files changed, 26 insertions, 32 deletions
diff --git a/web_src/js/features/citation.ts b/web_src/js/features/citation.ts index 8fc6beabfb..fc5bb38f0a 100644 --- a/web_src/js/features/citation.ts +++ b/web_src/js/features/citation.ts @@ -41,35 +41,28 @@ export async function initCitationFileCopyContent() { citationCopyApa.classList.toggle('primary', !isBibtex); }; - document.querySelector('#cite-repo-button')?.addEventListener('click', async (e: MouseEvent & {target: HTMLAnchorElement}) => { - const dropdownBtn = e.target.closest('.ui.dropdown.button'); - dropdownBtn.classList.add('is-loading'); - + document.querySelector('#cite-repo-button')?.addEventListener('click', async () => { try { - try { - await initInputCitationValue(citationCopyApa, citationCopyBibtex); - } catch (e) { - console.error(`initCitationFileCopyContent error: ${e}`, e); - return; - } - updateUi(); + await initInputCitationValue(citationCopyApa, citationCopyBibtex); + } catch (e) { + console.error(`initCitationFileCopyContent error: ${e}`, e); + return; + } + updateUi(); - citationCopyApa.addEventListener('click', () => { - localStorage.setItem('citation-copy-format', 'apa'); - updateUi(); - }); + citationCopyApa.addEventListener('click', () => { + localStorage.setItem('citation-copy-format', 'apa'); + updateUi(); + }); - citationCopyBibtex.addEventListener('click', () => { - localStorage.setItem('citation-copy-format', 'bibtex'); - updateUi(); - }); + citationCopyBibtex.addEventListener('click', () => { + localStorage.setItem('citation-copy-format', 'bibtex'); + updateUi(); + }); - inputContent.addEventListener('click', () => { - inputContent.select(); - }); - } finally { - dropdownBtn.classList.remove('is-loading'); - } + inputContent.addEventListener('click', () => { + inputContent.select(); + }); fomanticQuery('#cite-repo-modal').modal('show'); }); diff --git a/web_src/js/features/repo-home.ts b/web_src/js/features/repo-home.ts index a65a1815d2..df52b87f5a 100644 --- a/web_src/js/features/repo-home.ts +++ b/web_src/js/features/repo-home.ts @@ -7,7 +7,7 @@ import {fomanticQuery} from '../modules/fomantic/base.ts'; const {appSubUrl} = window.config; export function initRepoTopicBar() { - const mgrBtn = document.querySelector('#manage_topic'); + const mgrBtn = document.querySelector<HTMLButtonElement>('#manage_topic'); if (!mgrBtn) return; const editDiv = document.querySelector('#topic_edit'); @@ -18,7 +18,7 @@ export function initRepoTopicBar() { mgrBtn.addEventListener('click', () => { hideElem(viewDiv); showElem(editDiv); - topicDropdown.querySelector('input.search').focus(); + topicDropdown.querySelector<HTMLInputElement>('input.search').focus(); }); document.querySelector('#cancel_topic_edit').addEventListener('click', () => { @@ -28,9 +28,9 @@ export function initRepoTopicBar() { mgrBtn.focus(); }); - document.querySelector('#save_topic').addEventListener('click', async (e) => { + document.querySelector('#save_topic').addEventListener('click', async (e: MouseEvent & {target: HTMLButtonElement}) => { lastErrorToast?.hideToast(); - const topics = editDiv.querySelector('input[name=topics]').value; + const topics = editDiv.querySelector<HTMLInputElement>('input[name=topics]').value; const data = new FormData(); data.append('topics', topics); @@ -45,12 +45,13 @@ export function initRepoTopicBar() { const topicArray = topics.split(','); topicArray.sort(); for (const topic of topicArray) { - // it should match the code in repo/home.tmpl + // TODO: sort items in topicDropdown, or items in edit div will have different order to the items in view div + // !!!! it SHOULD and MUST match the code in "home_sidebar_top.tmpl" !!!! const link = document.createElement('a'); - link.classList.add('repo-topic', 'ui', 'large', 'label'); + link.classList.add('repo-topic', 'ui', 'large', 'label', 'gt-ellipsis'); link.href = `${appSubUrl}/explore/repos?q=${encodeURIComponent(topic)}&topic=1`; link.textContent = topic; - mgrBtn.parentNode.insertBefore(link, mgrBtn); // insert all new topics before manage button + viewDiv.append(link); } } hideElem(editDiv); |