@turnipxenon/pineapple 5.3.3 → 5.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/dialog_manager/DialogManager.d.ts +5 -3
- package/dist/components/dialog_manager/DialogManager.d.ts.map +1 -1
- package/dist/components/dialog_manager/DialogManager.js +18 -10
- package/dist/components/reveal-info/RevealInfo.svelte +2 -1
- package/dist/components/reveal-info/RevealInfo.svelte.d.ts.map +1 -1
- package/dist/modules/overrideable_meta/OverridableMeta.svelte +27 -21
- package/dist/modules/overrideable_meta/OverridableMeta.svelte.d.ts.map +1 -1
- package/dist/modules/parsnip/ParsnipBlockChildren.svelte +16 -3
- package/dist/modules/parsnip/ParsnipBlockChildren.svelte.d.ts.map +1 -1
- package/dist/modules/parsnip/ParsnipPhrasingChildren.svelte +3 -0
- package/dist/modules/parsnip/ParsnipPhrasingChildren.svelte.d.ts.map +1 -1
- package/dist/modules/parsnip/external-images/ParsnipImage.svelte +5 -4
- package/dist/modules/parsnip/external-images/ParsnipImage.svelte.d.ts.map +1 -1
- package/dist/modules/parsnip/external-images/ParsnipImageCollection.svelte +2 -1
- package/dist/modules/parsnip/external-images/ParsnipImageCollection.svelte.d.ts.map +1 -1
- package/dist/modules/parsnip/route-util/slugPageServerLoad.d.ts.map +1 -1
- package/dist/modules/parsnip/route-util/slugPageServerLoad.js +15 -2
- package/dist/ui/components/MeltToaster/MeltToaster.svelte +1 -1
- package/dist/ui/components/NestedNavigation.svelte +1 -1
- package/dist/ui/components/SocialSection.svelte +2 -2
- package/dist/ui/components/randomized-background/RandomizedImage.svelte +7 -5
- package/dist/ui/components/randomized-background/RandomizedImage.svelte.d.ts.map +1 -1
- package/dist/ui/elements/CodeBlock/CodeBlock.svelte +1 -1
- package/dist/ui/elements/CodeBlock/CodeBlock.svelte.d.ts.map +1 -1
- package/dist/ui/elements/CodeBlock/CodeBlockProps.d.ts +3 -1
- package/dist/ui/elements/CodeBlock/CodeBlockProps.d.ts.map +1 -1
- package/dist/ui/elements/index.d.ts +1 -0
- package/dist/ui/elements/index.d.ts.map +1 -1
- package/dist/ui/elements/index.js +1 -0
- package/dist/ui/elements/pinya-combobox/PinyaCombobox.svelte +3 -4
- package/dist/ui/elements/pinya-combobox/PinyaCombobox.svelte.d.ts.map +1 -1
- package/dist/ui/elements/pinya-combobox/index.d.ts +3 -0
- package/dist/ui/elements/pinya-combobox/index.d.ts.map +1 -0
- package/dist/ui/elements/pinya-combobox/index.js +2 -0
- package/dist/ui/modules/NavigationMenu/LdSchema.d.ts +26 -0
- package/dist/ui/modules/NavigationMenu/LdSchema.d.ts.map +1 -0
- package/dist/ui/modules/NavigationMenu/LdSchema.js +18 -0
- package/dist/ui/modules/NavigationMenu/NavigationControl.svelte.d.ts +1 -1
- package/dist/ui/modules/NavigationMenu/NavigationMenu.svelte +33 -29
- package/dist/ui/modules/NavigationMenu/NavigationMenu.svelte.d.ts +1 -1
- package/dist/ui/modules/NavigationMenu/NavigationMenu.svelte.d.ts.map +1 -1
- package/dist/ui/modules/NavigationMenu/PageMeta.d.ts +1 -9
- package/dist/ui/modules/NavigationMenu/PageMeta.d.ts.map +1 -1
- package/dist/ui/modules/NavigationMenu/PageMeta.js +1 -1
- package/dist/ui/modules/NavigationMenu/index.d.ts +1 -0
- package/dist/ui/modules/NavigationMenu/index.d.ts.map +1 -1
- package/dist/ui/modules/NavigationMenu/index.js +1 -0
- package/dist/ui/modules/universal-overlay/DialogPanel.svelte +58 -39
- package/dist/ui/modules/universal-overlay/DialogPanel.svelte.d.ts.map +1 -1
- package/dist/ui/templates/SeaweedLayout/EntryGroup.svelte +2 -2
- package/dist/ui/templates/SeaweedLayout/ProjectGroupConfig.svelte +3 -2
- package/dist/ui/templates/SeaweedLayout/ProjectGroupConfig.svelte.d.ts.map +1 -1
- package/dist/ui/templates/SeaweedLayout/SeaweedLayout.svelte +5 -9
- package/dist/ui/templates/SeaweedLayout/SeaweedLayout.svelte.d.ts.map +1 -1
- package/dist/ui/templates/blog_template/BlogTemplate.svelte +8 -6
- package/dist/ui/templates/blog_template/BlogTemplate.svelte.d.ts +1 -1
- package/dist/ui/templates/blog_template/BlogTemplate.svelte.d.ts.map +1 -1
- package/dist/ui/templates/blog_template/BlogTemplateInner.svelte +8 -5
- package/dist/ui/templates/blog_template/BlogTemplateInner.svelte.d.ts +1 -1
- package/dist/ui/templates/blog_template/BlogTemplateInner.svelte.d.ts.map +1 -1
- package/package.json +3 -1
|
@@ -8,15 +8,16 @@
|
|
|
8
8
|
import { FourPartCard } from "../../components/index";
|
|
9
9
|
import { PinyaCard } from "../../elements/index";
|
|
10
10
|
import Placeholder from "../../elements/Placeholder.svelte";
|
|
11
|
+
import { type FoodReviewJson, LdSchemaUtil } from "../index";
|
|
11
12
|
import NavigationControl from "./NavigationControl.svelte";
|
|
12
13
|
import {
|
|
13
14
|
DefaultPageMetaSorter,
|
|
14
|
-
type FoodReviewJson,
|
|
15
15
|
type PageMeta,
|
|
16
16
|
parsePageMeta,
|
|
17
17
|
type ParsePageMetaCompareFn
|
|
18
18
|
} from "./PageMeta";
|
|
19
19
|
import { renderStar } from "../../../util/util";
|
|
20
|
+
import { untrack } from "svelte";
|
|
20
21
|
import { SvelteMap } from "svelte/reactivity";
|
|
21
22
|
|
|
22
23
|
interface Props {
|
|
@@ -74,33 +75,37 @@
|
|
|
74
75
|
return inlineTags.trim().length > 0;
|
|
75
76
|
})());
|
|
76
77
|
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
imageUrl
|
|
78
|
+
const pageFlatList = untrack(() => {
|
|
79
|
+
const fileBasedList = parsePageMeta(fileList, jsonList, imageMap, compareFn);
|
|
80
|
+
const parsnipBasedList = parsnipOverall?.files.map(pf => {
|
|
81
|
+
let imageUrl = pf.preview;
|
|
82
|
+
if (imageUrl && !imageUrl.includes("https://")) {
|
|
83
|
+
imageUrl = `${parsnipOverall.baseUrl}/${pf.preview}`;
|
|
84
|
+
}
|
|
85
|
+
const meta: PageMeta = {
|
|
86
|
+
title: pf.basename,
|
|
87
|
+
nestedPages: [],
|
|
88
|
+
relativeLink: `${parsnipBasePath}${pf.slug}`,
|
|
89
|
+
tags: pf.tags,
|
|
90
|
+
imageUrl,
|
|
91
|
+
imageAlt: pf.previewAlt,
|
|
92
|
+
datePublished: pf.datePublished ?? pf.stat.ctime ? new Date(pf.stat.ctime).toISOString().split("T")[0] : undefined,
|
|
93
|
+
lastUpdated: pf.lastUpdated ?? pf.stat.mtime ? new Date(pf.stat.mtime).toISOString().split("T")[0] : undefined,
|
|
94
|
+
description: pf.tagline,
|
|
95
|
+
priority: 0
|
|
96
|
+
};
|
|
97
|
+
return meta;
|
|
98
|
+
}) ?? [];
|
|
99
|
+
const list = fileBasedList.concat(parsnipBasedList);
|
|
100
|
+
|
|
101
|
+
if (compareFn) {
|
|
102
|
+
list.sort(compareFn);
|
|
103
|
+
} else {
|
|
104
|
+
list.sort(DefaultPageMetaSorter);
|
|
82
105
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
relativeLink: `${parsnipBasePath}${pf.slug}`,
|
|
87
|
-
tags: pf.tags,
|
|
88
|
-
imageUrl,
|
|
89
|
-
imageAlt: pf.previewAlt,
|
|
90
|
-
datePublished: pf.datePublished ?? pf.stat.ctime ? new Date(pf.stat.ctime).toISOString().split("T")[0] : undefined,
|
|
91
|
-
lastUpdated: pf.lastUpdated ?? pf.stat.mtime ? new Date(pf.stat.mtime).toISOString().split("T")[0] : undefined,
|
|
92
|
-
description: pf.tagline,
|
|
93
|
-
priority: 0
|
|
94
|
-
};
|
|
95
|
-
return meta;
|
|
96
|
-
}) ?? [];
|
|
97
|
-
const pageFlatList = fileBasedList.concat(parsnipBasedList);
|
|
98
|
-
|
|
99
|
-
if (compareFn) {
|
|
100
|
-
pageFlatList.sort(compareFn);
|
|
101
|
-
} else {
|
|
102
|
-
pageFlatList.sort(DefaultPageMetaSorter);
|
|
103
|
-
}
|
|
106
|
+
|
|
107
|
+
return list;
|
|
108
|
+
});
|
|
104
109
|
|
|
105
110
|
const selectedTagsSet = $derived(new Set(selectedTags.map(tag => tag.toLocaleLowerCase())));
|
|
106
111
|
const filteredPageFlatList = $derived(
|
|
@@ -146,7 +151,7 @@
|
|
|
146
151
|
fetch(`${parsnipOverall.baseUrl}/${parsnipMetadata.path}`.replaceAll(".ast.", ".ld."))
|
|
147
152
|
.then(data => data.json())
|
|
148
153
|
.then((data: FoodReviewJson) => {
|
|
149
|
-
ratingCache.set(vp.relativeLink, `${renderStar(data
|
|
154
|
+
ratingCache.set(vp.relativeLink, `${renderStar(LdSchemaUtil.getReviewRating(data))}`);
|
|
150
155
|
}).catch(err => {
|
|
151
156
|
console.warn(err);
|
|
152
157
|
}).finally(() => {
|
|
@@ -344,7 +349,6 @@
|
|
|
344
349
|
.blurb-text {
|
|
345
350
|
padding-top: 1lh;
|
|
346
351
|
padding-bottom: 1lh;
|
|
347
|
-
grow: 1;
|
|
348
352
|
white-space: initial;
|
|
349
353
|
min-width: 0;
|
|
350
354
|
display: flex;
|
|
@@ -19,7 +19,7 @@ interface Props {
|
|
|
19
19
|
parsnipOverall?: ParsnipOverall;
|
|
20
20
|
parsnipBasePath?: string;
|
|
21
21
|
}
|
|
22
|
-
declare const NavigationMenu: import("svelte").Component<Props, {}, "
|
|
22
|
+
declare const NavigationMenu: import("svelte").Component<Props, {}, "selectedTags" | "currentIndex" | "pageSize" | "queryReady">;
|
|
23
23
|
type NavigationMenu = ReturnType<typeof NavigationMenu>;
|
|
24
24
|
export default NavigationMenu;
|
|
25
25
|
//# sourceMappingURL=NavigationMenu.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationMenu.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/modules/NavigationMenu/NavigationMenu.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"NavigationMenu.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/modules/NavigationMenu/NavigationMenu.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAM1E,OAAO,EAIL,KAAK,sBAAsB,EAC3B,MAAM,yCAAyC,CAAC;AAMjD,UAAU,KAAK;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,GAAG,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAkOF,QAAA,MAAM,cAAc,oGAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import type { ParsnipOverall } from "../../../modules/parsnip/ParsnipOverall";
|
|
2
|
-
|
|
3
|
-
datePublished: string;
|
|
4
|
-
reviewRating: {
|
|
5
|
-
ratingValue: number;
|
|
6
|
-
};
|
|
7
|
-
itemReviewed: {
|
|
8
|
-
url: string;
|
|
9
|
-
};
|
|
10
|
-
}
|
|
2
|
+
import type { FoodReviewJson } from "../index";
|
|
11
3
|
export interface PageMeta {
|
|
12
4
|
datePublished?: string;
|
|
13
5
|
description?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageMeta.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/modules/NavigationMenu/PageMeta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"PageMeta.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/modules/NavigationMenu/PageMeta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,WAAW,QAAQ;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,QAAQ,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,QAAQ,EAAE,EAAE,OAAO,QAAQ,KAAG,OAiB5E,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChD,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,YAAY,sBAAsB,KAAG,QAAQ,EAoG3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM;IACzC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,QAAQ,EA8CX,CAAC;AAKF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,sBA6BnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/modules/NavigationMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/modules/NavigationMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -6,7 +6,10 @@ Layout and logic for DialogPanel. Some of the logics for the portraits are in Un
|
|
|
6
6
|
|
|
7
7
|
<script lang="ts">
|
|
8
8
|
import { dialogManager } from "../../../components/dialog_manager/DialogManager";
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
getAutoScrollPrefContext,
|
|
11
|
+
getTextSpeedContext
|
|
12
|
+
} from "../../../util/context/pineappleBaseContextDefinitions.svelte";
|
|
10
13
|
import { onMount, tick } from "svelte";
|
|
11
14
|
|
|
12
15
|
let currentMessage = $state("");
|
|
@@ -14,6 +17,7 @@ Layout and logic for DialogPanel. Some of the logics for the portraits are in Un
|
|
|
14
17
|
let autoScrollPrefContext = getAutoScrollPrefContext();
|
|
15
18
|
let dialogPanelElement: HTMLDivElement | null = null;
|
|
16
19
|
let shouldStickToBottom = true;
|
|
20
|
+
let divRole = $state<"button" | undefined>();
|
|
17
21
|
|
|
18
22
|
const onDialogClick = () => {
|
|
19
23
|
dialogManager?.skipAnimation();
|
|
@@ -34,14 +38,20 @@ Layout and logic for DialogPanel. Some of the logics for the portraits are in Un
|
|
|
34
38
|
currentMessage = value;
|
|
35
39
|
});
|
|
36
40
|
|
|
41
|
+
dialogManager.isDoneTransitionWritable.subscribe(value => {
|
|
42
|
+
divRole = value ? undefined : "button";
|
|
43
|
+
});
|
|
44
|
+
|
|
37
45
|
dialogManager.update(0);
|
|
38
46
|
});
|
|
39
47
|
|
|
40
48
|
$effect(() => {
|
|
41
|
-
dialogManager.setUpdateRate((16*10) - (textSpeedContext.value*16));
|
|
49
|
+
dialogManager.setUpdateRate((16 * 10) - (textSpeedContext.value * 16));
|
|
42
50
|
});
|
|
43
51
|
|
|
44
52
|
$effect(() => {
|
|
53
|
+
// funny loner variable below cause we want to trigger everything below when it changes
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
45
55
|
currentMessage;
|
|
46
56
|
|
|
47
57
|
tick().then(() => {
|
|
@@ -54,13 +64,21 @@ Layout and logic for DialogPanel. Some of the logics for the portraits are in Un
|
|
|
54
64
|
});
|
|
55
65
|
</script>
|
|
56
66
|
|
|
67
|
+
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
|
|
57
68
|
<div
|
|
58
|
-
tabindex="0
|
|
59
|
-
role=
|
|
69
|
+
tabindex={divRole === "button" ? 0 : undefined}
|
|
70
|
+
role={divRole}
|
|
71
|
+
aria-label={divRole === "button" ? "Skip text animation" : undefined}
|
|
60
72
|
id="dialog-panel"
|
|
61
73
|
bind:this={dialogPanelElement}
|
|
62
74
|
onclick={onDialogClick}
|
|
63
75
|
onscroll={onDialogScroll}
|
|
76
|
+
onkeydown={(e) => {
|
|
77
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
onDialogClick();
|
|
80
|
+
}
|
|
81
|
+
}}
|
|
64
82
|
onkeyup={(e) => {
|
|
65
83
|
if (e.key === "j") {
|
|
66
84
|
onDialogClick();
|
|
@@ -70,44 +88,45 @@ Layout and logic for DialogPanel. Some of the logics for the portraits are in Un
|
|
|
70
88
|
<!-- Made for 140 characters, like the original tweets -->
|
|
71
89
|
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
|
72
90
|
<div id="reverse-dialog-wrapper">
|
|
91
|
+
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
|
73
92
|
{@html currentMessage}
|
|
74
93
|
</div>
|
|
75
94
|
</div>
|
|
76
95
|
|
|
77
96
|
<style>
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
97
|
+
:global {
|
|
98
|
+
:root {
|
|
99
|
+
--color-dialog-bold: #6b8499;
|
|
100
|
+
--color-dialog-italic: #a55332;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
html.dark {
|
|
104
|
+
--color-dialog-bold: #85a1b6;
|
|
105
|
+
--color-dialog-italic: #f7b67c;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
#reverse-dialog-wrapper {
|
|
109
|
+
width: 100%;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
#dialog-panel {
|
|
113
|
+
overflow: auto;
|
|
114
|
+
display: block;
|
|
115
|
+
|
|
116
|
+
img,
|
|
117
|
+
video {
|
|
118
|
+
max-height: 3lh;
|
|
119
|
+
display: inline;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
b {
|
|
123
|
+
font-weight: bolder;
|
|
124
|
+
color: var(--color-dialog-bold);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
i {
|
|
128
|
+
color: var(--color-dialog-italic);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
113
132
|
</style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogPanel.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/modules/universal-overlay/DialogPanel.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DialogPanel.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/modules/universal-overlay/DialogPanel.svelte.ts"],"names":[],"mappings":"AA8FA,4GAA4G;AAC5G,QAAA,MAAM,WAAW,2DAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import type { ProjectGroup, SnippetMeta } from "./";
|
|
8
8
|
import { SectionType } from "./props";
|
|
9
9
|
import { getCommitDate } from "../../../util/getCommitDate";
|
|
10
|
-
import { onMount } from "svelte";
|
|
10
|
+
import { onMount, untrack } from "svelte";
|
|
11
11
|
|
|
12
12
|
let {
|
|
13
13
|
title,
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
}: ProjectGroup = $props();
|
|
22
22
|
|
|
23
23
|
// State — resolvedEntryList allows date overrides after fetching from GitHub
|
|
24
|
-
let resolvedEntryList = $state<SnippetMeta[]>([...entryList]);
|
|
24
|
+
let resolvedEntryList = $state<SnippetMeta[]>(untrack(() => [...entryList]));
|
|
25
25
|
let selectedTags = $state<string[]>([]);
|
|
26
26
|
let sortBy = $state<string[]>(["default"]);
|
|
27
27
|
let isExpanded = $state(false);
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { PinyaCard } from "../../elements/PinyaCard";
|
|
9
9
|
import type { ProjectGroup, SnippetMeta } from "./";
|
|
10
10
|
import { addToast } from "../../components/MeltToaster/MeltToaster.svelte";
|
|
11
|
+
import { untrack } from "svelte";
|
|
11
12
|
|
|
12
13
|
interface Props {
|
|
13
14
|
layout: ProjectGroup[];
|
|
@@ -95,12 +96,12 @@
|
|
|
95
96
|
};
|
|
96
97
|
};
|
|
97
98
|
|
|
98
|
-
const comboboxData = allEntries.map(entry => {
|
|
99
|
+
const comboboxData = untrack(() => allEntries.map(entry => {
|
|
99
100
|
return {
|
|
100
101
|
label: entry.key,
|
|
101
102
|
value: entry.key
|
|
102
103
|
};
|
|
103
|
-
});
|
|
104
|
+
}));
|
|
104
105
|
|
|
105
106
|
let comboboxValue = $state([comboboxData[0].value]);
|
|
106
107
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectGroupConfig.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/SeaweedLayout/ProjectGroupConfig.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ProjectGroupConfig.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/SeaweedLayout/ProjectGroupConfig.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAKhF,UAAU,KAAK;IACd,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACnB;AAmMF,QAAA,MAAM,kBAAkB,8DAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import ChumBucket from "./ChumBucket.svelte";
|
|
11
11
|
import EntryGroup from "./EntryGroup.svelte";
|
|
12
12
|
import EntryOrderConfig from "./EntryOrderConfig.svelte";
|
|
13
|
-
import { onDestroy, onMount } from "svelte";
|
|
13
|
+
import { onDestroy, onMount, untrack } from "svelte";
|
|
14
14
|
import { SvelteMap } from "svelte/reactivity";
|
|
15
15
|
import { fly } from "svelte/transition";
|
|
16
16
|
import { TextChip } from "../../elements/TextChip";
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
linkedinRemoteQuery
|
|
33
33
|
}: SeaweedLayoutProps = $props();
|
|
34
34
|
|
|
35
|
-
let actualLayout = $state(layout);
|
|
35
|
+
let actualLayout = $state(untrack(() => layout));
|
|
36
36
|
let isAdvanceSettingOn = $state(false);
|
|
37
37
|
let orderUrl = $state("");
|
|
38
38
|
|
|
39
|
-
let queryStates = new SvelteMap<string, boolean>(queryTerms.map(term => [term, true]));
|
|
39
|
+
let queryStates = new SvelteMap<string, boolean>(untrack(() => queryTerms.map(term => [term, true])));
|
|
40
40
|
let styleStr = $state("");
|
|
41
41
|
let queryQt = $derived.by(() => {
|
|
42
42
|
const qtArr = [...queryStates.entries()
|
|
@@ -176,12 +176,7 @@
|
|
|
176
176
|
filterSearchParams(page.url.searchParams);
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
|
|
180
|
-
* Get the computed font size of an element in pixels.
|
|
181
|
-
* @param {HTMLElement} element The DOM element to check.
|
|
182
|
-
* @returns {number} The font size in pixels as a number.
|
|
183
|
-
*/
|
|
184
|
-
function getElementFontSize(element) {
|
|
179
|
+
const getElementFontSize = (element: HTMLElement) => {
|
|
185
180
|
// Use window.getComputedStyle() to get all resolved CSS properties.
|
|
186
181
|
const computedStyle = window.getComputedStyle(element);
|
|
187
182
|
// Get the 'font-size' property value (which will be in 'px').
|
|
@@ -219,6 +214,7 @@
|
|
|
219
214
|
</script>
|
|
220
215
|
|
|
221
216
|
<svelte:head>
|
|
217
|
+
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
|
222
218
|
{@html styleStr}
|
|
223
219
|
</svelte:head>
|
|
224
220
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeaweedLayout.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/SeaweedLayout/SeaweedLayout.svelte.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAgB,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"SeaweedLayout.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/SeaweedLayout/SeaweedLayout.svelte.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAgB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAmThE,QAAA,MAAM,aAAa,wDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
<script lang="ts">
|
|
4
4
|
import "./blog-template.css";
|
|
5
5
|
import { browser } from "$app/environment";
|
|
6
|
+
import { enableUniversalOverlaySvelte4 } from "../../../components/dialog_manager/DialogManagerStore";
|
|
7
|
+
import type { SimplePageMeta } from "../../modules/NavigationMenu/index";
|
|
8
|
+
import BlogTemplateInner from "./BlogTemplateInner.svelte";
|
|
9
|
+
import { appState } from "../PinyaPageLayout/pinyaPageLayoutRunes.svelte.js";
|
|
6
10
|
import { setIgnoreOverlayOverride } from "../../../util/context/pineappleBaseContextDefinitions.svelte";
|
|
7
11
|
import { onDestroy, onMount, type Snippet } from "svelte";
|
|
8
|
-
import BlogTemplateInner from "./BlogTemplateInner.svelte";
|
|
9
|
-
import type { SimplePageMeta } from "../../modules/NavigationMenu/index";
|
|
10
|
-
import { enableUniversalOverlaySvelte4 } from "../../../components/dialog_manager/DialogManagerStore";
|
|
11
12
|
import PinyaCard from "../../elements/PinyaCard/PinyaCard.svelte";
|
|
12
|
-
import { appState } from "../PinyaPageLayout/pinyaPageLayoutRunes.svelte.js";
|
|
13
13
|
|
|
14
14
|
// grab page meta from the adjacent meta.json
|
|
15
15
|
interface Props {
|
|
@@ -44,7 +44,9 @@
|
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
$effect(() => {
|
|
48
|
+
appState.bgOpacity = shouldFillWholePage ? 0.2 : 1;
|
|
49
|
+
});
|
|
48
50
|
</script>
|
|
49
51
|
|
|
50
52
|
{#if shouldFillWholePage}
|
|
@@ -71,7 +73,7 @@
|
|
|
71
73
|
|
|
72
74
|
:global(.blog-template) {
|
|
73
75
|
max-width: 64em;
|
|
74
|
-
|
|
76
|
+
width: 100%;
|
|
75
77
|
margin: auto;
|
|
76
78
|
}
|
|
77
79
|
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./blog-template.css";
|
|
2
|
-
import { type Snippet } from "svelte";
|
|
3
2
|
import type { SimplePageMeta } from "../../modules/NavigationMenu/index";
|
|
3
|
+
import { type Snippet } from "svelte";
|
|
4
4
|
interface Props {
|
|
5
5
|
pageMeta: SimplePageMeta;
|
|
6
6
|
shouldFillWholePage?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlogTemplate.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/blog_template/BlogTemplate.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,qBAAqB,CAAC;AAG7B,OAAO,
|
|
1
|
+
{"version":3,"file":"BlogTemplate.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/blog_template/BlogTemplate.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAI3E,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKzD,UAAU,KAAK;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AA8DF,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<script lang="ts">
|
|
4
4
|
import { localizeHref } from "../../../external/paraglide/runtime.js";
|
|
5
|
-
import type
|
|
5
|
+
import { LdSchemaUtil, type SimplePageMeta } from "../../modules/NavigationMenu/index";
|
|
6
6
|
import { getWebBaseUrl } from "../../../util/env-getter";
|
|
7
7
|
import { renderStar } from "../../../util/util";
|
|
8
8
|
import { SvelteURLSearchParams } from "svelte/reactivity";
|
|
@@ -22,7 +22,10 @@
|
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
// todo: improve graphics lol
|
|
25
|
-
let ratingsRenderer = $derived(
|
|
25
|
+
let ratingsRenderer = $derived(pageMeta.foodReviewJson
|
|
26
|
+
? renderStar(LdSchemaUtil.getReviewRating(pageMeta.foodReviewJson))
|
|
27
|
+
: 0
|
|
28
|
+
);
|
|
26
29
|
</script>
|
|
27
30
|
|
|
28
31
|
<article>
|
|
@@ -42,11 +45,11 @@
|
|
|
42
45
|
Ratings: {ratingsRenderer}
|
|
43
46
|
</p>
|
|
44
47
|
{/if}
|
|
45
|
-
{#if pageMeta.foodReviewJson
|
|
48
|
+
{#if pageMeta.foodReviewJson && LdSchemaUtil.getUrl(pageMeta.foodReviewJson)}
|
|
46
49
|
<p>
|
|
47
|
-
<a href={pageMeta.foodReviewJson
|
|
50
|
+
<a href={LdSchemaUtil.getUrl(pageMeta.foodReviewJson)}
|
|
48
51
|
rel="external"
|
|
49
|
-
target="_blank">{pageMeta.foodReviewJson
|
|
52
|
+
target="_blank">{LdSchemaUtil.getUrl(pageMeta.foodReviewJson)}</a>
|
|
50
53
|
</p>
|
|
51
54
|
{/if}
|
|
52
55
|
{#if pageMeta.tags.length > 0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlogTemplateInner.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/blog_template/BlogTemplateInner.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"BlogTemplateInner.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/blog_template/BlogTemplateInner.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAMxF,UAAU,KAAK;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC;CACpC;AAqEF,QAAA,MAAM,iBAAiB,2CAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turnipxenon/pineapple",
|
|
3
3
|
"description": "personal package for base styling for other personal projects",
|
|
4
|
-
"version": "5.3.
|
|
4
|
+
"version": "5.3.5",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@commitlint/cli": "^19.8.1",
|
|
7
7
|
"@commitlint/config-conventional": "^19.8.1",
|
|
@@ -129,6 +129,8 @@
|
|
|
129
129
|
"package": "svelte-kit sync && svelte-package && publint",
|
|
130
130
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
131
131
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
132
|
+
"check-baseline": "bash scripts/check-baseline.sh",
|
|
133
|
+
"check-snapshot": "bash scripts/update-check-snapshot.sh",
|
|
132
134
|
"lint": "eslint .",
|
|
133
135
|
"format": "prettier --plugin-search-dir . --write .",
|
|
134
136
|
"generate": "npx vite-node src/routes/blogs/blog_list_data_generator.ts && npx vite-node src/routes/toyay/toya_files_generator.ts && npm run generate-yarn",
|