More generic rework of the project admin frame

Plus a minor fix on project edit
This commit is contained in:
2026-03-31 01:33:58 +03:00
parent 32a7b07f2d
commit 138f1c42a0
3 changed files with 19 additions and 16 deletions
+15 -3
View File
@@ -1,11 +1,23 @@
# frozen_string_literal: true
module ProjectAdminHelper
FRAME_ID = 'admin_frame'
TABS_ID = 'admin_tabs'
def project_admin_frame(project, &)
tabs_id = 'project_admin_tabs'
tabs = ProjectAdmin::TabsViewModel.new(project, frame: :project_admin, id: tabs_id)
links = {
'Data' => edit_project_path(project),
'Workflows' => project_admin_workflows_path(project)
}
title = "Project #{project.name}"
admin_frame(links, title:, &)
end
def admin_frame(links, title:, &)
tabs = ProjectAdmin::TabsViewModel.new(links, id: TABS_ID, frame: FRAME_ID)
content = capture(&) if block_given?
render partial: 'project_admin/frame', locals: { id: :project_admin, tabs:, tabs_id:, content: }
render partial: 'project_admin/frame', locals: { id: FRAME_ID, tabs:, tabs_id: TABS_ID, title:, content: }
end
end