@extends('layouts.app') @section('title', 'KOTSCH.TECH | Apps, Tools, Webdesign & IT von Arthur Kotsch') @section('meta_description', 'Ein Name, acht Welten: iOS- & Mac-Apps, Windows-Programme, ' . $webtoolsCount . ' Web-Tools, Shop, Webdesign, News und IT-Hilfe von Arthur Kotsch.') @php use App\Support\SubdomainRegistry; $registry = new SubdomainRegistry(); // Tester wird NICHT als eigenes Welt-Band auf der Startseite gezeigt (nur im Header // bei den Software-Bereichen); noindex-Bereiche ebenfalls raus. $worlds = collect($registry->subdomains()) ->reject(fn ($a) => !empty($a['noindex']) || !empty($a['footer_only']) || ($a['key'] ?? '') === 'tester') ->values(); $icons = [ 'ios' => 'fa-apple', 'windows' => 'fa-windows', 'android' => 'fa-android', 'webtools' => 'fa-screwdriver-wrench', 'shop' => 'fa-bag-shopping', 'hosting' => 'fa-server', 'news' => 'fa-newspaper', 'it-hilfe' => 'fa-life-ring', 'webdesign' => 'fa-compass-drafting', ]; $brands = ['ios', 'windows', 'android']; $count = $worlds->count(); // Live-Anzahl der verfügbaren Web-Tools (aktualisiert sich automatisch mit der Tool-Liste). $toolCount = $webtoolsCount; // geteilte Quelle aus dem View-Composer (AppServiceProvider) $points = [ 'ios' => ['13 Apps im App Store', 'iPhone · iPad · Mac', 'Regelmäßige Updates'], 'windows' => ['9 Programme', 'Cleaner · Commander · Notes', 'Direkt-Download'], 'android' => ['Native Apps', 'In Entwicklung', 'Bald im Play Store'], 'webtools' => [$toolCount . ' Tools', 'Ohne Login nutzbar', 'Vieles lokal im Browser'], 'shop' => ['Digitale Produkte', 'Sofort-Download', 'Sichere Zahlung'], 'hosting' => ['Managed Webhosting', 'vServer / VPS', 'DSGVO-konform'], 'news' => ['Ratgeber & Tipps', 'Verständlich erklärt', 'Regelmäßig Neues'], 'it-hilfe' => ['Vor-Ort & Remote', 'Keine Lösung = kein Preis', 'PC · Handy · WLAN'], 'webdesign' => ['Studio & Vorlagen', '20 Branchen-Demos', 'Modernes Webdesign'], ]; $vrev = '?v=3'; // Cache-Buster für die Videos/Poster // iOS-Sektion: echte, immer aktuelle Apps + Updates (live aus dem App Store, gecacht) $iosApps = rescue(fn () => app(\App\Services\AppStoreService::class)->apps(), collect()); $iosCount = $iosApps->count(); $appCount = $iosCount ?: 19; // Live-Zahl; Fallback falls App-Store-Abruf scheitert $iosRecent = $iosApps->sortByDesc('updated')->take(4)->values(); // Anzeige-Sprache (siehe Apple-Views): request() bleibt der äußere Request, // daher liefert segment(1) auch beim internen /en-Dispatch korrekt 'en'. $en = in_array(request()->segment(1), ['de', 'en'], true) ? request()->segment(1) === 'en' : false; $tr = fn ($de, $enText) => $en ? $enText : $de; @endphp @section('content') {{-- Genau eine semantische H1 für die Startseite (P1-5). Visuell versteckt, da das Design mit den Welt-Bändern startet; für SEO/Screenreader voll wirksam. --}}
{{ $tr('Apps für iPhone, iPad & Mac — automatisch aktuell aus dem App Store.', 'Apps for iPhone, iPad & Mac — always up to date from the App Store.') }}
@if($iosRecent->isNotEmpty()){{ $t['tagline'] }}