Skip to content

Commit 8818416

Browse files
committed
clean up
1 parent 6cab203 commit 8818416

File tree

8 files changed

+65
-92
lines changed

8 files changed

+65
-92
lines changed

templates/repo/view.tmpl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@
1616

1717
{{template "repo/code/recently_pushed_new_branches" .}}
1818

19-
<div class="repo-view-container {{Iif .UserSettingCodeViewShowFileTree "repo-view-with-sidebar" "repo-view-content-only"}}">
20-
<div class="repo-view-file-tree-sidebar not-mobile {{if not .UserSettingCodeViewShowFileTree}}tw-hidden{{end}}" {{if .IsSigned}} data-is-signed {{end}}>{{template "repo/view_file_tree_sidebar" .}}</div>
19+
<div class="repo-view-container">
20+
<div class="repo-view-file-tree-container not-mobile {{if not .UserSettingCodeViewShowFileTree}}tw-hidden{{end}}" {{if .IsSigned}}data-user-is-signed-in{{end}}>
21+
{{template "repo/view_file_tree" .}}
22+
</div>
2123
<div class="repo-view-content">
2224
{{template "repo/view_content" .}}
2325
</div>

templates/repo/view_content.tmpl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
<div class="repo-button-row">
55
<div class="repo-button-row-left">
66
{{if not $isTreePathRoot}}
7-
<button class="show-tree-sidebar-button ui compact basic button icon not-mobile {{if .UserSettingCodeViewShowFileTree}}tw-hidden{{end}}" title="{{ctx.Locale.Tr "repo.diff.show_file_tree"}}">
7+
<button class="repo-view-file-tree-toggle-show ui compact basic button icon not-mobile {{if .UserSettingCodeViewShowFileTree}}tw-hidden{{end}}"
8+
data-global-click="onRepoViewFileTreeToggle" data-toggle-action="show"
9+
data-tooltip-content="{{ctx.Locale.Tr "repo.diff.show_file_tree"}}">
810
{{svg "octicon-sidebar-collapse"}}
911
</button>
1012
{{end}}

templates/repo/view_file_tree.tmpl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<div class="flex-text-block tw-mb-2">
2+
<button class="ui compact tiny icon button"
3+
data-global-click="onRepoViewFileTreeToggle" data-toggle-action="hide"
4+
data-tooltip-content="{{ctx.Locale.Tr "repo.diff.hide_file_tree"}}">
5+
{{svg "octicon-sidebar-expand"}}
6+
</button>
7+
<b>Files</b>
8+
</div>
9+
10+
{{/* TODO: Dynamically move components such as refSelector and createPR here */}}
11+
<div id="view-file-tree" class="tw-overflow-auto tw-h-full is-loading"
12+
data-repo-link="{{.RepoLink}}"
13+
data-tree-path="{{$.TreePath}}"
14+
data-current-ref-name-sub-url="{{.RefTypeNameSubURL}}"
15+
></div>

templates/repo/view_file_tree_sidebar.tmpl

Lines changed: 0 additions & 15 deletions
This file was deleted.

web_src/css/repo/home.css

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -51,37 +51,17 @@
5151

5252
.repo-view-container {
5353
display: flex;
54-
flex-wrap: wrap;
5554
gap: var(--page-spacing);
5655
}
5756

