@turnipxenon/pineapple 2.4.75 → 2.4.76

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 (45) hide show
  1. package/.idea/workspace.xml +37 -34
  2. package/.svelte-kit/__package__/components/PineappleSlideToggle.svelte +3 -1
  3. package/.svelte-kit/__package__/components/PineappleSlideToggle.svelte.d.ts +1 -0
  4. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplate.svelte +6 -1
  5. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplateData.js +0 -6
  6. package/.svelte-kit/__package__/template/seaweed/entries/EntryProps.d.ts +0 -1
  7. package/.svelte-kit/__package__/template/seaweed/entries/WorkExperience.svelte +19 -49
  8. package/.svelte-kit/generated/server/internal.js +1 -1
  9. package/dist/components/PineappleSlideToggle.svelte +3 -1
  10. package/dist/components/PineappleSlideToggle.svelte.d.ts +1 -0
  11. package/dist/template/seaweed/SeaweedTemplate.svelte +6 -1
  12. package/dist/template/seaweed/SeaweedTemplateData.js +0 -6
  13. package/dist/template/seaweed/entries/EntryProps.d.ts +0 -1
  14. package/dist/template/seaweed/entries/WorkExperience.svelte +19 -49
  15. package/package.json +1 -1
  16. package/src/lib/components/PineappleSlideToggle.svelte +3 -1
  17. package/src/lib/template/seaweed/SeaweedTemplate.svelte +6 -1
  18. package/src/lib/template/seaweed/SeaweedTemplateData.ts +1 -7
  19. package/src/lib/template/seaweed/entries/EntryProps.ts +0 -1
  20. package/src/lib/template/seaweed/entries/WorkExperience.svelte +19 -49
  21. package/.svelte-kit/__package__/template/seaweed/entries/DecentralizedSocialMedia.svelte +0 -52
  22. package/.svelte-kit/__package__/template/seaweed/entries/DecentralizedSocialMedia.svelte.d.ts +0 -17
  23. package/.svelte-kit/__package__/template/seaweed/entries/FullStackC.svelte +0 -33
  24. package/.svelte-kit/__package__/template/seaweed/entries/FullStackC.svelte.d.ts +0 -17
  25. package/.svelte-kit/__package__/template/seaweed/entries/ItchPromo.svelte +0 -21
  26. package/.svelte-kit/__package__/template/seaweed/entries/ItchPromo.svelte.d.ts +0 -17
  27. package/.svelte-kit/__package__/template/seaweed/entries/MigranteAlberta.svelte +0 -54
  28. package/.svelte-kit/__package__/template/seaweed/entries/MigranteAlberta.svelte.d.ts +0 -17
  29. package/.svelte-kit/__package__/template/seaweed/entries/MockUberApp.svelte +0 -35
  30. package/.svelte-kit/__package__/template/seaweed/entries/MockUberApp.svelte.d.ts +0 -17
  31. package/dist/template/seaweed/entries/DecentralizedSocialMedia.svelte +0 -52
  32. package/dist/template/seaweed/entries/DecentralizedSocialMedia.svelte.d.ts +0 -17
  33. package/dist/template/seaweed/entries/FullStackC.svelte +0 -33
  34. package/dist/template/seaweed/entries/FullStackC.svelte.d.ts +0 -17
  35. package/dist/template/seaweed/entries/ItchPromo.svelte +0 -21
  36. package/dist/template/seaweed/entries/ItchPromo.svelte.d.ts +0 -17
  37. package/dist/template/seaweed/entries/MigranteAlberta.svelte +0 -54
  38. package/dist/template/seaweed/entries/MigranteAlberta.svelte.d.ts +0 -17
  39. package/dist/template/seaweed/entries/MockUberApp.svelte +0 -35
  40. package/dist/template/seaweed/entries/MockUberApp.svelte.d.ts +0 -17
  41. package/src/lib/template/seaweed/entries/DecentralizedSocialMedia.svelte +0 -54
  42. package/src/lib/template/seaweed/entries/FullStackC.svelte +0 -36
  43. package/src/lib/template/seaweed/entries/ItchPromo.svelte +0 -23
  44. package/src/lib/template/seaweed/entries/MigranteAlberta.svelte +0 -62
  45. package/src/lib/template/seaweed/entries/MockUberApp.svelte +0 -38
