diff --git a/package-lock.json b/package-lock.json index a477daeb..ffe0545b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "BetterLectio", - "version": "0.9.31", + "version": "0.9.32", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "BetterLectio", - "version": "0.9.31", + "version": "0.9.32", "dependencies": { "@popperjs/core": "^2.11.6", "@tailwindcss/forms": "^0.5.3", diff --git a/package.json b/package.json index 038cc130..f1aa23ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "BetterLectio", - "version": "0.9.31", + "version": "0.9.32", "private": true, "description": "Better Lectio er en forbedring af Lectio, et dansk lektionssystem. Vi har gjort det nemmere at finde informationer og få overblik over skolegangen. Vi har også lavet en ny, brugervenlig og moderne brugerflade. Better Lectio er open source, så alle kan se koden og bidrage. Projektet er stadig under udvikling, så hvis du har forslag eller finder fejl, er du velkommen til at åbne en issue på GitHub.", "main": "src/electron.cjs", diff --git a/src/components/ErrorMsg.svelte b/src/components/ErrorMsg.svelte index a74571ef..839bee41 100644 --- a/src/components/ErrorMsg.svelte +++ b/src/components/ErrorMsg.svelte @@ -1,45 +1,46 @@ + - Genindlæs + }); + + addEventListener("unhandledrejection", (event) => { + console.log("unhandledrejection"); + console.log(event); + error = event.reason; + details = JSON.stringify(event); + document.getElementById("error-modal").checked = true; + }); + + function reloadPage() { + location.reload(); + } + + + + +--> diff --git a/src/components/SideBar.svelte b/src/components/SideBar.svelte index a77c00d0..15181ed0 100644 --- a/src/components/SideBar.svelte +++ b/src/components/SideBar.svelte @@ -225,7 +225,7 @@ {:else}
@@ -204,11 +211,4 @@
{/if} -
- {#if $beskeder.length != _beskeder.length} - - {:else} - - {/if} -
{/if} diff --git a/src/routes/dokumenter/+page.svelte b/src/routes/dokumenter/+page.svelte index bb685a88..a9bf5be7 100644 --- a/src/routes/dokumenter/+page.svelte +++ b/src/routes/dokumenter/+page.svelte @@ -138,11 +138,11 @@ {#if loading && now - loadingStarted >= 100} -
-
+
+
{#if window.innerWidth > 768} -
-
+
+
{/if} {:else} diff --git a/src/routes/indstillinger/routes/Generelt.svelte b/src/routes/indstillinger/routes/Generelt.svelte index 3ddebdad..d73929b2 100644 --- a/src/routes/indstillinger/routes/Generelt.svelte +++ b/src/routes/indstillinger/routes/Generelt.svelte @@ -30,6 +30,9 @@ { + location.reload(); + }} bind:checked={$indstillinger.sidebar} disabled={windowWidth > 768 ? "" : "disabled"} /> diff --git a/src/routes/skema/+page.svelte b/src/routes/skema/+page.svelte index 326ecf80..23f7641a 100644 --- a/src/routes/skema/+page.svelte +++ b/src/routes/skema/+page.svelte @@ -8,7 +8,7 @@ let skema = {}; - let skemaId = new URLSearchParams(window.location.search).get("id"); + $: skemaId = new URLSearchParams(window.location.search).get("id"); let cookie; cookieInfo().then((data) => { @@ -40,8 +40,8 @@ draggable: "ec-draggable", dragging: "ec-dragging", event: - "btn btn-xs absolute overflow-hidden text-black hover:shadow-xl visible hover:scale-110 z-10 hover:z-0 border-2 border-base-100", - eventBody: "ec-event-body", + "btn btn-xs absolute flex-nowrap w-full h-full overflow-hidden text-black hover:shadow-xl visible hover:scale-110 z-10 hover:z-0 border-0 m-0.5", + eventBody: "", eventTag: "ec-event-tag", eventTime: "ec-event-time", eventTitle: "ec-event-title", @@ -123,6 +123,21 @@ timeGridWeek: "uge", }, eventDidMount: (event) => { + //if the event is cancelled, add a class to the event + if (event.event.backgroundColor == "hsl(var(--er))") { + event.el.classList.add("line-through", "hover:decoration-2"); + } + if (event.event.extendedProps.hasContent) { + event.el.classList.add( + "after:content-['_📖']", + "after:px-1", + "hover:after:content-['_📖']", + "text-left", + "justify-between" + ); + } else { + event.el.classList.add("text-left", "justify-start"); + } event.el.innerHTML = `${event.el.innerHTML}`; }, viewDidMount: (view) => { @@ -150,6 +165,8 @@ async function addSkemaToCalendar(skema) { options.view = dertermineView(); + console.log("adding skema to calendar", skema); + const holdToColor = getHoldToColor(); for (let i = 0; i < skema["moduler"].length; i++) { let modul = skema["moduler"][i]; let start = modul["tidspunkt"].split(" til ")[0]; @@ -188,13 +205,17 @@ } let status = modul["status"]; // can be "normal" "ændret" or "aflyst" let className; - if (status == "normal") { - className = "hsl(var(--in))"; - } else if (status == "ændret") { - className = "hsl(var(--su))"; + console.log(holdToColor, modul.hold); + if (status == "normal" || status == "ændret") { + if (holdToColor[modul.hold]) { + className = `hsl(${holdToColor[modul.hold]}, 75%, 65%)`; + } else { + className = "hsl(var(--in))"; + } } else { className = "hsl(var(--er))"; } + let hasContent = modul["andet"] == null ? false : true; //const backgroundColor = $indstillinger?.classesWithDiffrentColors === true ? className : stringToHex(modul["hold"]); let modulCalenderObj = { @@ -203,6 +224,7 @@ end: new Date(`${slut.år}-${slut.måned}-${slut.dag}T${slut.tidspunkt}`), id: modul["absid"], backgroundColor: className, + extendedProps: { hasContent: hasContent }, }; let isAdded = false; for (let i = 0; i < addedEventsId.length; i++) { @@ -222,6 +244,15 @@ $: if (globalWeek && globalYear) { getSkema(); } + function getHoldToColor() { + let holdToColor = {}; + console.log(skema[globalYear + "" + globalWeek]); + for (let i = 0; i < skema[globalYear + "" + globalWeek].hold.length; i++) { + holdToColor[skema[globalYear + "" + globalWeek].hold[i].navn] = + (255 / (skema[globalYear + "" + globalWeek].hold.length - 1)) * i; + } + return holdToColor; + } async function getSkema() { if (!skema) { @@ -415,8 +446,6 @@ //} - - {#if skema[globalYear + "" + globalWeek]}

{skema[globalYear + "" + globalWeek].overskrift}

diff --git a/src/routes/tema/+page.svelte b/src/routes/tema/+page.svelte new file mode 100644 index 00000000..e6b227ef --- /dev/null +++ b/src/routes/tema/+page.svelte @@ -0,0 +1,226 @@ + + +

Lav et tema

+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+

Test dit tema

+ + + +
+
+

Her er noget tekst!

+
+
+
+
+{#if canSave} +
+

Gem dit tema

+
+ + +
+
+{/if} + + diff --git a/yarn.lock b/yarn.lock index 5efc4d01..cc08768c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -416,10 +416,10 @@ resolved "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.5.tgz" integrity sha512-W5jbgvy9sbYEHs27NQOSFEun+zQwdcL4kpk5qc2kSHl8cKsP5wfXuWDTDRmD1Co40aFcesi5Az5ZzdnPI8KCVg== -"@sveltejs/kit@next": - version "1.3.6" - resolved "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.3.6.tgz" - integrity sha512-SOGTKYiZ0ajIhQ9pUKr9F+h5Srm8Gdn3aza3dZxXWdHjpqv1iyhvt4oS0l5n1a+sXQzKlLpe/CikDBqSVSUS2Q== +"@sveltejs/kit@^1.0.0", "@sveltejs/kit@^1.0.0-next.587", "@sveltejs/kit@next": + version "1.7.1" + resolved "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.7.1.tgz" + integrity sha512-epaQCaZ/D3Qr/SgrRKHv+MpM6rz8JdaXSjOjas8t7PbDJl88KpqYWUvsmyuJQn/yNNGar23kENyy4NueNnjIKQ== dependencies: "@sveltejs/vite-plugin-svelte" "^2.0.0" "@types/cookie" "^0.5.1" @@ -879,20 +879,11 @@ binary-extensions@^2.0.0: bindings@^1.3.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== dependencies: file-uri-to-path "1.0.0" -bl@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - bluebird-lst@^1.0.9: version "1.0.9" resolved "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz" @@ -2170,7 +2161,7 @@ file-entry-cache@^6.0.1: file-uri-to-path@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== filelist@^1.0.1: @@ -3109,7 +3100,7 @@ magic-string@^0.27.0: magic-string@^0.29.0: version "0.29.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.29.0.tgz#f034f79f8c43dba4ae1730ffb5e8c4e084b16cf3" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz" integrity sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q== dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" @@ -4741,7 +4732,7 @@ ultron@~1.1.0: undici@5.19.1: version "5.19.1" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.19.1.tgz#92b1fd3ab2c089b5a6bd3e579dcda8f1934ebf6d" + resolved "https://registry.npmjs.org/undici/-/undici-5.19.1.tgz" integrity sha512-YiZ61LPIgY73E7syxCDxxa3LV2yl3sN8spnIuTct60boiiRaE1J8mNWHO8Im2Zi/sFrPusjLlmRPrsyraSqX6A== dependencies: busboy "^1.6.0"