@turnipxenon/pineapple 2.4.12 → 2.4.13

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 (74) hide show
  1. package/.idea/workspace.xml +69 -66
  2. package/.svelte-kit/__package__/components/Card.svelte +27 -27
  3. package/.svelte-kit/__package__/components/CarouselElement.svelte +16 -16
  4. package/.svelte-kit/__package__/components/Chip.svelte +12 -12
  5. package/.svelte-kit/__package__/components/ElementVisbilityDetector.svelte +5 -5
  6. package/.svelte-kit/__package__/components/SocialSection.svelte +162 -159
  7. package/.svelte-kit/__package__/components/StickyElement.svelte +20 -20
  8. package/.svelte-kit/__package__/components/ToggleableContent.svelte +8 -8
  9. package/.svelte-kit/__package__/components/layouts/PineappleBaseLayout.svelte +21 -0
  10. package/.svelte-kit/__package__/components/layouts/SeaweedBaseLayout.svelte +1 -8
  11. package/.svelte-kit/__package__/components/layouts/SeaweedBaseLayout.svelte.d.ts +1 -0
  12. package/.svelte-kit/__package__/postcss.d.ts +3 -3
  13. package/.svelte-kit/__package__/styles/global.css +1 -1
  14. package/.svelte-kit/__package__/theme.postcss +2 -1
  15. package/.svelte-kit/ambient.d.ts +4 -0
  16. package/.svelte-kit/generated/client/app.js +6 -5
  17. package/.svelte-kit/generated/client/nodes/2.js +1 -1
  18. package/.svelte-kit/generated/client/nodes/3.js +1 -1
  19. package/.svelte-kit/generated/client/nodes/4.js +1 -1
  20. package/.svelte-kit/generated/client/nodes/5.js +1 -1
  21. package/.svelte-kit/generated/client/nodes/6.js +1 -1
  22. package/.svelte-kit/generated/client/nodes/7.js +1 -0
  23. package/.svelte-kit/generated/server/internal.js +1 -1
  24. package/.svelte-kit/types/route_meta_data.json +6 -4
  25. package/.svelte-kit/types/src/routes/$types.d.ts +1 -4
  26. package/.svelte-kit/types/src/routes/{personal → (pineapple)}/$types.d.ts +2 -2
  27. package/.svelte-kit/types/src/routes/{portfolio/actual → (pineapple)/personal}/$types.d.ts +2 -2
  28. package/.svelte-kit/types/src/routes/(seaweed)/$types.d.ts +19 -0
  29. package/.svelte-kit/types/src/routes/{portfolio → (seaweed)/portfolio}/$types.d.ts +3 -3
  30. package/.svelte-kit/types/src/routes/(seaweed)/portfolio/actual/$types.d.ts +17 -0
  31. package/.svelte-kit/types/src/routes/{portfolio → (seaweed)/portfolio}/proxy+page.server.ts +1 -1
  32. package/README.md +8 -18
  33. package/dist/components/Card.svelte +27 -27
  34. package/dist/components/CarouselElement.svelte +16 -16
  35. package/dist/components/Chip.svelte +12 -12
  36. package/dist/components/ElementVisbilityDetector.svelte +5 -5
  37. package/dist/components/SocialSection.svelte +162 -159
  38. package/dist/components/StickyElement.svelte +20 -20
  39. package/dist/components/ToggleableContent.svelte +8 -8
  40. package/dist/components/layouts/PineappleBaseLayout.svelte +21 -0
  41. package/dist/components/layouts/SeaweedBaseLayout.svelte +1 -8
  42. package/dist/components/layouts/SeaweedBaseLayout.svelte.d.ts +1 -0
  43. package/dist/postcss.d.ts +3 -3
  44. package/dist/styles/global.css +1 -1
  45. package/dist/theme.postcss +2 -1
  46. package/package.json +1 -1
  47. package/src/lib/components/Card.svelte +32 -32
  48. package/src/lib/components/CarouselElement.svelte +22 -22
  49. package/src/lib/components/Chip.svelte +12 -12
  50. package/src/lib/components/ElementVisbilityDetector.svelte +22 -22
  51. package/src/lib/components/OnElementVisbilityChanged.ts +1 -1
  52. package/src/lib/components/SocialSection.svelte +95 -92
  53. package/src/lib/components/StickyElement.svelte +39 -39
  54. package/src/lib/components/ToggleableContent.svelte +85 -85
  55. package/src/lib/components/ToggleableContentType.ts +4 -4
  56. package/src/lib/components/layouts/LayoutConstants.ts +1 -1
  57. package/src/lib/components/layouts/PineappleBaseLayout.svelte +21 -0
  58. package/src/lib/components/layouts/SeaweedBaseLayout.svelte +1 -8
  59. package/src/lib/consts.ts +2 -2
  60. package/src/lib/postcss.d.ts +3 -3
  61. package/src/lib/styles/global.css +1 -1
  62. package/src/lib/theme.postcss +2 -1
  63. package/src/lib/util/create_go_to_function.ts +5 -5
  64. package/src/routes/{personal → (pineapple)}/+layout.svelte +1 -1
  65. package/src/routes/(pineapple)/+page.svelte +36 -0
  66. package/src/routes/(seaweed)/+layout.svelte +10 -0
  67. package/src/routes/{portfolio → (seaweed)/portfolio}/+page.server.ts +1 -1
  68. package/src/routes/{portfolio → (seaweed)/portfolio}/+page.svelte +2 -2
  69. package/src/routes/{portfolio → (seaweed)/portfolio}/.gitignore +1 -1
  70. package/src/routes/{portfolio → (seaweed)/portfolio}/actual/+page.svelte +1 -1
  71. package/src/routes/+layout.svelte +0 -7
  72. package/static/robots.txt +5 -5
  73. package/src/routes/+page.svelte +0 -38
  74. /package/src/routes/{personal → (pineapple)/personal}/+page.svelte +0 -0
