@turnipxenon/pineapple 2.4.75 → 2.4.77

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 (55) hide show
  1. package/.idea/workspace.xml +71 -72
  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 +9 -1
  5. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplate.svelte.d.ts +1 -0
  6. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplateData.js +0 -6
  7. package/.svelte-kit/__package__/template/seaweed/entries/EntryProps.d.ts +0 -1
  8. package/.svelte-kit/__package__/template/seaweed/entries/WorkExperience.svelte +106 -136
  9. package/.svelte-kit/__package__/template/seaweed/entry_order_config/EntryOrderConfig.svelte +4 -4
  10. package/.svelte-kit/__package__/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +3 -1
  11. package/.svelte-kit/generated/server/internal.js +1 -1
  12. package/dist/components/PineappleSlideToggle.svelte +3 -1
  13. package/dist/components/PineappleSlideToggle.svelte.d.ts +1 -0
  14. package/dist/template/seaweed/SeaweedTemplate.svelte +9 -1
  15. package/dist/template/seaweed/SeaweedTemplate.svelte.d.ts +1 -0
  16. package/dist/template/seaweed/SeaweedTemplateData.js +0 -6
  17. package/dist/template/seaweed/entries/EntryProps.d.ts +0 -1
  18. package/dist/template/seaweed/entries/WorkExperience.svelte +106 -136
  19. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte +4 -4
  20. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +3 -1
  21. package/package.json +1 -1
  22. package/src/lib/components/PineappleSlideToggle.svelte +3 -1
  23. package/src/lib/components/index.ts +8 -8
  24. package/src/lib/template/seaweed/SeaweedTemplate.svelte +9 -1
  25. package/src/lib/template/seaweed/SeaweedTemplateData.ts +1 -7
  26. package/src/lib/template/seaweed/entries/EntryProps.ts +0 -1
  27. package/src/lib/template/seaweed/entries/WorkExperience.svelte +115 -145
  28. package/src/lib/template/seaweed/entry_order_config/EntryOrderConfig.svelte +5 -5
  29. package/src/lib/template/seaweed/index.ts +4 -4
  30. package/src/routes/(seaweed)/portfolio/+page.svelte +2 -0
  31. package/.svelte-kit/__package__/template/seaweed/entries/DecentralizedSocialMedia.svelte +0 -52
  32. package/.svelte-kit/__package__/template/seaweed/entries/DecentralizedSocialMedia.svelte.d.ts +0 -17
  33. package/.svelte-kit/__package__/template/seaweed/entries/FullStackC.svelte +0 -33
  34. package/.svelte-kit/__package__/template/seaweed/entries/FullStackC.svelte.d.ts +0 -17
  35. package/.svelte-kit/__package__/template/seaweed/entries/ItchPromo.svelte +0 -21
  36. package/.svelte-kit/__package__/template/seaweed/entries/ItchPromo.svelte.d.ts +0 -17
  37. package/.svelte-kit/__package__/template/seaweed/entries/MigranteAlberta.svelte +0 -54
  38. package/.svelte-kit/__package__/template/seaweed/entries/MigranteAlberta.svelte.d.ts +0 -17
  39. package/.svelte-kit/__package__/template/seaweed/entries/MockUberApp.svelte +0 -35
  40. package/.svelte-kit/__package__/template/seaweed/entries/MockUberApp.svelte.d.ts +0 -17
  41. package/dist/template/seaweed/entries/DecentralizedSocialMedia.svelte +0 -52
  42. package/dist/template/seaweed/entries/DecentralizedSocialMedia.svelte.d.ts +0 -17
  43. package/dist/template/seaweed/entries/FullStackC.svelte +0 -33
  44. package/dist/template/seaweed/entries/FullStackC.svelte.d.ts +0 -17
  45. package/dist/template/seaweed/entries/ItchPromo.svelte +0 -21
  46. package/dist/template/seaweed/entries/ItchPromo.svelte.d.ts +0 -17
  47. package/dist/template/seaweed/entries/MigranteAlberta.svelte +0 -54
  48. package/dist/template/seaweed/entries/MigranteAlberta.svelte.d.ts +0 -17
  49. package/dist/template/seaweed/entries/MockUberApp.svelte +0 -35
  50. package/dist/template/seaweed/entries/MockUberApp.svelte.d.ts +0 -17
  51. package/src/lib/template/seaweed/entries/DecentralizedSocialMedia.svelte +0 -54
  52. package/src/lib/template/seaweed/entries/FullStackC.svelte +0 -36
  53. package/src/lib/template/seaweed/entries/ItchPromo.svelte +0 -23
  54. package/src/lib/template/seaweed/entries/MigranteAlberta.svelte +0 -62
  55. package/src/lib/template/seaweed/entries/MockUberApp.svelte +0 -38
@@ -4,11 +4,10 @@
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" />
11
- <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" />
7
+ <list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Remove unused components">
8
+ <change beforePath="$PROJECT_DIR$/src/lib/template/seaweed/SeaweedTemplate.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/template/seaweed/SeaweedTemplate.svelte" afterDir="false" />
9
+ <change beforePath="$PROJECT_DIR$/src/lib/template/seaweed/entry_order_config/EntryOrderConfig.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/template/seaweed/entry_order_config/EntryOrderConfig.svelte" afterDir="false" />
10
+ <change beforePath="$PROJECT_DIR$/src/routes/(seaweed)/portfolio/+page.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/(seaweed)/portfolio/+page.svelte" afterDir="false" />
12
11
  </list>
13
12
  <option name="SHOW_DIALOG" value="false" />
14
13
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -115,34 +114,34 @@
115
114
  <option name="hideEmptyMiddlePackages" value="true" />
116
115
  <option name="showLibraryContents" value="true" />
117
116
  </component>
118
- <component name="PropertiesComponent">{
119
- &quot;keyToString&quot;: {
120
- &quot;DefaultHtmlFileTemplate&quot;: &quot;HTML File&quot;,
121
- &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
122
- &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
123
- &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
124
- &quot;git-widget-placeholder&quot;: &quot;turnip/dev&quot;,
125
- &quot;ignore.virus.scanning.warn.message&quot;: &quot;true&quot;,
126
- &quot;last_opened_file_path&quot;: &quot;C:/Users/Pumpkin/Projects/Web/pineapple/src/lib&quot;,
127
- &quot;list.type.of.created.stylesheet&quot;: &quot;CSS&quot;,
128
- &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
129
- &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
130
- &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
131
- &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
132
- &quot;nodejs_interpreter_path&quot;: &quot;node&quot;,
133
- &quot;nodejs_package_manager_path&quot;: &quot;yarn&quot;,
134
- &quot;npm.build.executor&quot;: &quot;Run&quot;,
135
- &quot;npm.dev (1).executor&quot;: &quot;Run&quot;,
136
- &quot;npm.dev --open.executor&quot;: &quot;Run&quot;,
137
- &quot;npm.dev offline.executor&quot;: &quot;Run&quot;,
138
- &quot;npm.dev-offline.executor&quot;: &quot;Run&quot;,
139
- &quot;npm.dev.executor&quot;: &quot;Run&quot;,
140
- &quot;npm.to-dev.executor&quot;: &quot;Run&quot;,
141
- &quot;settings.editor.selected.configurable&quot;: &quot;settings.sync&quot;,
142
- &quot;ts.external.directory.path&quot;: &quot;C:\\Users\\Pumpkin\\Projects\\Web\\pineapple\\node_modules\\typescript\\lib&quot;,
143
- &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
117
+ <component name="PropertiesComponent"><![CDATA[{
118
+ "keyToString": {
119
+ "DefaultHtmlFileTemplate": "HTML File",
120
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
121
+ "RunOnceActivity.ShowReadmeOnStart": "true",
122
+ "WebServerToolWindowFactoryState": "false",
123
+ "git-widget-placeholder": "turnip/dev",
124
+ "ignore.virus.scanning.warn.message": "true",
125
+ "last_opened_file_path": "C:/Users/Pumpkin/Projects/Web/pineapple/src/lib",
126
+ "list.type.of.created.stylesheet": "CSS",
127
+ "node.js.detected.package.eslint": "true",
128
+ "node.js.detected.package.tslint": "true",
129
+ "node.js.selected.package.eslint": "(autodetect)",
130
+ "node.js.selected.package.tslint": "(autodetect)",
131
+ "nodejs_interpreter_path": "node",
132
+ "nodejs_package_manager_path": "yarn",
133
+ "npm.build.executor": "Run",
134
+ "npm.dev (1).executor": "Run",
135
+ "npm.dev --open.executor": "Run",
136
+ "npm.dev offline.executor": "Run",
137
+ "npm.dev-offline.executor": "Run",
138
+ "npm.dev.executor": "Run",
139
+ "npm.to-dev.executor": "Run",
140
+ "settings.editor.selected.configurable": "settings.sync",
141
+ "ts.external.directory.path": "C:\\Users\\Pumpkin\\Projects\\Web\\pineapple\\node_modules\\typescript\\lib",
142
+ "vue.rearranger.settings.migration": "true"
144
143
  }
145
- }</component>
144
+ }]]></component>
146
145
  <component name="RecentsManager">
147
146
  <key name="CopyFile.RECENT_KEYS">
148
147
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib" />
@@ -207,8 +206,8 @@
207
206
  <item itemvalue="npm.dev --open" />
208
207
  <item itemvalue="npm.to-dev" />
209
208
  <item itemvalue="npm.dev-offline" />
210
- <item itemvalue="npm.dev --open" />
211
209
  <item itemvalue="npm.to-dev" />
210
+ <item itemvalue="npm.dev-offline" />
212
211
  </list>
213
212
  </recent_temporary>
214
213
  </component>
@@ -384,39 +383,7 @@
384
383
  <workItem from="1713055651151" duration="721000" />
385
384
  <workItem from="1713056429943" duration="1789000" />
386
385
  <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>
412
- </task>
413
- <task id="LOCAL-00151" summary="Extract runChaos to its own file">
414
- <option name="closed" value="true" />
415
- <created>1712412027844</created>
416
- <option name="number" value="00151" />
417
- <option name="presentableId" value="LOCAL-00151" />
418
- <option name="project" value="LOCAL" />
419
- <updated>1712412027844</updated>
386
+ <workItem from="1713062548290" duration="4255000" />
420
387
  </task>
421
388
  <task id="LOCAL-00152" summary="Extract all dependencies for updateUrl">
422
389
  <option name="closed" value="true" />
@@ -778,7 +745,39 @@
778
745
  <option name="project" value="LOCAL" />
779
746
  <updated>1713056547180</updated>
780
747
  </task>
781
- <option name="localTasksCounter" value="197" />
748
+ <task id="LOCAL-00197" summary="Fix exports">
749
+ <option name="closed" value="true" />
750
+ <created>1713063622000</created>
751
+ <option name="number" value="00197" />
752
+ <option name="presentableId" value="LOCAL-00197" />
753
+ <option name="project" value="LOCAL" />
754
+ <updated>1713063622000</updated>
755
+ </task>
756
+ <task id="LOCAL-00198" summary="Fix exports">
757
+ <option name="closed" value="true" />
758
+ <created>1713063644881</created>
759
+ <option name="number" value="00198" />
760
+ <option name="presentableId" value="LOCAL-00198" />
761
+ <option name="project" value="LOCAL" />
762
+ <updated>1713063644881</updated>
763
+ </task>
764
+ <task id="LOCAL-00199" summary="Fix shouldAddFunNote reactivity">
765
+ <option name="closed" value="true" />
766
+ <created>1713065626944</created>
767
+ <option name="number" value="00199" />
768
+ <option name="presentableId" value="LOCAL-00199" />
769
+ <option name="project" value="LOCAL" />
770
+ <updated>1713065626944</updated>
771
+ </task>
772
+ <task id="LOCAL-00200" summary="Remove unused components">
773
+ <option name="closed" value="true" />
774
+ <created>1713065902296</created>
775
+ <option name="number" value="00200" />
776
+ <option name="presentableId" value="LOCAL-00200" />
777
+ <option name="project" value="LOCAL" />
778
+ <updated>1713065902296</updated>
779
+ </task>
780
+ <option name="localTasksCounter" value="201" />
782
781
  <servers />
783
782
  </component>
784
783
  <component name="TypeScriptGeneratedFilesManager">
@@ -836,10 +835,6 @@
836
835
  </option>
837
836
  </component>
838
837
  <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
- <MESSAGE value="Add border-radius for advanced settings cards" />
843
838
  <MESSAGE value="Fix pkg import for Chip" />
844
839
  <MESSAGE value="Extract tailwind css utility class to local-chip" />
845
840
  <MESSAGE value="Fix chip issue in Advanced Settings" />
@@ -861,6 +856,10 @@
861
856
  <MESSAGE value="Extract data out of SeaweedTemplate" />
862
857
  <MESSAGE value="Extract experience" />
863
858
  <MESSAGE value="Export SeaweedTemplateData" />
864
- <option name="LAST_COMMIT_MESSAGE" value="Export SeaweedTemplateData" />
859
+ <MESSAGE value="Add more exportable types from Seaweed&#10;&#10;Refactor export index files" />
860
+ <MESSAGE value="Fix exports" />
861
+ <MESSAGE value="Fix shouldAddFunNote reactivity" />
862
+ <MESSAGE value="Remove unused components" />
863
+ <option name="LAST_COMMIT_MESSAGE" value="Remove unused components" />
865
864
  </component>
866
865
  </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>;
@@ -17,6 +17,7 @@ import { Chip } from "../../index";
17
17
  import ChumBucket from "./ChumBucket.svelte";
18
18
  export let seaweedTemplateData;
19
19
  export let projectFirstGroupedEntries;
20
+ export let getAllEntryFromGlobal;
20
21
  export let getEntryFromGlobal;
21
22
  export let letChaos = true;
22
23
  export let name = "Turnip";
@@ -25,7 +26,7 @@ export let linkedinSlug = "turnip-xenon";
25
26
  export let domain = "http://localhost:5173/portfolio/actual/";
26
27
  export let serverSideQueryParams = "";
27
28
  export let experienceSection;
28
- const entryProps = {
29
+ let entryProps = {
29
30
  email,
30
31
  letChaos,
31
32
  linkedinSlug,
@@ -164,6 +165,11 @@ const updateUrl = (seaweedTemplateData2) => {
164
165
  };
165
166
  $:
166
167
  updateUrl(seaweedTemplateData);
168
+ const updateSeaweedWhenFunNoteChanged = (_) => {
169
+ entryProps = entryProps;
170
+ };
171
+ $:
172
+ updateSeaweedWhenFunNoteChanged(seaweedTemplateData.shouldAddFunNote);
167
173
  </script>
168
174
 
169
175
  <SeaweedBaseLayout bind:shouldDisplayLeadingIcons={isSocialsGone}>
@@ -239,6 +245,8 @@ $:
239
245
  <EntryOrderConfig bind:seaweedEntries={seaweedTemplateData.groupedEntries}
240
246
  seaweedTemplateData={seaweedTemplateData}
241
247
  bind:orderUrl={orderUrl}
248
+ getAllEntryFromGlobal={getAllEntryFromGlobal}
249
+ getEntryFromGlobal={getEntryFromGlobal}
242
250
  updateUrl={updateUrl}></EntryOrderConfig>
243
251
 
244
252
  <br>
@@ -6,6 +6,7 @@ declare const __propDef: {
6
6
  props: {
7
7
  seaweedTemplateData: SeaweedTemplateData;
8
8
  projectFirstGroupedEntries: ReadonlyArray<EntryGroup>;
9
+ getAllEntryFromGlobal: () => Map<string, ComponentMeta>;
9
10
  getEntryFromGlobal: (name: string) => undefined | ComponentMeta;
10
11
  letChaos?: boolean | undefined;
11
12
  name?: string | undefined;
@@ -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,140 +4,110 @@ 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;
8
- </script>
9
-
10
- <div class="experience-and-about-div">
11
-
12
- <div class="greater-about-div">
13
-
14
- <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 seaweedTemplateData?.shouldAddFunNote}
30
- <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.
33
- </p>
34
- {/if}
35
-
36
- <!-- todo: maybe put cute stuff here -->
37
- <!-- </ToggleableContent>-->
38
- </section>
39
- </Card>
40
-
41
- <Card>
42
- <section class="section-card" slot="content">
43
- <SocialSection email={email} linkedinSlug={linkedinSlug}></SocialSection>
44
- <ElementVisibilityDetector bind:isVisible={isVisible}>
45
- </ElementVisibilityDetector>
46
- </section>
47
- </Card>
48
-
49
- </div>
50
-
51
- <Card>
52
- <section class="section-card" slot="content">
53
- <h1>Experience</h1>
54
-
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>
58
-
59
- <h2>Software Engineer</h2>
60
- <div class="two-column-separated">
61
- <div>July 2023 January 2024</div>
62
- <div style="text-align: end">Twitch (Amazon Web Services), Remote</div>
63
- </div>
64
- <ul>
65
- <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.
73
- </li>
74
- <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>
81
- </li>
82
- </ul>
83
- <br>
84
-
85
- <h2>Software Engineer Intern</h2>
86
- <div class="two-column-separated">
87
- <div>May 2022 Aug 2022</div>
88
- <div style="text-align: end">Twitch (Amazon Web Services), San Francisco</div>
89
- </div>
90
- <ul>
91
- <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
94
- </li>
95
- <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
106
- </li>
107
- </ul>
108
- <br>
109
- <!-- todo: turn off flashing when accordion is expanded -->
110
- <Accordion>
111
- <AccordionItem>
112
- <div slot="summary">
113
- <h2 class="accordion-header">More experience</h2>
114
- </div>
115
- <svelte:fragment slot="content">
116
- <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}
135
- <br>
136
- </section>
137
- </svelte:fragment>
138
- </AccordionItem>
139
- </Accordion>
140
- </section>
141
- </Card>
142
-
7
+ let { email, letChaos, linkedinSlug, name } = entryProps;
8
+ </script>
9
+
10
+ <div class="experience-and-about-div">
11
+
12
+ <div class="greater-about-div">
13
+
14
+ <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}
30
+ <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.
33
+ </p>
34
+ {/if}
35
+
36
+ <!-- todo: maybe put cute stuff here -->
37
+ <!-- </ToggleableContent>-->
38
+ </section>
39
+ </Card>
40
+
41
+ <Card>
42
+ <section class="section-card" slot="content">
43
+ <SocialSection email={email} linkedinSlug={linkedinSlug}></SocialSection>
44
+ <ElementVisibilityDetector bind:isVisible={isVisible}>
45
+ </ElementVisibilityDetector>
46
+ </section>
47
+ </Card>
48
+
49
+ </div>
50
+
51
+ <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>
111
+ </Card>
112
+
143
113
  </div>
@@ -1,6 +1,4 @@
1
1
  <script>import {
2
- GetAllEntryFromGlobal,
3
- GetEntryFromGlobal
4
2
  } from "../SeaweedTemplateData";
5
3
  import { removeProxyWrapperOnString } from "./EntryOrderConfig";
6
4
  import ComboBoxWithButton from "../../../components/combo_box/ComboBoxWithButton.svelte";
@@ -11,6 +9,8 @@ export let seaweedTemplateData;
11
9
  export let seaweedEntries;
12
10
  export let orderUrl;
13
11
  export let updateUrl;
12
+ export let getAllEntryFromGlobal;
13
+ export let getEntryFromGlobal;
14
14
  const updateOrderQuery = () => {
15
15
  orderUrl = "order=" + seaweedEntries.map((g) => {
16
16
  const groupUrl = g.items.map(
@@ -22,7 +22,7 @@ const updateOrderQuery = () => {
22
22
  };
23
23
  const addEntry = (group) => {
24
24
  return (selected) => {
25
- const c = GetEntryFromGlobal(selected);
25
+ const c = getEntryFromGlobal(selected);
26
26
  if (c) {
27
27
  group.items.push(c);
28
28
  seaweedEntries = seaweedEntries;
@@ -87,7 +87,7 @@ const removeEntry = (entry, group) => {
87
87
  }
88
88
  };
89
89
  };
90
- const allDefaultEntries = Array.from(GetAllEntryFromGlobal().keys());
90
+ const allDefaultEntries = Array.from(getAllEntryFromGlobal().keys());
91
91
  </script>
92
92
 
93
93
  <br>
@@ -1,5 +1,5 @@
1
1
  import { SvelteComponent } from "svelte";
2
- import { type EntryGroup, type SeaweedTemplateData } from "../SeaweedTemplateData";
2
+ import { type ComponentMeta, type EntryGroup, type SeaweedTemplateData } from "../SeaweedTemplateData";
3
3
  import "./entry-order-config.postcss";
4
4
  declare const __propDef: {
5
5
  props: {
@@ -7,6 +7,8 @@ declare const __propDef: {
7
7
  seaweedEntries: EntryGroup[];
8
8
  orderUrl: string;
9
9
  updateUrl: (data: SeaweedTemplateData) => void;
10
+ getAllEntryFromGlobal: () => Map<string, ComponentMeta>;
11
+ getEntryFromGlobal: (s: string) => ComponentMeta | undefined;
10
12
  };
11
13
  events: {
12
14
  [evt: string]: CustomEvent<any>;
@@ -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: "1czq7kj"
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>;