diff options
author | Rowan Bohde <rowan.bohde@gmail.com> | 2025-01-07 19:38:30 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-08 01:38:30 +0000 |
commit | a8e7caedfa062cd8ea34f722806b3f162d24e939 (patch) | |
tree | 8ba7076222b9a3119239a85353e47fd1d343f082 /web_src | |
parent | ec84687df9253dc693f2da1d23f0fef8f392e07b (diff) | |
download | gitea-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.vue | 10 | ||||
-rw-r--r-- | web_src/js/svg.ts | 2 |
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, |