@turnipxenon/pineapple 2.5.1 → 2.7.0

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.
@@ -10,7 +10,6 @@
10
10
  <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
11
11
  <option name="FORCE_QUOTE_STYlE" value="true" />
12
12
  <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
13
- <option name="USE_EXPLICIT_JS_EXTENSION" value="FALSE" />
14
13
  <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
15
14
  <option name="SPACES_WITHIN_IMPORTS" value="true" />
16
15
  </JSCodeStyleSettings>
@@ -23,7 +22,6 @@
23
22
  <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
24
23
  <option name="FORCE_QUOTE_STYlE" value="true" />
25
24
  <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
26
- <option name="USE_EXPLICIT_JS_EXTENSION" value="FALSE" />
27
25
  <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
28
26
  <option name="SPACES_WITHIN_IMPORTS" value="true" />
29
27
  <option name="IMPORT_USE_NODE_RESOLUTION" value="GLOBAL" />
@@ -4,9 +4,7 @@
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 plain background BlogTemplates">
8
- <change beforePath="$PROJECT_DIR$/src/lib/components/blog_template/BlogTemplate.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/blog_template/BlogTemplate.svelte" afterDir="false" />
9
- </list>
7
+ <list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Update chum bucket display" />
10
8
  <option name="SHOW_DIALOG" value="false" />
11
9
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
12
10
  <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -214,7 +212,7 @@
214
212
  <component name="SharedIndexes">
215
213
  <attachedChunks>
216
214
  <set>
217
- <option value="bundled-js-predefined-1d06a55b98c1-2e7d6887c066-JavaScript-WS-241.15989.47" />
215
+ <option value="bundled-js-predefined-1d06a55b98c1-0b3e54e931b4-JavaScript-WS-241.17011.90" />
218
216
  </set>
219
217
  </attachedChunks>
220
218
  </component>
@@ -392,31 +390,10 @@
392
390
  <workItem from="1714369536254" duration="132000" />
393
391
  <workItem from="1714369851969" duration="201000" />
394
392
  <workItem from="1714521686105" duration="268000" />
395
- <workItem from="1714761186955" duration="2060000" />
396
- </task>
397
- <task id="LOCAL-00157" summary="Fix removeProxyWrapperOnString">
398
- <option name="closed" value="true" />
399
- <created>1712475111869</created>
400
- <option name="number" value="00157" />
401
- <option name="presentableId" value="LOCAL-00157" />
402
- <option name="project" value="LOCAL" />
403
- <updated>1712475111869</updated>
404
- </task>
405
- <task id="LOCAL-00158" summary="Remove unneeded script check in yarn build">
406
- <option name="closed" value="true" />
407
- <created>1712475823736</created>
408
- <option name="number" value="00158" />
409
- <option name="presentableId" value="LOCAL-00158" />
410
- <option name="project" value="LOCAL" />
411
- <updated>1712475823736</updated>
412
- </task>
413
- <task id="LOCAL-00159" summary="Fix yarn dependencies">
414
- <option name="closed" value="true" />
415
- <created>1712476485361</created>
416
- <option name="number" value="00159" />
417
- <option name="presentableId" value="LOCAL-00159" />
418
- <option name="project" value="LOCAL" />
419
- <updated>1712476485362</updated>
393
+ <workItem from="1714761186955" duration="2937000" />
394
+ <workItem from="1714785291683" duration="29000" />
395
+ <workItem from="1717797301446" duration="328000" />
396
+ <workItem from="1717818365490" duration="1400000" />
420
397
  </task>
421
398
  <task id="LOCAL-00160" summary="Support swappable group for backwards compatibility">
422
399
  <option name="closed" value="true" />
@@ -786,7 +763,31 @@
786
763
  <option name="project" value="LOCAL" />
787
764
  <updated>1714763027973</updated>
788
765
  </task>
789
- <option name="localTasksCounter" value="206" />
766
+ <task id="LOCAL-00206" summary="Fix background disappearing in default BlogTemplates">
767
+ <option name="closed" value="true" />
768
+ <created>1714763326650</created>
769
+ <option name="number" value="00206" />
770
+ <option name="presentableId" value="LOCAL-00206" />
771
+ <option name="project" value="LOCAL" />
772
+ <updated>1714763326650</updated>
773
+ </task>
774
+ <task id="LOCAL-00207" summary="Turn off chum bucket temporarily">
775
+ <option name="closed" value="true" />
776
+ <created>1717797372617</created>
777
+ <option name="number" value="00207" />
778
+ <option name="presentableId" value="LOCAL-00207" />
779
+ <option name="project" value="LOCAL" />
780
+ <updated>1717797372618</updated>
781
+ </task>
782
+ <task id="LOCAL-00208" summary="Update chum bucket display">
783
+ <option name="closed" value="true" />
784
+ <created>1717819762642</created>
785
+ <option name="number" value="00208" />
786
+ <option name="presentableId" value="LOCAL-00208" />
787
+ <option name="project" value="LOCAL" />
788
+ <updated>1717819762642</updated>
789
+ </task>
790
+ <option name="localTasksCounter" value="209" />
790
791
  <servers />
791
792
  </component>
792
793
  <component name="TypeScriptGeneratedFilesManager">
@@ -844,9 +845,6 @@
844
845
  </option>
845
846
  </component>
846
847
  <component name="VcsManagerConfiguration">
847
- <MESSAGE value="Add hideable upper controls for NavigationComponent" />
848
- <MESSAGE value="Add default value for allowUpperControl in NavigationComponent" />
849
- <MESSAGE value="Add ChumBucket" />
850
848
  <MESSAGE value="Fix align-items" />
851
849
  <MESSAGE value="Export GetLatestBlogs properly" />
852
850
  <MESSAGE value="Update description for ThisWebpage" />
@@ -869,6 +867,9 @@
869
867
  <MESSAGE value="Reduce margin bottom for default blog paragraphs" />
870
868
  <MESSAGE value="Attempt for whole blog page" />
871
869
  <MESSAGE value="Add plain background BlogTemplates" />
872
- <option name="LAST_COMMIT_MESSAGE" value="Add plain background BlogTemplates" />
870
+ <MESSAGE value="Fix background disappearing in default BlogTemplates" />
871
+ <MESSAGE value="Turn off chum bucket temporarily" />
872
+ <MESSAGE value="Update chum bucket display" />
873
+ <option name="LAST_COMMIT_MESSAGE" value="Update chum bucket display" />
873
874
  </component>
874
875
  </project>
@@ -1,38 +1,38 @@
1
1
  <script>export let pageMeta;
2
- </script>
3
-
4
- <article>
5
- <hgroup>
6
- {#if pageMeta.title}
7
- <h1>{pageMeta.title}</h1>
8
- {/if}
9
- {#if pageMeta.datePublished}
10
- <p>Published: {pageMeta.datePublished}</p>
11
- {/if}
12
- {#if pageMeta.lastUpdated}
13
- <p>Last updated: {pageMeta.lastUpdated}</p>
14
- {/if}
15
- {#if pageMeta.tags.length > 0}
16
- <section id="article-tags">
17
- Tags:
18
- {#each pageMeta.tags as tag}
19
- <span class="badge variant-filled">{tag}</span>
20
- {/each}
21
- </section>
22
- {/if}
23
- </hgroup>
24
-
25
- <div class="article-content">
26
- <slot />
27
- </div>
28
- </article>
29
-
30
- <style>
31
- hgroup {
32
- margin-bottom: 1lh;
33
- }
34
-
35
- .badge {
36
- margin-inline-end: 0.5em;
37
- }
2
+ </script>
3
+
4
+ <article>
5
+ <hgroup>
6
+ {#if pageMeta.title}
7
+ <h1>{pageMeta.title}</h1>
8
+ {/if}
9
+ {#if pageMeta.datePublished}
10
+ <p>Published: {pageMeta.datePublished}</p>
11
+ {/if}
12
+ {#if pageMeta.lastUpdated}
13
+ <p>Last updated: {pageMeta.lastUpdated}</p>
14
+ {/if}
15
+ {#if pageMeta.tags.length > 0}
16
+ <section id="article-tags">
17
+ Tags:
18
+ {#each pageMeta.tags as tag}
19
+ <span class="badge variant-filled">{tag}</span>
20
+ {/each}
21
+ </section>
22
+ {/if}
23
+ </hgroup>
24
+
25
+ <div class="article-content">
26
+ <slot />
27
+ </div>
28
+ </article>
29
+
30
+ <style>
31
+ hgroup {
32
+ margin-bottom: 1lh;
33
+ }
34
+
35
+ .badge {
36
+ margin-inline-end: 0.5em;
37
+ }
38
38
  </style>
@@ -1,10 +1,14 @@
1
1
  <script>import Card from "../../components/Card.svelte";
2
2
  import {} from "../..";
3
3
  import { onMount } from "svelte";
4
+ let hasTriedGettingChumBucket = false;
4
5
  let pageMetaList = [];
5
6
  const loadPageMeta = async () => {
6
7
  fetch("/api/get-latest-blogs").then((resp) => resp.json()).then((json) => {
7
8
  pageMetaList = json;
9
+ hasTriedGettingChumBucket = true;
10
+ }).catch((_) => {
11
+ hasTriedGettingChumBucket = true;
8
12
  });
9
13
  };
10
14
  onMount(() => {
@@ -25,19 +29,30 @@ onMount(() => {
25
29
  {/if}
26
30
 
27
31
  <div class="chum-bucket-grid">
28
- {#each pageMetaList as pageMeta}
29
- <div class="chum-bucket-item">
30
- {#if pageMeta.imageUrl}
31
- <img src={`https://turnipxenon.com${pageMeta.imageUrl}`}
32
- class="chum-bucket-image"
33
- alt={pageMeta.imageAlt}>
34
- {/if}
35
- <div>
36
- <h3><a href={`https://turnipxenon.com/${pageMeta.relativeLink}`}>{pageMeta.title}</a></h3>
37
- <p>{pageMeta.description}</p>
32
+ {#if hasTriedGettingChumBucket}
33
+ {#each pageMetaList as pageMeta}
34
+ <div class="chum-bucket-item">
35
+ {#if pageMeta.imageUrl}
36
+ <img src={`https://turnipxenon.com${pageMeta.imageUrl}`}
37
+ class="chum-bucket-image"
38
+ alt={pageMeta.imageAlt}>
39
+ {/if}
40
+ <div>
41
+ <h3><a href={`https://turnipxenon.com/${pageMeta.relativeLink}`}>{pageMeta.title}</a></h3>
42
+ <p>Published: {pageMeta.datePublished}
43
+ {#if pageMeta.lastUpdated}
44
+ | Last updated: {pageMeta.lastUpdated}
45
+ {/if}
46
+ </p>
47
+ <p>{pageMeta.description}</p>
48
+ </div>
38
49
  </div>
39
- </div>
40
- {/each}
50
+ {/each}
51
+ {:else}
52
+ {#each { length: 10 } as _}
53
+ <div class="placeholder" />
54
+ {/each}
55
+ {/if}
41
56
  </div>
42
57
  </div>
43
58
  </Card>
@@ -37,6 +37,8 @@ declare module '$env/static/private' {
37
37
  export const COMSPEC: string;
38
38
  export const DriverData: string;
39
39
  export const EXEPATH: string;
40
+ export const FPS_BROWSER_APP_PROFILE_STRING: string;
41
+ export const FPS_BROWSER_USER_PROFILE_STRING: string;
40
42
  export const GIT_XL_PATH: string;
41
43
  export const GoLand: string;
42
44
  export const GOPATH: string;
@@ -225,6 +227,8 @@ declare module '$env/dynamic/private' {
225
227
  COMSPEC: string;
226
228
  DriverData: string;
227
229
  EXEPATH: string;
230
+ FPS_BROWSER_APP_PROFILE_STRING: string;
231
+ FPS_BROWSER_USER_PROFILE_STRING: string;
228
232
  GIT_XL_PATH: string;
229
233
  GoLand: string;
230
234
  GOPATH: string;
@@ -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: "1ucpk8o"
24
+ version_hash: "r53u0o"
25
25
  };
26
26
 
27
27
  export async function get_hooks() {
@@ -1,38 +1,38 @@
1
1
  <script>export let pageMeta;
2
- </script>
3
-
4
- <article>
5
- <hgroup>
6
- {#if pageMeta.title}
7
- <h1>{pageMeta.title}</h1>
8
- {/if}
9
- {#if pageMeta.datePublished}
10
- <p>Published: {pageMeta.datePublished}</p>
11
- {/if}
12
- {#if pageMeta.lastUpdated}
13
- <p>Last updated: {pageMeta.lastUpdated}</p>
14
- {/if}
15
- {#if pageMeta.tags.length > 0}
16
- <section id="article-tags">
17
- Tags:
18
- {#each pageMeta.tags as tag}
19
- <span class="badge variant-filled">{tag}</span>
20
- {/each}
21
- </section>
22
- {/if}
23
- </hgroup>
24
-
25
- <div class="article-content">
26
- <slot />
27
- </div>
28
- </article>
29
-
30
- <style>
31
- hgroup {
32
- margin-bottom: 1lh;
33
- }
34
-
35
- .badge {
36
- margin-inline-end: 0.5em;
37
- }
2
+ </script>
3
+
4
+ <article>
5
+ <hgroup>
6
+ {#if pageMeta.title}
7
+ <h1>{pageMeta.title}</h1>
8
+ {/if}
9
+ {#if pageMeta.datePublished}
10
+ <p>Published: {pageMeta.datePublished}</p>
11
+ {/if}
12
+ {#if pageMeta.lastUpdated}
13
+ <p>Last updated: {pageMeta.lastUpdated}</p>
14
+ {/if}
15
+ {#if pageMeta.tags.length > 0}
16
+ <section id="article-tags">
17
+ Tags:
18
+ {#each pageMeta.tags as tag}
19
+ <span class="badge variant-filled">{tag}</span>
20
+ {/each}
21
+ </section>
22
+ {/if}
23
+ </hgroup>
24
+
25
+ <div class="article-content">
26
+ <slot />
27
+ </div>
28
+ </article>
29
+
30
+ <style>
31
+ hgroup {
32
+ margin-bottom: 1lh;
33
+ }
34
+
35
+ .badge {
36
+ margin-inline-end: 0.5em;
37
+ }
38
38
  </style>
@@ -1,10 +1,14 @@
1
1
  <script>import Card from "../../components/Card.svelte";
2
2
  import {} from "../..";
3
3
  import { onMount } from "svelte";
4
+ let hasTriedGettingChumBucket = false;
4
5
  let pageMetaList = [];
5
6
  const loadPageMeta = async () => {
6
7
  fetch("/api/get-latest-blogs").then((resp) => resp.json()).then((json) => {
7
8
  pageMetaList = json;
9
+ hasTriedGettingChumBucket = true;
10
+ }).catch((_) => {
11
+ hasTriedGettingChumBucket = true;
8
12
  });
9
13
  };
10
14
  onMount(() => {
@@ -25,19 +29,30 @@ onMount(() => {
25
29
  {/if}
26
30
 
27
31
  <div class="chum-bucket-grid">
28
- {#each pageMetaList as pageMeta}
29
- <div class="chum-bucket-item">
30
- {#if pageMeta.imageUrl}
31
- <img src={`https://turnipxenon.com${pageMeta.imageUrl}`}
32
- class="chum-bucket-image"
33
- alt={pageMeta.imageAlt}>
34
- {/if}
35
- <div>
36
- <h3><a href={`https://turnipxenon.com/${pageMeta.relativeLink}`}>{pageMeta.title}</a></h3>
37
- <p>{pageMeta.description}</p>
32
+ {#if hasTriedGettingChumBucket}
33
+ {#each pageMetaList as pageMeta}
34
+ <div class="chum-bucket-item">
35
+ {#if pageMeta.imageUrl}
36
+ <img src={`https://turnipxenon.com${pageMeta.imageUrl}`}
37
+ class="chum-bucket-image"
38
+ alt={pageMeta.imageAlt}>
39
+ {/if}
40
+ <div>
41
+ <h3><a href={`https://turnipxenon.com/${pageMeta.relativeLink}`}>{pageMeta.title}</a></h3>
42
+ <p>Published: {pageMeta.datePublished}
43
+ {#if pageMeta.lastUpdated}
44
+ | Last updated: {pageMeta.lastUpdated}
45
+ {/if}
46
+ </p>
47
+ <p>{pageMeta.description}</p>
48
+ </div>
38
49
  </div>
39
- </div>
40
- {/each}
50
+ {/each}
51
+ {:else}
52
+ {#each { length: 10 } as _}
53
+ <div class="placeholder" />
54
+ {/each}
55
+ {/if}
41
56
  </div>
42
57
  </div>
43
58
  </Card>
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.5.1",
4
+ "version": "2.7.0",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
7
7
  "build": "vite build && yarn package",
@@ -1,41 +1,41 @@
1
- <script lang="ts">
2
- import type { SimplePageMeta } from "$pkg";
3
-
4
- export let pageMeta: SimplePageMeta;
5
- </script>
6
-
7
- <article>
8
- <hgroup>
9
- {#if pageMeta.title}
10
- <h1>{pageMeta.title}</h1>
11
- {/if}
12
- {#if pageMeta.datePublished}
13
- <p>Published: {pageMeta.datePublished}</p>
14
- {/if}
15
- {#if pageMeta.lastUpdated}
16
- <p>Last updated: {pageMeta.lastUpdated}</p>
17
- {/if}
18
- {#if pageMeta.tags.length > 0}
19
- <section id="article-tags">
20
- Tags:
21
- {#each pageMeta.tags as tag}
22
- <span class="badge variant-filled">{tag}</span>
23
- {/each}
24
- </section>
25
- {/if}
26
- </hgroup>
27
-
28
- <div class="article-content">
29
- <slot />
30
- </div>
31
- </article>
32
-
33
- <style>
34
- hgroup {
35
- margin-bottom: 1lh;
36
- }
37
-
38
- .badge {
39
- margin-inline-end: 0.5em;
40
- }
1
+ <script lang="ts">
2
+ import type { SimplePageMeta } from "$pkg";
3
+
4
+ export let pageMeta: SimplePageMeta;
5
+ </script>
6
+
7
+ <article>
8
+ <hgroup>
9
+ {#if pageMeta.title}
10
+ <h1>{pageMeta.title}</h1>
11
+ {/if}
12
+ {#if pageMeta.datePublished}
13
+ <p>Published: {pageMeta.datePublished}</p>
14
+ {/if}
15
+ {#if pageMeta.lastUpdated}
16
+ <p>Last updated: {pageMeta.lastUpdated}</p>
17
+ {/if}
18
+ {#if pageMeta.tags.length > 0}
19
+ <section id="article-tags">
20
+ Tags:
21
+ {#each pageMeta.tags as tag}
22
+ <span class="badge variant-filled">{tag}</span>
23
+ {/each}
24
+ </section>
25
+ {/if}
26
+ </hgroup>
27
+
28
+ <div class="article-content">
29
+ <slot />
30
+ </div>
31
+ </article>
32
+
33
+ <style>
34
+ hgroup {
35
+ margin-bottom: 1lh;
36
+ }
37
+
38
+ .badge {
39
+ margin-inline-end: 0.5em;
40
+ }
41
41
  </style>
@@ -3,10 +3,14 @@
3
3
  import { type PageMeta } from "$pkg";
4
4
  import { onMount } from "svelte";
5
5
 
6
+ let hasTriedGettingChumBucket = false;
6
7
  let pageMetaList: PageMeta[] = [];
7
8
  const loadPageMeta = async () => {
8
9
  fetch("/api/get-latest-blogs").then(resp => resp.json()).then(json => {
9
10
  pageMetaList = json as PageMeta[];
11
+ hasTriedGettingChumBucket = true;
12
+ }).catch(_ => {
13
+ hasTriedGettingChumBucket = true;
10
14
  });
11
15
  };
12
16
 
@@ -28,19 +32,30 @@
28
32
  {/if}
29
33
 
30
34
  <div class="chum-bucket-grid">
31
- {#each pageMetaList as pageMeta}
32
- <div class="chum-bucket-item">
33
- {#if pageMeta.imageUrl}
34
- <img src={`https://turnipxenon.com${pageMeta.imageUrl}`}
35
- class="chum-bucket-image"
36
- alt={pageMeta.imageAlt}>
37
- {/if}
38
- <div>
39
- <h3><a href={`https://turnipxenon.com/${pageMeta.relativeLink}`}>{pageMeta.title}</a></h3>
40
- <p>{pageMeta.description}</p>
35
+ {#if hasTriedGettingChumBucket}
36
+ {#each pageMetaList as pageMeta}
37
+ <div class="chum-bucket-item">
38
+ {#if pageMeta.imageUrl}
39
+ <img src={`https://turnipxenon.com${pageMeta.imageUrl}`}
40
+ class="chum-bucket-image"
41
+ alt={pageMeta.imageAlt}>
42
+ {/if}
43
+ <div>
44
+ <h3><a href={`https://turnipxenon.com/${pageMeta.relativeLink}`}>{pageMeta.title}</a></h3>
45
+ <p>Published: {pageMeta.datePublished}
46
+ {#if pageMeta.lastUpdated}
47
+ | Last updated: {pageMeta.lastUpdated}
48
+ {/if}
49
+ </p>
50
+ <p>{pageMeta.description}</p>
51
+ </div>
41
52
  </div>
42
- </div>
43
- {/each}
53
+ {/each}
54
+ {:else}
55
+ {#each { length: 10 } as _}
56
+ <div class="placeholder" />
57
+ {/each}
58
+ {/if}
44
59
  </div>
45
60
  </div>
46
61
  </Card>