mirror of
https://github.com/HolgerHatGarKeineNode/einundzwanzig-app.git
synced 2025-12-13 23:56:47 +00:00
📋 Improve service links section: Add copy-to-clipboard functionality for IP and URLs, remove unnecessary whitespace-pre-wrap class, and display "Anonymous" when appropriate.
This commit is contained in:
@@ -87,7 +87,7 @@ class extends Component {
|
|||||||
@if($service->intro)
|
@if($service->intro)
|
||||||
<flux:card class="p-6">
|
<flux:card class="p-6">
|
||||||
<flux:heading size="lg" class="mb-4">{{ __('Beschreibung') }}</flux:heading>
|
<flux:heading size="lg" class="mb-4">{{ __('Beschreibung') }}</flux:heading>
|
||||||
<div class="prose dark:prose-invert max-w-none whitespace-pre-wrap">
|
<div class="prose dark:prose-invert max-w-none">
|
||||||
{{ $service->intro }}
|
{{ $service->intro }}
|
||||||
</div>
|
</div>
|
||||||
</flux:card>
|
</flux:card>
|
||||||
@@ -97,7 +97,7 @@ class extends Component {
|
|||||||
@if($service->contact)
|
@if($service->contact)
|
||||||
<flux:card class="p-6">
|
<flux:card class="p-6">
|
||||||
<flux:heading size="lg" class="mb-4">{{ __('Kontakt') }}</flux:heading>
|
<flux:heading size="lg" class="mb-4">{{ __('Kontakt') }}</flux:heading>
|
||||||
<div class="prose dark:prose-invert max-w-none whitespace-pre-wrap">
|
<div class="prose dark:prose-invert max-w-none">
|
||||||
{{ $service->contact }}
|
{{ $service->contact }}
|
||||||
</div>
|
</div>
|
||||||
</flux:card>
|
</flux:card>
|
||||||
@@ -109,34 +109,75 @@ class extends Component {
|
|||||||
<!-- Links -->
|
<!-- Links -->
|
||||||
<flux:card class="p-6">
|
<flux:card class="p-6">
|
||||||
<flux:heading size="lg" class="mb-4">{{ __('Zugriff') }}</flux:heading>
|
<flux:heading size="lg" class="mb-4">{{ __('Zugriff') }}</flux:heading>
|
||||||
<div class="flex flex-col gap-2">
|
<div class="flex flex-col gap-3">
|
||||||
@if($service->url_clearnet)
|
@if($service->url_clearnet)
|
||||||
<flux:link :href="$service->url_clearnet" external
|
<div class="flex items-center justify-between gap-2">
|
||||||
class="text-blue-600 dark:text-blue-400 flex items-center gap-2">
|
<flux:link :href="$service->url_clearnet" external
|
||||||
<flux:icon.globe-alt variant="mini"/>
|
class="text-blue-600 dark:text-blue-400 flex items-center gap-2">
|
||||||
<span>Clearnet</span>
|
<flux:icon.globe-alt variant="mini"/>
|
||||||
</flux:link>
|
<span>Clearnet</span>
|
||||||
|
</flux:link>
|
||||||
|
<div x-copy-to-clipboard="'{{ $service->url_clearnet }}'">
|
||||||
|
<flux:button icon="clipboard" size="xs" variant="ghost" class="cursor-pointer">
|
||||||
|
{{ __('Copy') }}
|
||||||
|
</flux:button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@endif
|
@endif
|
||||||
@if($service->url_onion)
|
@if($service->url_onion)
|
||||||
<flux:link :href="$service->url_onion" external
|
<div class="flex items-center justify-between gap-2">
|
||||||
class="text-purple-600 dark:text-purple-400 flex items-center gap-2">
|
<flux:link :href="$service->url_onion" external
|
||||||
<flux:icon.lock-closed variant="mini"/>
|
class="text-purple-600 dark:text-purple-400 flex items-center gap-2">
|
||||||
<span>Onion / Tor</span>
|
<flux:icon.lock-closed variant="mini"/>
|
||||||
</flux:link>
|
<span>Onion / Tor</span>
|
||||||
|
</flux:link>
|
||||||
|
<div x-copy-to-clipboard="'{{ $service->url_onion }}'">
|
||||||
|
<flux:button icon="clipboard" size="xs" variant="ghost" class="cursor-pointer">
|
||||||
|
{{ __('Copy') }}
|
||||||
|
</flux:button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@endif
|
@endif
|
||||||
@if($service->url_i2p)
|
@if($service->url_i2p)
|
||||||
<flux:link :href="$service->url_i2p" external
|
<div class="flex items-center justify-between gap-2">
|
||||||
class="text-green-600 dark:text-green-400 flex items-center gap-2">
|
<flux:link :href="$service->url_i2p" external
|
||||||
<flux:icon.link variant="mini"/>
|
class="text-green-600 dark:text-green-400 flex items-center gap-2">
|
||||||
<span>I2P</span>
|
<flux:icon.link variant="mini"/>
|
||||||
</flux:link>
|
<span>I2P</span>
|
||||||
|
</flux:link>
|
||||||
|
<div x-copy-to-clipboard="'{{ $service->url_i2p }}'">
|
||||||
|
<flux:button icon="clipboard" size="xs" variant="ghost" class="cursor-pointer">
|
||||||
|
{{ __('Copy') }}
|
||||||
|
</flux:button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@endif
|
@endif
|
||||||
@if($service->url_pkdns)
|
@if($service->url_pkdns)
|
||||||
<flux:link :href="$service->url_pkdns" external
|
<div class="flex items-center justify-between gap-2">
|
||||||
class="text-orange-600 dark:text-orange-400 flex items-center gap-2">
|
<flux:link :href="$service->url_pkdns" external
|
||||||
<flux:icon.link variant="mini"/>
|
class="text-orange-600 dark:text-orange-400 flex items-center gap-2">
|
||||||
<span>pkdns</span>
|
<flux:icon.link variant="mini"/>
|
||||||
</flux:link>
|
<span>pkdns</span>
|
||||||
|
</flux:link>
|
||||||
|
<div x-copy-to-clipboard="'{{ $service->url_pkdns }}'">
|
||||||
|
<flux:button icon="clipboard" size="xs" variant="ghost" class="cursor-pointer">
|
||||||
|
{{ __('Copy') }}
|
||||||
|
</flux:button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@if($service->ip)
|
||||||
|
<div class="flex items-center justify-between gap-2">
|
||||||
|
<div class="flex items-center gap-2 font-mono text-sm text-gray-700 dark:text-gray-300">
|
||||||
|
<flux:icon.server variant="mini"/>
|
||||||
|
<span>{{ $service->ip }}</span>
|
||||||
|
</div>
|
||||||
|
<div x-copy-to-clipboard="'{{ $service->ip }}'">
|
||||||
|
<flux:button icon="clipboard" size="xs" variant="ghost" class="cursor-pointer">
|
||||||
|
{{ __('Copy') }}
|
||||||
|
</flux:button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</flux:card>
|
</flux:card>
|
||||||
@@ -148,13 +189,13 @@ class extends Component {
|
|||||||
<!-- Created By -->
|
<!-- Created By -->
|
||||||
<div>
|
<div>
|
||||||
<div class="text-gray-500 dark:text-gray-400 mb-1">{{ __('Erstellt von') }}</div>
|
<div class="text-gray-500 dark:text-gray-400 mb-1">{{ __('Erstellt von') }}</div>
|
||||||
@if($service->createdBy)
|
@if($service->anon || !$service->createdBy)
|
||||||
|
<span class="text-gray-500 dark:text-gray-400 italic">{{ __('Anonymous') }}</span>
|
||||||
|
@else
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<flux:avatar size="xs" src="{{ $service->createdBy->profile_photo_url }}"/>
|
<flux:avatar size="xs" src="{{ $service->createdBy->profile_photo_url }}"/>
|
||||||
<span class="font-medium">{{ $service->createdBy->name }}</span>
|
<span class="font-medium">{{ $service->createdBy->name }}</span>
|
||||||
</div>
|
</div>
|
||||||
@else
|
|
||||||
<span class="text-gray-500 dark:text-gray-400 italic">{{ __('Anonymous') }}</span>
|
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user