move into sonardesk
This commit is contained in:
@@ -11,11 +11,14 @@
|
||||
@if ($logoUrl)<img src="{{ $logoUrl }}" alt="{{ $siteTitle }}">@else{{ $siteTitle }}@endif
|
||||
</a>
|
||||
|
||||
@if (filter_var($headerContent['show_navigation'] ?? true, FILTER_VALIDATE_BOOL) && $navigationLinks)
|
||||
@if (filter_var($headerContent['show_navigation'] ?? true, FILTER_VALIDATE_BOOL))
|
||||
<nav class="desktop-nav" aria-label="Primary navigation">
|
||||
@foreach ($navigationLinks as $link)
|
||||
<a href="{{ $link['url'] }}" @if($link['target']) target="{{ $link['target'] }}" rel="noopener" @endif>{{ $link['label'] }}</a>
|
||||
<a href="{{ $link['url'] }}" @if($link['target'] ?? null) target="{{ $link['target'] }}" rel="noopener" @endif>{{ $link['label'] }}</a>
|
||||
@endforeach
|
||||
@if (Route::has('absdev.sonardesk.home'))
|
||||
<a href="{{ route('absdev.sonardesk.home') }}">SonarDesk</a>
|
||||
@endif
|
||||
</nav>
|
||||
@endif
|
||||
|
||||
@@ -32,21 +35,17 @@
|
||||
@if (filter_var($headerContent['show_registration'] ?? true, FILTER_VALIDATE_BOOL) && Route::has('register'))<a class="btn primary nav-register" href="{{ route('register') }}">{{ $siteSettings['registration_label'] }}</a>@endif
|
||||
@endauth
|
||||
@if (filter_var($headerContent['show_mobile_menu'] ?? true, FILTER_VALIDATE_BOOL))
|
||||
<button
|
||||
class="menu"
|
||||
type="button"
|
||||
aria-label="Open navigation"
|
||||
aria-controls="{{ $mobileMenuId }}"
|
||||
aria-expanded="false"
|
||||
data-saasland-menu-toggle
|
||||
><span></span><span></span><span></span></button>
|
||||
<button class="menu" type="button" aria-label="Open navigation" aria-controls="{{ $mobileMenuId }}" aria-expanded="false" data-saasland-menu-toggle><span></span><span></span><span></span></button>
|
||||
@endif
|
||||
</div>
|
||||
</header>
|
||||
@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)
|
||||
<a href="{{ $link['url'] }}" @if($link['target']) target="{{ $link['target'] }}" rel="noopener" @endif>{{ $link['label'] }}</a>
|
||||
<a href="{{ $link['url'] }}" @if($link['target'] ?? null) target="{{ $link['target'] }}" rel="noopener" @endif>{{ $link['label'] }}</a>
|
||||
@endforeach
|
||||
@if (Route::has('absdev.sonardesk.home'))
|
||||
<a href="{{ route('absdev.sonardesk.home') }}">SonarDesk</a>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
@extends('sonardesk.layout')
|
||||
@section('title','SonarDesk for macOS')
|
||||
@section('content')<section class="hero"><p style="color:var(--gold);font-weight:700">NATIVE MACOS · SONARQUBE</p><h1>Code quality, without the clutter.</h1><p class="lead">Monitor projects, inspect issues and follow quality gates from a purpose-built macOS dashboard.</p><a class="button" href="/features">Explore features</a><a class="button secondary" href="/pricing">View pricing</a></section><div class="grid"><article class="card"><h2>At a glance</h2><p>Keep quality gates, bugs, vulnerabilities and code smells in view.</p></article><article class="card"><h2>Project focused</h2><p>Switch between projects and investigate issues with fewer distractions.</p></article><article class="card"><h2>Built for macOS</h2><p>A native interface designed for your Mac.</p></article></div>@endsection
|
||||
@section('title', 'SonarDesk')
|
||||
@section('content')
|
||||
@php
|
||||
$base = in_array(request()->getHost(), [
|
||||
'sonardesk.absdev.net', 'sonardesk.co.uk', 'www.sonardesk.co.uk',
|
||||
], true) ? '' : '/sonardesk';
|
||||
@endphp
|
||||
<section class="hero">
|
||||
<p style="color:var(--gold);font-weight:700">NATIVE MACOS · SONARQUBE</p>
|
||||
<h1>Code quality, without the clutter.</h1>
|
||||
<p class="lead">Monitor projects, inspect issues and follow quality gates from a purpose-built macOS dashboard.</p>
|
||||
<a class="button" href="{{ $base }}/features">Explore features</a>
|
||||
<a class="button secondary" href="{{ $base }}/pricing">View pricing</a>
|
||||
<a class="button secondary" href="{{ route('sonardesk.downloads') }}">Download SonarDesk</a>
|
||||
</section>
|
||||
<div class="grid">
|
||||
<article class="card"><h2>At a glance</h2><p>Keep quality gates, bugs, vulnerabilities and code smells in view.</p></article>
|
||||
<article class="card"><h2>Project focused</h2><p>Switch between projects and investigate issues with fewer distractions.</p></article>
|
||||
<article class="card"><h2>Built for macOS</h2><p>A native interface designed for your Mac.</p></article>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@@ -1 +1,50 @@
|
||||
<!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="SonarDesk, a native macOS dashboard for SonarQube."><style>:root{color-scheme:dark;--navy:#0d1c36;--gold:#e5b95b;--ink:#eef3fb}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#0d1c36,#172d4e);color:var(--ink);font:16px/1.6 system-ui,-apple-system,sans-serif}a{color:inherit}header,main,footer{max-width:1200px;margin:auto;padding:24px 32px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff26}nav{display:flex;gap:24px;flex-wrap:wrap}.brand{font-weight:800;font-size:24px;letter-spacing:-.5px}.brand span{color:var(--gold)}.hero{padding:96px 0 64px;max-width:850px}h1{font-size:clamp(42px,6vw,76px);line-height:1.08;letter-spacing:-2px;margin:0 0 24px}h2{font-size:32px}.lead{font-size:21px;color:#c5d2e5}.button{display:inline-block;background:var(--gold);color:#0d1c36;padding:14px 25px;border-radius:9px;text-decoration:none;font-weight:750;margin:12px 12px 12px 0}.button.secondary{background:#ffffff16;color:white;border:1px solid #ffffff4d}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:20px;margin:36px 0 80px}.card{padding:28px;border:1px solid #ffffff28;background:#ffffff0b;border-radius:14px}footer{border-top:1px solid #ffffff26;color:#a9b8ce}@media(max-width:650px){header{display:block}nav{margin-top:16px}.hero{padding:56px 0}}</style></head><body><header><a class="brand" href="/">Sonar<span>Desk</span></a><nav><a href="/features">Features</a><a href="/pricing">Pricing</a><a href="https://absdev.net">ABSDev</a></nav></header><main>@yield('content')</main><footer>SonarDesk by ABSDev · macOS software</footer></body></html>
|
||||
@php
|
||||
$isDedicatedHost = in_array(request()->getHost(), [
|
||||
'sonardesk.absdev.net', 'sonardesk.co.uk', 'www.sonardesk.co.uk',
|
||||
], true);
|
||||
$base = $isDedicatedHost ? '' : '/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="SonarDesk, a native macOS dashboard for SonarQube.">
|
||||
<style>
|
||||
:root{color-scheme:dark;--navy:#0d1c36;--gold:#e5b95b;--ink:#eef3fb}
|
||||
*{box-sizing:border-box}
|
||||
body{margin:0;background:linear-gradient(135deg,#0d1c36,#172d4e);color:var(--ink);font:16px/1.6 system-ui,-apple-system,sans-serif}
|
||||
a{color:inherit}
|
||||
header,main,footer{max-width:1200px;margin:auto;padding:24px 32px}
|
||||
header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff26}
|
||||
nav{display:flex;gap:24px;flex-wrap:wrap}
|
||||
.brand{font-weight:800;font-size:24px;letter-spacing:-.5px}
|
||||
.brand span{color:var(--gold)}
|
||||
.hero{padding:96px 0 64px;max-width:850px}
|
||||
h1{font-size:clamp(42px,6vw,76px);line-height:1.08;letter-spacing:-2px;margin:0 0 24px}
|
||||
h2{font-size:32px}
|
||||
.lead{font-size:21px;color:#c5d2e5}
|
||||
.button{display:inline-block;background:var(--gold);color:var(--navy);padding:14px 25px;border-radius:9px;text-decoration:none;font-weight:750;margin:12px 12px 12px 0}
|
||||
.button.secondary{background:#ffffff16;color:white;border:1px solid #ffffff4d}
|
||||
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:20px;margin:36px 0 80px}
|
||||
.card{padding:28px;border:1px solid #ffffff28;background:#ffffff0b;border-radius:14px}
|
||||
footer{border-top:1px solid #ffffff26;color:#a9b8ce}
|
||||
@media(max-width:650px){header{display:block}nav{margin-top:16px}.hero{padding:56px 0}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<a class="brand" href="{{ $base ?: '/' }}">Sonar<span>Desk</span></a>
|
||||
<nav>
|
||||
<a href="{{ $base }}/features">Features</a>
|
||||
<a href="{{ $base }}/pricing">Pricing</a>
|
||||
<a href="{{ route('sonardesk.downloads') }}">Downloads</a>
|
||||
<a href="{{ route('sonardesk.buy') }}">Buy</a>
|
||||
<a href="https://absdev.net">ABSDEV</a>
|
||||
</nav>
|
||||
</header>
|
||||
<main>@yield('content')</main>
|
||||
<footer>SonarDesk by ABSDEV · macOS software</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+7
-10
@@ -12,18 +12,15 @@ Route::get('/', function () {
|
||||
return stylist_frontend_view(stylist()->frontend()->entryView());
|
||||
})->name('home');
|
||||
|
||||
// Public SonarDesk product pages on ABSDEV.
|
||||
Route::prefix('sonardesk')->name('absdev.sonardesk.')->group(function (): void {
|
||||
Route::view('/', 'sonardesk.home')->name('home');
|
||||
Route::view('/features', 'sonardesk.features')->name('features');
|
||||
Route::view('/pricing', 'sonardesk.pricing')->name('pricing');
|
||||
});
|
||||
|
||||
Route::middleware(['auth', 'verified'])->group(function () {
|
||||
Route::get('/dashboard', DashboardController::class)->name('dashboard');
|
||||
});
|
||||
|
||||
|
||||
// SonarDesk public product pages on ABSDEV.
|
||||
|
||||
Route::prefix('sonardesk')
|
||||
->name('absdev.sonardesk.')
|
||||
->group(function (): void {
|
||||
Route::view('/', 'sonardesk.home')->name('home');
|
||||
Route::view('/features', 'sonardesk.features')->name('features');
|
||||
Route::view('/pricing', 'sonardesk.pricing')->name('pricing');
|
||||
});
|
||||
require __DIR__.'/settings.php';
|
||||
|
||||
Reference in New Issue
Block a user