@turnipxenon/pineapple 2.10.0 → 3.0.0-alpha.1

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 (171) hide show
  1. package/dist/assets/icons/icon-contrast.svg +1 -0
  2. package/dist/assets/icons/icon-dark-mode.svg +1 -0
  3. package/dist/assets/icons/icon-light-mode.svg +1 -0
  4. package/dist/assets/icons/icon-settings.svg +1 -0
  5. package/dist/components/Card.svelte +43 -41
  6. package/dist/components/Card.svelte.d.ts +11 -24
  7. package/dist/components/CarouselElement.svelte +15 -8
  8. package/dist/components/CarouselElement.svelte.d.ts +7 -18
  9. package/dist/components/ElementVisbilityDetector.svelte +23 -14
  10. package/dist/components/ElementVisbilityDetector.svelte.d.ts +6 -17
  11. package/dist/components/LazyAsset.svelte +93 -65
  12. package/dist/components/LazyAsset.svelte.d.ts +9 -19
  13. package/dist/components/PineappleSlideToggle.svelte +19 -7
  14. package/dist/components/PineappleSlideToggle.svelte.d.ts +8 -19
  15. package/dist/components/RandomizedBackground.svelte +46 -27
  16. package/dist/components/RandomizedBackground.svelte.d.ts +5 -15
  17. package/dist/components/RandomizedImage.svelte +15 -8
  18. package/dist/components/RandomizedImage.svelte.d.ts +6 -16
  19. package/dist/components/StickyElement.svelte +25 -16
  20. package/dist/components/StickyElement.svelte.d.ts +6 -17
  21. package/dist/components/ToggleableContent.svelte +88 -59
  22. package/dist/components/ToggleableContent.svelte.d.ts +6 -17
  23. package/dist/components/blog_template/BlogTemplate.svelte +45 -25
  24. package/dist/components/blog_template/BlogTemplate.svelte.d.ts +9 -20
  25. package/dist/components/blog_template/BlogTemplateInner.svelte +11 -3
  26. package/dist/components/blog_template/BlogTemplateInner.svelte.d.ts +6 -17
  27. package/dist/components/chip/Chip.svelte +33 -57
  28. package/dist/components/chip/Chip.svelte.d.ts +7 -18
  29. package/dist/components/combo_box/ComboBox.svelte +10 -4
  30. package/dist/components/combo_box/ComboBox.svelte.d.ts +6 -16
  31. package/dist/components/combo_box/ComboBoxWithButton.svelte +16 -9
  32. package/dist/components/combo_box/ComboBoxWithButton.svelte.d.ts +7 -17
  33. package/dist/components/combo_box/combo-box.postcss +2 -2
  34. package/dist/components/dialog_manager/DialogManager.d.ts +0 -1
  35. package/dist/components/dialog_manager/DialogManagerStore.d.ts +0 -1
  36. package/dist/components/dialog_manager/DialogManagerStore.js +1 -1
  37. package/dist/components/dialog_overlay/DialogOverlay.svelte +42 -34
  38. package/dist/components/dialog_overlay/DialogOverlay.svelte.d.ts +3 -14
  39. package/dist/components/index.d.ts +1 -1
  40. package/dist/components/index.js +1 -1
  41. package/dist/components/layouts/SeaweedBaseLayout.svelte +80 -43
  42. package/dist/components/layouts/SeaweedBaseLayout.svelte.d.ts +8 -21
  43. package/dist/components/navigation_component/NavigationComponent.svelte +52 -141
  44. package/dist/components/navigation_component/NavigationComponent.svelte.d.ts +17 -26
  45. package/dist/components/navigation_component/NavigationControl.svelte +52 -103
  46. package/dist/components/navigation_component/NavigationControl.svelte.d.ts +7 -17
  47. package/dist/components/overrideable_meta/OverridableMeta.svelte +37 -22
  48. package/dist/components/overrideable_meta/OverridableMeta.svelte.d.ts +9 -19
  49. package/dist/components/pineapple/PineappleBaseLayout.svelte +132 -188
  50. package/dist/components/pineapple/PineappleBaseLayout.svelte.d.ts +6 -17
  51. package/dist/components/pineapple/toast/DefaultToastBody.svelte +14 -16
  52. package/dist/components/pineapple/toast/DefaultToastBody.svelte.d.ts +7 -17
  53. package/dist/components/pineapple/toast/Toast.d.ts +0 -1
  54. package/dist/components/pineapple/toast/Toast.svelte +92 -64
  55. package/dist/components/pineapple/toast/Toast.svelte.d.ts +3 -14
  56. package/dist/components/pineapple/toast/custom-toast/TestCustomToast.svelte.d.ts +22 -19
  57. package/dist/paraglide/messages/_index.d.ts +2 -0
  58. package/dist/paraglide/messages/_index.js +3 -0
  59. package/dist/paraglide/messages/example_message.d.ts +5 -0
  60. package/dist/paraglide/messages/example_message.js +39 -0
  61. package/dist/paraglide/messages/settings.d.ts +3 -0
  62. package/dist/paraglide/messages/settings.js +38 -0
  63. package/dist/paraglide/messages.d.ts +2 -0
  64. package/dist/paraglide/messages.js +4 -0
  65. package/dist/paraglide/registry.d.ts +21 -0
  66. package/dist/paraglide/registry.js +31 -0
  67. package/dist/paraglide/runtime.d.ts +400 -0
  68. package/dist/paraglide/runtime.js +1060 -0
  69. package/dist/paraglide/server.d.ts +64 -0
  70. package/dist/paraglide/server.js +161 -0
  71. package/dist/scripts/util/FileManagement.d.ts +1 -1
  72. package/dist/store.d.ts +0 -1
  73. package/dist/styles/app.css +53 -0
  74. package/dist/styles/turnip-theme.css +323 -0
  75. package/dist/template/seaweed/CreateUrlForm.svelte +50 -38
  76. package/dist/template/seaweed/CreateUrlForm.svelte.d.ts +5 -15
  77. package/dist/template/seaweed/SeaweedTemplate.svelte +244 -195
  78. package/dist/template/seaweed/SeaweedTemplate.svelte.d.ts +28 -25
  79. package/dist/template/seaweed/entries/ChefWings.svelte +37 -39
  80. package/dist/template/seaweed/entries/ChefWings.svelte.d.ts +5 -15
  81. package/dist/template/seaweed/entries/CustomizedYarnspinner.svelte +32 -24
  82. package/dist/template/seaweed/entries/CustomizedYarnspinner.svelte.d.ts +5 -15
  83. package/dist/template/seaweed/entries/Hepcat.svelte +58 -49
  84. package/dist/template/seaweed/entries/Hepcat.svelte.d.ts +5 -15
  85. package/dist/template/seaweed/entries/Pengi.svelte +51 -43
  86. package/dist/template/seaweed/entries/Pengi.svelte.d.ts +5 -15
  87. package/dist/template/seaweed/entries/Soulwork.svelte +44 -36
  88. package/dist/template/seaweed/entries/Soulwork.svelte.d.ts +5 -15
  89. package/dist/template/seaweed/entries/ThisWebpage.svelte +47 -38
  90. package/dist/template/seaweed/entries/ThisWebpage.svelte.d.ts +5 -15
  91. package/dist/template/seaweed/entries/WorkExperience.svelte +109 -92
  92. package/dist/template/seaweed/entries/WorkExperience.svelte.d.ts +6 -16
  93. package/dist/template/seaweed/entries/Workset.svelte +51 -42
  94. package/dist/template/seaweed/entries/Workset.svelte.d.ts +5 -15
  95. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte +136 -259
  96. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +10 -20
  97. package/dist/template/seaweed/seaweed.postcss +1 -9
  98. package/dist/{theme.postcss → theme.css} +1 -4
  99. package/dist/ui/components/FourPartCard.svelte +47 -0
  100. package/dist/ui/components/FourPartCard.svelte.d.ts +10 -0
  101. package/dist/ui/components/ModalBase.svelte +75 -0
  102. package/dist/ui/components/ModalBase.svelte.d.ts +8 -0
  103. package/dist/ui/components/SocialSection.svelte +87 -0
  104. package/dist/ui/components/SocialSection.svelte.d.ts +9 -0
  105. package/dist/ui/components/index.d.ts +3 -0
  106. package/dist/ui/components/index.js +3 -0
  107. package/dist/ui/components/randomized-background/RandomizedBackground.svelte +87 -0
  108. package/dist/ui/components/randomized-background/RandomizedBackground.svelte.d.ts +6 -0
  109. package/dist/ui/components/randomized-background/RandomizedImage.svelte +42 -0
  110. package/dist/ui/components/randomized-background/RandomizedImage.svelte.d.ts +7 -0
  111. package/dist/ui/elements/ColorScheme.d.ts +10 -0
  112. package/dist/ui/elements/ColorScheme.js +11 -0
  113. package/dist/ui/elements/GeneralUIProps.d.ts +12 -0
  114. package/dist/ui/elements/GeneralUIProps.js +1 -0
  115. package/dist/ui/elements/ImageIcon.svelte +54 -0
  116. package/dist/ui/elements/ImageIcon.svelte.d.ts +6 -0
  117. package/dist/ui/elements/OnBackground.d.ts +3 -0
  118. package/dist/ui/elements/OnBackground.js +4 -0
  119. package/dist/ui/elements/TextLink.svelte +17 -0
  120. package/dist/ui/elements/TextLink.svelte.d.ts +8 -0
  121. package/dist/ui/elements/WrapperProps.d.ts +4 -0
  122. package/dist/ui/elements/WrapperProps.js +1 -0
  123. package/dist/ui/elements/index.d.ts +8 -0
  124. package/dist/ui/elements/index.js +8 -0
  125. package/dist/ui/elements/pinya-button/component.svelte +47 -0
  126. package/dist/ui/elements/pinya-button/component.svelte.d.ts +4 -0
  127. package/dist/ui/elements/pinya-button/index.d.ts +2 -0
  128. package/dist/ui/elements/pinya-button/index.js +2 -0
  129. package/dist/ui/elements/pinya-button/props.d.ts +13 -0
  130. package/dist/ui/elements/pinya-button/props.js +6 -0
  131. package/dist/ui/elements/pinya-card/component.svelte +19 -0
  132. package/dist/ui/elements/pinya-card/component.svelte.d.ts +7 -0
  133. package/dist/ui/elements/pinya-card/index.d.ts +2 -0
  134. package/dist/ui/elements/pinya-card/index.js +2 -0
  135. package/dist/ui/elements/pinya-card/props.d.ts +7 -0
  136. package/dist/ui/elements/pinya-card/props.js +1 -0
  137. package/dist/ui/modules/index.d.ts +1 -0
  138. package/dist/ui/modules/index.js +1 -0
  139. package/dist/ui/modules/modals/general-settings/GeneralSettingsModal.svelte +110 -0
  140. package/dist/ui/modules/modals/general-settings/GeneralSettingsModal.svelte.d.ts +4 -0
  141. package/dist/ui/modules/modals/general-settings/LanguagePicker.svelte +48 -0
  142. package/dist/ui/modules/modals/general-settings/LanguagePicker.svelte.d.ts +3 -0
  143. package/dist/{template → ui/modules}/seaweed/ChumBucket.svelte +28 -28
  144. package/dist/ui/modules/seaweed/ChumBucket.svelte.d.ts +3 -0
  145. package/dist/ui/modules/seaweed/index.d.ts +3 -0
  146. package/dist/ui/modules/seaweed/index.js +4 -0
  147. package/dist/ui/templates/PinyaBase.svelte +45 -0
  148. package/dist/ui/templates/PinyaBase.svelte.d.ts +7 -0
  149. package/dist/ui/templates/confirmation-modal/component.svelte +47 -0
  150. package/dist/ui/templates/confirmation-modal/component.svelte.d.ts +4 -0
  151. package/dist/ui/templates/confirmation-modal/index.d.ts +2 -0
  152. package/dist/ui/templates/confirmation-modal/index.js +2 -0
  153. package/dist/ui/templates/confirmation-modal/props.d.ts +10 -0
  154. package/dist/ui/templates/confirmation-modal/props.js +1 -0
  155. package/dist/ui/templates/index.d.ts +3 -0
  156. package/dist/ui/templates/index.js +3 -0
  157. package/dist/ui/templates/pinya-page-layout/component.svelte +113 -0
  158. package/dist/ui/templates/pinya-page-layout/component.svelte.d.ts +8 -0
  159. package/dist/ui/templates/pinya-page-layout/index.d.ts +2 -0
  160. package/dist/ui/templates/pinya-page-layout/index.js +2 -0
  161. package/dist/ui/templates/pinya-page-layout/runes.svelte.d.ts +7 -0
  162. package/dist/ui/templates/pinya-page-layout/runes.svelte.js +3 -0
  163. package/package.json +36 -18
  164. package/src/lib/styles/app.css +53 -0
  165. package/src/lib/theme.css +114 -0
  166. package/dist/app.postcss +0 -212
  167. package/dist/components/SocialSection.svelte +0 -166
  168. package/dist/components/SocialSection.svelte.d.ts +0 -31
  169. package/dist/postcss.d.ts +0 -3
  170. package/dist/styles/DefaultGridContainer.css +0 -61
  171. package/dist/template/seaweed/ChumBucket.svelte.d.ts +0 -14