@@ -1,160 +1,163 @@
1
- <script>
2
- import MailIcon from "../assets/icons/mail.svg";
3
- import GithubIcon from "../assets/icons/github-mark.svg";
4
- import { ItchLogoHotLink } from "../consts";
5
- import LinkedinIcon from "../assets/icons/linkedin.svg";
6
- import { onMount } from "svelte";
7
-
8
- export let isSmallVersion = false;
9
- export let email = "turnipxenon@gmail.com";
10
- export let linkedinSlug = "turnip-xenon";
11
- export let isSlot = false;
12
-
13
- let shouldShowExtra = false;
14
- const style = `
15
- --preferred-justify-content: ${isSlot ? "flex-start" : "center"};
16
- --preferred-overall-margin-bottom: ${isSlot ? "0" : "0.75lh"};
17
- `;
18
-
19
- onMount(() => {
20
- shouldShowExtra = window.screen.availWidth >= 440;
21
- });
22
- </script>
23
-
24
- <div class="socials" class:isSmall={isSmallVersion} style={style} data-nosnippet>
25
- <button type="button" class="social-button turnip-button"
26
- role="link"
27
- title="https://github.com/TurnipXenon"
28
- on:click={() => window.open("https://github.com/TurnipXenon")}>
29
- <img src={GithubIcon} alt="github icon">
30
- {#if (!isSmallVersion)}
31
- <span>TurnipXenon</span>
32
- {/if}
33
- </button>
34
- <button type="button" class="social-button turnip-button"
35
- role="link"
36
- title={`https://www.linkedin.com/in/${linkedinSlug}/`}
37
- on:click={() => window.open(`https://www.linkedin.com/in/${linkedinSlug}/`)}>
38
- <img src={LinkedinIcon} alt="linkedikn icon">
39
- {#if (!isSmallVersion)}
40
- <span>{linkedinSlug}</span>
41
- {/if}
42
- </button>
43
- <button type="button" class="social-button turnip-button"
44
- role="link"
45
- title={`mailto:${email}`}
46
- on:click={() => window.open(`mailto:${email}`)}>
47
- <img src={MailIcon} alt="mail icon" />
48
- {#if (!isSmallVersion)}
49
- <span>{email}</span>
50
- {/if}
51
- </button>
52
- {#if (shouldShowExtra)}
53
- <button type="button" class="social-button turnip-button"
54
- role="link"
55
- title="https://turnipxenon.itch.io/"
56
- on:click={() => window.open("https://turnipxenon.itch.io/")}>
57
- <img src={ItchLogoHotLink} alt="itch icon">
58
- {#if (!isSmallVersion)}
59
- <span>TurnipXenon</span>
60
- {/if}
61
- </button>
62
- {/if}
63
- </div>
64
-
65
- <style>
66
- :is(.dark .social-button) {
67
- --tw-bg-opacity: 1;
68
- background-color: rgb(var(--color-primary-500) / var(--tw-bg-opacity));
69
- color: rgb(var(--on-primary));
70
- }
71
-
72
- .social-button:disabled {
73
- cursor: not-allowed;
74
- opacity: 0.5;
75
- }
76
-
77
- .social-button:disabled:hover {
78
- --tw-brightness: brightness(1);
79
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
80
- }
81
-
82
- .social-button:disabled:active {
83
- --tw-scale-x: 1;
84
- --tw-scale-y: 1;
85
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
86
- }
87
-
88
- .social-button {
89
- font-size: 1rem;
90
- line-height: 1.5rem;
91
- padding-left: 1.25rem;
92
- padding-right: 1.25rem;
93
- padding-top: 9px;
94
- padding-bottom: 9px;
95
- white-space: nowrap;
96
- text-align: center;
97
- display: inline-flex;
98
- align-items: center;
99
- justify-content: center;
100
- transition-property: all;
101
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
102
- transition-duration: 150ms;
103
- border-radius: var(--theme-rounded-base);
104
- }
105
-
106
- .social-button > :not([hidden]) ~ :not([hidden]) {
107
- --tw-space-x-reverse: 0;
108
- margin-right: calc(0.5rem * var(--tw-space-x-reverse));
109
- margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
110
- }
111
-
112
- .social-button:hover {
113
- --tw-brightness: brightness(1.15);
114
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
115
- }
116
-
117
- .social-button:active {
118
- --tw-scale-x: 95%;
119
- --tw-scale-y: 95%;
120
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
121
- --tw-brightness: brightness(.9);
122
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
123
- }
124
-
125
- .social-button {
126
- --tw-bg-opacity: 1;
127
- background-color: rgb(var(--color-primary-500) / var(--tw-bg-opacity));
128
- color: rgb(var(--on-primary));
129
- }
130
-
131
- :is(.dark .social-button) {
132
- --tw-bg-opacity: 1;
133
- background-color: rgb(var(--color-primary-500) / var(--tw-bg-opacity));
134
- color: rgb(var(--on-primary));
135
- }
136
-
137
- button > img {
138
- max-height: 1lh;
139
- }
140
-
141
- button {
142
- min-width: 0;
143
- min-height: 0;
144
- }
145
-
146
- .socials {
147
- display: flex;
148
- flex-wrap: wrap;
149
- justify-content: var(--preferred-justify-content);
150
- }
151
-
152
- .socials > button {
153
- margin: 0 0.5em var(--preferred-overall-margin-bottom);
154
- }
155
-
156
- .socials.isSmall > button {
157
- margin-left: 0.25em;
158
- margin-right: 0.25em;
159
- }
1
+ <script>
2
+ export let isSmallVersion = false;
3
+ export let email = "turnipxenon@gmail.com";
4
+ export let linkedinSlug = "turnip-xenon";
5
+ export let isSlot = false;
6
+
7
+ import { ItchLogoHotLink } from "../consts";
8
+ import { onMount } from "svelte";
9
+ import { scale } from "svelte/transition";
10
+
11
+ import MailIcon from "../assets/icons/mail.svg";
12
+ import GithubIcon from "../assets/icons/github-mark.svg";
13
+ import LinkedinIcon from "../assets/icons/linkedin.svg";
14
+
15
+ let shouldShowExtra = false;
16
+ const style = `
17
+ --preferred-justify-content: ${isSlot ? "flex-start" : "center"};
18
+ --preferred-overall-margin-bottom: ${isSlot ? "0" : "0.75lh"};
19
+ `;
20
+
21
+ onMount(() => {
22
+ shouldShowExtra = window.screen.availWidth >= 440;
23
+ });
24
+ </script>
25
+
26
+ <div class="socials" class:isSmall={isSmallVersion} style={style} data-nosnippet>
27
+ <button type="button" class="social-button turnip-button"
28
+ role="link"
29
+ title="https://github.com/TurnipXenon"
30
+ on:click={() => window.open("https://github.com/TurnipXenon")}>
31
+ <img src={GithubIcon} alt="github icon">
32
+ {#if (!isSmallVersion)}
33
+ <span>TurnipXenon</span>
34
+ {/if}
35
+ </button>
36
+ <button type="button" class="social-button turnip-button"
37
+ role="link"
38
+ title={`https://www.linkedin.com/in/${linkedinSlug}/`}
39
+ on:click={() => window.open(`https://www.linkedin.com/in/${linkedinSlug}/`)}>
40
+ <img src={LinkedinIcon} alt="linkedikn icon">
41
+ {#if (!isSmallVersion)}
42
+ <span>{linkedinSlug}</span>
43
+ {/if}
44
+ </button>
45
+ <button type="button" class="social-button turnip-button"
46
+ role="link"
47
+ title={`mailto:${email}`}
48
+ on:click={() => window.open(`mailto:${email}`)}>
49
+ <img src={MailIcon} alt="mail icon" />
50
+ {#if (!isSmallVersion)}
51
+ <span>{email}</span>
52
+ {/if}
53
+ </button>
54
+ {#if (shouldShowExtra)}
55
+ <button type="button" class="social-button turnip-button"
56
+ role="link"
57
+ title="https://turnipxenon.itch.io/"
58
+ transition:scale
59
+ on:click={() => window.open("https://turnipxenon.itch.io/")}>
60
+ <img src={ItchLogoHotLink} alt="itch icon">
61
+ {#if (!isSmallVersion)}
62
+ <span>TurnipXenon</span>
63
+ {/if}
64
+ </button>
65
+ {/if}
66
+ </div>
67
+
68
+ <style>
69
+ :is(.dark .social-button) {
70
+ --tw-bg-opacity: 1;
71
+ background-color: rgb(var(--color-primary-500) / var(--tw-bg-opacity));
72
+ color: rgb(var(--on-primary));
73
+ }
74
+
75
+ .social-button:disabled {
76
+ cursor: not-allowed;
77
+ opacity: 0.5;
78
+ }
79
+
80
+ .social-button:disabled:hover {
81
+ --tw-brightness: brightness(1);
82
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
83
+ }
84
+
85
+ .social-button:disabled:active {
86
+ --tw-scale-x: 1;
87
+ --tw-scale-y: 1;
88
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
89
+ }
90
+
91
+ .social-button {
92
+ font-size: 1rem;
93
+ line-height: 1.5rem;
94
+ padding-left: 1.25rem;
95
+ padding-right: 1.25rem;
96
+ padding-top: 9px;
97
+ padding-bottom: 9px;
98
+ white-space: nowrap;
99
+ text-align: center;
100
+ display: inline-flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ transition-property: all;
104
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
105
+ transition-duration: 150ms;
106
+ border-radius: var(--theme-rounded-base);
107
+ }
108
+
109
+ .social-button > :not([hidden]) ~ :not([hidden]) {
110
+ --tw-space-x-reverse: 0;
111
+ margin-right: calc(0.5rem * var(--tw-space-x-reverse));
112
+ margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
113
+ }
114
+
115
+ .social-button:hover {
116
+ --tw-brightness: brightness(1.15);
117
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
118
+ }
119
+
120
+ .social-button:active {
121
+ --tw-scale-x: 95%;
122
+ --tw-scale-y: 95%;
123
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
124
+ --tw-brightness: brightness(.9);
125
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
126
+ }
127
+
128
+ .social-button {
129
+ --tw-bg-opacity: 1;
130
+ background-color: rgb(var(--color-primary-500) / var(--tw-bg-opacity));
131
+ color: rgb(var(--on-primary));
132
+ }
133
+
134
+ :is(.dark .social-button) {
135
+ --tw-bg-opacity: 1;
136
+ background-color: rgb(var(--color-primary-500) / var(--tw-bg-opacity));
137
+ color: rgb(var(--on-primary));
138
+ }
139
+
140
+ button > img {
141
+ max-height: 1lh;
142
+ }
143
+
144
+ button {
145
+ min-width: 0;
146
+ min-height: 0;
147
+ }
148
+
149
+ .socials {
150
+ display: flex;
151
+ flex-wrap: wrap;
152
+ justify-content: var(--preferred-justify-content);
153
+ }
154
+
155
+ .socials > button {
156
+ margin: 0 0.5em var(--preferred-overall-margin-bottom);
157
+ }
158
+
159
+ .socials.isSmall > button {
160
+ margin-left: 0.25em;
161
+ margin-right: 0.25em;
162
+ }
160
163
  </style>
@@ -13,24 +13,24 @@ onMount(() => {
13
13
  );
14
14
  observer.observe(stickyElem);
15
15
  });
16
- </script>
17
-
18
- <span transition:fly={{y: -100}}>
19
- {#if (isFirst && !isSticky)}
20
- <!-- intentionally empty -->
21
- {:else if (isSticky)}
22
- {" | "}
23
- {:else }
24
- <br>
25
- {/if}
26
- <span class="sticky-div" bind:this={stickyElem}>
27
- <slot/>
28
- </span>
29
- </span>
30
-
31
- <style>
32
- .sticky-div {
33
- position: sticky;
34
- top: -1px;
35
- }
16
+ </script>
17
+
18
+ <span transition:fly={{y: -100}}>
19
+ {#if (isFirst && !isSticky)}
20
+ <!-- intentionally empty -->
21
+ {:else if (isSticky)}
22
+ {" | "}
23
+ {:else }
24
+ <br>
25
+ {/if}
26
+ <span class="sticky-div" bind:this={stickyElem}>
27
+ <slot/>
28
+ </span>
29
+ </span>
30
+
31
+ <style>
32
+ .sticky-div {
33
+ position: sticky;
34
+ top: -1px;
35
+ }
36
36
  </style>
@@ -55,12 +55,12 @@ onMount(() => {
55
55
  });
56
56
  $:
57
57
  attachGibberish(gibberishParent);
58
- </script>
59
-
60
- {#if toggle === ToggleableContentType.Default}
61
- <slot />
62
- {:else if (ToggleableContentType.Gibberish === toggle)}
63
- <div bind:this={defaultSlot} style={`visibility: ${gibberishState === GibberishState.Binded}`}>
64
- <slot />
65
- </div>
58
+ </script>
59
+
60
+ {#if toggle === ToggleableContentType.Default}
61
+ <slot />
62
+ {:else if (ToggleableContentType.Gibberish === toggle)}
63
+ <div bind:this={defaultSlot} style={`visibility: ${gibberishState === GibberishState.Binded}`}>
64
+ <slot />
65
+ </div>
66
66
  {/if}
@@ -4,6 +4,7 @@ import { page } from "$app/stores";
4
4
  import { enableBackground } from "../../store";
5
5
  import DialogOverlay from "../DialogOverlay.svelte";
6
6
  import AresLogo from "../../assets/characters/ares/ares_logo.webp";
7
+ import FABIcon from "../../assets/placeholder/placeholder_circle.png";
7
8
  import { enableDialogueOverlay } from "../dialog_manager/DialogManagerStore";
8
9
  let pages = [];
9
10
  const updateBreadcrumb = (pathname) => {
@@ -46,6 +47,13 @@ enableDialogueOverlay.subscribe((value) => {
46
47
  {@html `<script>${autoModeWatcher.toString()} autoModeWatcher();</script>`}
47
48
  </svelte:head>
48
49
 
50
+ <!--todo: turn off hidden when it's time-->
51
+ <button type="button" class="fab" on:click={()=>{
52
+ enableDialogueOverlay.set(!enableDialogueOverlayValue);
53
+ }}>
54
+ <img src={FABIcon} alt="interactive floating action button represented as a turnip">
55
+ </button>
56
+
49
57
  <AppShell>
50
58
  <svelte:fragment slot="header">
51
59
  <!-- App Bar -->
@@ -184,4 +192,17 @@ enableDialogueOverlay.subscribe((value) => {
184
192
  .breadcrumb li:nth-last-child(1) {
185
193
  display: block;
186
194
  }
195
+
196
+ .fab {
197
+ position: fixed;
198
+ bottom: 2em;
199
+ }
200
+
201
+ .fab:dir(ltr) {
202
+ right: 2em;
203
+ }
204
+
205
+ .fab:dir(rtl) {
206
+ left: 2em;
207
+ }
187
208
  </style>
@@ -18,13 +18,6 @@ let shouldDisplaySocialIcons = writable(false);
18
18
  {@html `<script>${autoModeWatcher.toString()} autoModeWatcher();</script>`}
19
19
  </svelte:head>
20
20
 
21
- <!--todo: turn off hidden when it's time-->
22
- <!--<button type="button" class="fab" on:click={()=>{-->
23
- <!-- enableDialogueOverlay.set(!enableDialogueOverlayValue);-->
24
- <!--}}>-->
25
- <!-- <img src={FABIcon} alt="interactive floating action button represented as a turnip">-->
26
- <!--</button>-->
27
-
28
21
  <AppShell>
29
22
  <svelte:fragment slot="header">
30
23
  <!-- App Bar -->
@@ -39,7 +32,7 @@ let shouldDisplaySocialIcons = writable(false);
39
32
  </div>
40
33
  {:else if $$slots.extraLeadingIcons}
41
34
  <div hidden>
42
- <slot name="extraLeadingIcons" />
35
+ <slot name="s" />
43
36
  </div>
44
37
  {/if}
45
38
  </svelte:fragment>
@@ -8,6 +8,7 @@ declare const __propDef: {
8
8
  };
9
9
  slots: {
10
10
  extraLeadingIcons: {};
11
+ s: {};
11
12
  default: {
12
13
  shouldDisplaySocialIcons: import("svelte/store").Writable<boolean>;
13
14
  };
@@ -1,3 +1,3 @@
1
- // from https://stackoverflow.com/a/63885623/17836168
2
- declare module "./app.postcss";
3
- declare module "./theme.postcss";
1
+ // from https://stackoverflow.com/a/63885623/17836168
2
+ declare module "./app.postcss";
3
+ declare module "./theme.postcss";
@@ -1 +1 @@
1
- /* todo: delete if unneeded */
1
+ /* todo: delete if unneeded */
@@ -5,7 +5,7 @@
5
5
  --theme-font-family-base: system-ui;
6
6
  --theme-font-family-heading: system-ui;
7
7
  --theme-font-color-base: var(--color-primary-900);
8
- --theme-font-color-dark: var(--color-primary-100);
8
+ --theme-font-color-dark: var(--color-primary-50);
9
9
  --theme-rounded-base: 24px;
10
10
  --theme-rounded-container: 16px;
11
11
  --theme-border-base: 2px;
@@ -99,6 +99,7 @@
99
99
  --color-surface-800: 153 148 136; /* ⬅ #999488 */
100
100
  --color-surface-900: 125 121 111; /* ⬅ #7d796f */
101
101
  /* text color | #3f312f */
102
+ --color-text-25: 237 234 234; /* ⬅ #e2e0e0 */
102
103
  --color-text-50: 226 224 224; /* ⬅ #e2e0e0 */
103
104
  --color-text-100: 217 214 213; /* ⬅ #d9d6d5 */
104
105
  --color-text-200: 207 204 203; /* ⬅ #cfcccb */
@@ -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;
@@ -228,6 +230,8 @@ declare module '$env/dynamic/private' {
228
230
  COMSPEC: string;
229
231
  DriverData: string;
230
232
  EXEPATH: string;
233
+ FPS_BROWSER_APP_PROFILE_STRING: string;
234
+ FPS_BROWSER_USER_PROFILE_STRING: string;
231
235
  GIT_XL_PATH: string;
232
236
  GoLand: string;
233
237
  GOPATH: string;
@@ -7,16 +7,17 @@ export const nodes = [
7
7
  () => import('./nodes/3'),
8
8
  () => import('./nodes/4'),
9
9
  () => import('./nodes/5'),
10
- () => import('./nodes/6')
10
+ () => import('./nodes/6'),
11
+ () => import('./nodes/7')
11
12
  ];
12
13
 
13
14
  export const server_loads = [];
14
15
 
15
16
  export const dictionary = {
16
- "/": [3],
17
- "/personal": [4,[2]],
18
- "/portfolio": [~5],
19
- "/portfolio/actual": [6]
17
+ "/(pineapple)": [4,[2]],
18
+ "/(pineapple)/personal": [5,[2]],
19
+ "/(seaweed)/portfolio": [~6,[3]],
20
+ "/(seaweed)/portfolio/actual": [7,[3]]
20
21
  };
21
22
 
22
23
  export const hooks = {
@@ -1 +1 @@
1
- export { default as component } from "../../../../src/routes/personal/+layout.svelte";
1
+ export { default as component } from "../../../../src/routes/(pineapple)/+layout.svelte";
@@ -1 +1 @@
1
- export { default as component } from "../../../../src/routes/+page.svelte";
1
+ export { default as component } from "../../../../src/routes/(seaweed)/+layout.svelte";
@@ -1 +1 @@
1
- export { default as component } from "../../../../src/routes/personal/+page.svelte";
1
+ export { default as component } from "../../../../src/routes/(pineapple)/+page.svelte";
@@ -1 +1 @@
1
- export { default as component } from "../../../../src/routes/portfolio/+page.svelte";
1
+ export { default as component } from "../../../../src/routes/(pineapple)/personal/+page.svelte";
@@ -1 +1 @@
1
- export { default as component } from "../../../../src/routes/portfolio/actual/+page.svelte";
1
+ export { default as component } from "../../../../src/routes/(seaweed)/portfolio/+page.svelte";
@@ -0,0 +1 @@
1
+ export { default as component } from "../../../../src/routes/(seaweed)/portfolio/actual/+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: "oug70e"
24
+ version_hash: "1kjhsuz"
25
25
  };
26
26
 
27
27
  export async function get_hooks() {
@@ -1,8 +1,10 @@
1
1
  {
2
+ "/(seaweed)": [],
3
+ "/(pineapple)": [],
2
4
  "/": [],
3
- "/personal": [],
4
- "/portfolio": [
5
- "src/routes/portfolio/+page.server.ts"
5
+ "/(pineapple)/personal": [],
6
+ "/(seaweed)/portfolio": [
7
+ "src/routes/(seaweed)/portfolio/+page.server.ts"
6
8
  ],
7
- "/portfolio/actual": []
9
+ "/(seaweed)/portfolio/actual": []
8
10
  }
@@ -11,12 +11,9 @@ 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 PageParentData = EnsureDefined<LayoutData>;
15
- type LayoutRouteId = RouteId | "/" | "/personal" | "/portfolio" | "/portfolio/actual" | null
14
+ type LayoutRouteId = RouteId | "/(pineapple)" | "/(pineapple)/personal" | "/(seaweed)/portfolio" | "/(seaweed)/portfolio/actual" | null
16
15
  type LayoutParams = RouteParams & { }
17
16
  type LayoutParentData = EnsureDefined<{}>;
18
17
 
19
- export type PageServerData = null;
20
- export type PageData = Expand<PageParentData>;
21
18
  export type LayoutServerData = null;
22
19
  export type LayoutData = Expand<LayoutParentData>;
@@ -4,7 +4,7 @@ type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
4
4
  // @ts-ignore
5
5
  type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
6
6
  type RouteParams = { };
7
- type RouteId = '/personal';
7
+ type RouteId = '/(pineapple)';
8
8
  type MaybeWithVoid<T> = {} extends T ? T | void : T;
9
9
  export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
10
10
  type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
@@ -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 | "/personal"
15
+ type LayoutRouteId = RouteId | "/(pineapple)" | "/(pineapple)/personal"
16
16
  type LayoutParams = RouteParams & { }
17
17
  type LayoutParentData = EnsureDefined<import('../$types.js').LayoutData>;
18
18