@@ -4,10 +4,13 @@
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="Export SeaweedTemplateData">
8
- <change afterPath="$PROJECT_DIR$/src/lib/components/index.ts" afterDir="false" />
9
- <change afterPath="$PROJECT_DIR$/src/lib/template/seaweed/index.ts" afterDir="false" />
10
- <change beforePath="$PROJECT_DIR$/src/lib/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/index.ts" afterDir="false" />
7
+ <list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Fix shouldAddFunNote reactivity">
8
+ <change beforePath="$PROJECT_DIR$/src/lib/template/seaweed/SeaweedTemplateData.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/template/seaweed/SeaweedTemplateData.ts" afterDir="false" />
9
+ <change beforePath="$PROJECT_DIR$/src/lib/template/seaweed/entries/DecentralizedSocialMedia.svelte" beforeDir="false" />
10
+ <change beforePath="$PROJECT_DIR$/src/lib/template/seaweed/entries/FullStackC.svelte" beforeDir="false" />
11
+ <change beforePath="$PROJECT_DIR$/src/lib/template/seaweed/entries/ItchPromo.svelte" beforeDir="false" />
12
+ <change beforePath="$PROJECT_DIR$/src/lib/template/seaweed/entries/MigranteAlberta.svelte" beforeDir="false" />
13
+ <change beforePath="$PROJECT_DIR$/src/lib/template/seaweed/entries/MockUberApp.svelte" beforeDir="false" />
11
14
  <change beforePath="$PROJECT_DIR$/src/lib/template/seaweed/entries/WorkExperience.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/template/seaweed/entries/WorkExperience.svelte" afterDir="false" />
12
15
  </list>
13
16
  <option name="SHOW_DIALOG" value="false" />
@@ -384,31 +387,7 @@
384
387
  <workItem from="1713055651151" duration="721000" />
385
388
  <workItem from="1713056429943" duration="1789000" />
386
389
  <workItem from="1713062148811" duration="58000" />
387
- <workItem from="1713062548290" duration="1042000" />
388
- </task>
389
- <task id="LOCAL-00148" summary="Extract plan for dynamic portfolio layout">
390
- <option name="closed" value="true" />
391
- <created>1712406151888</created>
392
- <option name="number" value="00148" />
393
- <option name="presentableId" value="LOCAL-00148" />
394
- <option name="project" value="LOCAL" />
395
- <updated>1712406151888</updated>
396
- </task>
397
- <task id="LOCAL-00149" summary="Remove floating-ui">
398
- <option name="closed" value="true" />
399
- <created>1712409862121</created>
400
- <option name="number" value="00149" />
401
- <option name="presentableId" value="LOCAL-00149" />
402
- <option name="project" value="LOCAL" />
403
- <updated>1712409862121</updated>
404
- </task>
405
- <task id="LOCAL-00150" summary="Move shouldAddFunNote to data">
406
- <option name="closed" value="true" />
407
- <created>1712411369641</created>
408
- <option name="number" value="00150" />
409
- <option name="presentableId" value="LOCAL-00150" />
410
- <option name="project" value="LOCAL" />
411
- <updated>1712411369641</updated>
390
+ <workItem from="1713062548290" duration="3245000" />
412
391
  </task>
413
392
  <task id="LOCAL-00151" summary="Extract runChaos to its own file">
414
393
  <option name="closed" value="true" />
@@ -778,7 +757,31 @@
778
757
  <option name="project" value="LOCAL" />
779
758
  <updated>1713056547180</updated>
