@turnipxenon/pineapple 2.4.37 → 2.4.38
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/.idea/shelf/Changes1/shelved.patch +250 -0
- package/.idea/shelf/Changes1.xml +4 -0
- package/.idea/shelf/yarn_scripts/shelved.patch +20 -0
- package/.idea/workspace.xml +46 -46
- package/.svelte-kit/__package__/components/Card.svelte +3 -1
- package/.svelte-kit/__package__/components/Card.svelte.d.ts +1 -0
- package/.svelte-kit/__package__/components/dialog_overlay/DialogOverlay.svelte +9 -11
- package/.svelte-kit/__package__/components/navigation_component/NavigationComponent.svelte +240 -238
- package/.svelte-kit/__package__/components/navigation_component/NavigationControl.svelte +89 -89
- package/.svelte-kit/__package__/components/pineapple/PineappleBaseLayout.svelte +4 -4
- package/.svelte-kit/ambient.d.ts +2 -2
- package/.svelte-kit/generated/server/internal.js +1 -1
- package/dist/components/Card.svelte +3 -1
- package/dist/components/Card.svelte.d.ts +1 -0
- package/dist/components/dialog_overlay/DialogOverlay.svelte +9 -11
- package/dist/components/navigation_component/NavigationComponent.svelte +240 -238
- package/dist/components/navigation_component/NavigationControl.svelte +89 -89
- package/dist/components/pineapple/PineappleBaseLayout.svelte +4 -4
- package/package.json +3 -2
- package/src/lib/components/Card.svelte +4 -1
- package/src/lib/components/dialog_overlay/DialogOverlay.svelte +11 -12
- package/src/lib/components/navigation_component/NavigationComponent.svelte +145 -143
- package/src/lib/components/navigation_component/NavigationControl.svelte +60 -60
- package/src/lib/components/navigation_component/PageMeta.ts +205 -205
- package/src/lib/components/pineapple/PineappleBaseLayout.svelte +4 -4
- package/src/routes/(pineapple)/+layout.svelte +1 -1
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page1/+page.svelte +7 -7
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page1/meta.json +23 -23
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page2/+page.svelte +7 -7
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page2/meta.json +7 -7
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/+page.svelte +7 -7
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page5/+page.svelte +7 -7
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page5/meta.json +6 -6
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page6/+page.svelte +7 -7
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/+page.svelte +7 -7
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/meta.json +6 -6
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/+page.svelte +7 -7
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page4/+page.svelte +6 -6
- package/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte +24 -29
- package/src/routes/(pineapple)/pineapple/{(extra-pages) → (pineapple)}/ImageMap.ts +5 -5
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
Index: src/lib/components/dialog_overlay/DialogOverlay.svelte
|
|
2
|
+
IDEA additional info:
|
|
3
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
|
|
4
|
+
<+><script lang=\"ts\">\n\timport AresHappy from \"$pkg/assets/characters/ares/ares_happy.webp\";\n\timport { onMount } from \"svelte\";\n\timport { dialogManager } from \"$pkg/components/dialog_manager/DialogManagerStore\";\n\timport { DialogState } from \"$pkg/types/pineapple_fiber/DialogState\";\n\n\tlet currentMessage = \"\";\n\tdialogManager.currentMessage.subscribe((value) => {\n\t\tcurrentMessage = value;\n\t});\n\n\tlet currentPortrait = AresHappy;\n\tdialogManager.currentPortrait.subscribe((value) => {\n\t\tif (value) {\n\t\t\tcurrentPortrait = value;\n\t\t}\n\t});\n\n\tonMount(() => {\n\t\tdialogManager.update(0);\n\t});\n\n\tlet hidePercent = 100;\n\tlet isHidden = true;\n\tdialogManager.hidePercent.subscribe((value) => {\n\t\thidePercent = value * 0.4;\n\t\tisHidden = false;\n\t});\n\n\tdialogManager.currentReadableState.subscribe((value) => {\n\t\tisHidden = value === DialogState.Invisible;\n\t\tif (value === DialogState.Invisible) {\n\t\t}\n\t});\n\n\tconst onDialogClick = () => {\n\t\tdialogManager.skipAnimation();\n\t};\n</script>\n\n<div class=\"dialog-elements\"\n hidden={isHidden}\n style=\"--hidePercentWidth: -{hidePercent}vw;\n --hidePercentHeight: {hidePercent}vh;\">\n\t<div class=\"dialog-portrait-container\">\n\t\t<img src={currentPortrait} alt=\"Ares\" class=\"dialog-portrait\" />\n\t</div>\n\t<div class=\"card dialog-box variant-ghost-primary\" on:click={onDialogClick}>\n\t\t<div class=\"card dialog-name\">\n\t\t\t<p><b>Turnip</b></p>\n\t\t</div>\n\t\t<section class=\"dialog-padding\">\n\t\t\t<!-- Made for 140 characters, like the original tweets -->\n\t\t\t{@html currentMessage}\n\t\t</section>\n\t</div>\n</div>\n\n<style>\n .dialog-elements {\n position: fixed;\n z-index: 10;\n }\n\n .dialog-elements:dir(ltr) {\n left: 0;\n }\n\n .dialog-elements:dir(rtl) {\n right: 0;\n }\n\n .dialog-elements > div {\n transform: translateY(var(--hidePercentHeight));\n }\n\n .dialog-box *,\n .dialog-name * {\n font-size: clamp(1em, 5vw, 1.3em);\n line-height: 1.5em;\n }\n\n .dialog-padding :global(p) {\n font-size: clamp(1em, 5vw, 1.3em) !important;\n line-height: 1.5em !important;\n }\n\n .dialog-padding {\n padding: clamp(1.5em, 5vw, 1.75em) clamp(0em, 5vw - 0.5em, 2em) 0;\n }\n\n .dialog-name {\n @apply pt-2 px-4;\n position: fixed;\n }\n\n .dialog-name:dir(ltr) {\n /* for centering vertically */\n transform: translateX(clamp(0em, 5vw - 0.5em, 1em)) translateY(-50%);\n }\n\n .dialog-name:dir(rtl) {\n /* for centering vertically */\n transform: translateX(calc(clamp(0em, 5vw - 0.5em, 1em) * -1)) translateY(-50%);\n }\n\n .dialog-portrait-container {\n position: fixed;\n bottom: 0;\n height: clamp(30rem, 75vw, 40rem);\n width: auto;\n }\n\n .dialog-portrait-container:dir(ltr) {\n transform: translateX(var(--hidePercentWidth));\n left: clamp(-4rem, calc(5vw - 5em), 0rem);\n }\n\n .dialog-portrait-container:dir(rtl) {\n transform: translateX(calc(var(--hidePercentWidth) * -1));\n right: clamp(-4rem, calc(5vw - 5em), 0rem);\n }\n\n .dialog-portrait {\n height: 100%;\n }\n\n .dialog-portrait:dir(rtl) {\n transform: scaleX(-1);\n }\n</style>\n
|
|
5
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
|
6
|
+
<+>UTF-8
|
|
7
|
+
===================================================================
|
|
8
|
+
diff --git a/src/lib/components/dialog_overlay/DialogOverlay.svelte b/src/lib/components/dialog_overlay/DialogOverlay.svelte
|
|
9
|
+
--- a/src/lib/components/dialog_overlay/DialogOverlay.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
|
|
10
|
+
+++ b/src/lib/components/dialog_overlay/DialogOverlay.svelte (date 1711677446714)
|
|
11
|
+
@@ -16,26 +16,25 @@
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
- onMount(() => {
|
|
16
|
+
- dialogManager.update(0);
|
|
17
|
+
- });
|
|
18
|
+
-
|
|
19
|
+
let hidePercent = 100;
|
|
20
|
+
let isHidden = true;
|
|
21
|
+
- dialogManager.hidePercent.subscribe((value) => {
|
|
22
|
+
- hidePercent = value * 0.4;
|
|
23
|
+
- isHidden = false;
|
|
24
|
+
- });
|
|
25
|
+
+ onMount(() => {
|
|
26
|
+
+ dialogManager.hidePercent.subscribe((value) => {
|
|
27
|
+
+ hidePercent = value * 0.4;
|
|
28
|
+
+ isHidden = false;
|
|
29
|
+
+ });
|
|
30
|
+
|
|
31
|
+
- dialogManager.currentReadableState.subscribe((value) => {
|
|
32
|
+
- isHidden = value === DialogState.Invisible;
|
|
33
|
+
- if (value === DialogState.Invisible) {
|
|
34
|
+
- }
|
|
35
|
+
+ dialogManager.currentReadableState.subscribe((value) => {
|
|
36
|
+
+ isHidden = value === DialogState.Invisible;
|
|
37
|
+
+ });
|
|
38
|
+
+
|
|
39
|
+
+ dialogManager.update(0);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const onDialogClick = () => {
|
|
43
|
+
dialogManager.skipAnimation();
|
|
44
|
+
};
|
|
45
|
+
+
|
|
46
|
+
</script>
|
|
47
|
+
|
|
48
|
+
<div class="dialog-elements"
|
|
49
|
+
Index: src/lib/components/Card.svelte
|
|
50
|
+
IDEA additional info:
|
|
51
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
|
|
52
|
+
<+><script lang=\"ts\">\n\texport let margin = \"0\";\n\texport let marginBottom = \"2lh\";\n\texport let overrideStyle = \"\";\n\texport let includeDataNoSnippet = true;\n\n\t// warning: don't forget the semi-colon when adding new style!\n\tconst style = `\n\t\t--turnip-card-margin: ${margin};\n\t\t--turnip-card-margin-bottom: ${marginBottom};\n\t\t${overrideStyle};\n\t`;\n\n\tif (!$$slots.content) {\n\t\tconsole.error(\"Missing content slot in card. No content will be displayed.\");\n\t}\n</script>\n\n{#if (includeDataNoSnippet)}\n\t<div class=\"card turnip-card\" style={style} data-no-snippet>\n\t\t<slot name=\"content\" class=\"card\" />\n\t</div>\n{:else }\n\t<div class=\"card turnip-card\" style={style}>\n\t\t<slot name=\"content\" class=\"card\" />\n\t</div>\n{/if}\n\n<style lang=\"postcss\">\n .turnip-card {\n @apply bg-surface-100 dark:bg-surface-900;\n margin: var(--turnip-card-margin);\n margin-bottom: var(--turnip-card-margin-bottom);\n border-radius: var(--theme-rounded-container);\n }\n</style>\n
|
|
53
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
|
54
|
+
<+>UTF-8
|
|
55
|
+
===================================================================
|
|
56
|
+
diff --git a/src/lib/components/Card.svelte b/src/lib/components/Card.svelte
|
|
57
|
+
--- a/src/lib/components/Card.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
|
|
58
|
+
+++ b/src/lib/components/Card.svelte (date 1711678245830)
|
|
59
|
+
@@ -3,6 +3,7 @@
|
|
60
|
+
export let marginBottom = "2lh";
|
|
61
|
+
export let overrideStyle = "";
|
|
62
|
+
export let includeDataNoSnippet = true;
|
|
63
|
+
+ export let additionalClass: string[] = [];
|
|
64
|
+
|
|
65
|
+
// warning: don't forget the semi-colon when adding new style!
|
|
66
|
+
const style = `
|
|
67
|
+
@@ -14,10 +15,12 @@
|
|
68
|
+
if (!$$slots.content) {
|
|
69
|
+
console.error("Missing content slot in card. No content will be displayed.");
|
|
70
|
+
}
|
|
71
|
+
+
|
|
72
|
+
+ const classes = ["card", "turnip-card"].concat(additionalClass).join(" ");
|
|
73
|
+
</script>
|
|
74
|
+
|
|
75
|
+
{#if (includeDataNoSnippet)}
|
|
76
|
+
- <div class="card turnip-card" style={style} data-no-snippet>
|
|
77
|
+
+ <div class={classes} style={style} data-no-snippet>
|
|
78
|
+
<slot name="content" class="card" />
|
|
79
|
+
</div>
|
|
80
|
+
{:else }
|
|
81
|
+
Index: src/lib/components/pineapple/PineappleBaseLayout.svelte
|
|
82
|
+
IDEA additional info:
|
|
83
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
|
|
84
|
+
<+><script lang=\"ts\">\n\texport let showDialogByDefault = false;\n\n\t// For auto dark/light mode\n\timport { AppBar, AppShell, autoModeWatcher, LightSwitch } from \"@skeletonlabs/skeleton\";\n\timport RandomizedBackground from \"$pkg/components/RandomizedBackground.svelte\";\n\n\t// navigation\n\timport { page } from \"$app/stores\";\n\t// store\n\timport { enableBackground } from \"$pkg/store\";\n\timport type { BreadcrumbData } from \"$pkg/types/BreadcrumbData\";\n\t// assets\n\t// import DialogOverlay from \"$lib/components/DialogOverlay.svelte\";\n\timport AresLogo from \"$pkg/assets/characters/ares/ares_logo.webp\";\n\timport FABIcon from \"$pkg/assets/bg_tiled/bg_tiled_turnip.png\";\n\timport CloseIcon from \"$pkg/assets/icons/close.svg\";\n\timport { dialogManager, enableDialogueOverlay } from \"$pkg/components/dialog_manager/DialogManagerStore\";\n\timport Toast from \"$pkg/components/pineapple/toast/Toast.svelte\";\n\timport DialogOverlay from \"$pkg/components/dialog_overlay/DialogOverlay.svelte\";\n\timport { fade } from \"svelte/transition\";\n\t// todo: clean up all these imports!\n\n\tlet pages: BreadcrumbData[] = [];\n\n\tconst updateBreadcrumb = (pathname: string) => {\n\t\tpages = [];\n\t\tlet basePath = \"\";\n\t\tpathname.split(\"/\").forEach((value, index) => {\n\t\t\tif (index === 0) {\n\t\t\t\tbasePath = \"/\";\n\t\t\t\tpages.push({\n\t\t\t\t\tpath: \"/\",\n\t\t\t\t\tname: \"Home\"\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (value === \"\") {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tbasePath += value + \"/\";\n\t\t\tpages.push({\n\t\t\t\tpath: basePath,\n\t\t\t\tname: value\n\t\t\t});\n\t\t});\n\t\tpages = pages;\n\t};\n\n\t$: updateBreadcrumb($page.url.pathname); // run every time we navigate\n\n\tlet enableBackgroundValue = true;\n\tenableBackground.subscribe((value) => {\n\t\tenableBackgroundValue = value;\n\t});\n\n\tlet enableDialogueOverlayValue = true;\n\tenableDialogueOverlay.subscribe((value) => {\n\t\tenableDialogueOverlayValue = value;\n\t});\n\n\tenableDialogueOverlay.set(showDialogByDefault);\n</script>\n\n<!-- App Shell -->\n<svelte:head>\n\t{@html `<script>${autoModeWatcher.toString()} autoModeWatcher();</script>`}\n</svelte:head>\n\n<!--todo: turn off hidden when it's time-->\n<button class=\"fab\" on:click={()=>{\n\tdialogManager.toggleDialogOverlay()\n}}>\n\t{#if (enableDialogueOverlayValue)}\n\t\t<img class=\"turnip-icon\" src={CloseIcon} alt=\"interactive floating action button represented as a turnip\">\n\t{:else }\n\t\t<img class=\"turnip-icon\" src={FABIcon} alt=\"interactive floating action button represented as a turnip\">\n\t{/if}\n</button>\n\n<AppShell>\n\t<svelte:fragment slot=\"header\">\n\t\t<!-- App Bar -->\n\t\t<AppBar\n\t\t\tbackground=\"app-shell-token\"\n\t\t\tslotDefault=\"place-content-start\"\n\t\t\tslotTrail=\"place-content-end\">\n\t\t\t<svelte:fragment slot=\"lead\">\n\t\t\t\t<!--TODO: add logo or something for the lead in layout-->\n\t\t\t\t<img\n\t\t\t\t\talt=\"Ares's head titled towards the left with his tongue out and winking\"\n\t\t\t\t\tclass=\"ares-logo\"\n\t\t\t\t\tsrc={AresLogo}\n\t\t\t\t/>\n\t\t\t\t<span class=\"mr-2\" />\n\t\t\t\t<ol class=\"breadcrumb\">\n\t\t\t\t\t{#each pages as crumb, i}\n\t\t\t\t\t\t{#if i < pages.length - 1}\n\t\t\t\t\t\t\t<li class=\"crumb\" in:fade>\n\t\t\t\t\t\t\t\t<a href={crumb.path}>{crumb.name.charAt(0).toUpperCase() + crumb.name.slice(1)}</a>\n\t\t\t\t\t\t\t\t › \n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t<li class=\"crumb\" in:fade>{crumb.name.charAt(0).toUpperCase() + crumb.name.slice(1)}</li>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t{/each}\n\t\t\t\t</ol>\n\t\t\t</svelte:fragment>\n\t\t\t<svelte:fragment slot=\"trail\">\n\t\t\t\t<LightSwitch bgLight=\"bg-surface-400\" />\n\t\t\t</svelte:fragment>\n\t\t</AppBar>\n\t</svelte:fragment>\n\n\t<RandomizedBackground enable={enableBackgroundValue} />\n\n\t<Toast></Toast>\n\n\t<DialogOverlay></DialogOverlay>\n\n\t<div class=\"default-page-container\">\n\t\t<slot />\n\t\t<div class=\"footer-space\" />\n\t</div>\n\n</AppShell>\n\n<style lang=\"postcss\">\n :root {\n --dialog-start-pad: clamp(0em, 5vw, 2em);\n --dialog-box-width: min(calc(50em + 4em), calc(100vw - var(--dialog-start-pad) - var(--theme-border-base)));\n --dialog-box-height: clamp(15em, 50vw, 18em);\n\n /** FAB icon margin/position calculation origin:\n\t\t\t\t\t\tCriteria:\n\t\t\t\t\t\t- We want at mobile (360px) our margin to be at 1em (16px)\n\t\t\t\t\t\t- We want at web (1960px) our margin to be at 2em (32px)\n\n\t\t\t\t\t\tA useful scaling factor might vw. At 360px, 16px would be around 4.44vw (360/16).\n\t\t\t\t\t\tAt 360px: margin is at 16px or 1em.\n\t\t\t\t\t\tAt 1960px: 4.44vw is at 87px but that will be clamped to 32px or 2em.\n\t\t\t\t\t\tThe calculation implies that the natural point that the margin becomes 2em is clamped on\n\t\t\t\t\t\twider screens is at 727px.\n\t\t\t\t*/\n --fab-margin: clamp(1em, 4.44vw, 2em);\n }\n\n .default-page-container {\n @apply flex justify-center items-center;\n margin-top: 4em;\n margin-right: 1em;\n flex-direction: column;\n z-index: 0;\n }\n\n .ares-logo {\n object-fit: contain;\n height: 2em;\n margin-inline-end: 0.5em;\n }\n\n /* breadcrumb does not work due to a lot of magic stuff i do\n the code below is from skeleton's tailwind css:\n https://github.com/skeletonlabs/skeleton/blob/54f4ecedabf2be6d94a670b56dc8821095ca3fc9/packages/plugin/src/styles/components/breadcrumbs.css\n\n it likely disappeared due to code gen shenanigans and package magic */\n .breadcrumb,\n .breadcrumb-nonresponsive {\n @apply flex items-center w-full overflow-x-auto;\n /*@apply flex items-center space-x-4 w-full hide-scrollbar overflow-x-auto;*/\n }\n\n .crumb {\n @apply flex justify-center items-center;\n margin: 0.1em;\n }\n\n .crumb-separator {\n @apply flex;\n color: var(--color-text-50);\n }\n\n /* === Auto-Responsive === */\n\n .breadcrumb li {\n @apply hidden md:block;\n }\n\n .breadcrumb li:nth-last-child(3),\n .breadcrumb li:nth-last-child(2),\n .breadcrumb li:nth-last-child(1) {\n @apply block;\n }\n\n .fab {\n @apply btn variant-filled-tertiary;\n padding: 0;\n position: fixed;\n bottom: var(--fab-margin);\n width: 4em;\n border-radius: 50%;\n\t\t z-index: 100;\n }\n\n .fab > img {\n width: 100%;\n }\n\n .fab:dir(ltr) {\n right: var(--fab-margin);\n }\n\n .fab:dir(rtl) {\n left: var(--fab-margin);\n }\n\n .turnip-icon {\n\t\t margin: 4px;\n }\n</style>\n
|
|
85
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
|
86
|
+
<+>UTF-8
|
|
87
|
+
===================================================================
|
|
88
|
+
diff --git a/src/lib/components/pineapple/PineappleBaseLayout.svelte b/src/lib/components/pineapple/PineappleBaseLayout.svelte
|
|
89
|
+
--- a/src/lib/components/pineapple/PineappleBaseLayout.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
|
|
90
|
+
+++ b/src/lib/components/pineapple/PineappleBaseLayout.svelte (date 1711679137623)
|
|
91
|
+
@@ -149,8 +149,8 @@
|
|
92
|
+
|
|
93
|
+
.default-page-container {
|
|
94
|
+
@apply flex justify-center items-center;
|
|
95
|
+
- margin-top: 4em;
|
|
96
|
+
- margin-right: 1em;
|
|
97
|
+
+ width: 100%;
|
|
98
|
+
+ padding: 1lh clamp(8px, 10vw, 2em);
|
|
99
|
+
flex-direction: column;
|
|
100
|
+
z-index: 0;
|
|
101
|
+
}
|
|
102
|
+
@@ -201,7 +201,7 @@
|
|
103
|
+
bottom: var(--fab-margin);
|
|
104
|
+
width: 4em;
|
|
105
|
+
border-radius: 50%;
|
|
106
|
+
- z-index: 100;
|
|
107
|
+
+ z-index: 100;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.fab > img {
|
|
111
|
+
@@ -217,6 +217,6 @@
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.turnip-icon {
|
|
115
|
+
- margin: 4px;
|
|
116
|
+
+ margin: 4px;
|
|
117
|
+
}
|
|
118
|
+
</style>
|
|
119
|
+
Index: src/lib/components/navigation_component/NavigationComponent.svelte
|
|
120
|
+
IDEA additional info:
|
|
121
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
|
|
122
|
+
<+><script lang=\"ts\">\n\timport NavigationControl from \"$pkg/components/navigation_component/NavigationControl.svelte\";\n\timport { Card, createGoToFunction } from \"$pkg\";\n\timport { parsePageMeta, type ParsePageMetaCompareFn } from \"$pkg/components/navigation_component/PageMeta\";\n\n\texport let title: string | undefined = undefined;\n\texport let fileList: Record<string, unknown>;\n\texport let jsonList: Record<string, unknown>;\n\texport let imageMap = new Map<string, string>();\n\n\t/**\n\t * Should include a slash before and after the path\n\t */\n\texport let parentSubpath: string;\n\n\texport let compareFn: undefined | ParsePageMetaCompareFn = undefined;\n\texport let pageSize = 5;\n\texport let currentIndex = 0;\n\n\tconst pageFlatList = parsePageMeta(fileList, jsonList, imageMap, compareFn);\n\n\t$: visiblePages = pageFlatList.slice(currentIndex * pageSize, (currentIndex * pageSize) + pageSize);\n</script>\n\n<div class=\"navigation-wrapper\">\n\t{#if (title)}\n\t\t<Card>\n\t\t\t<h1 slot=\"content\" class=\"default-card navigation-title\">\n\t\t\t\t{title}\n\t\t\t</h1>\n\t\t</Card>\n\t{/if}\n\n\t<NavigationControl bind:currentIndex={currentIndex}\n\t bind:contentLength={pageFlatList.length}\n\t bind:pageSize={pageSize}></NavigationControl>\n\n\t<div class=\"navigation-component\">\n\t\t<!-- all the misc routes-->\n\t\t{#each visiblePages as pageMeta}\n\t\t\t{@const fullPath=`${parentSubpath}${pageMeta.relativeLink}`}\n\t\t\t<button class=\"navigation-element\"\n\t\t\t title={fullPath}\n\t\t\t on:click={createGoToFunction(fullPath)}>\n\t\t\t\t{#if pageMeta.imageUrl}\n\t\t\t\t\t<img src={pageMeta.imageUrl}\n\t\t\t\t\t alt={pageMeta.imageAlt ?? \"placeholder alt text please replace me or report me!\"} />\n\t\t\t\t{/if}\n\t\t\t\t<section class=\"blurb-text\">\n\t\t\t\t\t<h2>{pageMeta.title}</h2>\n\t\t\t\t\t<p>Published: {pageMeta.datePublished ?? \"N/A\"} | Last updated: {pageMeta.lastUpdated ?? \"N/A\"}</p>\n\t\t\t\t\t<p>{pageMeta.description ?? \"\"}</p>\n\t\t\t\t\tTags:\n\t\t\t\t\t{#if (pageMeta.tags && pageMeta.tags.length !== 0)}\n\t\t\t\t\t\t{#each pageMeta.tags as tagValue}\n\t\t\t\t\t\t\t <span class=\"badge variant-filled tag-container\">{tagValue}</span>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t{:else}\n\t\t\t\t\t\tNone\n\t\t\t\t\t{/if}\n\t\t\t\t</section>\n\t\t\t</button>\n\t\t{/each}\n\n\t\t{#if visiblePages.length === 0}\n\t\t\t<Card>\n\t\t\t\t<p class=\"default-card\" slot=\"content\">Sorry, no content was found</p>\n\t\t\t</Card>\n\t\t{/if}\n\t</div>\n\n\t<NavigationControl bind:currentIndex={currentIndex}\n\t bind:contentLength={pageFlatList.length}\n\t bind:pageSize={pageSize}></NavigationControl>\n\n</div>\n\n<style lang=\"postcss\">\n @media (max-width: 800px) {\n img {\n max-height: 20rem;\n width: 100%;\n flex-basis: 100%;\n border-radius: var(--theme-rounded-container) var(--theme-rounded-container) 0 0;\n }\n\n .navigation-element {\n flex-direction: column;\n }\n }\n\n @media (min-width: 801px) {\n .navigation-element {\n flex-direction: row;\n }\n\n img {\n width: 20em;\n }\n }\n\n .navigation-element {\n @apply btn card card-hover bg-surface-100 dark:bg-surface-900;\n display: flex;\n /*flex-direction: row;*/\n text-align: start;\n align-items: flex-start;\n padding: 0;\n }\n\n img {\n height: 20em;\n object-fit: cover;\n padding: var(--theme-border-base);\n border-radius: var(--theme-rounded-container) 0 0 var(--theme-rounded-container);\n }\n\n .navigation-component {\n display: flex;\n flex-direction: column;\n gap: 2em;\n }\n\n .navigation-title {\n text-align: center;\n }\n\n .blurb-text {\n padding: 2em;\n flex-grow: 1;\n white-space: initial;\n min-width: 0;\n }\n\n .navigation-wrapper {\n display: flex;\n flex-direction: column;\n max-width: 1000px;\n }\n\n .tag-container {\n margin: 0.25lh 0;\n }\n</style>
|
|
123
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
|
124
|
+
<+>UTF-8
|
|
125
|
+
===================================================================
|
|
126
|
+
diff --git a/src/lib/components/navigation_component/NavigationComponent.svelte b/src/lib/components/navigation_component/NavigationComponent.svelte
|
|
127
|
+
--- a/src/lib/components/navigation_component/NavigationComponent.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
|
|
128
|
+
+++ b/src/lib/components/navigation_component/NavigationComponent.svelte (date 1711678425171)
|
|
129
|
+
@@ -123,6 +123,7 @@
|
|
130
|
+
|
|
131
|
+
.navigation-title {
|
|
132
|
+
text-align: center;
|
|
133
|
+
+ max-width: initial;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.blurb-text {
|
|
137
|
+
@@ -136,6 +137,7 @@
|
|
138
|
+
display: flex;
|
|
139
|
+
flex-direction: column;
|
|
140
|
+
max-width: 1000px;
|
|
141
|
+
+ width: 100%;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.tag-container {
|
|
145
|
+
Index: src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte
|
|
146
|
+
IDEA additional info:
|
|
147
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
|
|
148
|
+
<+><script lang=\"ts\">\n\timport { showComponentInToast, showTextInToast } from \"$pkg/components/pineapple/toast/Toast\";\n\timport TestCard from \"$pkg/components/pineapple/toast/custom-toast/TestCustomToast.svelte\";\n\timport TestDialogYarn from \"./TestDialog.yarn?raw\";\n\timport { Card, dialogManager } from \"$pkg\";\n\timport NavigationComponent from \"../../../../lib/components/navigation_component/NavigationComponent.svelte\";\n\timport { ImageMap } from \"../(extra-pages)/ImageMap\";\n\n\t// region Toast test scripts\n\tlet testingQueueNumber = 1;\n\tconst testingRandomPhrases = [\n\t\t\"Niko\",\n\t\t\"Niko the Baikal seal\",\n\t\t\"Niko the Baikal seal\\nfrom Toba Aquarium\"\n\t];\n\tconst testDialogYarn = TestDialogYarn;\n\n\tlet parsed = false;\n\tconst onTestDialogClick = () => {\n\t\tif (!parsed) {\n\t\t\tdialogManager.parseAndSetDialogTree(testDialogYarn).then(() => {\n\t\t\t\tdialogManager.toggleDialogOverlay();\n\t\t\t});\n\t\t\tparsed = true;\n\t\t} else {\n\t\t\tdialogManager.toggleDialogOverlay();\n\t\t}\n\t};\n\t// endregion\n\n\n\t// todo: fix fragile relative reference to the root\n\tconst fileList = import.meta.glob(\"./../**/+page.svelte\", { query: \"?raw\" });\n\tconst jsonList = import.meta.glob(\"./../**/meta.json\", { query: \"?raw\", eager: true });\n</script>\n\n<div class=\"pineapple-container\">\n\t<Card>\n\t\t<div slot=\"content\" class=\"default-card\">\n\t\t\t<button\n\t\t\t\tclass=\"btn variant-filled-secondary\"\n\t\t\t\ton:click={() => {\n\t\t\tshowComponentInToast({componentAndProps: {component: TestCard, props: undefined}});\n\t\t}}><h3>Test custom toast</h3></button>\n\t\t\t<button\n\t\t\t\tclass=\"btn variant-filled-secondary\"\n\t\t\t\ton:click={() => {\n\t\t\tshowTextInToast(`${testingQueueNumber} ${testingRandomPhrases[testingQueueNumber]}`);\n\t\t\ttestingQueueNumber = (testingQueueNumber + 1) % testingRandomPhrases.length;\n\t\t}}><h3>Handy toast</h3></button>\n\t\t\t<button\n\t\t\t\tclass=\"btn variant-filled-secondary\"\n\t\t\t\ton:click={onTestDialogClick}><h3>Test dialog</h3></button>\n\t\t</div>\n\t</Card>\n\n\t<NavigationComponent title=\"Navigation Component Test\"\n\t fileList={fileList}\n\t jsonList={jsonList}\n\t imageMap={ImageMap}\n\t parentSubpath=\"/pineapple/\">\n\t</NavigationComponent>\n</div>\n\n<style lang=\"postcss\">\n .default-card {\n display: flex;\n flex-wrap: wrap;\n gap: 2em;\n }\n\n .pineapple-container {\n display: flex;\n flex-direction: column;\n }\n</style>\n
|
|
149
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
|
150
|
+
<+>UTF-8
|
|
151
|
+
===================================================================
|
|
152
|
+
diff --git a/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte b/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte
|
|
153
|
+
--- a/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
|
|
154
|
+
+++ b/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte (date 1711679832559)
|
|
155
|
+
@@ -2,10 +2,12 @@
|
|
156
|
+
import { showComponentInToast, showTextInToast } from "$pkg/components/pineapple/toast/Toast";
|
|
157
|
+
import TestCard from "$pkg/components/pineapple/toast/custom-toast/TestCustomToast.svelte";
|
|
158
|
+
import TestDialogYarn from "./TestDialog.yarn?raw";
|
|
159
|
+
- import { Card, dialogManager } from "$pkg";
|
|
160
|
+
+ import { Card, dialogManager, enableDialogueOverlay } from "$pkg";
|
|
161
|
+
import NavigationComponent from "../../../../lib/components/navigation_component/NavigationComponent.svelte";
|
|
162
|
+
import { ImageMap } from "../(extra-pages)/ImageMap";
|
|
163
|
+
|
|
164
|
+
+ enableDialogueOverlay.set(false);
|
|
165
|
+
+
|
|
166
|
+
// region Toast test scripts
|
|
167
|
+
let testingQueueNumber = 1;
|
|
168
|
+
const testingRandomPhrases = [
|
|
169
|
+
@@ -34,33 +36,31 @@
|
|
170
|
+
const jsonList = import.meta.glob("./../**/meta.json", { query: "?raw", eager: true });
|
|
171
|
+
</script>
|
|
172
|
+
|
|
173
|
+
-<div class="pineapple-container">
|
|
174
|
+
- <Card>
|
|
175
|
+
- <div slot="content" class="default-card">
|
|
176
|
+
- <button
|
|
177
|
+
- class="btn variant-filled-secondary"
|
|
178
|
+
- on:click={() => {
|
|
179
|
+
+<Card>
|
|
180
|
+
+ <div slot="content" class="default-card">
|
|
181
|
+
+ <button
|
|
182
|
+
+ class="btn variant-filled-secondary"
|
|
183
|
+
+ on:click={() => {
|
|
184
|
+
showComponentInToast({componentAndProps: {component: TestCard, props: undefined}});
|
|
185
|
+
}}><h3>Test custom toast</h3></button>
|
|
186
|
+
- <button
|
|
187
|
+
- class="btn variant-filled-secondary"
|
|
188
|
+
- on:click={() => {
|
|
189
|
+
+ <button
|
|
190
|
+
+ class="btn variant-filled-secondary"
|
|
191
|
+
+ on:click={() => {
|
|
192
|
+
showTextInToast(`${testingQueueNumber} ${testingRandomPhrases[testingQueueNumber]}`);
|
|
193
|
+
testingQueueNumber = (testingQueueNumber + 1) % testingRandomPhrases.length;
|
|
194
|
+
}}><h3>Handy toast</h3></button>
|
|
195
|
+
- <button
|
|
196
|
+
- class="btn variant-filled-secondary"
|
|
197
|
+
- on:click={onTestDialogClick}><h3>Test dialog</h3></button>
|
|
198
|
+
- </div>
|
|
199
|
+
- </Card>
|
|
200
|
+
+ <button
|
|
201
|
+
+ class="btn variant-filled-secondary"
|
|
202
|
+
+ on:click={onTestDialogClick}><h3>Test dialog</h3></button>
|
|
203
|
+
+ </div>
|
|
204
|
+
+</Card>
|
|
205
|
+
|
|
206
|
+
- <NavigationComponent title="Navigation Component Test"
|
|
207
|
+
- fileList={fileList}
|
|
208
|
+
- jsonList={jsonList}
|
|
209
|
+
- imageMap={ImageMap}
|
|
210
|
+
- parentSubpath="/pineapple/">
|
|
211
|
+
- </NavigationComponent>
|
|
212
|
+
-</div>
|
|
213
|
+
+<NavigationComponent title="Navigation Component Test"
|
|
214
|
+
+ fileList={fileList}
|
|
215
|
+
+ jsonList={jsonList}
|
|
216
|
+
+ imageMap={ImageMap}
|
|
217
|
+
+ parentSubpath="/pineapple/">
|
|
218
|
+
+</NavigationComponent>
|
|
219
|
+
|
|
220
|
+
<style lang="postcss">
|
|
221
|
+
.default-card {
|
|
222
|
+
@@ -68,9 +68,4 @@
|
|
223
|
+
flex-wrap: wrap;
|
|
224
|
+
gap: 2em;
|
|
225
|
+
}
|
|
226
|
+
-
|
|
227
|
+
- .pineapple-container {
|
|
228
|
+
- display: flex;
|
|
229
|
+
- flex-direction: column;
|
|
230
|
+
- }
|
|
231
|
+
</style>
|
|
232
|
+
Index: src/routes/(pineapple)/+layout.svelte
|
|
233
|
+
IDEA additional info:
|
|
234
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
|
|
235
|
+
<+><script lang=\"ts\">\n\timport PinyaBaseLayout from \"$pkg/components/pineapple/PineappleBaseLayout.svelte\";\n</script>\n\n<PinyaBaseLayout>\n\t<slot />\n</PinyaBaseLayout>\n\n
|
|
236
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
|
237
|
+
<+>UTF-8
|
|
238
|
+
===================================================================
|
|
239
|
+
diff --git a/src/routes/(pineapple)/+layout.svelte b/src/routes/(pineapple)/+layout.svelte
|
|
240
|
+
--- a/src/routes/(pineapple)/+layout.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
|
|
241
|
+
+++ b/src/routes/(pineapple)/+layout.svelte (date 1711677788045)
|
|
242
|
+
@@ -2,7 +2,7 @@
|
|
243
|
+
import PinyaBaseLayout from "$pkg/components/pineapple/PineappleBaseLayout.svelte";
|
|
244
|
+
</script>
|
|
245
|
+
|
|
246
|
+
-<PinyaBaseLayout>
|
|
247
|
+
+<PinyaBaseLayout showDialogByDefault={true}>
|
|
248
|
+
<slot />
|
|
249
|
+
</PinyaBaseLayout>
|
|
250
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Index: package.json
|
|
2
|
+
IDEA additional info:
|
|
3
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
|
|
4
|
+
<+>{\n \"name\": \"@turnipxenon/pineapple\",\n \"description\": \"personal package for base styling for other personal projects\",\n \"version\": \"2.4.29\",\n \"scripts\": {\n \"dev\": \"vite dev\",\n \"build\": \"npm run check-requirements && vite build && yarn package\",\n \"package\": \"svelte-kit sync && svelte-package && publint\",\n \"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\",\n \"check:watch\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch\",\n \"lint\": \"prettier --plugin-search-dir . --check . && eslint .\",\n \"format\": \"prettier --plugin-search-dir . --write .\",\n \"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\",\n \"generate-yarn\": \"npx vite-node src/lib/scripts/pineapple_fiber/PineappleWeaver.ts\",\n \"check-requirements\": \"npx vite-node src/lib/scripts/SetDefaultEnvironment.ts\",\n \"custom-check\": \"npx vite-node src/lib/scripts/util/ManualCheckRun.ts\",\n \"preview\": \"vite preview\",\n \"prepublishOnly\": \"yarn package\"\n },\n \"devDependencies\": {\n \"@sveltejs/adapter-auto\": \"^3.1.1\",\n \"@sveltejs/kit\": \"^2.5.2\",\n \"@sveltejs/package\": \"^2.2.1\",\n \"@tailwindcss/forms\": \"^0.5.3\",\n \"@tailwindcss/typography\": \"^0.5.9\",\n \"@typescript-eslint/eslint-plugin\": \"^5.45.0\",\n \"@typescript-eslint/parser\": \"^5.45.0\",\n \"autoprefixer\": \"^10.4.14\",\n \"eslint\": \"^8.28.0\",\n \"eslint-config-prettier\": \"^8.5.0\",\n \"eslint-plugin-svelte3\": \"^4.0.0\",\n \"postcss\": \"8.4.35\",\n \"prettier\": \"^3.2.5\",\n \"prettier-plugin-svelte\": \"^3.2.2\",\n \"svelte\": \"^4.2.12\",\n \"svelte-check\": \"^3.6.6\",\n \"svelte2tsx\": \"^0.6.20\",\n \"tailwindcss\": \"^3.3.2\",\n \"tslib\": \"^2.4.1\",\n \"typescript\": \"^5.1.6\",\n \"vite\": \"^5.1.5\"\n },\n \"dependencies\": {\n \"@skeletonlabs/skeleton\": \"^2.9.0\",\n \"@skeletonlabs/tw-plugin\": \"^0.3.1\",\n \"@sveltejs/adapter-vercel\": \"^5.1.0\",\n \"@sveltejs/kit\": \"^2.5.2\",\n \"@sveltejs/vite-plugin-svelte\": \"^3.0.2\",\n \"@types/htmlparser2\": \"^3.10.7\",\n \"@types/node\": \"^20.11.25\",\n \"highlight.js\": \"^11.8.0\",\n \"htmlparser2\": \"^9.1.0\",\n \"node-html-parser\": \"^6.1.5\",\n \"publint\": \"^0.2.7\",\n \"string-width\": \"^7.1.0\",\n \"svelte\": \"^4.2.12\",\n \"ts-node\": \"^10.9.1\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"svelte\": \"./dist/index.js\"\n },\n \"./app.postcss\": \"./src/lib/app.postcss\",\n \"./theme.postcss\": \"./src/lib/theme.postcss\"\n },\n \"files\": [\n \"dist\",\n \"!dist/**/*.test.*\",\n \"!dist/**/*.spec.*\",\n \"./src/lib/app.postcss\",\n \"./src/lib/theme.postcss\"\n ],\n \"repository\": \"https://github.com/TurnipXenon/pineapple\",\n \"author\": \"turnipxenon <turnipxenon@gmail.com>\",\n \"license\": \"MIT\",\n \"svelte\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"type\": \"module\"\n}\n
|
|
5
|
+
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
|
6
|
+
<+>UTF-8
|
|
7
|
+
===================================================================
|
|
8
|
+
diff --git a/package.json b/package.json
|
|
9
|
+
--- a/package.json (revision d30651f448fe5a9da3cf47b3f3218aaeb2c719d4)
|
|
10
|
+
+++ b/package.json (date 1711679914979)
|
|
11
|
+
@@ -15,7 +15,8 @@
|
|
12
|
+
"check-requirements": "npx vite-node src/lib/scripts/SetDefaultEnvironment.ts",
|
|
13
|
+
"custom-check": "npx vite-node src/lib/scripts/util/ManualCheckRun.ts",
|
|
14
|
+
"preview": "vite preview",
|
|
15
|
+
- "prepublishOnly": "yarn package"
|
|
16
|
+
+ "prepublishOnly": "yarn package",
|
|
17
|
+
+ "to-dev": "git checkout main && git pull origin main && git checkout -b turnip/dev"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@sveltejs/adapter-auto": "^3.1.1",
|
package/.idea/workspace.xml
CHANGED
|
@@ -4,11 +4,8 @@
|
|
|
4
4
|
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
5
|
</component>
|
|
6
6
|
<component name="ChangeListManager">
|
|
7
|
-
<list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Fix
|
|
8
|
-
<change beforePath="$PROJECT_DIR$/
|
|
9
|
-
<change beforePath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/+page.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte" afterDir="false" />
|
|
10
|
-
<change beforePath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/+page.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/(pineapple)/+page.ts" afterDir="false" />
|
|
11
|
-
<change beforePath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/TestDialog.yarn" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/(pineapple)/TestDialog.yarn" afterDir="false" />
|
|
7
|
+
<list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Fix double dor parsing issue in NavigationComponent">
|
|
8
|
+
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
|
12
9
|
</list>
|
|
13
10
|
<option name="SHOW_DIALOG" value="false" />
|
|
14
11
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -53,7 +50,7 @@
|
|
|
53
50
|
<component name="Git.Settings">
|
|
54
51
|
<option name="RECENT_BRANCH_BY_REPOSITORY">
|
|
55
52
|
<map>
|
|
56
|
-
<entry key="$PROJECT_DIR$" value="
|
|
53
|
+
<entry key="$PROJECT_DIR$" value="main" />
|
|
57
54
|
</map>
|
|
58
55
|
</option>
|
|
59
56
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
@@ -87,33 +84,33 @@
|
|
|
87
84
|
<option name="hideEmptyMiddlePackages" value="true" />
|
|
88
85
|
<option name="showLibraryContents" value="true" />
|
|
89
86
|
</component>
|
|
90
|
-
<component name="PropertiesComponent"
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
87
|
+
<component name="PropertiesComponent"><![CDATA[{
|
|
88
|
+
"keyToString": {
|
|
89
|
+
"DefaultHtmlFileTemplate": "HTML File",
|
|
90
|
+
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
|
91
|
+
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
92
|
+
"WebServerToolWindowFactoryState": "false",
|
|
93
|
+
"git-widget-placeholder": "turnip/improvements",
|
|
94
|
+
"ignore.virus.scanning.warn.message": "true",
|
|
95
|
+
"last_opened_file_path": "C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8",
|
|
96
|
+
"list.type.of.created.stylesheet": "CSS",
|
|
97
|
+
"node.js.detected.package.eslint": "true",
|
|
98
|
+
"node.js.detected.package.tslint": "true",
|
|
99
|
+
"node.js.selected.package.eslint": "(autodetect)",
|
|
100
|
+
"node.js.selected.package.tslint": "(autodetect)",
|
|
101
|
+
"nodejs_interpreter_path": "node",
|
|
102
|
+
"nodejs_package_manager_path": "yarn",
|
|
103
|
+
"npm.build.executor": "Run",
|
|
104
|
+
"npm.dev (1).executor": "Run",
|
|
105
|
+
"npm.dev --open.executor": "Run",
|
|
106
|
+
"npm.dev offline.executor": "Run",
|
|
107
|
+
"npm.dev-offline.executor": "Run",
|
|
108
|
+
"npm.dev.executor": "Run",
|
|
109
|
+
"settings.editor.selected.configurable": "preferences.pluginManager",
|
|
110
|
+
"ts.external.directory.path": "C:\\Users\\Pumpkin\\Projects\\Web\\pineapple\\node_modules\\typescript\\lib",
|
|
111
|
+
"vue.rearranger.settings.migration": "true"
|
|
115
112
|
}
|
|
116
|
-
}
|
|
113
|
+
}]]></component>
|
|
117
114
|
<component name="RecentsManager">
|
|
118
115
|
<key name="CopyFile.RECENT_KEYS">
|
|
119
116
|
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page3\page7\(test_layout)\page8" />
|
|
@@ -162,10 +159,10 @@
|
|
|
162
159
|
</list>
|
|
163
160
|
<recent_temporary>
|
|
164
161
|
<list>
|
|
165
|
-
<item itemvalue="npm.dev --open" />
|
|
166
|
-
<item itemvalue="npm.dev-offline" />
|
|
167
162
|
<item itemvalue="npm.dev-offline" />
|
|
168
163
|
<item itemvalue="npm.dev --open" />
|
|
164
|
+
<item itemvalue="npm.dev --open" />
|
|
165
|
+
<item itemvalue="npm.dev-offline" />
|
|
169
166
|
<item itemvalue="npm.dev-offline" />
|
|
170
167
|
</list>
|
|
171
168
|
</recent_temporary>
|
|
@@ -254,15 +251,10 @@
|
|
|
254
251
|
<workItem from="1711501054028" duration="138000" />
|
|
255
252
|
<workItem from="1711501365165" duration="661000" />
|
|
256
253
|
<workItem from="1711503193901" duration="146000" />
|
|
257
|
-
<workItem from="1711587392130" duration="
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
<
|
|
261
|
-
<created>1710560664163</created>
|
|
262
|
-
<option name="number" value="00065" />
|
|
263
|
-
<option name="presentableId" value="LOCAL-00065" />
|
|
264
|
-
<option name="project" value="LOCAL" />
|
|
265
|
-
<updated>1710560664164</updated>
|
|
254
|
+
<workItem from="1711587392130" duration="863000" />
|
|
255
|
+
<workItem from="1711677339000" duration="218000" />
|
|
256
|
+
<workItem from="1711677568464" duration="55000" />
|
|
257
|
+
<workItem from="1711677762467" duration="2147000" />
|
|
266
258
|
</task>
|
|
267
259
|
<task id="LOCAL-00066" summary="Add simple text toast">
|
|
268
260
|
<option name="closed" value="true" />
|
|
@@ -648,7 +640,15 @@
|
|
|
648
640
|
<option name="project" value="LOCAL" />
|
|
649
641
|
<updated>1711499848251</updated>
|
|
650
642
|
</task>
|
|
651
|
-
<
|
|
643
|
+
<task id="LOCAL-00114" summary="Fix double dor parsing issue in NavigationComponent">
|
|
644
|
+
<option name="closed" value="true" />
|
|
645
|
+
<created>1711587709413</created>
|
|
646
|
+
<option name="number" value="00114" />
|
|
647
|
+
<option name="presentableId" value="LOCAL-00114" />
|
|
648
|
+
<option name="project" value="LOCAL" />
|
|
649
|
+
<updated>1711587709414</updated>
|
|
650
|
+
</task>
|
|
651
|
+
<option name="localTasksCounter" value="115" />
|
|
652
652
|
<servers />
|
|
653
653
|
</component>
|
|
654
654
|
<component name="TypeScriptGeneratedFilesManager">
|
|
@@ -706,7 +706,6 @@
|
|
|
706
706
|
</option>
|
|
707
707
|
</component>
|
|
708
708
|
<component name="VcsManagerConfiguration">
|
|
709
|
-
<MESSAGE value="Remove unnecessary imports and variables in SeaweedTemplate" />
|
|
710
709
|
<MESSAGE value="Add page query param creator" />
|
|
711
710
|
<MESSAGE value="Hide advanced settings when letChaos is true" />
|
|
712
711
|
<MESSAGE value="Add OverridableMeta component" />
|
|
@@ -731,6 +730,7 @@
|
|
|
731
730
|
<MESSAGE value="Add default sorter for NavigationComponent" />
|
|
732
731
|
<MESSAGE value="Fix NavigationComponent styling" />
|
|
733
732
|
<MESSAGE value="Fix default page sorting" />
|
|
734
|
-
<
|
|
733
|
+
<MESSAGE value="Fix double dor parsing issue in NavigationComponent" />
|
|
734
|
+
<option name="LAST_COMMIT_MESSAGE" value="Fix double dor parsing issue in NavigationComponent" />
|
|
735
735
|
</component>
|
|
736
736
|
</project>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
export let marginBottom = "2lh";
|
|
3
3
|
export let overrideStyle = "";
|
|
4
4
|
export let includeDataNoSnippet = true;
|
|
5
|
+
export let additionalClass = [];
|
|
5
6
|
const style = `
|
|
6
7
|
--turnip-card-margin: ${margin};
|
|
7
8
|
--turnip-card-margin-bottom: ${marginBottom};
|
|
@@ -10,10 +11,11 @@ const style = `
|
|
|
10
11
|
if (!$$slots.content) {
|
|
11
12
|
console.error("Missing content slot in card. No content will be displayed.");
|
|
12
13
|
}
|
|
14
|
+
const classes = ["card", "turnip-card"].concat(additionalClass).join(" ");
|
|
13
15
|
</script>
|
|
14
16
|
|
|
15
17
|
{#if (includeDataNoSnippet)}
|
|
16
|
-
<div class=
|
|
18
|
+
<div class={classes} style={style} data-no-snippet>
|
|
17
19
|
<slot name="content" class="card" />
|
|
18
20
|
</div>
|
|
19
21
|
{:else }
|
|
@@ -12,19 +12,17 @@ dialogManager.currentPortrait.subscribe((value) => {
|
|
|
12
12
|
currentPortrait = value;
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
|
-
onMount(() => {
|
|
16
|
-
dialogManager.update(0);
|
|
17
|
-
});
|
|
18
15
|
let hidePercent = 100;
|
|
19
16
|
let isHidden = true;
|
|
20
|
-
|
|
21
|
-
hidePercent
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
17
|
+
onMount(() => {
|
|
18
|
+
dialogManager.hidePercent.subscribe((value) => {
|
|
19
|
+
hidePercent = value * 0.4;
|
|
20
|
+
isHidden = false;
|
|
21
|
+
});
|
|
22
|
+
dialogManager.currentReadableState.subscribe((value) => {
|
|
23
|
+
isHidden = value === DialogState.Invisible;
|
|
24
|
+
});
|
|
25
|
+
dialogManager.update(0);
|
|
28
26
|
});
|
|
29
27
|
const onDialogClick = () => {
|
|
30
28
|
dialogManager.skipAnimation();
|