Skip to content
Snippets Groups Projects

Resolve "CATEGORIZE_FEEDBACK"

Merged Helena Dypvik Skants requested to merge 17-categorize_feedback into ref_copy
3 files
+ 156
20
Compare changes
  • Side-by-side
  • Inline
Files
3
<script lang="ts">
import type { ActionData, PageData } from './$types';
import { Button } from 'flowbite-svelte';
export let data: PageData;
let answers = data.units
.filter((unit) => (unit.id = data.unit_id))
.flatMap((unit) => unit.reflections);
let filename: string = 'reflections.txt';
// Gjør om listen med svar om til en streng!
let content = answers.toString();
function downloadFile(filename: string, content: string) {
const element = document.createElement('a');
const fileContent = data.questions
.map((question: { id: number; comment: any }) => {
const answer = answers.find((a) => a.question_id === question.id)?.body || '';
return `${question.comment}\n - ${answer}\n`;
})
.join('\n');
const blob = new Blob([fileContent], { type: 'plain/text' });
const fileUrl = URL.createObjectURL(blob);
element.setAttribute('href', fileUrl);
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
</script>
<!-- denne klarer ikkek finne action -->
<form class="button-container my-8 justify-center align-middle">
<span class="text-primary mx-8 text-xl font-bold"
>Reflections on {data.course.id}, unit {data.unit_id}</span
>
<p class="mx-8 my-8 mb-4 flex max-w-2xl flex-col gap-y-4">
{#each data.questions as question}
<label for="reflection">{question.comment}</label>
<textarea
id="reflection"
disabled={true}
rows="5"
value={answers.filter((answer) => answer.question_id === question.id)[0]?.body || ''}
/>
{/each}
</p>
<div class="flex">
<Button
on:click={() => downloadFile(filename, content)}
id="download"
type="submit"
class="bg-teal-9 hover:bg-teal-8 ml-8 mt-[20px] h-10 w-36">Download report</Button
>
</div>
</form>
Loading