aboutsummaryrefslogtreecommitdiffstats
path: root/web_src
diff options
context:
space:
mode:
authorRowan Bohde <rowan.bohde@gmail.com>2025-01-07 19:38:30 -0600
committerGitHub <noreply@github.com>2025-01-08 01:38:30 +0000
commita8e7caedfa062cd8ea34f722806b3f162d24e939 (patch)
tree8ba7076222b9a3119239a85353e47fd1d343f082 /web_src
parentec84687df9253dc693f2da1d23f0fef8f392e07b (diff)
downloadgitea-a8e7caedfa062cd8ea34f722806b3f162d24e939.tar.gz
gitea-a8e7caedfa062cd8ea34f722806b3f162d24e939.zip
add submodule diff links (#33097)
This adds links to submodules in diffs, similar to the existing link when viewing a repo at a specific commit. It does this by expanding diff parsing to recognize changes to submodules, and find the specific refs that are added, deleted or changed. Related #25888 --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'web_src')
-rw-r--r--web_src/js/components/DiffFileTreeItem.vue10
-rw-r--r--web_src/js/svg.ts2
2 files changed, 11 insertions, 1 deletions
diff --git a/web_src/js/components/DiffFileTreeItem.vue b/web_src/js/components/DiffFileTreeItem.vue
index 12cafd8f1b..31ce94aacd 100644
--- a/web_src/js/components/DiffFileTreeItem.vue
+++ b/web_src/js/components/DiffFileTreeItem.vue
@@ -8,6 +8,7 @@ type File = {
NameHash: string;
Type: number;
IsViewed: boolean;
+ IsSubmodule: boolean;
}
type Item = {
@@ -34,6 +35,13 @@ function getIconForDiffType(pType) {
};
return diffTypes[pType];
}
+
+function fileIcon(file) {
+ if (file.IsSubmodule) {
+ return 'octicon-file-submodule';
+ }
+ return 'octicon-file';
+}
</script>
<template>
@@ -44,7 +52,7 @@ function getIconForDiffType(pType) {
:title="item.name" :href="'#diff-' + item.file.NameHash"
>
<!-- file -->
- <SvgIcon name="octicon-file"/>
+ <SvgIcon :name="fileIcon(item.file)"/>
<span class="gt-ellipsis tw-flex-1">{{ item.name }}</span>
<SvgIcon :name="getIconForDiffType(item.file.Type).name" :class="getIconForDiffType(item.file.Type).classes"/>
</a>
diff --git a/web_src/js/svg.ts b/web_src/js/svg.ts
index 90b12fa87d..6a8246fa1b 100644
--- a/web_src/js/svg.ts
+++ b/web_src/js/svg.ts
@@ -28,6 +28,7 @@ import octiconEye from '../../public/assets/img/svg/octicon-eye.svg';
import octiconFile from '../../public/assets/img/svg/octicon-file.svg';
import octiconFileDirectoryFill from '../../public/assets/img/svg/octicon-file-directory-fill.svg';
import octiconFileDirectoryOpenFill from '../../public/assets/img/svg/octicon-file-directory-open-fill.svg';
+import octiconFileSubmodule from '../../public/assets/img/svg/octicon-file-submodule.svg';
import octiconFilter from '../../public/assets/img/svg/octicon-filter.svg';
import octiconGear from '../../public/assets/img/svg/octicon-gear.svg';
import octiconGitBranch from '../../public/assets/img/svg/octicon-git-branch.svg';
@@ -104,6 +105,7 @@ const svgs = {
'octicon-file': octiconFile,
'octicon-file-directory-fill': octiconFileDirectoryFill,
'octicon-file-directory-open-fill': octiconFileDirectoryOpenFill,
+ 'octicon-file-submodule': octiconFileSubmodule,
'octicon-filter': octiconFilter,
'octicon-gear': octiconGear,
'octicon-git-branch': octiconGitBranch,