@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.
Files changed (29) hide show
  1. package/.idea/workspace.xml +36 -29
  2. package/.svelte-kit/__package__/components/navigation_component/PageMeta.d.ts +1 -1
  3. package/.svelte-kit/__package__/components/navigation_component/PageMeta.js +12 -18
  4. package/.svelte-kit/ambient.d.ts +2 -0
  5. package/.svelte-kit/generated/client/app.js +9 -9
  6. package/.svelte-kit/generated/client/nodes/10.js +1 -1
  7. package/.svelte-kit/generated/client/nodes/11.js +1 -1
  8. package/.svelte-kit/generated/client/nodes/12.js +1 -1
  9. package/.svelte-kit/generated/client/nodes/13.js +3 -1
  10. package/.svelte-kit/generated/client/nodes/5.js +1 -3
  11. package/.svelte-kit/generated/client/nodes/6.js +1 -1
  12. package/.svelte-kit/generated/client/nodes/7.js +1 -1
  13. package/.svelte-kit/generated/client/nodes/8.js +1 -1
  14. package/.svelte-kit/generated/client/nodes/9.js +1 -1
  15. package/.svelte-kit/generated/server/internal.js +1 -1
  16. package/.svelte-kit/types/route_meta_data.json +2 -2
  17. package/.svelte-kit/types/src/routes/$types.d.ts +1 -1
  18. package/.svelte-kit/types/src/routes/(pineapple)/$types.d.ts +1 -1
  19. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(pineapple)/$types.d.ts +19 -0
  20. package/dist/components/navigation_component/PageMeta.d.ts +1 -1
  21. package/dist/components/navigation_component/PageMeta.js +12 -18
  22. package/package.json +1 -1
  23. package/src/lib/components/navigation_component/PageMeta.ts +12 -17
  24. package/src/routes/(pineapple)/pineapple/(extra-pages)/page1/meta.json +2 -2
  25. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page5/meta.json +7 -0
  26. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/meta.json +7 -0
  27. package/src/routes/(pineapple)/pineapple/{+page.svelte → (pineapple)/+page.svelte} +4 -4
  28. package/src/routes/(pineapple)/pineapple/{TestDialog.yarn → (pineapple)/TestDialog.yarn} +1 -1
  29. /package/src/routes/(pineapple)/pineapple/{+page.ts → (pineapple)/+page.ts} +0 -0
@@ -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="Add default sorter for NavigationComponent">
8
- <change beforePath="$PROJECT_DIR$/src/lib/components/navigation_component/NavigationComponent.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/navigation_component/NavigationComponent.svelte" afterDir="false" />
9
- <change beforePath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/(extra-pages)/page1/meta.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/(extra-pages)/page1/meta.json" afterDir="false" />
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
  &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
94
96
  &quot;git-widget-placeholder&quot;: &quot;turnip/navigation&quot;,
95
97
  &quot;ignore.virus.scanning.warn.message&quot;: &quot;true&quot;,
96
- &quot;last_opened_file_path&quot;: &quot;C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(pineapple)/pineapple/(extra-pages)/page2&quot;,
98
+ &quot;last_opened_file_path&quot;: &quot;C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8&quot;,
97
99
  &quot;list.type.of.created.stylesheet&quot;: &quot;CSS&quot;,
98
100
  &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
99
101
  &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
@@ -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="2498000" />
251
- </task>
252
- <task id="LOCAL-00063" summary="Add animation to dynamically added button in social section">
253
- <option name="closed" value="true" />
254
- <created>1710403640565</created>
255
- <option name="number" value="00063" />
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
- <option name="localTasksCounter" value="112" />
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
- <option name="LAST_COMMIT_MESSAGE" value="Add default sorter for NavigationComponent" />
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, datePublished, has description, then title
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 pathParts = path.split("/");
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 pathParts = path.split("/");
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, datePublished, has description, then title
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
- if (a.lastUpdated && !b.lastUpdated) {
111
- return AWins;
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 (!a.lastUpdated && b.datePublished) {
115
+ else if (!aDate && bDate) {
123
116
  return BWins;
124
117
  }
125
- else if (a.datePublished && b.datePublished) {
126
- return a.datePublished.localeCompare(b.datePublished);
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;
@@ -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": [5,[2]],
27
- "/(pineapple)/pineapple/(extra-pages)/page1": [6,[2]],
28
- "/(pineapple)/pineapple/(extra-pages)/page2": [7,[2]],
29
- "/(pineapple)/pineapple/(extra-pages)/page3": [8,[2]],
30
- "/(pineapple)/pineapple/(extra-pages)/page3/page5": [9,[2]],
31
- "/(pineapple)/pineapple/(extra-pages)/page3/page6": [10,[2]],
32
- "/(pineapple)/pineapple/(extra-pages)/page3/page7": [11,[2]],
33
- "/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8": [12,[2]],
34
- "/(pineapple)/pineapple/(extra-pages)/page4": [13,[2]],
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/page6/+page.svelte";
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)/page3/page7/(test_layout)/page8/+page.svelte";
1
+ export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page4/+page.svelte";
@@ -1 +1,3 @@
1
- export { default as component } from "../../../../src/routes/(pineapple)/pineapple/(extra-pages)/page4/+page.svelte";
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
- import * as universal from "../../../../src/routes/(pineapple)/pineapple/+page.ts";
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)/page1/+page.svelte";
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)/page2/+page.svelte";
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/page5/+page.svelte";
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: "73g83g"
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" | "/(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" | "/(seaweed)/portfolio" | "/(seaweed)/portfolio/actual" | null
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" | "/(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"
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, datePublished, has description, then title
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 pathParts = path.split("/");
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 pathParts = path.split("/");
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, datePublished, has description, then title
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
- if (a.lastUpdated && !b.lastUpdated) {
111
- return AWins;
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 (!a.lastUpdated && b.datePublished) {
115
+ else if (!aDate && bDate) {
123
116
  return BWins;
124
117
  }
125
- else if (a.datePublished && b.datePublished) {
126
- return a.datePublished.localeCompare(b.datePublished);
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.35",
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 pathParts = path.split("/");
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 pathParts = path.split("/");
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, datePublished, has description, then title
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
- if (a.lastUpdated && !b.lastUpdated) {
189
- return AWins;
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 (a.datePublished && !b.datePublished) {
190
+ if (aDate && !bDate) {
197
191
  return AWins;
198
- } else if (!a.lastUpdated && b.datePublished) {
192
+ } else if (!aDate && bDate) {
199
193
  return BWins;
200
- } else if (a.datePublished && b.datePublished) {
201
- return a.datePublished.localeCompare(b.datePublished);
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": "23-01-01",
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": "23-02-02",
7
+ "lastUpdated": "2023-02-02",
8
8
  "shouldGroup": false,
9
9
  "shouldHide": false,
10
10
  "tags": [
@@ -0,0 +1,7 @@
1
+ {
2
+ "datePublished": "2024-03-03",
3
+ "title": "555",
4
+ "tags": [
5
+ "random"
6
+ ]
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "title": "801 yay",
3
+ "description": "something",
4
+ "tags": [
5
+ "random"
6
+ ]
7
+ }
@@ -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 "$pkg/components/navigation_component/NavigationComponent.svelte";
7
- import { ImageMap } from "./(extra-pages)/ImageMap";
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("./**/+page.svelte", { query: "?raw" });
34
- const jsonList = import.meta.glob("./**/meta.json", { query: "?raw", eager: true });
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
  ===