@turnipxenon/pineapple 2.4.35 → 2.4.37
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/workspace.xml +36 -29
- package/.svelte-kit/__package__/components/navigation_component/PageMeta.d.ts +1 -1
- package/.svelte-kit/__package__/components/navigation_component/PageMeta.js +12 -18
- package/.svelte-kit/ambient.d.ts +2 -0
- package/.svelte-kit/generated/client/app.js +9 -9
- package/.svelte-kit/generated/client/nodes/10.js +1 -1
- package/.svelte-kit/generated/client/nodes/11.js +1 -1
- package/.svelte-kit/generated/client/nodes/12.js +1 -1
- package/.svelte-kit/generated/client/nodes/13.js +3 -1
- package/.svelte-kit/generated/client/nodes/5.js +1 -3
- package/.svelte-kit/generated/client/nodes/6.js +1 -1
- package/.svelte-kit/generated/client/nodes/7.js +1 -1
- package/.svelte-kit/generated/client/nodes/8.js +1 -1
- package/.svelte-kit/generated/client/nodes/9.js +1 -1
- package/.svelte-kit/generated/server/internal.js +1 -1
- package/.svelte-kit/types/route_meta_data.json +2 -2
- package/.svelte-kit/types/src/routes/$types.d.ts +1 -1
- package/.svelte-kit/types/src/routes/(pineapple)/$types.d.ts +1 -1
- package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(pineapple)/$types.d.ts +19 -0
- package/dist/components/navigation_component/PageMeta.d.ts +1 -1
- package/dist/components/navigation_component/PageMeta.js +12 -18
- package/package.json +1 -1
- package/src/lib/components/navigation_component/PageMeta.ts +12 -17
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page1/meta.json +2 -2
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page5/meta.json +7 -0
- package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/meta.json +7 -0
- package/src/routes/(pineapple)/pineapple/{+page.svelte → (pineapple)/+page.svelte} +4 -4
- package/src/routes/(pineapple)/pineapple/{TestDialog.yarn → (pineapple)/TestDialog.yarn} +1 -1
- /package/src/routes/(pineapple)/pineapple/{+page.ts → (pineapple)/+page.ts} +0 -0
package/.idea/workspace.xml
CHANGED
|
@@ -4,9 +4,11 @@
|
|
|
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="
|
|
8
|
-
<change beforePath="$PROJECT_DIR$/src/lib/components/navigation_component/
|
|
9
|
-
<change beforePath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple
|
|
7
|
+
<list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Fix default page sorting">
|
|
8
|
+
<change beforePath="$PROJECT_DIR$/src/lib/components/navigation_component/PageMeta.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/navigation_component/PageMeta.ts" afterDir="false" />
|
|
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" />
|
|
10
12
|
</list>
|
|
11
13
|
<option name="SHOW_DIALOG" value="false" />
|
|
12
14
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -93,7 +95,7 @@
|
|
|
93
95
|
"WebServerToolWindowFactoryState": "false",
|
|
94
96
|
"git-widget-placeholder": "turnip/navigation",
|
|
95
97
|
"ignore.virus.scanning.warn.message": "true",
|
|
96
|
-
"last_opened_file_path": "C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(pineapple)/pineapple/(extra-pages)/
|
|
98
|
+
"last_opened_file_path": "C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8",
|
|
97
99
|
"list.type.of.created.stylesheet": "CSS",
|
|
98
100
|
"node.js.detected.package.eslint": "true",
|
|
99
101
|
"node.js.detected.package.tslint": "true",
|
|
@@ -114,18 +116,18 @@
|
|
|
114
116
|
}</component>
|
|
115
117
|
<component name="RecentsManager">
|
|
116
118
|
<key name="CopyFile.RECENT_KEYS">
|
|
119
|
+
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page3\page7\(test_layout)\page8" />
|
|
120
|
+
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page3\page5" />
|
|
117
121
|
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page2" />
|
|
118
122
|
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\components\navigation_component" />
|
|
119
123
|
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3\page7\(test_layout)\page8" />
|
|
120
|
-
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3\page7" />
|
|
121
|
-
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3" />
|
|
122
124
|
</key>
|
|
123
125
|
<key name="MoveFile.RECENT_KEYS">
|
|
126
|
+
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(nested)" />
|
|
127
|
+
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)" />
|
|
124
128
|
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page1" />
|
|
125
129
|
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page2" />
|
|
126
130
|
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page3" />
|
|
127
|
-
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)" />
|
|
128
|
-
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3\page7\(test_layout)" />
|
|
129
131
|
</key>
|
|
130
132
|
<key name="es6.move.members.recent.items">
|
|
131
133
|
<recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\types\RootLayoutProps.ts" />
|
|
@@ -247,23 +249,12 @@
|
|
|
247
249
|
<workItem from="1711492999560" duration="85000" />
|
|
248
250
|
<workItem from="1711493260312" duration="1518000" />
|
|
249
251
|
<workItem from="1711494820779" duration="11000" />
|
|
250
|
-
<workItem from="1711495822479" duration="
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
<
|
|
254
|
-
<
|
|
255
|
-
<
|
|
256
|
-
<option name="presentableId" value="LOCAL-00063" />
|
|
257
|
-
<option name="project" value="LOCAL" />
|
|
258
|
-
<updated>1710403640566</updated>
|
|
259
|
-
</task>
|
|
260
|
-
<task id="LOCAL-00064" summary="Implement normal state for PineappleBaseLayout">
|
|
261
|
-
<option name="closed" value="true" />
|
|
262
|
-
<created>1710473020513</created>
|
|
263
|
-
<option name="number" value="00064" />
|
|
264
|
-
<option name="presentableId" value="LOCAL-00064" />
|
|
265
|
-
<option name="project" value="LOCAL" />
|
|
266
|
-
<updated>1710473020514</updated>
|
|
252
|
+
<workItem from="1711495822479" duration="2695000" />
|
|
253
|
+
<workItem from="1711499095557" duration="919000" />
|
|
254
|
+
<workItem from="1711501054028" duration="138000" />
|
|
255
|
+
<workItem from="1711501365165" duration="661000" />
|
|
256
|
+
<workItem from="1711503193901" duration="146000" />
|
|
257
|
+
<workItem from="1711587392130" duration="266000" />
|
|
267
258
|
</task>
|
|
268
259
|
<task id="LOCAL-00065" summary="Add custom toast">
|
|
269
260
|
<option name="closed" value="true" />
|
|
@@ -641,7 +632,23 @@
|
|
|
641
632
|
<option name="project" value="LOCAL" />
|
|
642
633
|
<updated>1711494655396</updated>
|
|
643
634
|
</task>
|
|
644
|
-
<
|
|
635
|
+
<task id="LOCAL-00112" summary="Fix NavigationComponent styling">
|
|
636
|
+
<option name="closed" value="true" />
|
|
637
|
+
<created>1711498416272</created>
|
|
638
|
+
<option name="number" value="00112" />
|
|
639
|
+
<option name="presentableId" value="LOCAL-00112" />
|
|
640
|
+
<option name="project" value="LOCAL" />
|
|
641
|
+
<updated>1711498416272</updated>
|
|
642
|
+
</task>
|
|
643
|
+
<task id="LOCAL-00113" summary="Fix default page sorting">
|
|
644
|
+
<option name="closed" value="true" />
|
|
645
|
+
<created>1711499848251</created>
|
|
646
|
+
<option name="number" value="00113" />
|
|
647
|
+
<option name="presentableId" value="LOCAL-00113" />
|
|
648
|
+
<option name="project" value="LOCAL" />
|
|
649
|
+
<updated>1711499848251</updated>
|
|
650
|
+
</task>
|
|
651
|
+
<option name="localTasksCounter" value="114" />
|
|
645
652
|
<servers />
|
|
646
653
|
</component>
|
|
647
654
|
<component name="TypeScriptGeneratedFilesManager">
|
|
@@ -699,8 +706,6 @@
|
|
|
699
706
|
</option>
|
|
700
707
|
</component>
|
|
701
708
|
<component name="VcsManagerConfiguration">
|
|
702
|
-
<MESSAGE value="Refactor Game Section to separate component" />
|
|
703
|
-
<MESSAGE value="Refactor GameSection out of SeaweedTemplate" />
|
|
704
709
|
<MESSAGE value="Remove unnecessary imports and variables in SeaweedTemplate" />
|
|
705
710
|
<MESSAGE value="Add page query param creator" />
|
|
706
711
|
<MESSAGE value="Hide advanced settings when letChaos is true" />
|
|
@@ -724,6 +729,8 @@
|
|
|
724
729
|
<MESSAGE value="Add a way to hide an entry in NavigationComponent" />
|
|
725
730
|
<MESSAGE value="Migrate from relying on json instead of comments for meta" />
|
|
726
731
|
<MESSAGE value="Add default sorter for NavigationComponent" />
|
|
727
|
-
<
|
|
732
|
+
<MESSAGE value="Fix NavigationComponent styling" />
|
|
733
|
+
<MESSAGE value="Fix default page sorting" />
|
|
734
|
+
<option name="LAST_COMMIT_MESSAGE" value="Fix default page sorting" />
|
|
728
735
|
</component>
|
|
729
736
|
</project>
|
|
@@ -49,7 +49,7 @@ export declare const findPageMetaParent: (parentList: PageMeta[], child: PageMet
|
|
|
49
49
|
export type ParsePageMetaCompareFn = ((a: PageMeta, b: PageMeta) => number);
|
|
50
50
|
export declare const parsePageMeta: (fileList: Record<string, unknown>, jsonList: Record<string, unknown>, imageMap: Map<string, string>, compareFn?: ParsePageMetaCompareFn) => PageMeta[];
|
|
51
51
|
/**
|
|
52
|
-
* Prioritizes, in order, lastUpdated
|
|
52
|
+
* Prioritizes, in order, recently lastUpdated or datePublished, has description, then title
|
|
53
53
|
*
|
|
54
54
|
* @param a
|
|
55
55
|
* @param b
|
|
@@ -24,10 +24,9 @@ export const parsePageMeta = (fileList, jsonList, imageMap, compareFn) => {
|
|
|
24
24
|
// let pageGroupedList: PageMeta[] = [];
|
|
25
25
|
const jsonMap = new Map();
|
|
26
26
|
Object.keys(jsonList).forEach(path => {
|
|
27
|
-
const
|
|
27
|
+
const pathEnd = path.split("../").pop();
|
|
28
|
+
const pathParts = pathEnd.split("/");
|
|
28
29
|
pathParts.pop();
|
|
29
|
-
// get title
|
|
30
|
-
// const title = pathParts[pathParts.length - 1].replaceAll("-", " ");
|
|
31
30
|
// get url path
|
|
32
31
|
const subPath = pathParts.filter(s => {
|
|
33
32
|
return s !== "." && s.indexOf("(") !== 0;
|
|
@@ -40,7 +39,8 @@ export const parsePageMeta = (fileList, jsonList, imageMap, compareFn) => {
|
|
|
40
39
|
}
|
|
41
40
|
});
|
|
42
41
|
for (const path in fileList) {
|
|
43
|
-
const
|
|
42
|
+
const pathEnd = path.split("../").pop();
|
|
43
|
+
const pathParts = pathEnd.split("/");
|
|
44
44
|
pathParts.pop();
|
|
45
45
|
// get title
|
|
46
46
|
const title = pathParts[pathParts.length - 1].replaceAll("-", " ");
|
|
@@ -100,30 +100,24 @@ export const parsePageMeta = (fileList, jsonList, imageMap, compareFn) => {
|
|
|
100
100
|
const AWins = -1;
|
|
101
101
|
const BWins = 1;
|
|
102
102
|
/**
|
|
103
|
-
* Prioritizes, in order, lastUpdated
|
|
103
|
+
* Prioritizes, in order, recently lastUpdated or datePublished, has description, then title
|
|
104
104
|
*
|
|
105
105
|
* @param a
|
|
106
106
|
* @param b
|
|
107
107
|
* @constructor
|
|
108
108
|
*/
|
|
109
109
|
export const DefaultPageMetaSorter = (a, b) => {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
else if (!a.lastUpdated && b.lastUpdated) {
|
|
114
|
-
return BWins;
|
|
115
|
-
}
|
|
116
|
-
else if (a.lastUpdated && b.lastUpdated) {
|
|
117
|
-
return a.lastUpdated.localeCompare(b.lastUpdated);
|
|
118
|
-
}
|
|
119
|
-
if (a.datePublished && !b.datePublished) {
|
|
110
|
+
const aDate = a.lastUpdated || a.datePublished;
|
|
111
|
+
const bDate = b.lastUpdated || b.datePublished;
|
|
112
|
+
if (aDate && !bDate) {
|
|
120
113
|
return AWins;
|
|
121
114
|
}
|
|
122
|
-
else if (!
|
|
115
|
+
else if (!aDate && bDate) {
|
|
123
116
|
return BWins;
|
|
124
117
|
}
|
|
125
|
-
else if (
|
|
126
|
-
|
|
118
|
+
else if (aDate && bDate) {
|
|
119
|
+
// we invert the value because we want the dates to be in descending order
|
|
120
|
+
return -aDate.localeCompare(bDate);
|
|
127
121
|
}
|
|
128
122
|
if (a.description && !b.description) {
|
|
129
123
|
return AWins;
|
package/.svelte-kit/ambient.d.ts
CHANGED
|
@@ -46,6 +46,7 @@ declare module '$env/static/private' {
|
|
|
46
46
|
export const HOMEDRIVE: string;
|
|
47
47
|
export const HOMEPATH: string;
|
|
48
48
|
export const IDEA_INITIAL_DIRECTORY: string;
|
|
49
|
+
export const IJ_RESTARTER_LOG: string;
|
|
49
50
|
export const INIT_CWD: string;
|
|
50
51
|
export const JAVA_HOME: string;
|
|
51
52
|
export const LOCALAPPDATA: string;
|
|
@@ -239,6 +240,7 @@ declare module '$env/dynamic/private' {
|
|
|
239
240
|
HOMEDRIVE: string;
|
|
240
241
|
HOMEPATH: string;
|
|
241
242
|
IDEA_INITIAL_DIRECTORY: string;
|
|
243
|
+
IJ_RESTARTER_LOG: string;
|
|
242
244
|
INIT_CWD: string;
|
|
243
245
|
JAVA_HOME: string;
|
|
244
246
|
LOCALAPPDATA: string;
|
|
@@ -23,15 +23,15 @@ export const server_loads = [];
|
|
|
23
23
|
|
|
24
24
|
export const dictionary = {
|
|
25
25
|
"/(pineapple)": [4,[2]],
|
|
26
|
-
"/(pineapple)/pineapple": [
|
|
27
|
-
"/(pineapple)/pineapple/(extra-pages)/page1": [
|
|
28
|
-
"/(pineapple)/pineapple/(extra-pages)/page2": [
|
|
29
|
-
"/(pineapple)/pineapple/(extra-pages)/page3": [
|
|
30
|
-
"/(pineapple)/pineapple/(extra-pages)/page3/page5": [
|
|
31
|
-
"/(pineapple)/pineapple/(extra-pages)/page3/page6": [
|
|
32
|
-
"/(pineapple)/pineapple/(extra-pages)/page3/page7": [
|
|
33
|
-
"/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8": [
|
|
34
|
-
"/(pineapple)/pineapple/(extra-pages)/page4": [
|
|
26
|
+
"/(pineapple)/pineapple/(pineapple)": [13,[2]],
|
|
27
|
+
"/(pineapple)/pineapple/(extra-pages)/page1": [5,[2]],
|
|
28
|
+
"/(pineapple)/pineapple/(extra-pages)/page2": [6,[2]],
|
|
29
|
+
"/(pineapple)/pineapple/(extra-pages)/page3": [7,[2]],
|
|
30
|
+
"/(pineapple)/pineapple/(extra-pages)/page3/page5": [8,[2]],
|
|
31
|
+
"/(pineapple)/pineapple/(extra-pages)/page3/page6": [9,[2]],
|
|
32
|
+
"/(pineapple)/pineapple/(extra-pages)/page3/page7": [10,[2]],
|
|
33
|
+
"/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8": [11,[2]],
|
|
34
|
+
"/(pineapple)/pineapple/(extra-pages)/page4": [12,[2]],
|
|
35
35
|
"/(seaweed)/portfolio": [~14,[3]],
|
|
36
36
|
"/(seaweed)/portfolio/actual": [15,[3]]
|
|
37
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page3/
|
|
1
|
+
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/+page.svelte";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/+page.svelte";
|
|
1
|
+
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/+page.svelte";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/
|
|
1
|
+
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page4/+page.svelte";
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import * as universal from "../../../../src/routes/(pineapple)/pineapple/(pineapple)/+page.ts";
|
|
2
|
+
export { universal };
|
|
3
|
+
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte";
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { universal };
|
|
3
|
-
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/+page.svelte";
|
|
1
|
+
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page1/+page.svelte";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/
|
|
1
|
+
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page2/+page.svelte";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/
|
|
1
|
+
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page3/+page.svelte";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page3/+page.svelte";
|
|
1
|
+
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page3/page5/+page.svelte";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page3/
|
|
1
|
+
export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page3/page6/+page.svelte";
|
|
@@ -21,7 +21,7 @@ export const options = {
|
|
|
21
21
|
app: ({ head, body, assets, nonce, env }) => "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<link rel=\"icon\" href=\"" + assets + "/favicon.png\" />\n\t\t<meta name=\"viewport\" content=\"width=device-width\" />\n\t\t" + head + "\n\t</head>\n\n\t<body data-sveltekit-preload-data=\"hover\" data-theme=\"crimson\">\n\t\t<div style=\"display: contents\" class=\"h-full overflow-hidden\">" + body + "</div>\n\t</body>\n</html>\n",
|
|
22
22
|
error: ({ status, message }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>" + message + "</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">" + status + "</span>\n\t\t\t<div class=\"message\">\n\t\t\t\t<h1>" + message + "</h1>\n\t\t\t</div>\n\t\t</div>\n\t</body>\n</html>\n"
|
|
23
23
|
},
|
|
24
|
-
version_hash: "
|
|
24
|
+
version_hash: "4tclde"
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
export async function get_hooks() {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"/(seaweed)": [],
|
|
3
3
|
"/(pineapple)": [],
|
|
4
4
|
"/": [],
|
|
5
|
-
"/(pineapple)/pineapple": [
|
|
6
|
-
"src/routes/(pineapple)/pineapple/+page.ts"
|
|
5
|
+
"/(pineapple)/pineapple/(pineapple)": [
|
|
6
|
+
"src/routes/(pineapple)/pineapple/(pineapple)/+page.ts"
|
|
7
7
|
],
|
|
8
8
|
"/(pineapple)/pineapple/(extra-pages)/page1": [],
|
|
9
9
|
"/(pineapple)/pineapple/(extra-pages)/page2": [],
|
|
@@ -11,7 +11,7 @@ type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Pa
|
|
|
11
11
|
type EnsureDefined<T> = T extends null | undefined ? {} : T;
|
|
12
12
|
type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
|
|
13
13
|
export type Snapshot<T = any> = Kit.Snapshot<T>;
|
|
14
|
-
type LayoutRouteId = RouteId | "/(pineapple)" | "/(pineapple)/pineapple
|
|
14
|
+
type LayoutRouteId = RouteId | "/(pineapple)" | "/(pineapple)/pineapple/(extra-pages)/page1" | "/(pineapple)/pineapple/(extra-pages)/page2" | "/(pineapple)/pineapple/(extra-pages)/page3" | "/(pineapple)/pineapple/(extra-pages)/page3/page5" | "/(pineapple)/pineapple/(extra-pages)/page3/page6" | "/(pineapple)/pineapple/(extra-pages)/page3/page7" | "/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8" | "/(pineapple)/pineapple/(extra-pages)/page4" | "/(pineapple)/pineapple/(pineapple)" | "/(seaweed)/portfolio" | "/(seaweed)/portfolio/actual" | null
|
|
15
15
|
type LayoutParams = RouteParams & { }
|
|
16
16
|
type LayoutParentData = EnsureDefined<{}>;
|
|
17
17
|
|
|
@@ -12,7 +12,7 @@ type EnsureDefined<T> = T extends null | undefined ? {} : T;
|
|
|
12
12
|
type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
|
|
13
13
|
export type Snapshot<T = any> = Kit.Snapshot<T>;
|
|
14
14
|
type PageParentData = Omit<EnsureDefined<import('../$types.js').LayoutData>, keyof LayoutData> & EnsureDefined<LayoutData>;
|
|
15
|
-
type LayoutRouteId = RouteId | "/(pineapple)" | "/(pineapple)/pineapple
|
|
15
|
+
type LayoutRouteId = RouteId | "/(pineapple)" | "/(pineapple)/pineapple/(extra-pages)/page1" | "/(pineapple)/pineapple/(extra-pages)/page2" | "/(pineapple)/pineapple/(extra-pages)/page3" | "/(pineapple)/pineapple/(extra-pages)/page3/page5" | "/(pineapple)/pineapple/(extra-pages)/page3/page6" | "/(pineapple)/pineapple/(extra-pages)/page3/page7" | "/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8" | "/(pineapple)/pineapple/(extra-pages)/page4" | "/(pineapple)/pineapple/(pineapple)"
|
|
16
16
|
type LayoutParams = RouteParams & { }
|
|
17
17
|
type LayoutParentData = EnsureDefined<import('../$types.js').LayoutData>;
|
|
18
18
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type * as Kit from '@sveltejs/kit';
|
|
2
|
+
|
|
3
|
+
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
|
|
6
|
+
type RouteParams = { };
|
|
7
|
+
type RouteId = '/(pineapple)/pineapple/(pineapple)';
|
|
8
|
+
type MaybeWithVoid<T> = {} extends T ? T | void : T;
|
|
9
|
+
export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
|
|
10
|
+
type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
|
|
11
|
+
type EnsureDefined<T> = T extends null | undefined ? {} : T;
|
|
12
|
+
type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
|
|
13
|
+
export type Snapshot<T = any> = Kit.Snapshot<T>;
|
|
14
|
+
type PageParentData = Omit<EnsureDefined<import('../../../$types.js').LayoutData>, keyof import('../../$types.js').LayoutData> & EnsureDefined<import('../../$types.js').LayoutData>;
|
|
15
|
+
|
|
16
|
+
export type PageServerData = null;
|
|
17
|
+
export type PageLoad<OutputData extends OutputDataShape<PageParentData> = OutputDataShape<PageParentData>> = Kit.Load<RouteParams, PageServerData, PageParentData, OutputData, RouteId>;
|
|
18
|
+
export type PageLoadEvent = Parameters<PageLoad>[0];
|
|
19
|
+
export type PageData = Expand<Omit<PageParentData, keyof Kit.LoadProperties<Awaited<ReturnType<typeof import('../../../../../../../src/routes/(pineapple)/pineapple/(pineapple)/+page.js').load>>>> & OptionalUnion<EnsureDefined<Kit.LoadProperties<Awaited<ReturnType<typeof import('../../../../../../../src/routes/(pineapple)/pineapple/(pineapple)/+page.js').load>>>>>>;
|
|
@@ -49,7 +49,7 @@ export declare const findPageMetaParent: (parentList: PageMeta[], child: PageMet
|
|
|
49
49
|
export type ParsePageMetaCompareFn = ((a: PageMeta, b: PageMeta) => number);
|
|
50
50
|
export declare const parsePageMeta: (fileList: Record<string, unknown>, jsonList: Record<string, unknown>, imageMap: Map<string, string>, compareFn?: ParsePageMetaCompareFn) => PageMeta[];
|
|
51
51
|
/**
|
|
52
|
-
* Prioritizes, in order, lastUpdated
|
|
52
|
+
* Prioritizes, in order, recently lastUpdated or datePublished, has description, then title
|
|
53
53
|
*
|
|
54
54
|
* @param a
|
|
55
55
|
* @param b
|
|
@@ -24,10 +24,9 @@ export const parsePageMeta = (fileList, jsonList, imageMap, compareFn) => {
|
|
|
24
24
|
// let pageGroupedList: PageMeta[] = [];
|
|
25
25
|
const jsonMap = new Map();
|
|
26
26
|
Object.keys(jsonList).forEach(path => {
|
|
27
|
-
const
|
|
27
|
+
const pathEnd = path.split("../").pop();
|
|
28
|
+
const pathParts = pathEnd.split("/");
|
|
28
29
|
pathParts.pop();
|
|
29
|
-
// get title
|
|
30
|
-
// const title = pathParts[pathParts.length - 1].replaceAll("-", " ");
|
|
31
30
|
// get url path
|
|
32
31
|
const subPath = pathParts.filter(s => {
|
|
33
32
|
return s !== "." && s.indexOf("(") !== 0;
|
|
@@ -40,7 +39,8 @@ export const parsePageMeta = (fileList, jsonList, imageMap, compareFn) => {
|
|
|
40
39
|
}
|
|
41
40
|
});
|
|
42
41
|
for (const path in fileList) {
|
|
43
|
-
const
|
|
42
|
+
const pathEnd = path.split("../").pop();
|
|
43
|
+
const pathParts = pathEnd.split("/");
|
|
44
44
|
pathParts.pop();
|
|
45
45
|
// get title
|
|
46
46
|
const title = pathParts[pathParts.length - 1].replaceAll("-", " ");
|
|
@@ -100,30 +100,24 @@ export const parsePageMeta = (fileList, jsonList, imageMap, compareFn) => {
|
|
|
100
100
|
const AWins = -1;
|
|
101
101
|
const BWins = 1;
|
|
102
102
|
/**
|
|
103
|
-
* Prioritizes, in order, lastUpdated
|
|
103
|
+
* Prioritizes, in order, recently lastUpdated or datePublished, has description, then title
|
|
104
104
|
*
|
|
105
105
|
* @param a
|
|
106
106
|
* @param b
|
|
107
107
|
* @constructor
|
|
108
108
|
*/
|
|
109
109
|
export const DefaultPageMetaSorter = (a, b) => {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
else if (!a.lastUpdated && b.lastUpdated) {
|
|
114
|
-
return BWins;
|
|
115
|
-
}
|
|
116
|
-
else if (a.lastUpdated && b.lastUpdated) {
|
|
117
|
-
return a.lastUpdated.localeCompare(b.lastUpdated);
|
|
118
|
-
}
|
|
119
|
-
if (a.datePublished && !b.datePublished) {
|
|
110
|
+
const aDate = a.lastUpdated || a.datePublished;
|
|
111
|
+
const bDate = b.lastUpdated || b.datePublished;
|
|
112
|
+
if (aDate && !bDate) {
|
|
120
113
|
return AWins;
|
|
121
114
|
}
|
|
122
|
-
else if (!
|
|
115
|
+
else if (!aDate && bDate) {
|
|
123
116
|
return BWins;
|
|
124
117
|
}
|
|
125
|
-
else if (
|
|
126
|
-
|
|
118
|
+
else if (aDate && bDate) {
|
|
119
|
+
// we invert the value because we want the dates to be in descending order
|
|
120
|
+
return -aDate.localeCompare(bDate);
|
|
127
121
|
}
|
|
128
122
|
if (a.description && !b.description) {
|
|
129
123
|
return AWins;
|
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": "2.4.
|
|
4
|
+
"version": "2.4.37",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "vite dev",
|
|
7
7
|
"build": "npm run check-requirements && vite build && yarn package",
|
|
@@ -83,12 +83,10 @@ export const parsePageMeta = (fileList: Record<string, unknown>,
|
|
|
83
83
|
// let pageGroupedList: PageMeta[] = [];
|
|
84
84
|
const jsonMap = new Map<string, { [k: string]: unknown }>();
|
|
85
85
|
Object.keys(jsonList).forEach(path => {
|
|
86
|
-
const
|
|
86
|
+
const pathEnd = path.split("../").pop() as string;
|
|
87
|
+
const pathParts = pathEnd.split("/");
|
|
87
88
|
pathParts.pop();
|
|
88
89
|
|
|
89
|
-
// get title
|
|
90
|
-
// const title = pathParts[pathParts.length - 1].replaceAll("-", " ");
|
|
91
|
-
|
|
92
90
|
// get url path
|
|
93
91
|
const subPath = pathParts.filter(s => {
|
|
94
92
|
return s !== "." && s.indexOf("(") !== 0;
|
|
@@ -103,7 +101,8 @@ export const parsePageMeta = (fileList: Record<string, unknown>,
|
|
|
103
101
|
});
|
|
104
102
|
|
|
105
103
|
for (const path in fileList) {
|
|
106
|
-
const
|
|
104
|
+
const pathEnd = path.split("../").pop() as string;
|
|
105
|
+
const pathParts = pathEnd.split("/");
|
|
107
106
|
pathParts.pop();
|
|
108
107
|
|
|
109
108
|
// get title
|
|
@@ -178,27 +177,23 @@ const AWins = -1;
|
|
|
178
177
|
const BWins = 1;
|
|
179
178
|
|
|
180
179
|
/**
|
|
181
|
-
* Prioritizes, in order, lastUpdated
|
|
180
|
+
* Prioritizes, in order, recently lastUpdated or datePublished, has description, then title
|
|
182
181
|
*
|
|
183
182
|
* @param a
|
|
184
183
|
* @param b
|
|
185
184
|
* @constructor
|
|
186
185
|
*/
|
|
187
186
|
export const DefaultPageMetaSorter: ParsePageMetaCompareFn = (a, b) => {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
} else if (!a.lastUpdated && b.lastUpdated) {
|
|
191
|
-
return BWins;
|
|
192
|
-
} else if (a.lastUpdated && b.lastUpdated) {
|
|
193
|
-
return a.lastUpdated.localeCompare(b.lastUpdated);
|
|
194
|
-
}
|
|
187
|
+
const aDate = a.lastUpdated || a.datePublished;
|
|
188
|
+
const bDate = b.lastUpdated || b.datePublished;
|
|
195
189
|
|
|
196
|
-
if (
|
|
190
|
+
if (aDate && !bDate) {
|
|
197
191
|
return AWins;
|
|
198
|
-
} else if (!
|
|
192
|
+
} else if (!aDate && bDate) {
|
|
199
193
|
return BWins;
|
|
200
|
-
} else if (
|
|
201
|
-
|
|
194
|
+
} else if (aDate && bDate) {
|
|
195
|
+
// we invert the value because we want the dates to be in descending order
|
|
196
|
+
return -aDate.localeCompare(bDate);
|
|
202
197
|
}
|
|
203
198
|
|
|
204
199
|
if (a.description && !b.description) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"datePublished": "
|
|
2
|
+
"datePublished": "2023-01-01",
|
|
3
3
|
"description": "random description but look at Ares! Let's try out a long-ish text to see how things would wrap and all that. I don't know what else to say. Please stream Umpah Umpah.",
|
|
4
4
|
"imageAlt": "Image of Ares being excited",
|
|
5
5
|
"imageID": "testImageID",
|
|
6
6
|
"imageURL": "./favicon.png/?q=imageIDTakesPrecedence",
|
|
7
|
-
"lastUpdated": "
|
|
7
|
+
"lastUpdated": "2023-02-02",
|
|
8
8
|
"shouldGroup": false,
|
|
9
9
|
"shouldHide": false,
|
|
10
10
|
"tags": [
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import TestCard from "$pkg/components/pineapple/toast/custom-toast/TestCustomToast.svelte";
|
|
4
4
|
import TestDialogYarn from "./TestDialog.yarn?raw";
|
|
5
5
|
import { Card, dialogManager } from "$pkg";
|
|
6
|
-
import NavigationComponent from "
|
|
7
|
-
import { ImageMap } from "
|
|
6
|
+
import NavigationComponent from "../../../../lib/components/navigation_component/NavigationComponent.svelte";
|
|
7
|
+
import { ImageMap } from "../(extra-pages)/ImageMap";
|
|
8
8
|
|
|
9
9
|
// region Toast test scripts
|
|
10
10
|
let testingQueueNumber = 1;
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
// todo: fix fragile relative reference to the root
|
|
33
|
-
const fileList = import.meta.glob("
|
|
34
|
-
const jsonList = import.meta.glob("
|
|
33
|
+
const fileList = import.meta.glob("./../**/+page.svelte", { query: "?raw" });
|
|
34
|
+
const jsonList = import.meta.glob("./../**/meta.json", { query: "?raw", eager: true });
|
|
35
35
|
</script>
|
|
36
36
|
|
|
37
37
|
<div class="pineapple-container">
|
|
@@ -2,6 +2,6 @@ title: ErrorStart
|
|
|
2
2
|
position: 0,0
|
|
3
3
|
---
|
|
4
4
|
Portrait: AresDisappointed
|
|
5
|
-
<p>Huh... We didn't find that page. Sorry about that. You can go back to our <a href="/">homepage.</a><br>
|
|
5
|
+
<p>Huh... We didn't find that page. Sorry about that. You can go back to our <a href="/static">homepage.</a><br>
|
|
6
6
|
Gomen oomf chan o(TヘTo)</p>
|
|
7
7
|
===
|
|
File without changes
|