Rename column names
This commit is contained in:
@@ -17,8 +17,8 @@ class UserController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(string $username): \Illuminate\View\View
|
public function index(string $username): \Illuminate\View\View
|
||||||
{
|
{
|
||||||
$user = User::where('username', $username)
|
$user = User::where('name', $username)
|
||||||
->select('id', 'username', 'global_name', 'avatar', 'created_at', 'is_patreon')
|
->select('id', 'name', 'discord_name', 'avatar', 'created_at', 'is_patreon')
|
||||||
->firstOrFail();
|
->firstOrFail();
|
||||||
|
|
||||||
return view('user.index', [
|
return view('user.index', [
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ class AdminCommentSearch extends Component
|
|||||||
{
|
{
|
||||||
$comments = DB::table('comments')
|
$comments = DB::table('comments')
|
||||||
->join('users', 'comments.commenter_id', '=', 'users.id')
|
->join('users', 'comments.commenter_id', '=', 'users.id')
|
||||||
->select('comments.*', 'users.username')
|
->select('comments.*', 'users.name')
|
||||||
->when($this->search !== '', fn ($query) => $query->where('comment', 'LIKE', "%$this->search%"))
|
->when($this->search !== '', fn ($query) => $query->where('comment', 'LIKE', "%$this->search%"))
|
||||||
->when($this->userSearch !== '', fn ($query) => $query->where('username', 'LIKE', "%$this->userSearch%"))
|
->when($this->userSearch !== '', fn ($query) => $query->where('name', 'LIKE', "%$this->userSearch%"))
|
||||||
->paginate(12);
|
->paginate(12);
|
||||||
|
|
||||||
return view('livewire.admin-comment-search', [
|
return view('livewire.admin-comment-search', [
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ class AdminUserSearch extends Component
|
|||||||
->when($this->patreon !== [], fn ($query) => $query->where('is_patreon', 1))
|
->when($this->patreon !== [], fn ($query) => $query->where('is_patreon', 1))
|
||||||
->when($this->banned !== [], fn ($query) => $query->where('is_banned', 1))
|
->when($this->banned !== [], fn ($query) => $query->where('is_banned', 1))
|
||||||
->when($this->search !== '', fn ($query) => $query->where(function($query) {
|
->when($this->search !== '', fn ($query) => $query->where(function($query) {
|
||||||
$query->where('username', 'like', '%'.$this->search.'%')
|
$query->where('name', 'like', '%'.$this->search.'%')
|
||||||
->orWhere('global_name', 'like', '%'.$this->search.'%');
|
->orWhere('discord_name', 'like', '%'.$this->search.'%');
|
||||||
}))
|
}))
|
||||||
->paginate(20);
|
->paginate(20);
|
||||||
|
|
||||||
|
|||||||
@@ -7,15 +7,13 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|||||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
use Illuminate\Notifications\Notifiable;
|
use Illuminate\Notifications\Notifiable;
|
||||||
|
|
||||||
use Jakyeru\Larascord\Traits\InteractsWithDiscord;
|
|
||||||
use Laravelista\Comments\Commenter;
|
use Laravelista\Comments\Commenter;
|
||||||
use Laravel\Sanctum\HasApiTokens;
|
|
||||||
|
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class User extends Authenticatable
|
class User extends Authenticatable
|
||||||
{
|
{
|
||||||
use HasApiTokens, HasFactory, Notifiable, InteractsWithDiscord, Commenter;
|
use HasFactory, Notifiable, Commenter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The attributes that are mass assignable.
|
* The attributes that are mass assignable.
|
||||||
@@ -23,22 +21,15 @@ class User extends Authenticatable
|
|||||||
* @var string[]
|
* @var string[]
|
||||||
*/
|
*/
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'id',
|
'name',
|
||||||
'username',
|
|
||||||
'global_name',
|
|
||||||
'discriminator',
|
|
||||||
'email',
|
'email',
|
||||||
'avatar',
|
'password',
|
||||||
'verified',
|
|
||||||
'banner',
|
|
||||||
'banner_color',
|
|
||||||
'accent_color',
|
|
||||||
'locale',
|
'locale',
|
||||||
'mfa_enabled',
|
|
||||||
'premium_type',
|
|
||||||
'public_flags',
|
|
||||||
'roles',
|
|
||||||
'is_banned',
|
'is_banned',
|
||||||
|
// Discord
|
||||||
|
'discord_id',
|
||||||
|
'discord_name',
|
||||||
|
'discord_avatar',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,6 +38,7 @@ class User extends Authenticatable
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $hidden = [
|
protected $hidden = [
|
||||||
|
'password',
|
||||||
'remember_token',
|
'remember_token',
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -56,22 +48,19 @@ class User extends Authenticatable
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
'id' => 'integer',
|
// Laravel defaults
|
||||||
'username' => 'string',
|
'email_verified_at' => 'datetime',
|
||||||
'global_name' => 'string',
|
'password' => 'hashed',
|
||||||
'discriminator' => 'string',
|
// Other
|
||||||
|
'name' => 'string',
|
||||||
'email' => 'string',
|
'email' => 'string',
|
||||||
'avatar' => 'string',
|
|
||||||
'verified' => 'boolean',
|
|
||||||
'banner' => 'string',
|
|
||||||
'banner_color' => 'string',
|
|
||||||
'accent_color' => 'string',
|
|
||||||
'locale' => 'string',
|
'locale' => 'string',
|
||||||
'mfa_enabled' => 'boolean',
|
|
||||||
'premium_type' => 'integer',
|
|
||||||
'public_flags' => 'integer',
|
|
||||||
'roles' => 'json',
|
'roles' => 'json',
|
||||||
'tag_blacklist' => 'array',
|
'tag_blacklist' => 'array',
|
||||||
|
// Discord
|
||||||
|
'discord_id' => 'integer',
|
||||||
|
'discord_name' => 'string',
|
||||||
|
'discord_avatar' => 'string',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ class CommentService
|
|||||||
$url = '/hentai/' . $episode->slug . '#comment-' . $reply->id;
|
$url = '/hentai/' . $episode->slug . '#comment-' . $reply->id;
|
||||||
|
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
$username = $user->global_name ?? $user->username;
|
$username = $user->discord_name ?? $user->name;
|
||||||
|
|
||||||
$parentCommentUser = User::where('id', $comment->commenter_id)->firstOrFail();
|
$parentCommentUser = User::where('id', $comment->commenter_id)->firstOrFail();
|
||||||
$parentCommentUser->notify(
|
$parentCommentUser->notify(
|
||||||
|
|||||||
@@ -94,9 +94,9 @@
|
|||||||
<button
|
<button
|
||||||
class="inline-flex items-center px-3 py-2 border text-sm leading-4 font-medium rounded-md text-gray-500 border-neutral-300/50 dark:text-gray-400 bg-white/20 dark:bg-neutral-950/20 dark:border-neutral-800/50 hover:text-gray-700 dark:hover:text-gray-300 focus:outline-none transition ease-in-out duration-150">
|
class="inline-flex items-center px-3 py-2 border text-sm leading-4 font-medium rounded-md text-gray-500 border-neutral-300/50 dark:text-gray-400 bg-white/20 dark:bg-neutral-950/20 dark:border-neutral-800/50 hover:text-gray-700 dark:hover:text-gray-300 focus:outline-none transition ease-in-out duration-150">
|
||||||
@auth
|
@auth
|
||||||
@if (Auth::user()->avatar)
|
@if (Auth::user()->discord_avatar)
|
||||||
<img class="h-8 w-8 rounded-full object-cover mr-2"
|
<img class="h-8 w-8 rounded-full object-cover mr-2"
|
||||||
src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ Auth::user()->id }}/{{ Auth::user()->avatar }}.webp"
|
src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ Auth::user()->discord_id }}/{{ Auth::user()->discord_avatar }}.webp"
|
||||||
alt="{{ Auth::user()->getTagAttribute() }}" />
|
alt="{{ Auth::user()->getTagAttribute() }}" />
|
||||||
@endif
|
@endif
|
||||||
@else
|
@else
|
||||||
@@ -231,15 +231,15 @@
|
|||||||
<div class="pt-4 pb-1 border-t border-gray-200 dark:border-gray-600 dark:bg-neutral-900/30">
|
<div class="pt-4 pb-1 border-t border-gray-200 dark:border-gray-600 dark:bg-neutral-900/30">
|
||||||
|
|
||||||
<div class="flex justify-center">
|
<div class="flex justify-center">
|
||||||
@if (Auth::user()->avatar)
|
@if (Auth::user()->discord_avatar)
|
||||||
<img class="h-8 w-8 rounded-full object-cover mr-2"
|
<img class="h-8 w-8 rounded-full object-cover mr-2"
|
||||||
src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ Auth::user()->id }}/{{ Auth::user()->avatar }}.webp"
|
src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ Auth::user()->discord_id }}/{{ Auth::user()->discord_avatar }}.webp"
|
||||||
alt="{{ Auth::user()->getTagAttribute() }}" />
|
alt="{{ Auth::user()->getTagAttribute() }}" />
|
||||||
@else
|
@else
|
||||||
<img class="h-8 w-8 rounded-full object-cover mr-2" src="/images/default-avatar.webp"
|
<img class="h-8 w-8 rounded-full object-cover mr-2" src="/images/default-avatar.webp"
|
||||||
alt="Guest" />
|
alt="Guest" />
|
||||||
@endif
|
@endif
|
||||||
<span class="font-medium text-base text-gray-800 dark:text-neutral-200">{{ Auth::user()->username }}
|
<span class="font-medium text-base text-gray-800 dark:text-neutral-200">{{ Auth::user()->name }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
@foreach($comments as $comment)
|
@foreach($comments as $comment)
|
||||||
<tr wire:key="comment-{{ $comment->id }}" class="bg-white border-t dark:bg-neutral-800 dark:border-pink-700">
|
<tr wire:key="comment-{{ $comment->id }}" class="bg-white border-t dark:bg-neutral-800 dark:border-pink-700">
|
||||||
<td class="px-6 py-4">
|
<td class="px-6 py-4">
|
||||||
<a href="{{ route('user.index', ['username' => $comment->username]) }}">{{ $comment->username }}</a>
|
<a href="{{ route('user.index', ['username' => $comment->name]) }}">{{ $comment->name }}</a>
|
||||||
</td>
|
</td>
|
||||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white max-w-lg">
|
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white max-w-lg">
|
||||||
{{ $comment->comment }}
|
{{ $comment->comment }}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
{{ $user->id }}
|
{{ $user->id }}
|
||||||
</th>
|
</th>
|
||||||
<td class="px-6 py-4">
|
<td class="px-6 py-4">
|
||||||
{{ $user->global_name ?? $user->username }}
|
{{ $user->discord_name ?? $user->name }}
|
||||||
</td>
|
</td>
|
||||||
<td class="px-6 py-4">
|
<td class="px-6 py-4">
|
||||||
{{ $user->is_patreon ? 'Yes' : 'No' }}
|
{{ $user->is_patreon ? 'Yes' : 'No' }}
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<div class="flex text-sm font-light bg-neutral-950/50 backdrop-blur-lg rounded-lg p-10 gap-2">
|
<div class="flex text-sm font-light bg-neutral-950/50 backdrop-blur-lg rounded-lg p-10 gap-2">
|
||||||
<a href="{{ route('user.index', ['username' => $playlist->user->username]) }}">
|
<a href="{{ route('user.index', ['username' => $playlist->user->name]) }}">
|
||||||
@if ($playlist->user->avatar)
|
@if ($playlist->user->discord_avatar)
|
||||||
<img class="relative w-24 h-24 flex-none rounded-full shadow-lg"
|
<img class="relative w-24 h-24 flex-none rounded-full shadow-lg"
|
||||||
src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $playlist->user->id }}/{{ $playlist->user->avatar }}.webp">
|
src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $playlist->user->discord_id }}/{{ $playlist->user->discord_avatar }}.webp">
|
||||||
@else
|
@else
|
||||||
<img class="relative w-24 h-24 flex-none rounded-full shadow-lg" src="/images/default-avatar.webp">
|
<img class="relative w-24 h-24 flex-none rounded-full shadow-lg" src="/images/default-avatar.webp">
|
||||||
@endif
|
@endif
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<h1 class="font-bold text-3xl">{{ $playlist->name }}</h1>
|
<h1 class="font-bold text-3xl">{{ $playlist->name }}</h1>
|
||||||
<p class="font-light text-lg text-neutral-200">Episodes: {{ count($playlistEpisodes) }}</p>
|
<p class="font-light text-lg text-neutral-200">Episodes: {{ count($playlistEpisodes) }}</p>
|
||||||
<p class="font-light text-lg text-neutral-200">Creator: <a
|
<p class="font-light text-lg text-neutral-200">Creator: <a
|
||||||
href="{{ route('user.index', ['username' => $playlist->user->username]) }}">{{ $playlist->user->username }}</a>
|
href="{{ route('user.index', ['username' => $playlist->user->name]) }}">{{ $playlist->user->name }}</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col justify-center pl-4">
|
<div class="flex flex-col justify-center pl-4">
|
||||||
|
|||||||
@@ -5,19 +5,19 @@
|
|||||||
@endphp
|
@endphp
|
||||||
<div id="comment-{{ $comment->id }}" class="flex rounded-lg bg-white p-1 mb-2 shadow-[0_2px_15px_-3px_rgba(0,0,0,0.07),0_10px_20px_-2px_rgba(0,0,0,0.04)] dark:bg-neutral-900">
|
<div id="comment-{{ $comment->id }}" class="flex rounded-lg bg-white p-1 mb-2 shadow-[0_2px_15px_-3px_rgba(0,0,0,0.07),0_10px_20px_-2px_rgba(0,0,0,0.04)] dark:bg-neutral-900">
|
||||||
@php $user = cache()->rememberForever('commentUser'.$comment->commenter_id, fn () => \App\Models\User::where('id', $comment->commenter_id)->first()); @endphp
|
@php $user = cache()->rememberForever('commentUser'.$comment->commenter_id, fn () => \App\Models\User::where('id', $comment->commenter_id)->first()); @endphp
|
||||||
<a class="contents" href="{{ route('user.index', ['username' => $user->username]) }}">
|
<a class="contents" href="{{ route('user.index', ['username' => $user->name]) }}">
|
||||||
@if($user->avatar)
|
@if($user->discord_avatar)
|
||||||
<img class="w-16 h-16 rounded-full m-2" src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $comment->commenter_id }}/{{ $user->avatar }}.webp" alt="{{ $user->global_name ?? $user->username }} Avatar">
|
<img class="w-16 h-16 rounded-full m-2" src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $user->discord_id }}/{{ $user->discord_avatar }}.webp" alt="{{ $user->discord_name ?? $user->name }} Avatar">
|
||||||
@else
|
@else
|
||||||
<img class="w-16 h-16 rounded-full m-2" src="/images/default-avatar.webp" alt="{{ $user->global_name ?? $user->username }} Avatar">
|
<img class="w-16 h-16 rounded-full m-2" src="/images/default-avatar.webp" alt="{{ $user->discord_name ?? $user->name }} Avatar">
|
||||||
@endif
|
@endif
|
||||||
</a>
|
</a>
|
||||||
<div class="text-gray-800 dark:text-gray-200">
|
<div class="text-gray-800 dark:text-gray-200">
|
||||||
<a href="{{ route('user.index', ['username' => $user->username]) }}">
|
<a href="{{ route('user.index', ['username' => $user->name]) }}">
|
||||||
@if($user->is_patreon)
|
@if($user->is_patreon)
|
||||||
<h5 class="text-gray-800 dark:text-gray-400">{{ $user->global_name ?? $user->username }} <a data-te-toggle="tooltip" title="Badge of appreciation for the horny people supporting us! :3"><i class="fa-solid fa-hand-holding-heart text-rose-600 animate-pulse"></i></a> <small class="text-muted">- {{ \Carbon\Carbon::parse($comment->created_at)->diffForHumans() }}</small></h5>
|
<h5 class="text-gray-800 dark:text-gray-400">{{ $user->discord_name ?? $user->name }} <a data-te-toggle="tooltip" title="Badge of appreciation for the horny people supporting us! :3"><i class="fa-solid fa-hand-holding-heart text-rose-600 animate-pulse"></i></a> <small class="text-muted">- {{ \Carbon\Carbon::parse($comment->created_at)->diffForHumans() }}</small></h5>
|
||||||
@else
|
@else
|
||||||
<h5 class="text-gray-800 dark:text-gray-400">{{ $user->global_name ?? $user->username }} <small class="text-muted">- {{ \Carbon\Carbon::parse($comment->created_at)->diffForHumans() }}</small></h5>
|
<h5 class="text-gray-800 dark:text-gray-400">{{ $user->discord_name ?? $user->name }} <small class="text-muted">- {{ \Carbon\Carbon::parse($comment->created_at)->diffForHumans() }}</small></h5>
|
||||||
@endif
|
@endif
|
||||||
</a>
|
</a>
|
||||||
<div style="white-space: pre-wrap;">{!! $markdown->line($comment->comment) !!}</div>
|
<div style="white-space: pre-wrap;">{!! $markdown->line($comment->comment) !!}</div>
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
<div class="flex flex-row gap-4 flex-wrap">
|
<div class="flex flex-row gap-4 flex-wrap">
|
||||||
<!-- Profile Image -->
|
<!-- Profile Image -->
|
||||||
<div class="p-2 bg-white dark:bg-neutral-800 shadow rounded-lg flex-none">
|
<div class="p-2 bg-white dark:bg-neutral-800 shadow rounded-lg flex-none">
|
||||||
@if($user->avatar)
|
@if($user->discord_avatar)
|
||||||
<img class="w-28 h-28 rounded-lg m-2" src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $user->id }}/{{ $user->avatar }}.webp" alt="{{ $user->global_name ?? $user->username }} Avatar">
|
<img class="w-28 h-28 rounded-lg m-2" src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $user->discord_id }}/{{ $user->discord_avatar }}.webp" alt="{{ $user->discord_name ?? $user->name }} Avatar">
|
||||||
@else
|
@else
|
||||||
<img class="w-24 h-24 rounded-lg m-2" src="/images/default-avatar.webp" alt="{{ $user->global_name ?? $user->username }} Avatar">
|
<img class="w-24 h-24 rounded-lg m-2" src="/images/default-avatar.webp" alt="{{ $user->discord_name ?? $user->name }} Avatar">
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -6,27 +6,19 @@
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="mt-6 space-y-6">
|
<div class="mt-6 space-y-6">
|
||||||
@if (Auth::user()->global_name)
|
@if (Auth::user()->discord_name)
|
||||||
<div>
|
<div>
|
||||||
<x-input-label for="global_name" :value="__('Display Name')" />
|
<x-input-label for="discord_name" :value="__('Display Name')" />
|
||||||
<x-text-input id="global_name" name="global_name" type="text" class="mt-1 block w-full" :value="old('global_name', $user->global_name)" required autocomplete="global_name" disabled />
|
<x-text-input id="discord_name" name="discord_name" type="text" class="mt-1 block w-full" :value="old('discord_name', $user->discord_name)" required autocomplete="discord_name" disabled />
|
||||||
<x-input-error class="mt-2" :messages="$errors->get('global_name')" />
|
<x-input-error class="mt-2" :messages="$errors->get('discord_name')" />
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<div>
|
<div>
|
||||||
<x-input-label for="username" :value="__('Username')" />
|
<x-input-label for="name" :value="__('Username')" />
|
||||||
<x-text-input id="username" name="username" type="text" class="mt-1 block w-full" :value="old('username', $user->username)" required autocomplete="username" disabled />
|
<x-text-input id="name" name="name" type="text" class="mt-1 block w-full" :value="old('name', $user->name)" required autocomplete="name" disabled />
|
||||||
<x-input-error class="mt-2" :messages="$errors->get('username')" />
|
<x-input-error class="mt-2" :messages="$errors->get('name')" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if (!Auth::user()->global_name)
|
|
||||||
<div>
|
|
||||||
<x-input-label for="discriminator" :value="__('Discriminator')" />
|
|
||||||
<x-text-input id="discriminator" name="discriminator" type="text" class="mt-1 block w-full" :value="old('discriminator', $user->discriminator)" required autocomplete="discriminator" disabled />
|
|
||||||
<x-input-error class="mt-2" :messages="$errors->get('discriminator')" />
|
|
||||||
</div>
|
|
||||||
@endif
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<x-input-label for="email" :value="__('Email')" />
|
<x-input-label for="email" :value="__('Email')" />
|
||||||
<x-text-input id="email" name="email" type="email" class="mt-1 block w-full" :value="old('email', $user->email ?? __('Unknown'))" required autocomplete="email" disabled />
|
<x-text-input id="email" name="email" type="email" class="mt-1 block w-full" :value="old('email', $user->email ?? __('Unknown'))" required autocomplete="email" disabled />
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
}
|
}
|
||||||
@endphp
|
@endphp
|
||||||
<p class="text-neutral-800 dark:text-neutral-300">
|
<p class="text-neutral-800 dark:text-neutral-300">
|
||||||
{{ $playlist->user->global_name ?? $playlist->user->username }} • {{ $currentIndex + 1 }}/{{ $episodeCount }} Episodes
|
{{ $playlist->user->discord_name ?? $playlist->user->name }} • {{ $currentIndex + 1 }}/{{ $episodeCount }} Episodes
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<div
|
<div
|
||||||
class="overflow-hidden relative max-w-sm min-w-80 mx-auto bg-white/40 shadow-lg ring-1 ring-black/5 rounded-xl flex items-center gap-6 dark:bg-neutral-950/40 backdrop-blur dark:highlight-white/5">
|
class="overflow-hidden relative max-w-sm min-w-80 mx-auto bg-white/40 shadow-lg ring-1 ring-black/5 rounded-xl flex items-center gap-6 dark:bg-neutral-950/40 backdrop-blur dark:highlight-white/5">
|
||||||
@if($user->avatar)
|
@if($user->discord_avatar)
|
||||||
<img class="absolute -left-6 w-24 h-24 rounded-full shadow-lg"
|
<img class="absolute -left-6 w-24 h-24 rounded-full shadow-lg"
|
||||||
src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $user->id }}/{{ $user->avatar }}.webp">
|
src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $user->discord_id }}/{{ $user->discord_avatar }}.webp">
|
||||||
@else
|
@else
|
||||||
<img class="absolute -left-6 w-24 h-24 rounded-full shadow-lg" src="/images/default-avatar.webp">
|
<img class="absolute -left-6 w-24 h-24 rounded-full shadow-lg" src="/images/default-avatar.webp">
|
||||||
@endif
|
@endif
|
||||||
<div class="flex flex-col py-5 pl-24">
|
<div class="flex flex-col py-5 pl-24">
|
||||||
<strong class="text-slate-900 text-xl font-bold dark:text-slate-200">
|
<strong class="text-slate-900 text-xl font-bold dark:text-slate-200">
|
||||||
{{ $user->global_name ?? $user->username }}
|
{{ $user->discord_name ?? $user->name }}
|
||||||
@if ($user->is_patreon)
|
@if ($user->is_patreon)
|
||||||
<a data-te-toggle="tooltip" title="Badge of appreciation for the horny people supporting us! :3"><i
|
<a data-te-toggle="tooltip" title="Badge of appreciation for the horny people supporting us! :3"><i
|
||||||
class="fa-solid fa-hand-holding-heart text-rose-600 animate-pulse"></i></a>
|
class="fa-solid fa-hand-holding-heart text-rose-600 animate-pulse"></i></a>
|
||||||
|
|||||||
@@ -7,20 +7,20 @@
|
|||||||
|
|
||||||
<div id="comment-{{ $comment->getKey() }}" class="flex rounded-lg p-1 mb-2 ">
|
<div id="comment-{{ $comment->getKey() }}" class="flex rounded-lg p-1 mb-2 ">
|
||||||
|
|
||||||
<a class="contents" href="{{ route('user.index', ['username' => $comment->commenter->username]) }}">
|
<a class="contents" href="{{ route('user.index', ['username' => $comment->commenter->name]) }}">
|
||||||
@if($comment->commenter->avatar)
|
@if($comment->commenter->discord_avatar)
|
||||||
<img class="w-12 h-12 rounded-lg m-2" src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $comment->commenter->id }}/{{ $comment->commenter->avatar }}.webp" alt="{{ $comment->commenter->global_name ?? $comment->commenter->username }} Avatar">
|
<img class="w-12 h-12 rounded-lg m-2" src="https://external-content.duckduckgo.com/iu/?u=https://cdn.discordapp.com/avatars/{{ $comment->commenter->discord_id }}/{{ $comment->commenter->discord_avatar }}.webp" alt="{{ $comment->commenter->discord_name ?? $comment->commenter->name }} Avatar">
|
||||||
@else
|
@else
|
||||||
<img class="w-12 h-12 rounded-lg m-2" src="/images/default-avatar.webp" alt="{{ $comment->commenter->global_name ?? $comment->commenter->username }} Avatar">
|
<img class="w-12 h-12 rounded-lg m-2" src="/images/default-avatar.webp" alt="{{ $comment->commenter->discord_name ?? $comment->commenter->name }} Avatar">
|
||||||
@endif
|
@endif
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div class="text-gray-800 dark:text-gray-200">
|
<div class="text-gray-800 dark:text-gray-200">
|
||||||
<a href="{{ route('user.index', ['username' => $comment->commenter->username]) }}">
|
<a href="{{ route('user.index', ['username' => $comment->commenter->name]) }}">
|
||||||
@if($comment->commenter->is_patreon)
|
@if($comment->commenter->is_patreon)
|
||||||
<h5 class="text-gray-800 dark:text-gray-400">{{ $comment->commenter->global_name ?? $comment->commenter->username }} <a data-te-toggle="tooltip" title="Badge of appreciation for the horny people supporting us! :3"><i class="fa-solid fa-hand-holding-heart text-rose-600 animate-pulse"></i></a> <small class="text-muted">- {{ $comment->created_at->diffForHumans() }}</small></h5>
|
<h5 class="text-gray-800 dark:text-gray-400">{{ $comment->commenter->discord_name ?? $comment->commenter->name }} <a data-te-toggle="tooltip" title="Badge of appreciation for the horny people supporting us! :3"><i class="fa-solid fa-hand-holding-heart text-rose-600 animate-pulse"></i></a> <small class="text-muted">- {{ $comment->created_at->diffForHumans() }}</small></h5>
|
||||||
@else
|
@else
|
||||||
<h5 class="text-gray-800 dark:text-gray-400">{{ $comment->commenter->global_name ?? $comment->commenter->username }} <small class="text-muted">- {{ $comment->created_at->diffForHumans() }}</small></h5>
|
<h5 class="text-gray-800 dark:text-gray-400">{{ $comment->commenter->discord_name ?? $comment->commenter->name }} <small class="text-muted">- {{ $comment->created_at->diffForHumans() }}</small></h5>
|
||||||
@endif
|
@endif
|
||||||
</a>
|
</a>
|
||||||
<div style="white-space: pre-wrap;">{!! $markdown->line($comment->comment) !!}</div>
|
<div style="white-space: pre-wrap;">{!! $markdown->line($comment->comment) !!}</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user