move into sonardesk

This commit is contained in:
Mark Gregory
2026-10-12 16:06:40 +01:00
parent 7ed8c6ef58
commit 27af94d8ca
11 changed files with 48 additions and 94 deletions
@@ -23,10 +23,10 @@
: 'Streamline operations, boost productivity, and improve customer satisfaction with one connected platform built for modern teams.',
])
@endif
<section class="abs-sonardesk-feature" style="background:linear-gradient(115deg,#0d1b30,#172b49);border-block:1px solid #3b4c68;padding:64px 0;color:#f4f6fb">
<div style="width:min(1440px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:28px">
<div style="max-width:740px"><span style="color:#e6bd6b;font-weight:800;font-size:12px;letter-spacing:.16em">ABSDEV SOFTWARE</span><h2 style="font-size:clamp(36px,4vw,56px);margin:12px 0;line-height:1.1">Sonar<span style="color:#e6bd6b">Desk</span></h2><p style="color:#c2d0e2;font-size:18px;line-height:1.6">Native SonarQube monitoring for macOS. Keep quality gates, issues and project health in view, all from your desktop.</p></div>
<div style="display:flex;gap:12px;flex-wrap:wrap"><a href="{{ route('absdev.sonardesk.home') }}" style="background:#e6bd6b;color:#0d1b30;padding:13px 20px;border-radius:9px;font-weight:800">Explore SonarDesk →</a><a href="{{ route('sonardesk.downloads') }}" style="border:1px solid #8496af;color:#f4f6fb;padding:13px 20px;border-radius:9px;font-weight:750">Downloads</a></div>
<section style="padding:78px 0;background:linear-gradient(120deg,#0b1a30,#17375a);color:#f4f7fb">
<div class="wrap" style="display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:36px;align-items:center">
<div><span style="color:#e5b95b;font-size:12px;font-weight:800;letter-spacing:.17em">ABSDEV SOFTWARE</span><h2 style="font-size:clamp(36px,4vw,55px);line-height:1.12;margin:15px 0">Meet <span style="color:#e5b95b">SonarDesk</span></h2><p style="color:#c6d4e7;font-size:18px;max-width:650px">Native SonarQube monitoring for macOS. Quality gates, vulnerabilities, bugs and issue details — without the browser clutter.</p><div style="display:flex;gap:12px;flex-wrap:wrap;margin-top:26px"><a href="{{ url('/sonardesk') }}" style="padding:12px 20px;border-radius:8px;background:#e5b95b;color:#102540;font-weight:750">Explore SonarDesk →</a><a href="{{ route('sonardesk.downloads') }}" style="padding:12px 20px;border-radius:8px;border:1px solid #ffffff77;color:white;font-weight:750">Downloads ↓</a></div></div>
<div style="border:1px solid #ffffff28;border-radius:18px;background:#ffffff0c;padding:30px"><p style="color:#e5b95b;font-weight:750">SonarDesk for macOS</p><h3 style="font-size:25px;margin:10px 0">Know your code health.</h3><p style="color:#c6d4e7">One focused workspace for project quality, issues and server connections.</p><a href="{{ url('/sonardesk/features') }}" style="color:#e5b95b;font-weight:700">Explore features →</a></div>
</div>
</section>
@endsection
@@ -14,39 +14,19 @@
@if (filter_var($headerContent['show_navigation'] ?? true, FILTER_VALIDATE_BOOL))
<nav class="desktop-nav" aria-label="Primary navigation">
@foreach ($navigationLinks as $link)
@if (strtolower(trim($link['label'])) !== 'products' && strtolower(trim($link['label'])) !== 'sonardesk')
@if (!empty($link['children']))
<details class="abs-nav-group"><summary>{{ $link['label'] }}</summary><div class="abs-nav-panel">
@foreach ($link['children'] as $child)
<a href="{{ $child['url'] }}" @if($child['target'] ?? null) target="{{ $child['target'] }}" rel="noopener" @endif>{{ $child['label'] }}</a>
@endforeach
</div></details>
@else
<a href="{{ $link['url'] }}" @if($link['target'] ?? null) target="{{ $link['target'] }}" rel="noopener" @endif>{{ $link['label'] }}</a>
@endif
@endif
@continue(in_array(strtolower(trim($link['label'])), ['products','sonardesk'], true))
<a href="{{ $link['url'] }}" @if($link['target'] ?? null) target="{{ $link['target'] }}" rel="noopener" @endif>{{ $link['label'] }}</a>
@endforeach
<details class="abs-nav-group abs-products"><summary>Products <span aria-hidden="true">⌄</span></summary>
<div class="abs-nav-panel">
<a href="{{ route('absdev.sonardesk.home') }}"><strong>SonarDesk</strong><small>Native SonarQube dashboard for Mac</small></a>
<a href="{{ route('absdev.sonardesk.features') }}">Features</a>
<a href="{{ route('absdev.sonardesk.pricing') }}">Pricing</a>
<a href="{{ route('sonardesk.downloads') }}">Downloads &amp; releases</a>
</div>
</details>
<div class="abs-products-menu"><a href="{{ url('/sonardesk') }}" aria-haspopup="true">Products <span aria-hidden="true">⌄</span></a><div class="abs-products-dropdown"><a href="{{ url('/sonardesk') }}">SonarDesk overview</a><a href="{{ url('/sonardesk/features') }}">Features</a><a href="{{ url('/sonardesk/pricing') }}">Pricing</a><a href="{{ route('sonardesk.downloads') }}">Downloads &amp; release notes</a></div></div>
</nav>
@endif
<style>
.abs-nav-group{position:relative;display:flex;align-items:center}
.abs-nav-group summary{list-style:none;cursor:pointer;color:#ddd;font-size:14px;white-space:nowrap}
.abs-nav-group summary::-webkit-details-marker{display:none}
.abs-nav-group[open] summary,.abs-nav-group summary:hover{color:#e5b95b}
.abs-nav-panel{position:absolute;top:calc(100% + 20px);left:0;width:280px;z-index:100;background:#131d30;border:1px solid #35415a;border-radius:12px;box-shadow:0 22px 45px #0008;padding:9px;display:grid;gap:2px}
.abs-nav-panel a{display:block!important;padding:10px 12px!important;color:#eaf0f9!important;border-radius:7px;font-size:13px!important}
.abs-nav-panel a:hover{background:#253550;color:#e5b95b!important}
.abs-nav-panel small{display:block;color:#aab8ce;font-size:11px}
.abs-mobile-products{padding:12px 16px;border-top:1px solid #3a3a3a;display:grid;gap:10px}
.abs-mobile-products strong{color:#e5b95b}.abs-mobile-products a{padding:5px 0!important}
.saasland-theme .abs-products-menu{position:relative;display:flex;align-items:center;height:100%}
.saasland-theme .abs-products-menu>a{white-space:nowrap}
.saasland-theme .abs-products-dropdown{display:none;position:absolute;top:100%;right:0;min-width:235px;padding:10px;background:#142c48;border:1px solid #ffffff33;border-radius:12px;box-shadow:0 16px 36px #0005;z-index:100}
.saasland-theme .abs-products-menu:hover .abs-products-dropdown,.saasland-theme .abs-products-menu:focus-within .abs-products-dropdown{display:grid}
.saasland-theme .abs-products-dropdown a{padding:10px 12px;color:#f0f4fa;border-radius:6px;font-size:14px}
.saasland-theme .abs-products-dropdown a:hover{background:#ffffff16;color:#e5b95b}
</style>
<div class="nav-actions">
@@ -69,18 +49,12 @@
@if (filter_var($headerContent['show_mobile_menu'] ?? true, FILTER_VALIDATE_BOOL))
<div id="{{ $mobileMenuId }}" class="mobile-nav" data-saasland-mobile-nav hidden>
@foreach($navigationLinks as $link)
@if (!in_array(strtolower(trim($link['label'])), ['products', 'sonardesk'], true))
<a href="{{ $link['url'] }}" @if($link['target'] ?? null) target="{{ $link['target'] }}" rel="noopener" @endif>{{ $link['label'] }}</a>
@foreach(($link['children'] ?? []) as $child)
<a href="{{ $child['url'] }}" style="padding-left:28px">{{ $child['label'] }}</a>
@endforeach
@endif
@continue(in_array(strtolower(trim($link['label'])), ['products','sonardesk'], true))
<a href="{{ $link['url'] }}" @if($link['target'] ?? null) target="{{ $link['target'] }}" rel="noopener" @endif>{{ $link['label'] }}</a>
@endforeach
<div class="abs-mobile-products"><strong>Products · SonarDesk</strong>
<a href="{{ route('absdev.sonardesk.home') }}">Overview</a>
<a href="{{ route('absdev.sonardesk.features') }}">Features</a>
<a href="{{ route('absdev.sonardesk.pricing') }}">Pricing</a>
<a href="{{ route('sonardesk.downloads') }}">Downloads &amp; releases</a>
</div>
<a href="{{ url('/sonardesk') }}">Products · SonarDesk</a>
<a href="{{ url('/sonardesk/features') }}">SonarDesk features</a>
<a href="{{ url('/sonardesk/pricing') }}">SonarDesk pricing</a>
<a href="{{ route('sonardesk.downloads') }}">Downloads &amp; releases</a>
</div>
@endif