comments user

This commit is contained in:
2026-06-11 13:14:01 +05:45
parent 812822ebb5
commit 5c69f89de8
5 changed files with 44 additions and 6 deletions
+3 -2
View File
@@ -17,7 +17,7 @@ class CommentController extends Controller
->get()
->map(fn($c) => [
'comment' => $c->comment,
'author' => auth()->user()->name,
'author' => $c->author_name,
'created_at_human' => $c->created_at->diffForHumans(),
])
->values(); // ← add this
@@ -37,12 +37,13 @@ class CommentController extends Controller
$comment = Comment::create([
'registration_id' => $request->registration_id,
'comment' => $request->comment,
'created_by' => auth()->id(),
]);
return response()->json([
'comment' => [
'comment' => $comment->comment,
'author' => auth()->user()->name,
'author' => $comment->author_name,
'created_at_human' => $comment->created_at->diffForHumans(),
]
]);
+6
View File
@@ -9,6 +9,7 @@ class Comment extends Model
protected $fillable = [
'registration_id',
'comment',
'created_by',
];
/*
@@ -36,4 +37,9 @@ class Comment extends Model
? substr($this->comment, 0, 50) . '...'
: $this->comment;
}
public function getAuthorNameAttribute()
{
return User::findOrFail($this->created_by)?->name;
}
}
@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('comments', function (Blueprint $table) {
$table->unsignedBigInteger('created_by')->default(1);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('comments', function (Blueprint $table) {
$table->dropColumn('created_by');
});
}
};
+2 -2
View File
@@ -33,11 +33,11 @@
</div>
<div class="flex items-center justify-end mt-4">
@if (Route::has('password.request'))
{{-- @if (Route::has('password.request'))
<a class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" href="{{ route('password.request') }}">
{{ __('Forgot your password?') }}
</a>
@endif
@endif --}}
<x-primary-button class="ms-3">
{{ __('Log in') }}
+5 -2
View File
@@ -60,6 +60,7 @@
$commentData = $reg->comments->sortByDesc('created_at')->map(fn($c) => [
'comment' => $c->comment,
'author' => $c->author_name,
'created_at' => $c->created_at->diffForHumans(),
])->values()->toArray();
@endphp
@@ -291,6 +292,7 @@ function openDetailPanel(row) {
const created = row.dataset.created;
const sessions = JSON.parse(row.dataset.sessions || '[]');
const comments = JSON.parse(row.dataset.comments || '[]');
console.log(comments);
const countryTitle=row.dataset.countryTitle;
const countryFlag=row.dataset.countryFlag;
@@ -367,7 +369,7 @@ function renderPanelComments(comments) {
el.innerHTML = comments.map(c => `
<div class="bg-slate-50 border border-slate-200 rounded-xl px-4 py-3">
<div class="flex items-center justify-between mb-1.5">
<span class="text-xs font-semibold text-indigo-600">Counselor</span>
<span class="text-xs font-semibold text-indigo-600">${escHtml(c.author)}</span>
<span class="text-xs text-slate-400">${escHtml(c.created_at)}</span>
</div>
<p class="text-sm text-slate-700 leading-relaxed">${escHtml(c.comment)}</p>
@@ -405,8 +407,9 @@ document.getElementById('panelCommentBtn').addEventListener('click', function ()
const list = Array.isArray(r.comments) ? r.comments : Object.values(r.comments || {});
renderPanelComments(list.map(c => ({
comment: c.comment,
author: c.author_name,
created_at: c.created_at_human ?? c.created_at,
})));
})));
}
});
},