1
0
mirror of https://github.com/Kovah/LinkAce.git synced 2025-02-24 19:22:35 +01:00

Add an alternative link view as cards, controllable via setting

This commit is contained in:
Kovah 2019-10-24 15:44:28 +02:00
parent bbd0ff0012
commit 3a35066bde
No known key found for this signature in database
GPG Key ID: AAAA031BA9830D7B
4 changed files with 111 additions and 4 deletions

View File

@ -17,6 +17,10 @@ return [
'notes_private_default' => 'Private Notes by default',
'notes_private_default_help' => 'Enabling this will make all new notes private by default',
'display_mode' => 'Display links as',
'display_mode_standard' => 'rows with much details',
'display_mode_cards' => 'cards with less details',
'sharing' => 'Link Sharing',
'sharing_help' => 'Enable all services you want to display for links, to be able to share them easily with one click.',
'sharing_toggle' => 'Toggle all on/off',

View File

@ -162,6 +162,31 @@
</div>
</div>
<div class="col">
<div class="form-group">
<label for="link_display_mode">
@lang('settings.display_mode')
</label>
<select id="link_display_mode" name="link_display_mode"
class="custom-select{{ $errors->has('link_display_mode') ? ' is-invalid' : '' }}">
<option value="0"
@if($user->settings()->get('link_display_mode') === '0') selected @endif>
@lang('settings.display_mode_standard')
</option>
<option value="1"
@if($user->settings()->get('link_display_mode') === '1') selected @endif>
@lang('settings.display_mode_cards')
</option>
</select>
@if ($errors->has('link_display_mode'))
<p class="invalid-feedback" role="alert">
{{ $errors->first('link_display_mode') }}
</p>
@endif
</div>
</div>
</div>
<div class="form-group mt-5 mb-5">

View File

@ -12,12 +12,18 @@
</a>
</header>
<section class="link-wrapper my-3">
<section class="my-3">
@if(!$links->isEmpty())
@foreach($links as $link)
@include('models.links.partials.single')
@endforeach
<div class="link-wrapper {{ usersettings('link_display_mode') === '1' ? 'row' : '' }}">
@foreach($links as $link)
@if(usersettings('link_display_mode') === '1')
@include('models.links.partials.single-cards')
@else
@include('models.links.partials.single')
@endif
@endforeach
</div>
@else

View File

@ -0,0 +1,72 @@
<div class="col-12 col-sm-6 col-md-4 mb-4">
<div class="h-100 card">
<div class="card-header">
<div class="d-flex align-items-top">
<div class="mr-2">
@if($link->is_private)
<i class="fas fa-lock text-muted mr-1" title="@lang('link.private')"></i>
@endif
{!! $link->getIcon('mr-1') !!}
<a href="{{ $link->url }}">{{ $link->title }}</a>
<br>
<small class="text-muted">({{ $link->shortUrl() }})</small>
</div>
</div>
</div>
<ul class="list-group list-group-flush h-100">
<li class="list-group-item">
@if($link->category)
<label class="small m-0">@lang('category.category'):</label>
<a href="{{ route('categories.show', [$link->category->id]) }}" class="small">
{{ $link->category->name }}
</a>
@else
<label class="small">@lang('category.no_category')</label>
@endif
</li>
<li class="list-group-item h-100">
@if($link->tags->count() > 0)
<label class="small m-0">@lang('tag.tags'):</label>
@foreach($link->tags as $tag)
<a href="{{ route('tags.show', [$tag->id]) }}" class="badge badge-light">
{{ $tag->name }}
</a>
@endforeach
@else
<span class="small">@lang('tag.no_tags')</span>
@endif
</li>
</ul>
<div class="card-footer">
<div>
<small class="text-muted">
@lang('linkace.added') {!! $link->addedAt() !!}
</small>
</div>
<div class="btn-group w-100 mt-2">
<a href="{{ route('links.show', [$link->id]) }}" class="card-link" title="@lang('link.show')">
<i class="fas fa-info fa-fw"></i>
</a>
<a href="{{ route('links.edit', [$link->id]) }}" class="card-link" title="@lang('link.edit')">
<i class="fas fa-edit fa-fw"></i>
</a>
<a href="#" title="@lang('link.delete')" class="card-link"
onclick="event.preventDefault();document.getElementById('link-delete-{{ $link->id }}').submit();">
<i class="fas fa-trash-alt fa-fw"></i>
</a>
</div>
<form id="link-delete-{{ $link->id }}" method="POST" style="display: none;"
action="{{ route('links.destroy', [$link->id]) }}">
@method('DELETE')
@csrf
<input type="hidden" name="link_id" value="{{ $link->id }}">
</form>
</div>
</div>
</div>