From fb23080bf4b0be960053c0b360f7423dec2ea322 Mon Sep 17 00:00:00 2001 From: Jacques Date: Tue, 12 Nov 2024 13:51:11 +0100 Subject: [PATCH 1/4] Use common header app when viewing blobs Ensures the common header app is used when viewing blobs --- .../pages/projects/blob/show/index.js | 7 ++-- .../javascripts/pages/projects/show/index.js | 2 +- .../components/header_area/breadcrumbs.vue | 25 +++++++++++--- app/assets/javascripts/repository/index.js | 2 +- .../javascripts/repository/init_header_app.js | 34 +++++++++++++++++-- app/views/projects/blob/_blob.html.haml | 6 +++- .../header_area/breadcrumbs_spec.js | 27 +++++++++++---- 7 files changed, 86 insertions(+), 17 deletions(-) diff --git a/app/assets/javascripts/pages/projects/blob/show/index.js b/app/assets/javascripts/pages/projects/blob/show/index.js index 1fdc0e86318921..235e3d08d065a0 100644 --- a/app/assets/javascripts/pages/projects/blob/show/index.js +++ b/app/assets/javascripts/pages/projects/blob/show/index.js @@ -26,6 +26,8 @@ import HighlightWorker from '~/vue_shared/components/source_viewer/workers/highl import initAmbiguousRefModal from '~/ref/init_ambiguous_ref_modal'; import { InternalEvents } from '~/tracking'; import { initFindFileShortcut } from '~/projects/behaviors'; +import initHeaderApp from '~/repository/init_header_app'; +import createRouter from '~/repository/router'; Vue.use(Vuex); Vue.use(VueApollo); @@ -35,8 +37,6 @@ const apolloProvider = new VueApollo({ defaultClient: createDefaultClient(), }); -const router = new VueRouter({ mode: 'history' }); - const viewBlobEl = document.querySelector('#js-view-blob-app'); const initRefSwitcher = () => { @@ -84,6 +84,9 @@ if (viewBlobEl) { canDownloadCode, ...dataset } = viewBlobEl.dataset; + const router = createRouter(projectPath, originalBranch); + + initHeaderApp({ router, isBlobView: true }); // eslint-disable-next-line no-new new Vue({ diff --git a/app/assets/javascripts/pages/projects/show/index.js b/app/assets/javascripts/pages/projects/show/index.js index 8c05fabbb24289..2adbc94b99e68a 100644 --- a/app/assets/javascripts/pages/projects/show/index.js +++ b/app/assets/javascripts/pages/projects/show/index.js @@ -28,7 +28,7 @@ if (document.querySelector('.blob-viewer')) { import(/* webpackChunkName: 'blobViewer' */ '~/blob/viewer') .then(({ BlobViewer }) => { new BlobViewer(); // eslint-disable-line no-new - initHeaderApp(true); + initHeaderApp({ isReadmeView: true }); }) .catch(() => {}); } diff --git a/app/assets/javascripts/repository/components/header_area/breadcrumbs.vue b/app/assets/javascripts/repository/components/header_area/breadcrumbs.vue index b53607f08b7c07..1945f7cf3bb759 100644 --- a/app/assets/javascripts/repository/components/header_area/breadcrumbs.vue +++ b/app/assets/javascripts/repository/components/header_area/breadcrumbs.vue @@ -1,6 +1,6 @@