Initial commit

This commit is contained in:
Chris Hunt
2024-02-17 19:06:51 +00:00
parent d184427016
commit 8fa870e8eb
6 changed files with 75 additions and 12 deletions

View File

@@ -35,16 +35,32 @@ class ItemController extends Controller
*/
public function dash(): View
{
$data['apps'] = Item::whereHas('parents', function ($query) {
$query->where('id', 0);
})->orWhere('type', 1)->pinned()->orderBy('order', 'asc')->get();
$treat_tags_as = \App\Setting::fetch('treat_tags_as');
$data['all_apps'] = Item::whereHas('parents', function ($query) {
$query->where('id', 0);
})->orWhere('type', 1)->orderBy('order', 'asc')->get();
$data["treat_tags_as"] = $treat_tags_as;
if ($treat_tags_as == 'categories') {
$data['categories'] = Item::whereHas('children')->with('children')->get();
$data['all_apps'] = Item::whereHas('parents', function ($query) {
$query->whereNot('id', 0);
})->orderBy('order', 'asc')->get();
} else {
$data['apps'] = Item::whereHas('parents', function ($query) {
$query->where('id', 0);
})->orWhere('type', 1)->pinned()->orderBy('order', 'asc')->get();
$data['all_apps'] = Item::whereHas('parents', function ($query) {
$query->where('id', 0);
})->orWhere('type', 1)->orderBy('order', 'asc')->get();
}
//$data['all_apps'] = Item::doesntHave('parents')->get();
//die(print_r($data['apps']));
// die(print_r($data));
return view('welcome', $data);
}

View File

@@ -327,5 +327,28 @@ class SettingsSeeder extends Seeder
$app->parents()->attach(0);
}
}
$tag_options = json_encode([
'folders' => 'app.settings.folders',
'tags' => 'app.settings.tags',
'categories' => 'app.settings.categories',
]);
if (! $setting = Setting::find(14)) {
$setting = new Setting;
$setting->id = 14;
$setting->group_id = 2;
$setting->key = 'treat_tags_as';
$setting->type = 'select';
$setting->options = $tag_options;
$setting->value = 'folders';
$setting->label = 'app.settings.treat_tags_as';
$setting->save();
} else {
$setting->options = $tag_options;
$setting->label = 'app.settings.treat_tags_as';
$setting->save();
}
}
}

View File

@@ -28,6 +28,10 @@ return array (
'settings.view' => 'View',
'settings.custom_css' => 'Custom CSS',
'settings.custom_js' => 'Custom JavaScript',
'settings.treat_tags_as' => 'Treat Tags As:',
'settings.folders' => 'Folders',
'settings.tags' => 'Tags',
'settings.categories' => 'Categories',
'options.none' => '- not set -',
'options.google' => 'Google',
'options.ddg' => 'DuckDuckGo',

View File

@@ -180,6 +180,9 @@ body {
list-style: none;
margin: 0;
}
#sortable.categories {
align-content: flex-start;
}
}
#config-buttons {
position: fixed;

View File

@@ -1,6 +1,23 @@
<div id="sortable">
@foreach($apps as $app)
@include('item')
@endforeach
<div id="sortable" class="{{ $treat_tags_as }}">
@if($treat_tags_as == 'categories')
@foreach($categories as $category)
<?php $apps = $category->children; ?>
<div>
{{ $category->title }}
@foreach($apps as $app)
@include('item')
@endforeach
</div>
@endforeach
@else
@foreach($apps as $app)
@include('item')
@endforeach
@endif
@include('add')
</div>

View File

@@ -3,7 +3,7 @@
@section('content')
@include('partials.search')
@if($apps->first())
@if((isset($apps) && $apps->first()) || (isset($categories) && $categories->first()))
@include('sortable')
@else
<div class="message-container2">