add like/dislike system
Build / Build-image (push) Successful in 1m16s

This commit is contained in:
2026-08-18 14:01:38 +02:00
parent dde6beeba8
commit 1f8f3a663e
6 changed files with 133 additions and 14 deletions
+42 -13
View File
@@ -31,12 +31,13 @@ class TlaController extends Controller
public function session_flush(Request $request, string $language)
{
$session = $request->session();
if ($session->get('date', NULL) != date('Y-m-d'))
if ($session->get('date'.$language, NULL) != date('Y-m-d'))
{
$session->forget('guesses-'.$language);
$session->forget('tla');
$session->forget('correct');
$session->put('date', date('Y-m-d'));
$session->forget('tla'.$language);
$session->forget('correct'.$language);
$session->forget('review'.$language);
$session->put('date'.$language, date('Y-m-d'));
}
}
@@ -53,10 +54,10 @@ class TlaController extends Controller
return response()->json([
'hint' => $tla->hint,
'guesses' => $session->get('guesses-'.$language, []),
'date' => $session->get('date'),
'tla' => $session->get('tla') == $tla->acronym ? $tla->acronym : NULL,
'context' => $session->get('tla') == $tla->acronym ? $tla->context : NULL,
'correct' => $session->get('correct'),
'date' => $session->get('date'.$language),
'tla' => $session->get('tla'.$language) == $tla->acronym ? $tla->acronym : NULL,
'context' => $session->get('tla'.$language) == $tla->acronym ? $tla->context : NULL,
'correct' => $session->get('correct'.$language),
]);
}
@@ -110,17 +111,17 @@ class TlaController extends Controller
$guesses = $session->get('guesses-'.$language, NULL);
if ($score == 12 || count($guesses) == env('MAX_GUESSES', 10)) {
$session->put('tla', $tla_object->acronym);
if ($score == 12) $session->put('correct', true);
$session->put('tla'.$language, $tla_object->acronym);
if ($score == 12) $session->put('correct'.$language, true);
}
return response()->json([
'guesses' => $guesses,
'date' => $session->get('date'),
'tla' => $session->get('tla') == $tla_object->acronym ? $tla_object->acronym : NULL,
'context' => $session->get('tla') == $tla_object->acronym ? $tla_object->context : NULL,
'tla' => $session->get('tla'.$language) == $tla_object->acronym ? $tla_object->acronym : NULL,
'context' => $session->get('tla'.$language) == $tla_object->acronym ? $tla_object->context : NULL,
'score' => $score,
'correct' => $session->get('correct'),
'correct' => $session->get('correct'.$language),
]);
}
@@ -128,6 +129,34 @@ class TlaController extends Controller
}
public function review(Request $request, String $language, int $type) {
$session = $request->session();
$current = $session->get('review'.$language);
$tla = Tla::GetCurrentTla($language);
if ($type != 2) {
if ($current == $type) {
if ($current == 1) $tla->likes--;
else if ($current == -1) $tla->dislikes--;
$type = 2;
} else {
if ($current == 1) $tla->likes--;
else if ($current == -1) $tla->dislikes--;
if ($type == 1) $tla->likes++;
else if ($type == -1) $tla->dislikes++;
}
$tla->save();
$session->put('review'.$language, $type);
}
return response()->json([
'likes' => $tla->likes,
'dislikes' => $tla->dislikes,
'current' => $type,
]);
}
public function update(Request $request, Tla $tla): RedirectResponse
{
$request->validate([
+1 -1
View File
@@ -11,7 +11,7 @@ class Tla extends Model
use HasFactory;
protected $fillable = ['acronym', 'hint', 'language', 'used', 'context'];
protected $fillable = ['acronym', 'hint', 'language', 'used', 'context', 'likes', 'dislikes'];
public static function GetCurrentTla( string $language ) : Tla {
$tla = Tla::where('used', date("Y-m-d"))