move into sonardesk

This commit is contained in:
Mark Gregory
2026-10-12 16:35:14 +01:00
parent 663e311724
commit 04c1f9fb26
5 changed files with 370 additions and 20 deletions
File diff suppressed because one or more lines are too long
+14 -2
View File
@@ -1,3 +1,15 @@
@extends('sonardesk.layout')
@section('title','SonarDesk Features')
@section('content')<div class="product-shell"><header class="page-heading"><span class="eyebrow">Features</span><h1>A native workspace for SonarQube.</h1><p>Stay close to your projects, quality gates and issues without the browser overhead.</p></header><div class="cards"><article class="card"><h3>Quality gates</h3><p>Spot passing and failing projects immediately.</p></article><article class="card"><h3>Bugs &amp; vulnerabilities</h3><p>Inspect reliability and security issues in context.</p></article><article class="card"><h3>Code smells</h3><p>Explore maintainability findings and issue details.</p></article><article class="card"><h3>Multiple projects</h3><p>Keep your project list organised and switch context quickly.</p></article><article class="card"><h3>Multiple servers</h3><p>Manage connections to your SonarQube environments.</p></article><article class="card"><h3>Export reports</h3><p>Produce project reports for sharing and AI-assisted analysis.</p></article></div><section class="product-section"><div class="callout"><div><h2>Download SonarDesk</h2><p>Find current installers and complete release notes.</p></div><a class="button" href="{{ route('sonardesk.downloads') }}">Downloads →</a></div></section></div>@endsection
@section('content')
<section class="hero-card marketing-hero compact-hero"><span class="eyebrow">Features</span><h1>A focused desktop companion for SonarQube.</h1><p class="lead">Built around the checks developers make every day: project status, quality gates, issues, security findings and measures.</p><div class="support-actions marketing-actions"><a class="btn btn-primary" href="{{ route('sonardesk.buy') }}">Start free trial</a><a class="btn btn-secondary" href="{{ route('sonardesk.downloads') }}">Read the release notes</a></div></section>
<div class="feature-detail-grid">
<article class="feature-detail"><span>Projects</span><h2>Project dashboard</h2><p>Keep configured SonarQube projects together and scan project health without opening a collection of browser tabs.</p></article>
<article class="feature-detail"><span>Quality</span><h2>Quality gates and measures</h2><p>Surface the status and metrics that tell you whether a project needs attention, in a layout designed for quick review.</p></article>
<article class="feature-detail"><span>Issues</span><h2>Bugs, vulnerabilities and code smells</h2><p>Browse the major SonarQube issue categories, filter the list and open an issue to inspect its details and context.</p></article>
<article class="feature-detail"><span>Scale</span><h2>Server-side pagination</h2><p>Issue browsing is designed to remain practical on projects with larger result sets by paging data from the server.</p></article>
<article class="feature-detail"><span>Connections</span><h2>Multiple SonarQube servers</h2><p>Configure the environments you work with and keep them available from the same SonarDesk workspace.</p></article>
<article class="feature-detail"><span>Security</span><h2>macOS Keychain</h2><p>SonarQube tokens are stored using macOS Keychain rather than being treated as ordinary application preferences.</p></article>
<article class="feature-detail"><span>Licensing</span><h2>Email delivery and self-service portal</h2><p>After checkout, the licence key is emailed to the customer. The SonarDesk portal can resend the key and manage licence information and Mac activations.</p></article>
<article class="feature-detail"><span>Distribution</span><h2>Built for direct Mac distribution</h2><p>SonarDesk is distributed directly for macOS, giving the product a focused release and support channel outside the Mac App Store.</p></article>
</div>
<section class="cta-panel"><div><span class="eyebrow">7-day free trial</span><h2>Try the complete app.</h2><p>Choose Personal for one active Mac or Professional for up to three.</p></div><a class="btn btn-primary" href="{{ route('sonardesk.buy') }}">View pricing</a></section>
@endsection
+44 -4
View File
@@ -1,7 +1,47 @@
@extends('sonardesk.layout')
@section('title','SonarDesk — Native SonarQube dashboard for macOS')
@section('content')
<section class="product-hero"><div class="product-shell hero-grid"><div><span class="eyebrow">Native macOS · SonarQube</span><h1>Code quality.<br><em>Without the clutter.</em></h1><p class="lead">A dedicated Mac dashboard for SonarQube. Track quality gates, bugs, vulnerabilities and code smells across projects without living in a browser.</p><div class="actions"><a class="button" href="{{ route('sonardesk.downloads') }}">Download SonarDesk ↓</a><a class="button secondary" href="{{ url('/sonardesk/features') }}">Explore features →</a></div><p style="color:#aab9cb;margin-top:18px">Built for macOS · Multiple SonarQube servers · Native workflow</p></div><div class="app-window" aria-label="Illustrative SonarDesk application dashboard"><div class="app-window-bar"><i></i><i></i><i></i></div><div class="app-window-body"><span class="eyebrow">Project overview</span><h3>Code health at a glance</h3><div class="app-stats"><div class="app-stat"><b style="color:#13865c">✓ Passed</b><span>Quality gate</span></div><div class="app-stat"><b>12</b><span>Issues to review</span></div><div class="app-stat"><b>3</b><span>Projects</span></div><div class="app-stat"><b>1</b><span>Security hotspots</span></div></div><p class="muted" style="font-size:12px">Illustrative preview, not live project data.</p></div></div></div></section>
<section class="product-section"><div class="product-shell"><div class="section-heading"><span class="eyebrow">Everything in one workspace</span><h2>See the signals. Investigate the issues.</h2><p>Designed for developers who need actionable SonarQube information without switching tabs.</p></div><div class="cards"><article class="card"><span class="eyebrow">01 · Monitor</span><h3>Quality gates &amp; metrics</h3><p>See gate status, bugs, vulnerabilities and maintainability at a glance.</p></article><article class="card"><span class="eyebrow">02 · Investigate</span><h3>Issue navigation</h3><p>Browse issues and move through details quickly, from one native workspace.</p></article><article class="card"><span class="eyebrow">03 · Organise</span><h3>Projects &amp; servers</h3><p>Switch between projects and manage SonarQube server connections.</p></article><article class="card"><span class="eyebrow">04 · Share</span><h3>Project reports</h3><p>Export reports for review and AI-assisted analysis.</p></article><article class="card"><span class="eyebrow">05 · Native</span><h3>Made for your Mac</h3><p>A focused desktop application that respects macOS workflows.</p></article><article class="card"><span class="eyebrow">06 · Explore</span><h3>More than a status badge</h3><p>Drill into code smells, bugs and security findings by project.</p></article></div></div></section>
<section class="product-section alt"><div class="product-shell"><div class="callout"><div><h2>Ready to see your code clearly?</h2><p>Browse the latest installers, release notes and available licence plans.</p></div><div class="actions"><a class="button" href="{{ route('sonardesk.downloads') }}">Get SonarDesk ↓</a><a class="button secondary" href="{{ url('/sonardesk/pricing') }}">View pricing →</a></div></div></div></section>
<section class="hero-card marketing-hero">
<span class="eyebrow">SonarQube, without the browser tab sprawl</span>
<h1>Your code quality.<br>At home on the Mac.</h1>
<p class="lead">SonarDesk is a focused native macOS companion for developers and teams using SonarQube. See project health, quality gates, bugs, vulnerabilities, code smells and measures in one fast desktop workspace.</p>
<div class="support-actions marketing-actions">
<a class="btn btn-primary" href="{{ route('sonardesk.buy') }}">Start 7-day free trial</a>
<a class="btn btn-secondary" href="{{ $base }}/features">Explore features</a>
</div>
<p class="microcopy">Direct download for macOS · Secure licence activation · Cancel anytime</p>
</section>
<section class="trust-strip" aria-label="SonarDesk highlights">
<span>Native macOS app</span><span>Multiple SonarQube servers</span><span>Keychain token storage</span><span>Issue detail workflow</span>
</section>
<section class="section-block">
<div class="section-heading"><span class="eyebrow">Built for daily engineering work</span><h2>See the signal. Open the issue. Get back to code.</h2><p>SonarDesk keeps the information you check most often close at hand, without replacing SonarQube or changing your existing workflow.</p></div>
<div class="feature-grid">
<article class="feature-card"><div class="feature-icon">01</div><h3>Project health at a glance</h3><p>Review configured projects, quality gate state and important measures from a clean Mac dashboard.</p></article>
<article class="feature-card"><div class="feature-icon">02</div><h3>Issue details that are useful</h3><p>Open bugs, vulnerabilities and code smells to see the context you need before switching back to the codebase.</p></article>
<article class="feature-card"><div class="feature-icon">03</div><h3>Focused filtering</h3><p>Work through issue lists with practical filters and server-side pagination rather than fighting a giant browser view.</p></article>
<article class="feature-card"><div class="feature-icon">04</div><h3>Multiple servers</h3><p>Keep the SonarQube environments you work with available from one desktop application.</p></article>
<article class="feature-card"><div class="feature-icon">05</div><h3>macOS security</h3><p>SonarQube access tokens are stored in the macOS Keychain. SonarDesk respects the permissions of the token you provide.</p></article>
<article class="feature-card"><div class="feature-icon">06</div><h3>Native workflow</h3><p>A purpose-built macOS interface with familiar navigation, desktop behaviour and a focused experience for engineering teams.</p></article>
</div>
</section>
<section class="section-block split-panel">
<div><span class="eyebrow">Designed to complement SonarQube</span><h2>Keep SonarQube as the source of truth.</h2><p class="lead compact">SonarDesk is a desktop companion, not a replacement. It connects to your SonarQube server using your credentials and presents the project and issue information you need for everyday monitoring.</p></div>
<div class="check-panel"><div>Quality gates and measures</div><div>Bugs, vulnerabilities and code smells</div><div>Project and issue navigation</div><div>Secure token storage in Keychain</div><div>Customer portal for licences and activations</div></div>
</section>
<section class="section-block pricing-preview">
<div class="section-heading"><span class="eyebrow">Straightforward pricing</span><h2>Start small. Upgrade when you need more Macs.</h2><p>Every plan includes the full SonarDesk application. Professional increases the activation allowance for people working across multiple Macs.</p></div>
<div class="pricing-preview-grid">
<article class="price-card"><span class="eyebrow">Personal</span><h3>For one Mac</h3><div class="marketing-price">£24.99 <small>/ year</small></div><p>or £2.99 monthly</p><ul class="features"><li>Full SonarDesk feature set</li><li>1 active Mac</li><li>7-day free trial</li><li>Licence key delivered by email</li><li>Customer licence portal</li></ul></article>
<article class="price-card featured"><span class="pill">Most popular</span><span class="eyebrow">Professional</span><h3>For a multi-Mac workflow</h3><div class="marketing-price">£44.99 <small>/ year</small></div><p>or £4.99 monthly</p><ul class="features"><li>Full SonarDesk feature set</li><li>Up to 3 active Macs</li><li>7-day free trial</li><li>Licence key delivered by email</li><li>Customer licence portal</li></ul></article>
</div>
<div class="center-action"><a class="btn btn-primary" href="{{ route('sonardesk.buy') }}">See pricing and start trial</a></div>
</section>
<section class="home-download-showcase"><div class="home-download-copy"><span class="eyebrow">Desktop distribution</span><h2>Ready when you are.</h2><p>Download the latest signed SonarDesk release for macOS, review what changed, verify the package checksum and browse previous versions from one dedicated release centre.</p><div class="support-actions">@if(false)<a class="btn btn-primary" href="{{ route('sonardesk.latest') }}">Download SonarDesk </a>@else<a class="btn btn-primary" href="{{ route('sonardesk.downloads') }}">Visit download centre</a>@endif<a class="btn btn-secondary" href="{{ route('sonardesk.downloads') }}">Release notes</a></div></div><div class="home-download-meta">@if(false)<span>Latest stable</span><strong>Version </strong><small>Build · · macOS </small><div><b>SHA-256</b><code></code></div>@else<span>SonarDesk releases</span><strong>Distribution centre</strong><small>Published builds will appear here automatically.</small>@endif</div></section>
<section class="cta-panel"><div><span class="eyebrow">SonarDesk for macOS</span><h2>Make SonarQube easier to keep an eye on.</h2><p>Try SonarDesk for seven days and connect it to your existing SonarQube environment.</p></div><a class="btn btn-primary" href="{{ route('sonardesk.buy') }}">Start free trial</a></section>
@endsection
+2 -12
View File
@@ -3,15 +3,5 @@
$base = $dedicated ? '' : '/sonardesk';
@endphp
<!doctype html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>@yield('title', 'SonarDesk') · ABSDEV</title><meta name="description" content="@yield('description', 'SonarDesk, native macOS SonarQube monitoring, releases and downloads from ABSDEV')">
<link rel="stylesheet" href="{{ asset('css/sonardesk-product.css') }}"></head>
<body class="product-site">
<header class="product-header"><div class="product-shell header-inner">
<a class="product-brand" href="{{ $base ?: '/' }}"><span class="brand-symbol">S</span><strong>Sonar<span>Desk</span></strong></a>
<nav aria-label="Product navigation" class="product-nav"><a href="{{ $base ?: '/' }}">Overview</a><a href="{{ $base }}/features">Features</a><a href="{{ $base }}/pricing">Pricing</a><a href="{{ route('sonardesk.downloads') }}">Downloads</a><a href="{{ route('account.sonardesk.index') }}">My licences</a></nav>
<a class="header-parent" href="{{ url('https://absdev.net') }}">ABSDEV ↗</a>
</div></header>
<main id="main">@yield('content')</main>
<footer class="product-footer"><div class="product-shell footer-inner"><div><strong>SonarDesk</strong><p>Native SonarQube monitoring for macOS · An ABSDEV product.</p></div><div class="footer-links"><a href="{{ $base ?: '/' }}">Overview</a><a href="{{ route('sonardesk.downloads') }}">Downloads</a><a href="{{ route('sonardesk.buy') }}">Licensing</a><a href="{{ url('https://absdev.net') }}">ABSDEV</a></div></div></footer>
</body></html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><meta name="theme-color" content="#0b1220"><title>@yield('title','SonarDesk — Native SonarQube monitoring for macOS')</title><meta name="description" content="@yield('description','Native SonarQube monitoring for macOS.')"><link rel="stylesheet" href="{{ asset('css/sonardesk-original.css') }}"></head>
<body><header class="site-header"><nav class="nav-shell" aria-label="Primary navigation"><a class="brand" href="{{ $base ?: '/' }}"><img src="{{ asset('icons/sonardesk-icon-64.png') }}" alt="" width="34" height="34"><span>SonarDesk</span></a><div class="nav-links"><a href="{{ $base ?: '/' }}">Product</a><a href="{{ $base }}/features">Features</a><a href="{{ $base }}/pricing">Pricing</a><a href="{{ route('sonardesk.downloads') }}">Downloads</a><a href="{{ route('account.sonardesk.index') }}">My licences</a></div><div class="nav-account"><a class="nav-auth-link" href="{{ url('/') }}">ABSDEV</a><a class="nav-cta" href="{{ route('sonardesk.buy') }}">Start free trial</a></div></nav></header><main class="wrap">@yield('content')</main><footer class="site-footer"><div class="footer-shell"><div><div class="footer-brand"><img src="{{ asset('icons/sonardesk-icon-64.png') }}" alt="" width="28" height="28"><span>SonarDesk</span></div><div class="footer-copy">Native SonarQube monitoring for macOS.</div></div><div class="footer-links"><a href="{{ $base ?: '/' }}">Product</a><a href="{{ $base }}/features">Features</a><a href="{{ $base }}/pricing">Pricing</a><a href="{{ route('sonardesk.downloads') }}">Downloads</a><a href="{{ url('/') }}">ABSDEV</a></div></div></footer></body></html>
+6 -2
View File
@@ -1,3 +1,7 @@
@extends('sonardesk.layout')
@section('title','SonarDesk Pricing')
@section('content')<div class="product-shell"><header class="page-heading"><span class="eyebrow">Licensing</span><h1>Choose the right SonarDesk plan.</h1><p>Personal and Professional licensing for a native macOS SonarQube workflow.</p></header><div class="price-grid"><article class="price-card"><span class="eyebrow">Personal</span><h2>For individual developers</h2><div class="price-number">£4.99 <small>/ month</small></div><p class="muted">Or £39.99 per year</p><ul class="feature-list"><li>Native macOS dashboard</li><li>Project quality gates and issues</li><li>Organised SonarQube workflow</li></ul><a class="button" href="{{ route('sonardesk.buy') }}">Choose Personal →</a></article><article class="price-card featured"><span class="eyebrow">Professional</span><h2>For professional workflows</h2><div class="price-number">£8.99 <small>/ month</small></div><p class="muted">Or £79.99 per year</p><ul class="feature-list"><li>Professional SonarDesk licence</li><li>Multi-project workflows</li><li>Developer-focused issue exploration</li></ul><a class="button" href="{{ route('sonardesk.buy') }}">Choose Professional →</a></article></div><p class="muted" style="margin:24px 0 70px">Final billing options and terms are shown by the existing licensing checkout.</p></div>@endsection
@section('title','Pricing — SonarDesk')
@section('content')
<section class="hero-card marketing-hero compact-hero"><span class="eyebrow">Straightforward pricing</span><h1>SonarDesk for every Mac workflow.</h1><p class="lead">Choose Personal or Professional. Secure checkout and licence activation through ABSDEV.</p></section>
<section class="section-block"><div class="pricing-preview-grid"><article class="price-card"><span class="eyebrow">Personal</span><h3>For individual developers</h3><div class="marketing-price">£39.99 <small>/ year</small></div><p>or £4.99 monthly</p><ul class="features"><li>Native macOS SonarQube monitoring</li><li>Quality gates, issues and project health</li><li>Licence management</li></ul><a class="btn btn-primary" href="{{ route('sonardesk.buy') }}">Choose Personal</a></article><article class="price-card featured"><span class="pill">Professional</span><span class="eyebrow">Professional</span><h3>For multi-Mac workflows</h3><div class="marketing-price">£79.99 <small>/ year</small></div><p>or £8.99 monthly</p><ul class="features"><li>All SonarDesk features</li><li>Professional licensing</li><li>Customer licence portal</li></ul><a class="btn btn-primary" href="{{ route('sonardesk.buy') }}">Choose Professional</a></article></div><p class="microcopy">Final billing terms and trial availability are confirmed during checkout.</p></section>
<section class="cta-panel"><div><span class="eyebrow">Get started</span><h2>Ready to try SonarDesk?</h2><p>Download the latest macOS release or view available plans.</p></div><a class="btn btn-secondary" href="{{ route('sonardesk.downloads') }}">View downloads</a></section>
@endsection