58-
.repo-view-content {
59-
flex: 1;
60-
}
61-
62-
.repo-view-with-sidebar .repo-view-file-tree-sidebar {
57+
.repo-view-container .repo-view-file-tree-container {
6358
flex: 0 1 15%;
64-
display: flex;
65-
flex-direction: column;
66-
gap: 8px;
59+
min-width: 0;
6760
max-height: 100vh;
68-
overflow: hidden;
69-
position: sticky;
70-
top: 14px;
71-
z-index: 8;
7261
}
7362

74-
.repo-view-container .repo-button-row {
75-
margin-top: 0 !important;
76-
}
77-
78-
@media (max-width: 767.98px) {
79-
.repo-view-with-sidebar {
80-
flex: 1 1 0;
81-
}
82-
.repo-view-content {
83-
flex: 1 1 0;
84-
}
63+
.repo-view-content {
64+
flex: 1;
8565
}
8666

8767
.language-stats {

web_src/js/features/repo-view-file-tree-sidebar.ts

Lines changed: 0 additions & 48 deletions
This file was deleted.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import {createApp} from 'vue';
2+
import {toggleElem} from '../utils/dom.ts';
3+
import {POST} from '../modules/fetch.ts';
4+
import ViewFileTree from '../components/ViewFileTree.vue';
5+
import {registerGlobalEventFunc} from '../modules/observer.ts';
6+
7+
const {appSubUrl} = window.config;
8+
9+
async function toggleSidebar(btn: HTMLElement) {
10+
const elToggleShow = document.querySelector('.repo-view-file-tree-toggle-show');
11+
const elFileTreeContainer = document.querySelector('.repo-view-file-tree-container');
12+
const shouldShow = btn.getAttribute('data-toggle-action') === 'show';
13+
toggleElem(elFileTreeContainer, shouldShow);
14+
toggleElem(elToggleShow, !shouldShow);
15+
16+
// FIXME: need to remove "full height" style from parent element
17+
18+
if (!elFileTreeContainer.hasAttribute('data-user-is-signed-in')) return;
19+
await POST(`${appSubUrl}/user/settings/update_preferences`, {
20+
data: {codeViewShowFileTree: shouldShow},
21+
});
22+
}
23+
24+
export async function initRepoViewFileTree() {
25+
const sidebar = document.querySelector<HTMLElement>('.repo-view-file-tree-container');
26+
const repoViewContent = document.querySelector('.repo-view-content');
27+
if (!sidebar || !repoViewContent) return;
28+
29+
registerGlobalEventFunc('click', 'onRepoViewFileTreeToggle', toggleSidebar);
30+
31+
const fileTree = sidebar.querySelector('#view-file-tree');
32+
createApp(ViewFileTree, {
33+
repoLink: fileTree.getAttribute('data-repo-link'),
34+
treePath: fileTree.getAttribute('data-tree-path'),
35+
currentRefNameSubURL: fileTree.getAttribute('data-current-ref-name-sub-url'),
36+
}).mount(fileTree);
37+
}

web_src/js/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import {initUserAuthOauth2, initUserCheckAppUrl} from './features/user-auth.ts';
2424
import {initRepoPullRequestAllowMaintainerEdit, initRepoPullRequestReview, initRepoIssueSidebarDependency, initRepoIssueFilterItemLabel} from './features/repo-issue.ts';
2525
import {initRepoEllipsisButton, initCommitStatuses} from './features/repo-commit.ts';
2626
import {initRepoTopicBar} from './features/repo-home.ts';
27-
import {initViewFileTreeSidebar} from './features/repo-view-file-tree-sidebar.ts';
2827
import {initAdminCommon} from './features/admin/common.ts';
2928
import {initRepoCodeView} from './features/repo-code.ts';
3029
import {initSshKeyFormParser} from './features/sshkey-helper.ts';
@@ -65,6 +64,7 @@ import {initFootLanguageMenu, initGlobalDropdown, initGlobalInput, initGlobalTab
6564
import {initGlobalButtonClickOnEnter, initGlobalButtons, initGlobalDeleteButton} from './features/common-button.ts';
6665
import {initGlobalComboMarkdownEditor, initGlobalEnterQuickSubmit, initGlobalFormDirtyLeaveConfirm} from './features/common-form.ts';
6766
import {callInitFunctions} from './modules/init.ts';
67+
import {initRepoViewFileTree} from './features/repo-view-file-tree.ts';
6868

6969
initGiteaFomantic();
7070
initSubmitEventPolyfill();
@@ -140,7 +140,7 @@ onDomReady(() => {
140140
initRepoRelease,
141141
initRepoReleaseNew,
142142
initRepoTopicBar,
143-
initViewFileTreeSidebar,
143+
initRepoViewFileTree,
144144
initRepoWikiForm,
145145
initRepository,
146146
initRepositoryActionView,

0 commit comments

Comments
 (0)