@@ -1,46 +1,55 @@
1
- <script>import {} from "./EntryProps";
2
- import Card from "../../../components/Card.svelte";
3
- import GithubIcon from "../../../assets/icons/github-mark.svg";
4
- import ThisWebsiteFootage from "../../../assets/others/seaweed-showcase.mp4";
5
- import { Chip } from "../../..";
6
- export let props;
1
+ <script lang="ts">
2
+ import { type EntryProps } from "./EntryProps";
3
+ import Card from "../../../components/Card.svelte";
4
+ import GithubIcon from "../../../assets/icons/github-mark.svg";
5
+ import ThisWebsiteFootage from "../../../assets/others/seaweed-showcase.mp4";
6
+ import { Chip } from "../../..";
7
+
8
+ // noinspection JSUnusedGlobalSymbols
9
+ interface Props {
10
+ props: EntryProps;
11
+ }
12
+
13
+ let { props }: Props = $props();
7
14
  </script>
8
15
 
9
16
  <Card>
10
- <section class="project-card" slot="content">
17
+ {#snippet content()}
18
+ <section class="project-card" >
11
19
 
12
- <video playsinline autoplay muted loop preload="none">
13
- <source src={ThisWebsiteFootage} type="video/mp4">
14
- video unavailable. original video contains clips of this website being resized and light-dark mode being
15
- toggled.
16
- </video>
17
- <div class="project-card-body">
18
- <h2>This webpage!</h2>
20
+ <video playsinline autoplay muted loop preload="none">
21
+ <source src={ThisWebsiteFootage} type="video/mp4">
22
+ video unavailable. original video contains clips of this website being resized and light-dark mode being
23
+ toggled.
24
+ </video>
25
+ <div class="project-card-body">
26
+ <h2>This webpage!</h2>
19
27
 
20
- <p>
21
- The webpage is made with two parts. The webpage that has the content for everything here, I've lovingly called Seaweed. I kept seaweed as a private package. On the other hand, the base package which I want to use for all spin offs of my websites is called Pineapple and have kept that codebase public.
22
- </p>
23
- <p>The webpage can dynamically emphasize terms, rearrange the layout, use different terms, and save all these configurations as a shortened link. Additionally fetches the latest blog entries from turnipxenon.com via REST calls.</p>
28
+ <p>
29
+ The webpage is made with two parts. The webpage that has the content for everything here, I've lovingly called Seaweed. I kept seaweed as a private package. On the other hand, the base package which I want to use for all spin offs of my websites is called Pineapple and have kept that codebase public.
30
+ </p>
31
+ <p>The webpage can dynamically emphasize terms, rearrange the layout, use different terms, and save all these configurations as a shortened link. Additionally fetches the latest blog entries from turnipxenon.com via REST calls.</p>
24
32
 
25
- <p>
26
- <Chip>Svelte</Chip>
27
- <Chip>Skeleton (Svelte UI library)</Chip>
28
- <Chip>Typescript</Chip>
29
- <Chip>Vercel</Chip>
30
- <Chip>YarnSpinner</Chip>
31
- <Chip>Postgres (SQL database)</Chip>
32
- <Chip>Prisma ORM</Chip>
33
- <Chip>RESTful API</Chip>
34
- </p>
33
+ <p>
34
+ <Chip>Svelte</Chip>
35
+ <Chip>Skeleton (Svelte UI library)</Chip>
36
+ <Chip>Typescript</Chip>
37
+ <Chip>Vercel</Chip>
38
+ <Chip>YarnSpinner</Chip>
39
+ <Chip>Postgres (SQL database)</Chip>
40
+ <Chip>Prisma ORM</Chip>
41
+ <Chip>RESTful API</Chip>
42
+ </p>
35
43
 
36
- <section class="game-link-section">
37
- <button type="button" class="btn variant-filled-primary turnip-button"
38
- role="link"
39
- title="https://github.com/TurnipXenon/pineapple"
40
- on:click={() => window.open("https://github.com/TurnipXenon/pineapple")}>
41
- <img src={GithubIcon} class="long-btn-image" alt="github icon">
42
- </button>
43
- </section>
44
- </div>
45
- </section>
44
+ <section class="game-link-section">
45
+ <button type="button" class="btn preset-filled-primary-500 turnip-button"
46
+ role="link"
47
+ title="https://github.com/TurnipXenon/pineapple"
48
+ onclick={() => window.open("https://github.com/TurnipXenon/pineapple")}>
49
+ <img src={GithubIcon} class="long-btn-image" alt="github icon">
50
+ </button>
51
+ </section>
52
+ </div>
53
+ </section>
54
+ {/snippet}
46
55
  </Card>
@@ -1,17 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import { type EntryProps } from "./EntryProps";
3
- declare const __propDef: {
4
- props: {
5
- props: EntryProps;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type ThisWebpageProps = typeof __propDef.props;
13
- export type ThisWebpageEvents = typeof __propDef.events;
14
- export type ThisWebpageSlots = typeof __propDef.slots;
15
- export default class ThisWebpage extends SvelteComponent<ThisWebpageProps, ThisWebpageEvents, ThisWebpageSlots> {
2
+ interface Props {
3
+ props: EntryProps;
16
4
  }
17
- export {};
5
+ declare const ThisWebpage: import("svelte").Component<Props, {}, "">;
6
+ type ThisWebpage = ReturnType<typeof ThisWebpage>;
7
+ export default ThisWebpage;
@@ -1,10 +1,16 @@
1
- <script>import SocialSection from "../../../components/SocialSection.svelte";
2
- import Card from "../../../components/Card.svelte";
3
- import { Accordion, AccordionItem } from "@skeletonlabs/skeleton";
4
- import ElementVisibilityDetector from "../../../components/ElementVisbilityDetector.svelte";
5
- export let entryProps;
6
- export let isVisible;
7
- let { email, letChaos, linkedinSlug, name } = entryProps;
1
+ <script lang="ts">
2
+ import SocialSection from "../../../ui/components/SocialSection.svelte";
3
+ import Card from "../../../components/Card.svelte";
4
+ import ElementVisibilityDetector from "../../../components/ElementVisbilityDetector.svelte";
5
+ import type { EntryProps } from "./EntryProps";
6
+
7
+ interface Props {
8
+ entryProps: EntryProps;
9
+ isVisible: boolean;
10
+ }
11
+
12
+ let { entryProps, isVisible = $bindable() }: Props = $props();
13
+ let { email, letChaos, linkedinSlug, name } = entryProps;
8
14
  </script>
9
15
 
10
16
  <div class="experience-and-about-div">
@@ -12,102 +18,113 @@ let { email, letChaos, linkedinSlug, name } = entryProps;
12
18
  <div class="greater-about-div">
13
19
 
14
20
  <Card includeDataNoSnippet={false}>
15
- <section class="section-card" slot="content">
16
-
17
- <h1>About</h1>
18
-
19
- <p>
20
- Hi! My name is {name}! I work as a software developer. Outside of that, I like making games, and
21
- trying to do everything in between required to make one. I have some showcased below, our visit
22
- my itch.io page for more of them.
23
- </p>
24
- <!-- todo: link the degree details idk -->
25
- <p>
26
- I also graduated with BS Computing Science, Specializing in Software Practice, and a
27
- certificate in Computer Game Development at University of Alberta.
28
- </p>
29
- {#if entryProps.seaweedTemplateData.shouldAddFunNote}
21
+ {#snippet content()}
22
+ <section class="section-card">
23
+
24
+ <h1>About</h1>
25
+
30
26
  <p>
31
- I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
32
- Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
27
+ Hi! My name is {name}! I work as a software developer. Outside of that, I like making games, and
28
+ trying to do everything in between required to make one. I have some showcased below, our visit
29
+ my itch.io page for more of them.
33
30
  </p>
34
- {/if}
31
+ <!-- todo: link the degree details idk -->
32
+ <p>
33
+ I also graduated with BS Computing Science, Specializing in Software Practice, and a
34
+ certificate in Computer Game Development at University of Alberta.
35
+ </p>
36
+ {#if entryProps.seaweedTemplateData.shouldAddFunNote}
37
+ <p>
38
+ I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
39
+ Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
40
+ </p>
41
+ {/if}
35
42
 
36
- <!-- todo: maybe put cute stuff here -->
37
- <!-- </ToggleableContent>-->
38
- </section>
43
+ <!-- todo: maybe put cute stuff here -->
44
+ <!-- </ToggleableContent>-->
45
+ </section>
46
+ {/snippet}
39
47
  </Card>
40
48
 
41
49
  <Card>
42
- <section class="section-card" slot="content">
43
- <SocialSection email={email} linkedinSlug={linkedinSlug}></SocialSection>
44
- <ElementVisibilityDetector bind:isVisible={isVisible}>
45
- </ElementVisibilityDetector>
46
- </section>
50
+ {#snippet content()}
51
+ <section class="section-card">
52
+ <SocialSection email={email} linkedinSlug={linkedinSlug}></SocialSection>
53
+ <ElementVisibilityDetector bind:isVisible={isVisible}>
54
+ </ElementVisibilityDetector>
55
+ </section>
56
+ {/snippet}
47
57
  </Card>
48
58
 
49
59
  </div>
50
60
 
51
61
  <Card>
52
- <section class="section-card" slot="content">
53
- <h1>Experience</h1>
54
-
55
- <h2>Highlight</h2>
56
- <p>I like French Fries</p>
57
-
58
- <h2>Software Engineer</h2>
59
- <div class="two-column-separated">
60
- <div>July 2023 – January 2024</div>
61
- <div style="text-align: end">Control, Remote</div>
62
- </div>
63
- <ul>
64
- <li>
65
- Developed things
66
- </li>
67
- <li>
68
- Woah
69
- </li>
70
- </ul>
71
- <br>
72
-
73
- <h2>Software Engineer Intern</h2>
74
- <div class="two-column-separated">
75
- <div>May 2022 – Aug 2022</div>
76
- <div style="text-align: end">Pou Company</div>
77
- </div>
78
- <ul>
79
- <li>
80
- Stuff
81
- </li>
82
- <li>
83
- Golang
84
- </li>
85
- </ul>
86
- <br>
87
- <!-- todo: turn off flashing when accordion is expanded -->
88
- <Accordion>
89
- <AccordionItem>
90
- <div slot="summary">
91
- <h2 class="accordion-header">More experience</h2>
92
- </div>
93
- <svelte:fragment slot="content">
94
- <section class="more-section">
95
- <h2>Software Engineer Intern</h2>
96
- <div class="two-column-separated">
97
- <div>May 2021 – Dec 2021</div>
98
- <div style="text-align: end">Testing</div>
99
- </div>
100
- <ul>
101
- <li>
102
- Amazing
103
- </li>
104
- </ul>
105
- <br>
106
- </section>
107
- </svelte:fragment>
108
- </AccordionItem>
109
- </Accordion>
110
- </section>
62
+ {#snippet content()}
63
+ <section class="section-card">
64
+ <h1>Experience</h1>
65
+
66
+ <h2>Highlight</h2>
67
+ <p>I like French Fries</p>
68
+
69
+ <h2>Software Engineer</h2>
70
+ <div class="two-column-separated">
71
+ <div>July 2023 January 2024</div>
72
+ <div style="text-align: end">Control, Remote</div>
73
+ </div>
74
+ <ul>
75
+ <li>
76
+ Developed things
77
+ </li>
78
+ <li>
79
+ Woah
80
+ </li>
81
+ </ul>
82
+ <br>
83
+
84
+ <h2>Software Engineer Intern</h2>
85
+ <div class="two-column-separated">
86
+ <div>May 2022 Aug 2022</div>
87
+ <div style="text-align: end">Pou Company</div>
88
+ </div>
89
+ <ul>
90
+ <li>
91
+ Stuff
92
+ </li>
93
+ <li>
94
+ Golang
95
+ </li>
96
+ </ul>
97
+ <br>
98
+ <!-- todo: turn off flashing when accordion is expanded -->
99
+ <!-- todo: migrate accordion -->
100
+ <!-- <Accordion>-->
101
+ <!-- <Accordion.Item>-->
102
+ <!-- {#snippet summary()}-->
103
+ <!-- <div>-->
104
+ <!-- <h2 class="accordion-header">More experience</h2>-->
105
+ <!-- </div>-->
106
+ <!-- {/snippet}-->
107
+ <!-- {#snippet content()}-->
108
+
109
+ <!-- <section class="more-section">-->
110
+ <!-- <h2>Software Engineer Intern</h2>-->
111
+ <!-- <div class="two-column-separated">-->
112
+ <!-- <div>May 2021 – Dec 2021</div>-->
113
+ <!-- <div style="text-align: end">Testing</div>-->
114
+ <!-- </div>-->
115
+ <!-- <ul>-->
116
+ <!-- <li>-->
117
+ <!-- Amazing-->
118
+ <!-- </li>-->
119
+ <!-- </ul>-->
120
+ <!-- <br>-->
121
+ <!-- </section>-->
122
+
123
+ <!-- {/snippet}-->
124
+ <!-- </Accordion.Item>-->
125
+ <!-- </Accordion>-->
126
+ </section>
127
+ {/snippet}
111
128
  </Card>
112
129
 
113
130
  </div>
@@ -1,18 +1,8 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { EntryProps } from "./EntryProps";
3
- declare const __propDef: {
4
- props: {
5
- entryProps: EntryProps;
6
- isVisible: boolean;
7
- };
8
- events: {
9
- [evt: string]: CustomEvent<any>;
10
- };
11
- slots: {};
12
- };
13
- export type WorkExperienceProps = typeof __propDef.props;
14
- export type WorkExperienceEvents = typeof __propDef.events;
15
- export type WorkExperienceSlots = typeof __propDef.slots;
16
- export default class WorkExperience extends SvelteComponent<WorkExperienceProps, WorkExperienceEvents, WorkExperienceSlots> {
2
+ interface Props {
3
+ entryProps: EntryProps;
4
+ isVisible: boolean;
17
5
  }
18
- export {};
6
+ declare const WorkExperience: import("svelte").Component<Props, {}, "isVisible">;
7
+ type WorkExperience = ReturnType<typeof WorkExperience>;
8
+ export default WorkExperience;
@@ -1,48 +1,57 @@
1
- <script>import {} from "./EntryProps";
2
- import Card from "../../../components/Card.svelte";
3
- import GithubIcon from "../../../assets/icons/github-mark.svg";
4
- import WindowSetGraph from "../../../assets/others/window-set.png";
5
- export let props;
1
+ <script lang="ts">
2
+ import { type EntryProps } from "./EntryProps";
3
+ import Card from "../../../components/Card.svelte";
4
+ import GithubIcon from "../../../assets/icons/github-mark.svg";
5
+ import WindowSetGraph from "../../../assets/others/window-set.png";
6
+
7
+ // noinspection JSUnusedGlobalSymbols
8
+ interface Props {
9
+ props: EntryProps;
10
+ }
11
+
12
+ let { props }: Props = $props();
6
13
  </script>
7
14
 
8
15
  <Card>
9
- <section class="project-card" slot="content">
10
- <img
11
- alt="A graph that visualizes the number of memory pages made by Quicksort cached within the window set as
12
- time goes by. The trend appears to look like a damping harmonic motion that does not go below the zero line. More
13
- details include the data size being 200000 entries, each data point skips 1060174 data points, with a
14
- page size of 4096 bytes, and window size of 100000 bytes."
15
- src={WindowSetGraph} />
16
- <div class="project-card-body">
17
- <h2>Working set simulation</h2>
16
+ {#snippet content()}
17
+ <section class="project-card" >
18
+ <img
19
+ alt="A graph that visualizes the number of memory pages made by Quicksort cached within the window set as
20
+ time goes by. The trend appears to look like a damping harmonic motion that does not go below the zero line. More
21
+ details include the data size being 200000 entries, each data point skips 1060174 data points, with a
22
+ page size of 4096 bytes, and window size of 100000 bytes."
23
+ src={WindowSetGraph} />
24
+ <div class="project-card-body">
25
+ <h2>Working set simulation</h2>
18
26
 
19
- <p>
20
- A <span class="qt-c">C</span> program that simulates the working set model based on the output of memory
21
- addresses
22
- <span class="qt-valgrind">valgrind</span> detects as being accessed by a program being ran. It's
23
- implemented using a nested hashmap <span class="qt-foundation">data structure</span> implemented from
24
- scratch. The working set is the collection of memory pages referenced by a program within a certain time
25
- frame. It comes with a report analyzing and benchmarking how memory allocation, between sorting <span
26
- class="qt-foundation">algorithms</span> heapsort, quicksort, and radixsort, is affected by the window set
27
- size, page size, and their input size.
28
- </p>
27
+ <p>
28
+ A <span class="qt-c">C</span> program that simulates the working set model based on the output of memory
29
+ addresses
30
+ <span class="qt-valgrind">valgrind</span> detects as being accessed by a program being ran. It's
31
+ implemented using a nested hashmap <span class="qt-foundation">data structure</span> implemented from
32
+ scratch. The working set is the collection of memory pages referenced by a program within a certain time
33
+ frame. It comes with a report analyzing and benchmarking how memory allocation, between sorting <span
34
+ class="qt-foundation">algorithms</span> heapsort, quicksort, and radixsort, is affected by the window set
35
+ size, page size, and their input size.
36
+ </p>
29
37
 
30
- <section class="game-link-section">
31
- <button type="button" class="game-button turnip-button"
32
- role="link"
33
- title="https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment03/REPORT.pdf"
34
- on:click={() => window.open("https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment03/REPORT.pdf")}>
35
- <img src={GithubIcon} class="long-btn-image" alt="github icon">
36
- <span>Benchmark report</span>
37
- </button>
38
- <button type="button" class="game-button turnip-button"
39
- role="link"
40
- title="https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment03/DESIGN.md"
41
- on:click={() => window.open("https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment03/DESIGN.md")}>
42
- <img src={GithubIcon} class="long-btn-image" alt="github icon">
43
- <span>Design</span>
44
- </button>
45
- </section>
46
- </div>
47
- </section>
38
+ <section class="game-link-section">
39
+ <button type="button" class="game-button turnip-button"
40
+ role="link"
41
+ title="https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment03/REPORT.pdf"
42
+ onclick={() => window.open("https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment03/REPORT.pdf")}>
43
+ <img src={GithubIcon} class="long-btn-image" alt="github icon">
44
+ <span>Benchmark report</span>
45
+ </button>
46
+ <button type="button" class="game-button turnip-button"
47
+ role="link"
48
+ title="https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment03/DESIGN.md"
49
+ onclick={() => window.open("https://github.com/TurnipXenon/C380-1Code/blob/main/Assignment03/DESIGN.md")}>
50
+ <img src={GithubIcon} class="long-btn-image" alt="github icon">
51
+ <span>Design</span>
52
+ </button>
53
+ </section>
54
+ </div>
55
+ </section>
56
+ {/snippet}
48
57
  </Card>
@@ -1,17 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import { type EntryProps } from "./EntryProps";
3
- declare const __propDef: {
4
- props: {
5
- props: EntryProps;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type WorksetProps = typeof __propDef.props;
13
- export type WorksetEvents = typeof __propDef.events;
14
- export type WorksetSlots = typeof __propDef.slots;
15
- export default class Workset extends SvelteComponent<WorksetProps, WorksetEvents, WorksetSlots> {
2
+ interface Props {
3
+ props: EntryProps;
16
4
  }
17
- export {};
5
+ declare const Workset: import("svelte").Component<Props, {}, "">;
6
+ type Workset = ReturnType<typeof Workset>;
7
+ export default Workset;