Convert top tabs to DaisyUI navbar with menu links
Replace tabs-box with navbar component: logo+text in navbar-start, menu links in navbar-end. Remove all inline styles, use only Tailwind/DaisyUI classes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
<!-- Tailwind/DaisyUI class safelist for gniza WHM plugin -->
|
||||
<div class="alert alert-error alert-info alert-success alert-warning badge badge-error badge-sm badge-success badge-warning bg-base-100 bg-base-200 bg-neutral bg-primary/10 border border-base-300 border-base-content/5 breadcrumbs btn btn-error btn-ghost btn-info btn-primary btn-secondary btn-sm btn-xs card card-body card-title checkbox checkbox-sm collapse collapse-arrow collapse-content collapse-title cursor-pointer flex flex-1 flex-col flex-wrap font-bold font-medium font-mono font-semibold gap-1 gap-2 gap-3 hidden inline input input-bordered input-sm items-center items-start mx-auto join join-item link list-disc loading loading-spinner loading-xs max-h-48 max-w-2xl max-w-xs mb-1 mb-2.5 mb-3 mb-4 mb-5 mb-6 ml-2 modal modal-action modal-backdrop modal-box mt-2 mt-3 mt-4 mt-5 my-2 my-4 overflow-x-auto overflow-y-auto p-3 p-4 pt-1 pt-2 pl-5 px-4 py-1 py-3 py-4 radio radio-sm rounded-box rounded-lg select select-bordered select-sm shadow-sm steps tab tab-content table hover tabs tabs-box tabs-lg tab-active text-center text-error text-lg textarea textarea-bordered textarea-sm text-base-content/60 text-neutral-content text-sm text-xl text-xs toggle toggle-sm toggle-success w-11/12 w-44 w-full whitespace-pre-wrap font-sans text-[1.6rem] text-warning badge-info badge-neutral btn-active leading-relaxed inline-flex items-stretch w-fit bg-[#fafafa] px-5 max-h-[360px] m-0 no-underline bg-white p-2.5 animate-pulse badge-outline btn-warning btn-circle mt-1 h-40 tooltip tooltip-top w-52 whitespace-nowrap"></div>
|
||||
<div class="alert alert-error alert-info alert-success alert-warning badge badge-error badge-sm badge-success badge-warning bg-base-100 bg-base-200 bg-neutral bg-primary/10 border border-base-300 border-base-content/5 breadcrumbs btn btn-error btn-ghost btn-info btn-primary btn-secondary btn-sm btn-xs card card-body card-title checkbox checkbox-sm collapse collapse-arrow collapse-content collapse-title cursor-pointer flex flex-1 flex-col flex-wrap font-bold font-medium font-mono font-semibold gap-1 gap-2 gap-3 hidden inline input input-bordered input-sm items-center items-start mx-auto join join-item link list-disc loading loading-spinner loading-xs max-h-48 max-w-2xl max-w-xs mb-1 mb-2.5 mb-3 mb-4 mb-5 mb-6 ml-2 modal modal-action modal-backdrop modal-box mt-2 mt-3 mt-4 mt-5 my-2 my-4 overflow-x-auto overflow-y-auto p-3 p-4 pt-1 pt-2 pl-5 px-4 py-1 py-3 py-4 radio radio-sm rounded-box rounded-lg select select-bordered select-sm shadow-sm steps tab tab-content table hover tabs tabs-box tabs-lg tab-active text-center text-error text-lg textarea textarea-bordered textarea-sm text-base-content/60 text-neutral-content text-sm text-xl text-xs toggle toggle-sm toggle-success w-11/12 w-44 w-full whitespace-pre-wrap font-sans text-[1.6rem] text-warning badge-info badge-neutral btn-active leading-relaxed inline-flex items-stretch w-fit bg-[#fafafa] px-5 max-h-[360px] m-0 no-underline bg-white p-2.5 animate-pulse badge-outline btn-warning btn-circle mt-1 h-40 tooltip tooltip-top w-52 whitespace-nowrap navbar navbar-start navbar-end menu menu-horizontal h-12 w-auto text-3xl leading-none text-secondary active"></div>
|
||||
|
||||
@@ -51,18 +51,22 @@ sub render_nav {
|
||||
my $logo = '';
|
||||
if ($_logo_data_uri) {
|
||||
$logo = qq{<div class="flex items-center gap-2">}
|
||||
. qq{<img src="$_logo_data_uri" alt="" style="height:48px;width:auto">}
|
||||
. qq{<span style="font-size:32px;font-weight:700;line-height:1">GNIZA <span style="color:#f47216">Backup</span></span>}
|
||||
. qq{<img src="$_logo_data_uri" alt="" class="h-12 w-auto">}
|
||||
. qq{<span class="text-3xl font-bold leading-none">GNIZA <span class="text-secondary">Backup</span></span>}
|
||||
. qq{</div>};
|
||||
}
|
||||
my $html = qq{<div class="flex items-center justify-center gap-4 mb-5">\n};
|
||||
my $html = qq{<div class="navbar bg-base-200 rounded-box mb-5">\n};
|
||||
$html .= qq{ <div class="navbar-start">\n};
|
||||
$html .= qq{ $logo\n} if $logo;
|
||||
$html .= qq{ <div role="tablist" class="tabs tabs-box tabs-lg">\n};
|
||||
$html .= qq{ </div>\n};
|
||||
$html .= qq{ <div class="navbar-end">\n};
|
||||
$html .= qq{ <ul class="menu menu-horizontal gap-1">\n};
|
||||
for my $item (@NAV_ITEMS) {
|
||||
my $active = ($item->{url} eq $current_page) ? ' tab-active' : '';
|
||||
my $active = ($item->{url} eq $current_page) ? ' active' : '';
|
||||
my $label = esc($item->{label});
|
||||
$html .= qq{ <a role="tab" class="tab no-underline$active" href="$item->{url}">$label</a>\n};
|
||||
$html .= qq{ <li><a class="no-underline$active" href="$item->{url}">$label</a></li>\n};
|
||||
}
|
||||
$html .= qq{ </ul>\n};
|
||||
$html .= qq{ </div>\n};
|
||||
$html .= qq{</div>\n};
|
||||
return $html;
|
||||
|
||||
Reference in New Issue
Block a user