parent
55798fd294
commit
1e7915837a
@ -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}
|
||||
|
Loading…
x
Reference in New Issue
Block a user