aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js
diff options
context:
space:
mode:
authoryp05327 <576951401@qq.com>2024-12-06 23:29:04 +0900
committerGitHub <noreply@github.com>2024-12-06 14:29:04 +0000
commitfaf5705d29bcfc08e6d7d75cd9694ee859ee7e58 (patch)
treeab8cb642bf8c77ad21eb9defc6757a711743f4cf /web_src/js
parent3c4a06273f776df340459c3775d90eb8d20b71e5 (diff)
downloadgitea-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.ts43
-rw-r--r--web_src/js/features/repo-home.ts15
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);