fix content not showing in admin feedback panel
All checks were successful
delpoy / build-and-deploy (push) Successful in 54s

This commit is contained in:
bytedream 2024-11-30 16:02:45 +01:00
parent 55798fd294
commit 1e7915837a

View File

@ -11,8 +11,8 @@
import Textarea from '$lib/components/Input/Textarea.svelte';
import { onDestroy, onMount } from 'svelte';
let feedback: (typeof Feedback.prototype.dataValues)[] = [];
let feedbackPerRequest = 25;
let feedbacks: (typeof Feedback.prototype.dataValues)[] = [];
let feedbacksPerRequest = 25;
let feedbackFilter = { event: null, content: null, username: null };
let activeFeedback: typeof Feedback.prototype.dataValues | null = null;
@ -27,8 +27,8 @@
method: 'POST',
body: JSON.stringify({
...feedbackFilter,
limit: extendedFilter?.limit ?? feedbackPerRequest,
from: extendedFilter?.from ?? feedback.length
limit: extendedFilter?.limit ?? feedbacksPerRequest,
from: extendedFilter?.from ?? feedbacks.length
})
});
return await response.json();
@ -38,12 +38,12 @@
if (!window.location.hash) return;
const requestedHash = window.location.hash.substring(1);
let f = feedback.find((r) => r.url_hash === requestedHash);
if (!f) {
let feedback = feedbacks.find((r) => r.url_hash === requestedHash);
if (!feedback) {
const hashFeedback = (await fetchFeedback({ hash: requestedHash }))[0];
if (hashFeedback) {
feedback = [hashFeedback, ...feedback];
f = feedback;
feedback = hashFeedback;
} else {
await goto(window.location.href.split('#')[0], { replaceState: true });
return;
@ -60,7 +60,7 @@
if (browser) window.removeEventListener('hashchange', openHashReport);
});
$: if (feedbackFilter) fetchFeedback({ from: 0 }).then((r) => (feedback = r));
$: if (feedbackFilter) fetchFeedback({ from: 0 }).then((r) => (feedbacks = r));
</script>
<div class="h-full flex flex-row">
@ -78,9 +78,9 @@
</thead>
<PaginationTableBody
onUpdate={async () =>
await fetchFeedback().then((res) => (feedback = [...feedback, ...res]))}
await fetchFeedback().then((feedback) => (feedbacks = [...feedbacks, ...feedback]))}
>
{#each feedback as feedback}
{#each feedbacks as feedback}
<tr
class="hover [&>*]:text-sm cursor-pointer"
class:bg-base-200={activeFeedback?.url_hash === feedback.url_hash}
@ -173,7 +173,7 @@
>
<span slot="label">Nutzer</span>
</Input>
<Textarea readonly={true} rows={4} label="Feedback" value={activeFeedback.content} />
<Textarea readonly={true} rows={4} label="Inhalt" value={activeFeedback.content} />
</div>
</div>
{/if}