780
759
  </task>
781
- <option name="localTasksCounter" value="197" />
760
+ <task id="LOCAL-00197" summary="Fix exports">
761
+ <option name="closed" value="true" />
762
+ <created>1713063622000</created>
763
+ <option name="number" value="00197" />
764
+ <option name="presentableId" value="LOCAL-00197" />
765
+ <option name="project" value="LOCAL" />
766
+ <updated>1713063622000</updated>
767
+ </task>
768
+ <task id="LOCAL-00198" summary="Fix exports">
769
+ <option name="closed" value="true" />
770
+ <created>1713063644881</created>
771
+ <option name="number" value="00198" />
772
+ <option name="presentableId" value="LOCAL-00198" />
773
+ <option name="project" value="LOCAL" />
774
+ <updated>1713063644881</updated>
775
+ </task>
776
+ <task id="LOCAL-00199" summary="Fix shouldAddFunNote reactivity">
777
+ <option name="closed" value="true" />
778
+ <created>1713065626944</created>
779
+ <option name="number" value="00199" />
780
+ <option name="presentableId" value="LOCAL-00199" />
781
+ <option name="project" value="LOCAL" />
782
+ <updated>1713065626944</updated>
783
+ </task>
784
+ <option name="localTasksCounter" value="200" />
782
785
  <servers />
783
786
  </component>
784
787
  <component name="TypeScriptGeneratedFilesManager">
@@ -836,9 +839,6 @@
836
839
  </option>
837
840
  </component>
838
841
  <component name="VcsManagerConfiguration">
839
- <MESSAGE value="Fix light mode contrast issues" />
840
- <MESSAGE value="Attempt to fix Chip styling" />
841
- <MESSAGE value="Export chip" />
842
842
  <MESSAGE value="Add border-radius for advanced settings cards" />
843
843
  <MESSAGE value="Fix pkg import for Chip" />
844
844
  <MESSAGE value="Extract tailwind css utility class to local-chip" />
@@ -861,6 +861,9 @@
861
861
  <MESSAGE value="Extract data out of SeaweedTemplate" />
862
862
  <MESSAGE value="Extract experience" />
863
863
  <MESSAGE value="Export SeaweedTemplateData" />
864
- <option name="LAST_COMMIT_MESSAGE" value="Export SeaweedTemplateData" />
864
+ <MESSAGE value="Add more exportable types from Seaweed&#10;&#10;Refactor export index files" />
865
+ <MESSAGE value="Fix exports" />
866
+ <MESSAGE value="Fix shouldAddFunNote reactivity" />
867
+ <option name="LAST_COMMIT_MESSAGE" value="Fix shouldAddFunNote reactivity" />
865
868
  </component>
866
869
  </project>
@@ -1,10 +1,12 @@
1
1
  <script>export let checked = false;
2
2
  export let name;
3
+ export let onChange = void 0;
3
4
  import { SlideToggle } from "@skeletonlabs/skeleton";
4
5
  </script>
5
6
 
6
7
  <SlideToggle name={name}
7
8
  background="bg-surface-700 dark:bg-surface-700"
8
- bind:checked={checked}>
9
+ bind:checked={checked}
10
+ on:change={onChange}>
9
11
  <slot />
10
12
  </SlideToggle>
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  checked?: boolean | undefined;
5
5
  name: string;
6
+ onChange?: undefined | (() => void);
6
7
  };
7
8
  events: {
8
9
  [evt: string]: CustomEvent<any>;
@@ -25,7 +25,7 @@ export let linkedinSlug = "turnip-xenon";
25
25
  export let domain = "http://localhost:5173/portfolio/actual/";
26
26
  export let serverSideQueryParams = "";
27
27
  export let experienceSection;
28
- const entryProps = {
28
+ let entryProps = {
29
29
  email,
30
30
  letChaos,
31
31
  linkedinSlug,
@@ -164,6 +164,11 @@ const updateUrl = (seaweedTemplateData2) => {
164
164
  };
165
165
  $:
166
166
  updateUrl(seaweedTemplateData);
167
+ const updateSeaweedWhenFunNoteChanged = (_) => {
168
+ entryProps = entryProps;
169
+ };
170
+ $:
171
+ updateSeaweedWhenFunNoteChanged(seaweedTemplateData.shouldAddFunNote);
167
172
  </script>
168
173
 
169
174
  <SeaweedBaseLayout bind:shouldDisplayLeadingIcons={isSocialsGone}>
@@ -3,14 +3,8 @@ import Pengi from "./entries/Pengi.svelte";
3
3
  import Hepcat from "./entries/Hepcat.svelte";
4
4
  import ChefWings from "./entries/ChefWings.svelte";
5
5
  import Soulwork from "./entries/Soulwork.svelte";
6
- import ItchPromo from "./entries/ItchPromo.svelte";
7
- import MigranteAlberta from "./entries/MigranteAlberta.svelte";
8
- import DecentralizedSocialMedia from "./entries/DecentralizedSocialMedia.svelte";
9
6
  import CustomizedYarnspinner from "./entries/CustomizedYarnspinner.svelte";
10
- import FullStackC from "./entries/FullStackC.svelte";
11
- import Workset from "./entries/Workset.svelte";
12
7
  import ThisWebpage from "./entries/ThisWebpage.svelte";
13
- import MockUberApp from "./entries/MockUberApp.svelte";
14
8
  import { removeProxyWrapperOnString } from "./entry_order_config/EntryOrderConfig";
15
9
  export var GroupGridClass;
16
10
  (function (GroupGridClass) {
@@ -9,7 +9,6 @@ export interface EntryProps {
9
9
  linkedinSlug: string;
10
10
  name: string;
11
11
  seaweedTemplateData: SeaweedTemplateData;
12
- isVisible: boolean;
13
12
  }
14
13
  export interface GroupedEntry {
15
14
  header: string;
@@ -4,7 +4,7 @@ import { Accordion, AccordionItem } from "@skeletonlabs/skeleton";
4
4
  import ElementVisibilityDetector from "../../../components/ElementVisbilityDetector.svelte";
5
5
  export let entryProps;
6
6
  export let isVisible;
7
- let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
7
+ let { email, letChaos, linkedinSlug, name } = entryProps;
8
8
  </script>
9
9
 
10
10
  <div class="experience-and-about-div">
@@ -26,7 +26,7 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
26
26
  I also graduated with BS Computing Science, Specializing in Software Practice, and a
27
27
  certificate in Computer Game Development at University of Alberta.
28
28
  </p>
29
- {#if seaweedTemplateData?.shouldAddFunNote}
29
+ {#if entryProps.seaweedTemplateData.shouldAddFunNote}
30
30
  <p>
31
31
  I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
32
32
  Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
@@ -53,31 +53,19 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
53
53
  <h1>Experience</h1>
54
54
 
55
55
  <h2>Highlight</h2>
56
- <p>Worked on Go backend microservices and Typescript React frontend app, serving <b>over 30 million daily
57
- active users</b> at Twitch (an Amazon Web Services subsidiary)</p>
56
+ <p>I like French Fries</p>
58
57
 
59
58
  <h2>Software Engineer</h2>
60
59
  <div class="two-column-separated">
61
60
  <div>July 2023 – January 2024</div>
62
- <div style="text-align: end">Twitch (Amazon Web Services), Remote</div>
61
+ <div style="text-align: end">Control, Remote</div>
63
62
  </div>
64
63
  <ul>
65
64
  <li>
66
- Contributed to
67
- <span class="qt-go">Golang</span>
68
- microservices and
69
- <span class="qt-ts">Typescript</span>
70
- <span class="qt-react">React</span> codebases, across several teams, to accommodate public-facing user safety features to better comply with EU’s Digital Services Act, which applies to no more than
71
- <a href="https://safety.twitch.tv/s/article/Digital-Services-Act-Information?language=en_US">30.5 million users</a>
72
- . Work includes feature flags, alarms, unit tests, end-to-end testing, and documentation.
65
+ Developed things
73
66
  </li>
74
67
  <li>
75
- Improved observability for upcoming features by setting up new AWS resources to integrate internal data platform tools with existing alarms in our team’s microservice, utilizing
76
- <span class="qt-aws qt-observability">Cloudwatch</span>,
77
- <span class="qt-aws qt-observability">Grafana</span>,
78
- <span class="qt-aws">Kinesis Data Stream</span>,
79
- <span class="qt-aws qt-infra">AWS CDK (infrastructure as code)</span>, and
80
- <span class="qt-aws qt-cicd">CodePipeline (CI/CD)</span>
68
+ Woah
81
69
  </li>
82
70
  </ul>
83
71
  <br>
@@ -85,24 +73,14 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
85
73
  <h2>Software Engineer Intern</h2>
86
74
  <div class="two-column-separated">
87
75
  <div>May 2022 – Aug 2022</div>
88
- <div style="text-align: end">Twitch (Amazon Web Services), San Francisco</div>
76
+ <div style="text-align: end">Pou Company</div>
89
77
  </div>
90
78
  <ul>
91
79
  <li>
92
- Built a <span class="qt-infra">load testing service</span> that can be configured to generate different
93
- message types at different volumes that can be easily extended to target different chat services
80
+ Stuff
94
81
  </li>
95
82
  <li>
96
- Used Twitch’s set of custom tools, including Twitch’s custom RPC protocol, to create a backend
97
- service with business logic written in <span class="qt-go">Go</span> and cloud infrastructure utilizing
98
- <span
99
- class="qt-infra qt-aws">ECS on Fargate, Cloudwatch, and DynamoDB</span>
100
- , defined in <span class="qt-ts">Typescript</span>-flavored CDK
101
- </li>
102
- <li>
103
- Wrote a technical specification document for the service’s MVP and possible future features, and
104
- additional documentation on how to use the service and how to extend the load testing service to include
105
- new services to test
83
+ Golang
106
84
  </li>
107
85
  </ul>
108
86
  <br>
@@ -114,24 +92,16 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
114
92
  </div>
115
93
  <svelte:fragment slot="content">
116
94
  <section class="more-section">
117
- {#if (!letChaos)}
118
- <h2>Software Engineer Intern</h2>
119
- <div class="two-column-separated">
120
- <div>May 2021 – Dec 2021</div>
121
- <div style="text-align: end">Twitch (Amazon Web Services), Remote</div>
122
- </div>
123
- <ul>
124
- <li>
125
- Implemented and wrote tests for a feature in Twitch’s
126
- <span class="qt-go">Golang</span> backend authentication microservices and
127
- <span class="qt-ts">Typescript</span>
128
- <span class="qt-react">React</span> frontend web app that will help suggest security improvements to
129
- <b>over 100k+ users daily</b>
130
- </li>
131
- </ul>
132
- {:else}
133
- niko baikal seal from toba aquarium
134
- {/if}
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>
135
105
  <br>
136
106
  </section>
137
107
  </svelte:fragment>
@@ -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: "1oe61rx"
24
+ version_hash: "4pmjjt"
25
25
  };
26
26
 
27
27
  export async function get_hooks() {
@@ -1,10 +1,12 @@
1
1
  <script>export let checked = false;
2
2
  export let name;
3
+ export let onChange = void 0;
3
4
  import { SlideToggle } from "@skeletonlabs/skeleton";
4
5
  </script>
5
6
 
6
7
  <SlideToggle name={name}
7
8
  background="bg-surface-700 dark:bg-surface-700"
8
- bind:checked={checked}>
9
+ bind:checked={checked}
10
+ on:change={onChange}>
9
11
  <slot />
10
12
  </SlideToggle>
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  checked?: boolean | undefined;
5
5
  name: string;
6
+ onChange?: undefined | (() => void);
6
7
  };
7
8
  events: {
8
9
  [evt: string]: CustomEvent<any>;
@@ -25,7 +25,7 @@ export let linkedinSlug = "turnip-xenon";
25
25
  export let domain = "http://localhost:5173/portfolio/actual/";
26
26
  export let serverSideQueryParams = "";
27
27
  export let experienceSection;
28
- const entryProps = {
28
+ let entryProps = {
29
29
  email,
30
30
  letChaos,
31
31
  linkedinSlug,
@@ -164,6 +164,11 @@ const updateUrl = (seaweedTemplateData2) => {
164
164
  };
165
165
  $:
166
166
  updateUrl(seaweedTemplateData);
167
+ const updateSeaweedWhenFunNoteChanged = (_) => {
168
+ entryProps = entryProps;
169
+ };
170
+ $:
171
+ updateSeaweedWhenFunNoteChanged(seaweedTemplateData.shouldAddFunNote);
167
172
  </script>
168
173
 
169
174
  <SeaweedBaseLayout bind:shouldDisplayLeadingIcons={isSocialsGone}>
@@ -3,14 +3,8 @@ import Pengi from "./entries/Pengi.svelte";
3
3
  import Hepcat from "./entries/Hepcat.svelte";
4
4
  import ChefWings from "./entries/ChefWings.svelte";
5
5
  import Soulwork from "./entries/Soulwork.svelte";
6
- import ItchPromo from "./entries/ItchPromo.svelte";
7
- import MigranteAlberta from "./entries/MigranteAlberta.svelte";
8
- import DecentralizedSocialMedia from "./entries/DecentralizedSocialMedia.svelte";
9
6
  import CustomizedYarnspinner from "./entries/CustomizedYarnspinner.svelte";
10
- import FullStackC from "./entries/FullStackC.svelte";
11
- import Workset from "./entries/Workset.svelte";
12
7
  import ThisWebpage from "./entries/ThisWebpage.svelte";
13
- import MockUberApp from "./entries/MockUberApp.svelte";
14
8
  import { removeProxyWrapperOnString } from "./entry_order_config/EntryOrderConfig";
15
9
  export var GroupGridClass;
16
10
  (function (GroupGridClass) {
@@ -9,7 +9,6 @@ export interface EntryProps {
9
9
  linkedinSlug: string;
10
10
  name: string;
11
11
  seaweedTemplateData: SeaweedTemplateData;
12
- isVisible: boolean;
13
12
  }
14
13
  export interface GroupedEntry {
15
14
  header: string;
@@ -4,7 +4,7 @@ import { Accordion, AccordionItem } from "@skeletonlabs/skeleton";
4
4
  import ElementVisibilityDetector from "../../../components/ElementVisbilityDetector.svelte";
5
5
  export let entryProps;
6
6
  export let isVisible;
7
- let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
7
+ let { email, letChaos, linkedinSlug, name } = entryProps;
8
8
  </script>
9
9
 
10
10
  <div class="experience-and-about-div">
@@ -26,7 +26,7 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
26
26
  I also graduated with BS Computing Science, Specializing in Software Practice, and a
27
27
  certificate in Computer Game Development at University of Alberta.
28
28
  </p>
29
- {#if seaweedTemplateData?.shouldAddFunNote}
29
+ {#if entryProps.seaweedTemplateData.shouldAddFunNote}
30
30
  <p>
31
31
  I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
32
32
  Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
@@ -53,31 +53,19 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
53
53
  <h1>Experience</h1>
54
54
 
55
55
  <h2>Highlight</h2>
56
- <p>Worked on Go backend microservices and Typescript React frontend app, serving <b>over 30 million daily
57
- active users</b> at Twitch (an Amazon Web Services subsidiary)</p>
56
+ <p>I like French Fries</p>
58
57
 
59
58
  <h2>Software Engineer</h2>
60
59
  <div class="two-column-separated">
61
60
  <div>July 2023 – January 2024</div>
62
- <div style="text-align: end">Twitch (Amazon Web Services), Remote</div>
61
+ <div style="text-align: end">Control, Remote</div>
63
62
  </div>
64
63
  <ul>
65
64
  <li>
66
- Contributed to
67
- <span class="qt-go">Golang</span>
68
- microservices and
69
- <span class="qt-ts">Typescript</span>
70
- <span class="qt-react">React</span> codebases, across several teams, to accommodate public-facing user safety features to better comply with EU’s Digital Services Act, which applies to no more than
71
- <a href="https://safety.twitch.tv/s/article/Digital-Services-Act-Information?language=en_US">30.5 million users</a>
72
- . Work includes feature flags, alarms, unit tests, end-to-end testing, and documentation.
65
+ Developed things
73
66
  </li>
74
67
  <li>
75
- Improved observability for upcoming features by setting up new AWS resources to integrate internal data platform tools with existing alarms in our team’s microservice, utilizing
76
- <span class="qt-aws qt-observability">Cloudwatch</span>,
77
- <span class="qt-aws qt-observability">Grafana</span>,
78
- <span class="qt-aws">Kinesis Data Stream</span>,
79
- <span class="qt-aws qt-infra">AWS CDK (infrastructure as code)</span>, and
80
- <span class="qt-aws qt-cicd">CodePipeline (CI/CD)</span>
68
+ Woah
81
69
  </li>
82
70
  </ul>
83
71
  <br>
@@ -85,24 +73,14 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
85
73
  <h2>Software Engineer Intern</h2>
86
74
  <div class="two-column-separated">
87
75
  <div>May 2022 – Aug 2022</div>
88
- <div style="text-align: end">Twitch (Amazon Web Services), San Francisco</div>
76
+ <div style="text-align: end">Pou Company</div>
89
77
  </div>
90
78
  <ul>
91
79
  <li>
92
- Built a <span class="qt-infra">load testing service</span> that can be configured to generate different
93
- message types at different volumes that can be easily extended to target different chat services
80
+ Stuff
94
81
  </li>
95
82
  <li>
96
- Used Twitch’s set of custom tools, including Twitch’s custom RPC protocol, to create a backend
97
- service with business logic written in <span class="qt-go">Go</span> and cloud infrastructure utilizing
98
- <span
99
- class="qt-infra qt-aws">ECS on Fargate, Cloudwatch, and DynamoDB</span>
100
- , defined in <span class="qt-ts">Typescript</span>-flavored CDK
101
- </li>
102
- <li>
103
- Wrote a technical specification document for the service’s MVP and possible future features, and
104
- additional documentation on how to use the service and how to extend the load testing service to include
105
- new services to test
83
+ Golang
106
84
  </li>
107
85
  </ul>
108
86
  <br>
@@ -114,24 +92,16 @@ let { email, letChaos, linkedinSlug, name, seaweedTemplateData } = entryProps;
114
92
  </div>
115
93
  <svelte:fragment slot="content">
116
94
  <section class="more-section">
117
- {#if (!letChaos)}
118
- <h2>Software Engineer Intern</h2>
119
- <div class="two-column-separated">
120
- <div>May 2021 – Dec 2021</div>
121
- <div style="text-align: end">Twitch (Amazon Web Services), Remote</div>
122
- </div>
123
- <ul>
124
- <li>
125
- Implemented and wrote tests for a feature in Twitch’s
126
- <span class="qt-go">Golang</span> backend authentication microservices and
127
- <span class="qt-ts">Typescript</span>
128
- <span class="qt-react">React</span> frontend web app that will help suggest security improvements to
129
- <b>over 100k+ users daily</b>
130
- </li>
131
- </ul>
132
- {:else}
133
- niko baikal seal from toba aquarium
134
- {/if}
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>
135
105
  <br>
136
106
  </section>
137
107
  </svelte:fragment>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@turnipxenon/pineapple",
3
3
  "description": "personal package for base styling for other personal projects",
4
- "version": "2.4.75",
4
+ "version": "2.4.76",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
7
7
  "build": "vite build && yarn package",
@@ -1,12 +1,14 @@
1
1
  <script lang="ts">
2
2
  export let checked = false;
3
3
  export let name: string;
4
+ export let onChange: undefined | (() => void) = undefined;
4
5
 
5
6
  import { SlideToggle } from "@skeletonlabs/skeleton";
6
7
  </script>
7
8
 
8
9
  <SlideToggle name={name}
9
10
  background="bg-surface-700 dark:bg-surface-700"
10
- bind:checked={checked}>
11
+ bind:checked={checked}
12
+ on:change={onChange}>
11
13
  <slot />
12
14
  </SlideToggle>
@@ -33,7 +33,7 @@
33
33
  export let experienceSection: ComponentType;
34
34
 
35
35
  // region query params
36
- const entryProps: EntryProps = {
36
+ let entryProps: EntryProps = {
37
37
  email,
38
38
  letChaos,
39
39
  linkedinSlug,
@@ -226,6 +226,11 @@
226
226
  };
227
227
  $: updateUrl(seaweedTemplateData);
228
228
 
229
+ // eslint-disable-next-line
230
+ const updateSeaweedWhenFunNoteChanged = (_: boolean) => {
231
+ entryProps = entryProps;
232
+ };
233
+ $: updateSeaweedWhenFunNoteChanged(seaweedTemplateData.shouldAddFunNote);
229
234
  </script>
230
235
 
231
236
  <SeaweedBaseLayout bind:shouldDisplayLeadingIcons={isSocialsGone}>
@@ -1,17 +1,11 @@
1
1
  import type { ComponentType } from "svelte";
2
- import { DefaultHeader, type GroupedEntry } from "$pkg/template/seaweed/entries/EntryProps";
2
+ import { DefaultHeader } from "$pkg/template/seaweed/entries/EntryProps";
3
3
  import Pengi from "$pkg/template/seaweed/entries/Pengi.svelte";
4
4
  import Hepcat from "$pkg/template/seaweed/entries/Hepcat.svelte";
5
5
  import ChefWings from "$pkg/template/seaweed/entries/ChefWings.svelte";
6
6
  import Soulwork from "$pkg/template/seaweed/entries/Soulwork.svelte";
7
- import ItchPromo from "$pkg/template/seaweed/entries/ItchPromo.svelte";
8
- import MigranteAlberta from "$pkg/template/seaweed/entries/MigranteAlberta.svelte";
9
- import DecentralizedSocialMedia from "$pkg/template/seaweed/entries/DecentralizedSocialMedia.svelte";
10
7
  import CustomizedYarnspinner from "$pkg/template/seaweed/entries/CustomizedYarnspinner.svelte";
11
- import FullStackC from "$pkg/template/seaweed/entries/FullStackC.svelte";
12
- import Workset from "$pkg/template/seaweed/entries/Workset.svelte";
13
8
  import ThisWebpage from "$pkg/template/seaweed/entries/ThisWebpage.svelte";
14
- import MockUberApp from "$pkg/template/seaweed/entries/MockUberApp.svelte";
15
9
  import { removeProxyWrapperOnString } from "$pkg/template/seaweed/entry_order_config/EntryOrderConfig";
16
10
 
17
11
  export enum GroupGridClass {
@@ -11,7 +11,6 @@ export interface EntryProps {
11
11
  linkedinSlug: string;
12
12
  name: string;
13
13
  seaweedTemplateData: SeaweedTemplateData;
14
- isVisible: boolean;
15
14
  }
16
15
 
17
16
  export interface GroupedEntry {