mirror of
https://github.com/dsec-hub/dsec-notebook.git
synced 2026-09-22 15:43:58 +00:00
added rounded
This commit is contained in:
parent
4135cdca3a
commit
2bb6c09b5e
6 changed files with 3333 additions and 3173 deletions
146
dev-dist/sw.js
146
dev-dist/sw.js
|
|
@ -13,76 +13,86 @@
|
||||||
|
|
||||||
// If the loader is already loaded, just stop.
|
// If the loader is already loaded, just stop.
|
||||||
if (!self.define) {
|
if (!self.define) {
|
||||||
let registry = {};
|
let registry = {};
|
||||||
|
|
||||||
// Used for `eval` and `importScripts` where we can't get script URL by other means.
|
// Used for `eval` and `importScripts` where we can't get script URL by other means.
|
||||||
// In both cases, it's safe to use a global var because those functions are synchronous.
|
// In both cases, it's safe to use a global var because those functions are synchronous.
|
||||||
let nextDefineUri;
|
let nextDefineUri;
|
||||||
|
|
||||||
const singleRequire = (uri, parentUri) => {
|
const singleRequire = (uri, parentUri) => {
|
||||||
uri = new URL(uri + ".js", parentUri).href;
|
uri = new URL(uri + ".js", parentUri).href;
|
||||||
return registry[uri] || (
|
return (
|
||||||
|
registry[uri] ||
|
||||||
new Promise(resolve => {
|
new Promise((resolve) => {
|
||||||
if ("document" in self) {
|
if ("document" in self) {
|
||||||
const script = document.createElement("script");
|
const script = document.createElement("script");
|
||||||
script.src = uri;
|
script.src = uri;
|
||||||
script.onload = resolve;
|
script.onload = resolve;
|
||||||
document.head.appendChild(script);
|
document.head.appendChild(script);
|
||||||
} else {
|
} else {
|
||||||
nextDefineUri = uri;
|
nextDefineUri = uri;
|
||||||
importScripts(uri);
|
importScripts(uri);
|
||||||
resolve();
|
resolve();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
.then(() => {
|
|
||||||
let promise = registry[uri];
|
|
||||||
if (!promise) {
|
|
||||||
throw new Error(`Module ${uri} didn’t register its module`);
|
|
||||||
}
|
|
||||||
return promise;
|
|
||||||
})
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
self.define = (depsNames, factory) => {
|
.then(() => {
|
||||||
const uri = nextDefineUri || ("document" in self ? document.currentScript.src : "") || location.href;
|
let promise = registry[uri];
|
||||||
if (registry[uri]) {
|
if (!promise) {
|
||||||
// Module is already loading or loaded.
|
throw new Error(`Module ${uri} didn’t register its module`);
|
||||||
return;
|
}
|
||||||
}
|
return promise;
|
||||||
let exports = {};
|
})
|
||||||
const require = depUri => singleRequire(depUri, uri);
|
);
|
||||||
const specialDeps = {
|
};
|
||||||
module: { uri },
|
|
||||||
exports,
|
self.define = (depsNames, factory) => {
|
||||||
require
|
const uri =
|
||||||
};
|
nextDefineUri ||
|
||||||
registry[uri] = Promise.all(depsNames.map(
|
("document" in self ? document.currentScript.src : "") ||
|
||||||
depName => specialDeps[depName] || require(depName)
|
location.href;
|
||||||
)).then(deps => {
|
if (registry[uri]) {
|
||||||
factory(...deps);
|
// Module is already loading or loaded.
|
||||||
return exports;
|
return;
|
||||||
});
|
}
|
||||||
};
|
let exports = {};
|
||||||
|
const require = (depUri) => singleRequire(depUri, uri);
|
||||||
|
const specialDeps = {
|
||||||
|
module: { uri },
|
||||||
|
exports,
|
||||||
|
require,
|
||||||
|
};
|
||||||
|
registry[uri] = Promise.all(
|
||||||
|
depsNames.map((depName) => specialDeps[depName] || require(depName)),
|
||||||
|
).then((deps) => {
|
||||||
|
factory(...deps);
|
||||||
|
return exports;
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
define(['./workbox-7e5eb42b'], (function (workbox) { 'use strict';
|
define(["./workbox-7e5eb42b"], function (workbox) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
self.skipWaiting();
|
self.skipWaiting();
|
||||||
workbox.clientsClaim();
|
workbox.clientsClaim();
|
||||||
/**
|
/**
|
||||||
* The precacheAndRoute() method efficiently caches and responds to
|
* The precacheAndRoute() method efficiently caches and responds to
|
||||||
* requests for URLs in the manifest.
|
* requests for URLs in the manifest.
|
||||||
* See https://goo.gl/S9QRab
|
* See https://goo.gl/S9QRab
|
||||||
*/
|
*/
|
||||||
workbox.precacheAndRoute([{
|
workbox.precacheAndRoute(
|
||||||
"url": "/",
|
[
|
||||||
"revision": "0.or5ntbjovsg"
|
{
|
||||||
}], {});
|
url: "/",
|
||||||
workbox.cleanupOutdatedCaches();
|
revision: "0.or5ntbjovsg",
|
||||||
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("/"), {
|
},
|
||||||
allowlist: [/^\/$/]
|
],
|
||||||
}));
|
{},
|
||||||
|
);
|
||||||
}));
|
workbox.cleanupOutdatedCaches();
|
||||||
|
workbox.registerRoute(
|
||||||
|
new workbox.NavigationRoute(workbox.createHandlerBoundToURL("/"), {
|
||||||
|
allowlist: [/^\/$/],
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<meta
|
<meta
|
||||||
name="description"
|
name="description"
|
||||||
content="DSEC Notebook — a resource hub for Deakin University students. Shared study notes, questions and answers for SIT and Mathematics units."
|
content="A resource hub for Deakin University students. Shared study notes, questions and answers for SIT and Mathematics units."
|
||||||
/>
|
/>
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
bind:value={searchQuery}
|
bind:value={searchQuery}
|
||||||
placeholder="Search"
|
placeholder="Search"
|
||||||
aria-label="Search notes and questions"
|
aria-label="Search notes and questions"
|
||||||
class="border-rule text-ink placeholder:text-faint focus:border-primary bg-surface w-40 rounded-none border px-2.5 py-1.5 text-[11px] tracking-wide transition-colors outline-none"
|
class="border-rule text-ink placeholder:text-faint focus:border-primary bg-surface w-40 rounded-sm border px-2.5 py-1.5 text-[11px] tracking-wide transition-colors outline-none"
|
||||||
/>
|
/>
|
||||||
</form>
|
</form>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
@ -137,7 +137,7 @@
|
||||||
bind:value={searchQuery}
|
bind:value={searchQuery}
|
||||||
placeholder="Search"
|
placeholder="Search"
|
||||||
aria-label="Search notes and questions"
|
aria-label="Search notes and questions"
|
||||||
class="border-rule text-ink placeholder:text-faint focus:border-primary bg-surface w-full rounded-none border px-3 py-2 text-sm tracking-wide transition-colors outline-none"
|
class="border-rule text-ink placeholder:text-faint focus:border-primary bg-surface w-full rounded-sm border px-3 py-2 text-sm tracking-wide transition-colors outline-none"
|
||||||
/>
|
/>
|
||||||
</form>
|
</form>
|
||||||
<a href="/notes" class="nav-link block" onclick={() => (mobileMenuOpen = false)}
|
<a href="/notes" class="nav-link block" onclick={() => (mobileMenuOpen = false)}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>Notebook — written by students</title>
|
<title>DSEC Notebook</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<div class="page">
|
<div class="page">
|
||||||
|
|
@ -47,11 +47,11 @@
|
||||||
{:else if error}
|
{:else if error}
|
||||||
<p class="kicker">{error}</p>
|
<p class="kicker">{error}</p>
|
||||||
{:else}
|
{:else}
|
||||||
<div class="grid grid-cols-1 sm:grid-cols-2">
|
<div class="grid grid-cols-1 sm:grid-cols-2 sm:gap-x-5">
|
||||||
{#each units as unit}
|
{#each units as unit}
|
||||||
<a
|
<a
|
||||||
href="/units/{unit.code}"
|
href="/units/{unit.code}"
|
||||||
class="group border-rule flex items-baseline justify-between gap-4 border-b px-5 py-3"
|
class="group border-rule flex items-baseline justify-between gap-4 border-b py-3"
|
||||||
>
|
>
|
||||||
<span class="text-ink group-hover:text-primary font-serif text-lg"
|
<span class="text-ink group-hover:text-primary font-serif text-lg"
|
||||||
>{unit.code}{unit.code2 ? ` / ${unit.code2}` : ""}</span
|
>{unit.code}{unit.code2 ? ` / ${unit.code2}` : ""}</span
|
||||||
|
|
|
||||||
|
|
@ -89,23 +89,23 @@ button {
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
@apply border-primary bg-primary hover:brightness-110 inline-flex items-center justify-center rounded-none border px-5 py-2.5 text-[11px] font-medium tracking-[0.14em] text-white uppercase transition-colors disabled:cursor-not-allowed disabled:opacity-50;
|
@apply border-primary bg-primary inline-flex items-center justify-center rounded-sm border px-5 py-2.5 text-[11px] font-medium tracking-[0.14em] text-white uppercase transition-colors hover:brightness-110 disabled:cursor-not-allowed disabled:opacity-50;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-secondary {
|
.btn-secondary {
|
||||||
@apply border-secondary text-secondary hover:bg-secondary hover:text-on-primary inline-flex items-center justify-center rounded-none border bg-transparent px-5 py-2.5 text-[11px] font-medium tracking-[0.14em] uppercase transition-colors disabled:cursor-not-allowed disabled:opacity-50;
|
@apply border-secondary text-secondary hover:bg-secondary hover:text-on-primary inline-flex items-center justify-center rounded-sm border bg-transparent px-5 py-2.5 text-[11px] font-medium tracking-[0.14em] uppercase transition-colors disabled:cursor-not-allowed disabled:opacity-50;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-ghost {
|
.btn-ghost {
|
||||||
@apply border-ink text-ink hover:border-primary hover:text-primary inline-flex items-center justify-center rounded-none border bg-transparent px-5 py-2.5 text-[11px] font-medium tracking-[0.14em] uppercase transition-colors;
|
@apply border-ink text-ink hover:border-primary hover:text-primary inline-flex items-center justify-center rounded-sm border bg-transparent px-5 py-2.5 text-[11px] font-medium tracking-[0.14em] uppercase transition-colors;
|
||||||
}
|
}
|
||||||
|
|
||||||
.field {
|
.field {
|
||||||
@apply border-rule text-ink placeholder:text-faint focus:border-primary bg-surface block w-full rounded-none border px-3 py-2.5 text-sm transition-colors outline-none;
|
@apply border-rule text-ink placeholder:text-faint focus:border-primary bg-surface block w-full rounded-sm border px-3 py-2.5 text-sm transition-colors outline-none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chip {
|
.chip {
|
||||||
@apply border-rule text-ink hover:border-ink bg-surface inline-flex items-center rounded-none border px-3 py-1.5 font-sans text-[11px] font-medium tracking-[0.12em] uppercase transition-colors;
|
@apply border-rule text-ink hover:border-ink bg-surface inline-flex items-center rounded-sm border px-3 py-1.5 font-sans text-[11px] font-medium tracking-[0.12em] uppercase transition-colors;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chip-active {
|
.chip-active {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue