@turnipxenon/pineapple 2.4.25 → 2.4.26

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 (53) hide show
  1. package/.idea/workspace.xml +35 -29
  2. package/.svelte-kit/__package__/components/overrideable_meta/OverridableMeta.svelte +51 -0
  3. package/.svelte-kit/__package__/components/overrideable_meta/OverridableMeta.svelte.d.ts +20 -0
  4. package/.svelte-kit/__package__/components/overrideable_meta/OverridableMetaProps.d.ts +7 -0
  5. package/.svelte-kit/__package__/components/overrideable_meta/OverridableMetaProps.js +1 -0
  6. package/.svelte-kit/__package__/components/overrideable_meta/index.d.ts +2 -0
  7. package/.svelte-kit/__package__/components/overrideable_meta/index.js +3 -0
  8. package/.svelte-kit/__package__/index.d.ts +1 -0
  9. package/.svelte-kit/__package__/index.js +2 -0
  10. package/.svelte-kit/__package__/template/Seaweed/GameSection.svelte +184 -184
  11. package/.svelte-kit/__package__/template/Seaweed/ProjectSection.svelte +268 -268
  12. package/.svelte-kit/__package__/template/Seaweed/SeaweedTemplate.svelte +33 -32
  13. package/.svelte-kit/__package__/template/Seaweed/seaweed.postcss +133 -133
  14. package/.svelte-kit/ambient.d.ts +0 -2
  15. package/.svelte-kit/generated/client/nodes/5.js +2 -0
  16. package/.svelte-kit/generated/client/nodes/6.js +2 -0
  17. package/.svelte-kit/generated/client/nodes/7.js +2 -0
  18. package/.svelte-kit/generated/client/nodes/8.js +1 -1
  19. package/.svelte-kit/generated/server/internal.js +1 -1
  20. package/.svelte-kit/types/route_meta_data.json +7 -2
  21. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/$types.d.ts +3 -1
  22. package/.svelte-kit/types/src/routes/(seaweed)/portfolio/$types.d.ts +4 -2
  23. package/.svelte-kit/types/src/routes/(seaweed)/portfolio/actual/$types.d.ts +3 -1
  24. package/dist/components/overrideable_meta/OverridableMeta.svelte +51 -0
  25. package/dist/components/overrideable_meta/OverridableMeta.svelte.d.ts +20 -0
  26. package/dist/components/overrideable_meta/OverridableMetaProps.d.ts +7 -0
  27. package/dist/components/overrideable_meta/OverridableMetaProps.js +1 -0
  28. package/dist/components/overrideable_meta/index.d.ts +2 -0
  29. package/dist/components/overrideable_meta/index.js +3 -0
  30. package/dist/index.d.ts +1 -0
  31. package/dist/index.js +2 -0
  32. package/dist/template/Seaweed/GameSection.svelte +184 -184
  33. package/dist/template/Seaweed/ProjectSection.svelte +268 -268
  34. package/dist/template/Seaweed/SeaweedTemplate.svelte +33 -32
  35. package/dist/template/Seaweed/seaweed.postcss +133 -133
  36. package/package.json +1 -1
  37. package/src/lib/components/overrideable_meta/OverridableMeta.svelte +56 -0
  38. package/src/lib/components/overrideable_meta/OverridableMetaProps.ts +7 -0
  39. package/src/lib/components/overrideable_meta/index.ts +4 -0
  40. package/src/lib/index.ts +3 -0
  41. package/src/lib/template/Seaweed/GameSection.svelte +213 -213
  42. package/src/lib/template/Seaweed/ProjectSection.svelte +298 -298
  43. package/src/lib/template/Seaweed/SeaweedTemplate.svelte +36 -35
  44. package/src/lib/template/Seaweed/seaweed.postcss +133 -133
  45. package/src/lib/util/util.ts +38 -38
  46. package/src/routes/(pineapple)/+layout.svelte +0 -15
  47. package/src/routes/(pineapple)/+page.svelte +0 -12
  48. package/src/routes/(pineapple)/pineapple/+page.svelte +0 -10
  49. package/src/routes/(pineapple)/pineapple/+page.ts +8 -0
  50. package/src/routes/(seaweed)/portfolio/+page.svelte +0 -11
  51. package/src/routes/(seaweed)/portfolio/+page.ts +8 -0
  52. package/src/routes/(seaweed)/portfolio/actual/+page.ts +8 -0
  53. package/src/routes/+layout.svelte +5 -2
@@ -368,42 +368,43 @@
368
368
  <GameSection email={email}></GameSection>
369
369
  {/if}
370
370
 
371
- <div aria-hidden="true" style="height: 25vh" />
372
-
373
- <Card>
374
- <div slot="content" class="default-card advanced-setting">
375
- <h1>Advanced settings</h1>
376
- <p>This one is for those curious how I customize this page.</p>
377
- <SlideToggle name="advanced-setting-slider" bind:checked={isAdvanceSettingOn}>
378
- Advanced settings: {isAdvanceSettingOn ? "On" : "Off"}
379
- </SlideToggle>
380
- {#if (isAdvanceSettingOn)}
381
- <SlideToggle name="game-section-slider" bind:checked={gameSectionFirst}>
382
- Should game section appear first over projects: {gameSectionFirst ? "On" : "Off"}
383
- </SlideToggle>
384
-
385
- <h3>Query terms to bold</h3>
386
- <div class="query-term-grid">
387
- {#each qtMap.entries() as [term, shouldBold]}
388
- <!--{@const shouldBold = false}-->
389
- <button
390
- class="chip {shouldBold ? 'variant-filled-tertiary' : 'variant-soft-tertiary'}"
391
- on:click={() => {toggleTerm(term)}}
392
- >
393
- <!-- todo: change shouldBold -->
394
- {#if (shouldBold)}&check;{/if}
395
- {term}
396
- </button>
397
- {/each}
398
- </div>
399
-
400
- <br>
401
- <p>Copy the url below and open a new page with it</p>
402
- <CodeBlock language="url" code={advancedUrl}></CodeBlock>
403
- {/if}
404
- </div>
405
- </Card>
371
+ {#if (!letChaos)}
372
+ <div aria-hidden="true" style="height: 25vh" />
406
373
 
374
+ <Card>
375
+ <div slot="content" class="default-card advanced-setting">
376
+ <h1>Advanced settings</h1>
377
+ <p>This one is for those curious how I customize this page.</p>
378
+ <SlideToggle name="advanced-setting-slider" bind:checked={isAdvanceSettingOn}>
379
+ Advanced settings: {isAdvanceSettingOn ? "On" : "Off"}
380
+ </SlideToggle>
381
+ {#if (isAdvanceSettingOn)}
382
+ <SlideToggle name="game-section-slider" bind:checked={gameSectionFirst}>
383
+ Should game section appear first over projects: {gameSectionFirst ? "On" : "Off"}
384
+ </SlideToggle>
385
+
386
+ <h3>Query terms to bold</h3>
387
+ <div class="query-term-grid">
388
+ {#each qtMap.entries() as [term, shouldBold]}
389
+ <!--{@const shouldBold = false}-->
390
+ <button
391
+ class="chip {shouldBold ? 'variant-filled-tertiary' : 'variant-soft-tertiary'}"
392
+ on:click={() => {toggleTerm(term)}}
393
+ >
394
+ <!-- todo: change shouldBold -->
395
+ {#if (shouldBold)}&check;{/if}
396
+ {term}
397
+ </button>
398
+ {/each}
399
+ </div>
400
+
401
+ <br>
402
+ <p>Copy the url below and open a new page with it</p>
403
+ <CodeBlock language="url" code={advancedUrl}></CodeBlock>
404
+ {/if}
405
+ </div>
406
+ </Card>
407
+ {/if}
407
408
  </main>
408
409
 
409
410
  <SocialSection slot="extraLeadingIcons"
@@ -1,133 +1,133 @@
1
- main {
2
- width: 100%;
3
- overflow: visible;
4
- display: flex;
5
- flex-direction: column;
6
- justify-content: center;
7
- align-items: center;
8
- }
9
-
10
- h1 {
11
- font-size: 2em;
12
- }
13
-
14
- h2 {
15
- font-size: 1.5em;
16
- }
17
-
18
- .section-card {
19
- padding: 3em;
20
- max-width: 800px;
21
- }
22
-
23
- .game-card, .project-card {
24
- width: 100vw;
25
- max-width: 36em;
26
- margin-bottom: 3em;
27
- }
28
-
29
- .game-card > video {
30
- border-top-left-radius: 1em;
31
- border-top-right-radius: 1em;
32
- max-height: 24em;
33
- width: 100%;
34
- object-fit: cover;
35
- }
36
-
37
- #migrante-alberta, .game-card > img, .project-card > img {
38
- border-top-left-radius: 1em;
39
- border-top-right-radius: 1em;
40
- }
41
-
42
- #migrante-alberta {
43
- width: 100%;
44
- object-fit: cover;
45
- }
46
-
47
- .game-button {
48
- @apply btn variant-filled-primary;
49
- }
50
-
51
- .game-button > img {
52
- max-height: 1lh;
53
- /* todo: consider night mode day mode */
54
- }
55
-
56
- .two-column-separated {
57
- display: flex;
58
- justify-content: space-between;
59
- }
60
-
61
- .more-section {
62
- padding: 1em;
63
- }
64
-
65
- .greater-about-div {
66
- display: flex;
67
- flex-direction: column;
68
- max-width: 36em;
69
- }
70
-
71
- .experience-and-about-div {
72
- display: flex;
73
- gap: 2em;
74
- flex-wrap: wrap;
75
- justify-content: center;
76
- align-items: flex-start;
77
- }
78
-
79
- .game-card-body, .project-card-body {
80
- padding: 1em;
81
- }
82
-
83
- .game-card-body > blockquote {
84
- margin-bottom: 0.7lh;
85
- }
86
-
87
- .game-card-body > h1, .project-card-body > h2 {
88
- text-align: center;
89
- }
90
-
91
- .game-link-section {
92
- display: flex;
93
- flex-direction: row;
94
- justify-content: center;
95
- gap: 1em;
96
- margin-top: 1em;
97
- }
98
-
99
- .games-section, .projects-section {
100
- display: flex;
101
- flex-wrap: wrap;
102
- gap: 2em;
103
- justify-content: center;
104
- }
105
-
106
- .projects-section {
107
- align-items: flex-start;
108
- /*justify-content: flex-start;*/
109
- }
110
-
111
- .long-btn-image {
112
- max-height: 1lh;
113
- }
114
-
115
- .itch-promo {
116
- padding: 4em;
117
- }
118
-
119
- #hepcat-video {
120
- object-position: 0 0;
121
- }
122
-
123
- .title-card {
124
- width: clamp(360px, 80vw, 800px);
125
- }
126
-
127
- [class*='qt-'] {
128
- font-weight: var(--qt-font-weight);
129
- }
130
-
131
- .accordion-header {
132
- margin-top: 0.25em;
133
- }
1
+ main {
2
+ width: 100%;
3
+ overflow: visible;
4
+ display: flex;
5
+ flex-direction: column;
6
+ justify-content: center;
7
+ align-items: center;
8
+ }
9
+
10
+ h1 {
11
+ font-size: 2em;
12
+ }
13
+
14
+ h2 {
15
+ font-size: 1.5em;
16
+ }
17
+
18
+ .section-card {
19
+ padding: 3em;
20
+ max-width: 800px;
21
+ }
22
+
23
+ .game-card, .project-card {
24
+ width: 100vw;
25
+ max-width: 36em;
26
+ margin-bottom: 3em;
27
+ }
28
+
29
+ .game-card > video {
30
+ border-top-left-radius: 1em;
31
+ border-top-right-radius: 1em;
32
+ max-height: 24em;
33
+ width: 100%;
34
+ object-fit: cover;
35
+ }
36
+
37
+ #migrante-alberta, .game-card > img, .project-card > img {
38
+ border-top-left-radius: 1em;
39
+ border-top-right-radius: 1em;
40
+ }
41
+
42
+ #migrante-alberta {
43
+ width: 100%;
44
+ object-fit: cover;
45
+ }
46
+
47
+ .game-button {
48
+ @apply btn variant-filled-primary;
49
+ }
50
+
51
+ .game-button > img {
52
+ max-height: 1lh;
53
+ /* todo: consider night mode day mode */
54
+ }
55
+
56
+ .two-column-separated {
57
+ display: flex;
58
+ justify-content: space-between;
59
+ }
60
+
61
+ .more-section {
62
+ padding: 1em;
63
+ }
64
+
65
+ .greater-about-div {
66
+ display: flex;
67
+ flex-direction: column;
68
+ max-width: 36em;
69
+ }
70
+
71
+ .experience-and-about-div {
72
+ display: flex;
73
+ gap: 2em;
74
+ flex-wrap: wrap;
75
+ justify-content: center;
76
+ align-items: flex-start;
77
+ }
78
+
79
+ .game-card-body, .project-card-body {
80
+ padding: 1em;
81
+ }
82
+
83
+ .game-card-body > blockquote {
84
+ margin-bottom: 0.7lh;
85
+ }
86
+
87
+ .game-card-body > h1, .project-card-body > h2 {
88
+ text-align: center;
89
+ }
90
+
91
+ .game-link-section {
92
+ display: flex;
93
+ flex-direction: row;
94
+ justify-content: center;
95
+ gap: 1em;
96
+ margin-top: 1em;
97
+ }
98
+
99
+ .games-section, .projects-section {
100
+ display: flex;
101
+ flex-wrap: wrap;
102
+ gap: 2em;
103
+ justify-content: center;
104
+ }
105
+
106
+ .projects-section {
107
+ align-items: flex-start;
108
+ /*justify-content: flex-start;*/
109
+ }
110
+
111
+ .long-btn-image {
112
+ max-height: 1lh;
113
+ }
114
+
115
+ .itch-promo {
116
+ padding: 4em;
117
+ }
118
+
119
+ #hepcat-video {
120
+ object-position: 0 0;
121
+ }
122
+
123
+ .title-card {
124
+ width: clamp(360px, 80vw, 800px);
125
+ }
126
+
127
+ [class*='qt-'] {
128
+ font-weight: var(--qt-font-weight);
129
+ }
130
+
131
+ .accordion-header {
132
+ margin-top: 0.25em;
133
+ }
@@ -1,38 +1,38 @@
1
- export const generatedDailySeed = (): number => {
2
- const date = new Date();
3
- const time = date.getTime() + 86400000;
4
- return time - (time % 86400000);
5
- };
6
-
7
- // psuedo misc with seed
8
- // from https://stackoverflow.com/a/47593316
9
- export const mulberry32Generator = (a: number): (() => number) => {
10
- return function() {
11
- var t = (a += 0x6d2b79f5);
12
- t = Math.imul(t ^ (t >>> 15), t | 1);
13
- t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
14
- return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
15
- };
16
- };
17
-
18
- export const createGoToFunction = (path: string): (() => void) => {
19
- return (() => {
20
- location.href = path;
21
- });
22
- };
23
-
24
- export interface ExternalLinkWarningArgs {
25
- href: string;
26
- }
27
-
28
- export const createExternalLinkWarningFunction = (args: ExternalLinkWarningArgs): (() => void) => {
29
- return (() => {
30
- // todo: https://github.com/TurnipXenon/pineapple/issues/99
31
- // add the warning here for future functions
32
- location.href = args.href;
33
- });
34
- };
35
-
36
- export interface RawGlob {
37
- default: string;
38
- }
1
+ export const generatedDailySeed = (): number => {
2
+ const date = new Date();
3
+ const time = date.getTime() + 86400000;
4
+ return time - (time % 86400000);
5
+ };
6
+
7
+ // psuedo misc with seed
8
+ // from https://stackoverflow.com/a/47593316
9
+ export const mulberry32Generator = (a: number): (() => number) => {
10
+ return function() {
11
+ var t = (a += 0x6d2b79f5);
12
+ t = Math.imul(t ^ (t >>> 15), t | 1);
13
+ t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
14
+ return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
15
+ };
16
+ };
17
+
18
+ export const createGoToFunction = (path: string): (() => void) => {
19
+ return (() => {
20
+ location.href = path;
21
+ });
22
+ };
23
+
24
+ export interface ExternalLinkWarningArgs {
25
+ href: string;
26
+ }
27
+
28
+ export const createExternalLinkWarningFunction = (args: ExternalLinkWarningArgs): (() => void) => {
29
+ return (() => {
30
+ // todo: https://github.com/TurnipXenon/pineapple/issues/99
31
+ // add the warning here for future functions
32
+ location.href = args.href;
33
+ });
34
+ };
35
+
36
+ export interface RawGlob {
37
+ default: string;
38
+ }
@@ -1,22 +1,7 @@
1
1
  <script lang="ts">
2
2
  import PinyaBaseLayout from "$pkg/components/pineapple/PineappleBaseLayout.svelte";
3
- import { PUBLIC_CRINGE_USERNAME } from "$env/static/public";
4
3
  </script>
5
4
 
6
- <svelte:head>
7
- <title>{PUBLIC_CRINGE_USERNAME}</title>
8
- <meta content="summary" name="Turnip time!" />
9
- <meta content="@{PUBLIC_CRINGE_USERNAME}" name="twitter:site" />
10
- <meta content="@{PUBLIC_CRINGE_USERNAME}" name="twitter:creator" />
11
- <meta content="https://www.{PUBLIC_CRINGE_USERNAME}.com/" name="og:url" />
12
- <meta content="{PUBLIC_CRINGE_USERNAME} | Home" name="og:title" />
13
- <meta
14
- content="I have no idea! Anyway... Hi! I don't know what I'm doing! Also check out my games!"
15
- name="og:description"
16
- />
17
- <meta content="https://www.{PUBLIC_CRINGE_USERNAME}.com/default-card.png" property="og:image" />
18
- </svelte:head>
19
-
20
5
  <PinyaBaseLayout>
21
6
  <slot />
22
7
  </PinyaBaseLayout>
@@ -1,20 +1,8 @@
1
1
  <script>
2
- import { PUBLIC_CRINGE_USERNAME } from "$env/static/public";
3
-
4
-
5
2
  import { createGoToFunction } from "$pkg/util/util";
6
3
  import { Card } from "$pkg";
7
4
  </script>
8
5
 
9
- <svelte:head>
10
- <title>Welcome to {PUBLIC_CRINGE_USERNAME}'s Home</title>
11
- <meta content="Welcome to {PUBLIC_CRINGE_USERNAME}'s Home" name="og:title" />
12
- <meta
13
- content="Welcome to {PUBLIC_CRINGE_USERNAME}'s home! It's a neat place to be at if you're feeling lost. Come hang around!"
14
- name="og:description"
15
- />
16
- </svelte:head>
17
-
18
6
  <Card>
19
7
  <div slot="content" class="content">
20
8
  <h1 class="mb-8" style="font-weight: bolder">Directory</h1>
@@ -1,5 +1,4 @@
1
1
  <script lang="ts">
2
- import { PUBLIC_CRINGE_USERNAME } from "$env/static/public";
3
2
  import { showComponentInToast, showTextInToast } from "$pkg/components/pineapple/toast/Toast";
4
3
  import TestCard from "$pkg/components/pineapple/toast/custom-toast/TestCustomToast.svelte";
5
4
  import TestDialogYarn from "./TestDialog.yarn?raw";
@@ -27,15 +26,6 @@
27
26
  };
28
27
  </script>
29
28
 
30
- <svelte:head>
31
- <title>Welcome to {PUBLIC_CRINGE_USERNAME}'s Home</title>
32
- <meta content="Welcome to {PUBLIC_CRINGE_USERNAME}'s Home" name="og:title" />
33
- <meta
34
- content="Welcome to {PUBLIC_CRINGE_USERNAME}'s home! It's a neat place to be at if you're feeling lost. Come hang around!"
35
- name="og:description"
36
- />
37
- </svelte:head>
38
-
39
29
  <Card>
40
30
  <div slot="content" class="default-card">
41
31
  <button
@@ -0,0 +1,8 @@
1
+ import type { OverridableMetaProps } from "$pkg/components/overrideable_meta/OverridableMetaProps";
2
+
3
+ export const load = async (): Promise<OverridableMetaProps> => {
4
+ return {
5
+ title: "Pineapple",
6
+ ogTitle: "Pineapple"
7
+ };
8
+ };
@@ -1,20 +1,9 @@
1
1
  <script>
2
2
  import SeaweedTemplate from "$pkg/template/Seaweed/SeaweedTemplate.svelte";
3
- import WebThumbnailImage from "$pkg/assets/placeholder/placeholder_circle.png";
4
3
 
5
4
  export let metaWebsite = "https://www.crouton.com/test/portfolio-base-layout";
6
5
 
7
6
  </script>
8
7
 
9
- <svelte:head>
10
- <meta charset="utf-8" />
11
- <title>Welcome to my portfolio</title>
12
- <meta name="twitter:card" content="summary" />
13
- <meta property="og:url" content={metaWebsite} />
14
- <meta property="og:title" content="Turnip" />
15
- <meta property="og:description" content="Welcome to Turnip's test portfolio website" />
16
- <meta property="og:image" content={WebThumbnailImage} />
17
- </svelte:head>
18
-
19
8
  <!--todo: maybe add check that this is always false? -->
20
9
  <SeaweedTemplate letChaos={true}></SeaweedTemplate>
@@ -0,0 +1,8 @@
1
+ import type { OverridableMetaProps } from "$pkg/components/overrideable_meta/OverridableMetaProps";
2
+
3
+ export const load = async (): Promise<OverridableMetaProps> => {
4
+ return {
5
+ title: "Niko",
6
+ ogTitle: "Niko"
7
+ };
8
+ };
@@ -0,0 +1,8 @@
1
+ import type { OverridableMetaProps } from "$pkg/components/overrideable_meta/OverridableMetaProps";
2
+
3
+ export const load = async (): Promise<OverridableMetaProps> => {
4
+ return {
5
+ title: "Welcome to Allan's portfolio page!",
6
+ ogTitle: "Welcome to Allan's portfolio page!"
7
+ };
8
+ };
@@ -9,15 +9,14 @@
9
9
  import "$lib/styles/global.css";
10
10
 
11
11
  // region Skeleton Store
12
-
13
12
  // endregion Skeleton Store
14
-
15
13
  // region highlightjs
16
14
  import { initializeStores, storeHighlightJs } from "@skeletonlabs/skeleton";
17
15
  import "highlight.js/styles/github-dark.css";
18
16
 
19
17
  import xml from "highlight.js/lib/languages/xml"; // for HTML
20
18
  import hljs from "highlight.js/lib/core";
19
+ import OverrideableMeta from "$pkg/components/overrideable_meta/OverridableMeta.svelte";
21
20
 
22
21
  initializeStores();
23
22
 
@@ -27,4 +26,8 @@
27
26
  // endregion highlightjs
28
27
  </script>
29
28
 
29
+ <OverrideableMeta
30
+ rootUrl={import.meta.env.PROD ? "https://pineapple-gamma-blush.vercel.app" : "http://localhost:5173"}>
31
+ </OverrideableMeta>
32
+
30
33
  <slot />