@turnipxenon/pineapple 2.4.42 → 2.4.43

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.
@@ -1,6 +1,8 @@
1
1
  <component name="ProjectCodeStyleConfiguration">
2
2
  <code_scheme name="Project" version="173">
3
3
  <HTMLCodeStyleSettings>
4
+ <option name="HTML_ATTRIBUTE_WRAP" value="0" />
5
+ <option name="HTML_TEXT_WRAP" value="0" />
4
6
  <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
5
7
  </HTMLCodeStyleSettings>
6
8
  <JSCodeStyleSettings version="0">
@@ -27,7 +29,7 @@
27
29
  <option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
28
30
  </VueCodeStyleSettings>
29
31
  <codeStyleSettings language="HTML">
30
- <option name="SOFT_MARGINS" value="100" />
32
+ <option name="SOFT_MARGINS" value="80,120" />
31
33
  <indentOptions>
32
34
  <option name="INDENT_SIZE" value="2" />
33
35
  <option name="CONTINUATION_INDENT_SIZE" value="2" />
@@ -4,8 +4,9 @@
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="Fix allowLinkedin arg in SocialSection">
8
- <change beforePath="$PROJECT_DIR$/src/lib/components/navigation_component/NavigationComponent.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/navigation_component/NavigationComponent.svelte" afterDir="false" />
7
+ <list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Adjust description">
8
+ <change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
9
+ <change beforePath="$PROJECT_DIR$/src/routes/(seaweed)/portfolio/+page.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/(seaweed)/portfolio/+page.svelte" afterDir="false" />
9
10
  </list>
10
11
  <option name="SHOW_DIALOG" value="false" />
11
12
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -43,6 +44,11 @@
43
44
  <option value="+page" />
44
45
  <option value="NavigationComponent" />
45
46
  <option value="NavigationControl" />
47
+ <option value="Hepcat" />
48
+ <option value="Pengi" />
49
+ <option value="ChefWings" />
50
+ <option value="Soulwork" />
51
+ <option value="ItchPromo" />
46
52
  <option value="TypeScript File" />
47
53
  </list>
48
54
  </option>
@@ -79,40 +85,40 @@
79
85
  <option name="hideEmptyMiddlePackages" value="true" />
80
86
  <option name="showLibraryContents" value="true" />
81
87
  </component>
82
- <component name="PropertiesComponent">{
83
- &quot;keyToString&quot;: {
84
- &quot;DefaultHtmlFileTemplate&quot;: &quot;HTML File&quot;,
85
- &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
86
- &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
87
- &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
88
- &quot;git-widget-placeholder&quot;: &quot;turnip/improvements&quot;,
89
- &quot;ignore.virus.scanning.warn.message&quot;: &quot;true&quot;,
90
- &quot;last_opened_file_path&quot;: &quot;C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8&quot;,
91
- &quot;list.type.of.created.stylesheet&quot;: &quot;CSS&quot;,
92
- &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
93
- &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
94
- &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
95
- &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
96
- &quot;nodejs_interpreter_path&quot;: &quot;node&quot;,
97
- &quot;nodejs_package_manager_path&quot;: &quot;yarn&quot;,
98
- &quot;npm.build.executor&quot;: &quot;Run&quot;,
99
- &quot;npm.dev (1).executor&quot;: &quot;Run&quot;,
100
- &quot;npm.dev --open.executor&quot;: &quot;Run&quot;,
101
- &quot;npm.dev offline.executor&quot;: &quot;Run&quot;,
102
- &quot;npm.dev-offline.executor&quot;: &quot;Run&quot;,
103
- &quot;npm.dev.executor&quot;: &quot;Run&quot;,
104
- &quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
105
- &quot;ts.external.directory.path&quot;: &quot;C:\\Users\\Pumpkin\\Projects\\Web\\pineapple\\node_modules\\typescript\\lib&quot;,
106
- &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
88
+ <component name="PropertiesComponent"><![CDATA[{
89
+ "keyToString": {
90
+ "DefaultHtmlFileTemplate": "HTML File",
91
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
92
+ "RunOnceActivity.ShowReadmeOnStart": "true",
93
+ "WebServerToolWindowFactoryState": "false",
94
+ "git-widget-placeholder": "turnip/adjust-description",
95
+ "ignore.virus.scanning.warn.message": "true",
96
+ "last_opened_file_path": "C:/Users/Pumpkin/Projects/Web/pineapple/src/lib/template/seaweed/entries",
97
+ "list.type.of.created.stylesheet": "CSS",
98
+ "node.js.detected.package.eslint": "true",
99
+ "node.js.detected.package.tslint": "true",
100
+ "node.js.selected.package.eslint": "(autodetect)",
101
+ "node.js.selected.package.tslint": "(autodetect)",
102
+ "nodejs_interpreter_path": "node",
103
+ "nodejs_package_manager_path": "yarn",
104
+ "npm.build.executor": "Run",
105
+ "npm.dev (1).executor": "Run",
106
+ "npm.dev --open.executor": "Run",
107
+ "npm.dev offline.executor": "Run",
108
+ "npm.dev-offline.executor": "Run",
109
+ "npm.dev.executor": "Run",
110
+ "settings.editor.selected.configurable": "preferences.editor",
111
+ "ts.external.directory.path": "C:\\Users\\Pumpkin\\Projects\\Web\\pineapple\\node_modules\\typescript\\lib",
112
+ "vue.rearranger.settings.migration": "true"
107
113
  }
108
- }</component>
114
+ }]]></component>
109
115
  <component name="RecentsManager">
110
116
  <key name="CopyFile.RECENT_KEYS">
117
+ <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\template\seaweed\entries" />
111
118
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page3\page7\(test_layout)\page8" />
112
119
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page3\page5" />
113
120
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page2" />
114
121
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\components\navigation_component" />
115
- <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3\page7\(test_layout)\page8" />
116
122
  </key>
117
123
  <key name="MoveFile.RECENT_KEYS">
118
124
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(pineapple)" />
@@ -158,7 +164,7 @@
158
164
  <item itemvalue="npm.dev-offline" />
159
165
  <item itemvalue="npm.dev --open" />
160
166
  <item itemvalue="npm.dev-offline" />
161
- <item itemvalue="npm.dev-offline" />
167
+ <item itemvalue="npm.dev --open" />
162
168
  </list>
163
169
  </recent_temporary>
164
170
  </component>
@@ -256,79 +262,12 @@
256
262
  <workItem from="1711682931608" duration="198000" />
257
263
  <workItem from="1711683164653" duration="79000" />
258
264
  <workItem from="1711683280312" duration="11000" />
259
- <workItem from="1711684148768" duration="781000" />
260
- </task>
261
- <task id="LOCAL-00070" summary="Clean up todos">
262
- <option name="closed" value="true" />
263
- <created>1710651196828</created>
264
- <option name="number" value="00070" />
265
- <option name="presentableId" value="LOCAL-00070" />
266
- <option name="project" value="LOCAL" />
267
- <updated>1710651196829</updated>
268
- </task>
269
- <task id="LOCAL-00071" summary="Add default PR template">
270
- <option name="closed" value="true" />
271
- <created>1710651695177</created>
272
- <option name="number" value="00071" />
273
- <option name="presentableId" value="LOCAL-00071" />
274
- <option name="project" value="LOCAL" />
275
- <updated>1710651695177</updated>
276
- </task>
277
- <task id="LOCAL-00072" summary="Fix chip in light mode">
278
- <option name="closed" value="true" />
279
- <created>1710654837283</created>
280
- <option name="number" value="00072" />
281
- <option name="presentableId" value="LOCAL-00072" />
282
- <option name="project" value="LOCAL" />
283
- <updated>1710654837283</updated>
284
- </task>
285
- <task id="LOCAL-00073" summary="2.4.14">
286
- <option name="closed" value="true" />
287
- <created>1710655474323</created>
288
- <option name="number" value="00073" />
289
- <option name="presentableId" value="LOCAL-00073" />
290
- <option name="project" value="LOCAL" />
291
- <updated>1710655474323</updated>
292
- </task>
293
- <task id="LOCAL-00074" summary="Run dialog parser in runtime">
294
- <option name="closed" value="true" />
295
- <created>1710731570794</created>
296
- <option name="number" value="00074" />
297
- <option name="presentableId" value="LOCAL-00074" />
298
- <option name="project" value="LOCAL" />
299
- <updated>1710731570794</updated>
300
- </task>
301
- <task id="LOCAL-00075" summary="Fix dialog layout to make it usable on hobby site">
302
- <option name="closed" value="true" />
303
- <created>1710739937750</created>
304
- <option name="number" value="00075" />
305
- <option name="presentableId" value="LOCAL-00075" />
306
- <option name="project" value="LOCAL" />
307
- <updated>1710739937750</updated>
308
- </task>
309
- <task id="LOCAL-00076" summary="Add option to set default dialog behavior in Pineapple">
310
- <option name="closed" value="true" />
311
- <created>1710741953853</created>
312
- <option name="number" value="00076" />
313
- <option name="presentableId" value="LOCAL-00076" />
314
- <option name="project" value="LOCAL" />
315
- <updated>1710741953853</updated>
316
- </task>
317
- <task id="LOCAL-00077" summary="Export Card">
318
- <option name="closed" value="true" />
319
- <created>1711093190088</created>
320
- <option name="number" value="00077" />
321
- <option name="presentableId" value="LOCAL-00077" />
322
- <option name="project" value="LOCAL" />
323
- <updated>1711093190088</updated>
324
- </task>
325
- <task id="LOCAL-00078" summary="Replace all $lib to $pkg">
326
- <option name="closed" value="true" />
327
- <created>1711093944293</created>
328
- <option name="number" value="00078" />
329
- <option name="presentableId" value="LOCAL-00078" />
330
- <option name="project" value="LOCAL" />
331
- <updated>1711093944293</updated>
265
+ <workItem from="1711684148768" duration="1021000" />
266
+ <workItem from="1711910172413" duration="485000" />
267
+ <workItem from="1711910783501" duration="388000" />
268
+ <workItem from="1711930835848" duration="1753000" />
269
+ <workItem from="1711933293449" duration="16410000" />
270
+ <workItem from="1711990899017" duration="1339000" />
332
271
  </task>
333
272
  <task id="LOCAL-00079" summary="Refactor all util functions into util/util">
334
273
  <option name="closed" value="true" />
@@ -650,7 +589,79 @@
650
589
  <option name="project" value="LOCAL" />
651
590
  <updated>1711683031188</updated>
652
591
  </task>
653
- <option name="localTasksCounter" value="119" />
592
+ <task id="LOCAL-00119" summary="Change media to containre">
593
+ <option name="closed" value="true" />
594
+ <created>1711685062499</created>
595
+ <option name="number" value="00119" />
596
+ <option name="presentableId" value="LOCAL-00119" />
597
+ <option name="project" value="LOCAL" />
598
+ <updated>1711685062499</updated>
599
+ </task>
600
+ <task id="LOCAL-00120" summary="Change media to container">
601
+ <option name="closed" value="true" />
602
+ <created>1711685070024</created>
603
+ <option name="number" value="00120" />
604
+ <option name="presentableId" value="LOCAL-00120" />
605
+ <option name="project" value="LOCAL" />
606
+ <updated>1711685070024</updated>
607
+ </task>
608
+ <task id="LOCAL-00121" summary="Add toggle to showcase pagination prevention">
609
+ <option name="closed" value="true" />
610
+ <created>1711910588771</created>
611
+ <option name="number" value="00121" />
612
+ <option name="presentableId" value="LOCAL-00121" />
613
+ <option name="project" value="LOCAL" />
614
+ <updated>1711910588772</updated>
615
+ </task>
616
+ <task id="LOCAL-00122" summary="WIP custom v1">
617
+ <option name="closed" value="true" />
618
+ <created>1711940053335</created>
619
+ <option name="number" value="00122" />
620
+ <option name="presentableId" value="LOCAL-00122" />
621
+ <option name="project" value="LOCAL" />
622
+ <updated>1711940053335</updated>
623
+ </task>
624
+ <task id="LOCAL-00123" summary="Rename Seaweed to seaweed">
625
+ <option name="closed" value="true" />
626
+ <created>1711940145763</created>
627
+ <option name="number" value="00123" />
628
+ <option name="presentableId" value="LOCAL-00123" />
629
+ <option name="project" value="LOCAL" />
630
+ <updated>1711940145763</updated>
631
+ </task>
632
+ <task id="LOCAL-00124" summary="Fully extract all entries from groups">
633
+ <option name="closed" value="true" />
634
+ <created>1711943579891</created>
635
+ <option name="number" value="00124" />
636
+ <option name="presentableId" value="LOCAL-00124" />
637
+ <option name="project" value="LOCAL" />
638
+ <updated>1711943579891</updated>
639
+ </task>
640
+ <task id="LOCAL-00125" summary="Allow full reordering for entries">
641
+ <option name="closed" value="true" />
642
+ <created>1711950000817</created>
643
+ <option name="number" value="00125" />
644
+ <option name="presentableId" value="LOCAL-00125" />
645
+ <option name="project" value="LOCAL" />
646
+ <updated>1711950000817</updated>
647
+ </task>
648
+ <task id="LOCAL-00126" summary="WIP">
649
+ <option name="closed" value="true" />
650
+ <created>1711990921948</created>
651
+ <option name="number" value="00126" />
652
+ <option name="presentableId" value="LOCAL-00126" />
653
+ <option name="project" value="LOCAL" />
654
+ <updated>1711990921949</updated>
655
+ </task>
656
+ <task id="LOCAL-00127" summary="Adjust description">
657
+ <option name="closed" value="true" />
658
+ <created>1711992114854</created>
659
+ <option name="number" value="00127" />
660
+ <option name="presentableId" value="LOCAL-00127" />
661
+ <option name="project" value="LOCAL" />
662
+ <updated>1711992114854</updated>
663
+ </task>
664
+ <option name="localTasksCounter" value="128" />
654
665
  <servers />
655
666
  </component>
656
667
  <component name="TypeScriptGeneratedFilesManager">
@@ -688,7 +699,7 @@
688
699
  <entry key="branch">
689
700
  <value>
690
701
  <list>
691
- <option value="turnip/dev" />
702
+ <option value="turnip/customizable" />
692
703
  </list>
693
704
  </value>
694
705
  </entry>
@@ -708,15 +719,6 @@
708
719
  </option>
709
720
  </component>
710
721
  <component name="VcsManagerConfiguration">
711
- <MESSAGE value="Place fab on a higher z-index" />
712
- <MESSAGE value="v2.4.29" />
713
- <MESSAGE value="Implement basic navigation component logic" />
714
- <MESSAGE value="Add basic navigation component logic" />
715
- <MESSAGE value="Refactor NavigationComponent logic to its component" />
716
- <MESSAGE value="Parse meta from subdirectories" />
717
- <MESSAGE value="Refactor the test pages to have unique headers" />
718
- <MESSAGE value="Document limitations of PageMeta.image" />
719
- <MESSAGE value="Move test pages into a singluar director" />
720
722
  <MESSAGE value="Move test pages into a directory" />
721
723
  <MESSAGE value="Add Navigation control" />
722
724
  <MESSAGE value="Move NavigationControl to a component" />
@@ -733,6 +735,15 @@
733
735
  <MESSAGE value="Allow preventing NavigationComponent pagination" />
734
736
  <MESSAGE value="Export SocialSection" />
735
737
  <MESSAGE value="Fix allowLinkedin arg in SocialSection" />
736
- <option name="LAST_COMMIT_MESSAGE" value="Fix allowLinkedin arg in SocialSection" />
738
+ <MESSAGE value="Change media to containre" />
739
+ <MESSAGE value="Change media to container" />
740
+ <MESSAGE value="Add toggle to showcase pagination prevention" />
741
+ <MESSAGE value="WIP custom v1" />
742
+ <MESSAGE value="Rename Seaweed to seaweed" />
743
+ <MESSAGE value="Fully extract all entries from groups" />
744
+ <MESSAGE value="Allow full reordering for entries" />
745
+ <MESSAGE value="WIP" />
746
+ <MESSAGE value="Adjust description" />
747
+ <option name="LAST_COMMIT_MESSAGE" value="Adjust description" />
737
748
  </component>
738
749
  </project>
@@ -15,6 +15,7 @@ import GameSection from "./GameSection.svelte";
15
15
  import ProjectSection from "./ProjectSection.svelte";
16
16
  let isVisible = true;
17
17
  let isAdvanceSettingOn = false;
18
+ let shouldAddFunNote = false;
18
19
  $:
19
20
  isSocialsGone = !isVisible;
20
21
  import gameContent from "./GameSection.svelte?raw";
@@ -181,10 +182,12 @@ $:
181
182
  I also graduated with BS Computing Science, Specializing in Software Practice, and a
182
183
  certificate in Computer Game Development at University of Alberta.
183
184
  </p>
184
- <p>
185
- I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
186
- Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
187
- </p>
185
+ {#if shouldAddFunNote}
186
+ <p>
187
+ I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
188
+ Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
189
+ </p>
190
+ {/if}
188
191
 
189
192
  <!-- todo: maybe put cute stuff here -->
190
193
  <!-- </ToggleableContent>-->
@@ -205,23 +208,32 @@ $:
205
208
  <section class="section-card" slot="content">
206
209
  <h1>Experience</h1>
207
210
 
211
+ <h2>Highlight</h2>
212
+ <p>Worked on Go backend microservices and Typescript React frontend app, serving <b>over 30 million daily
213
+ active users</b> at Twitch</p>
214
+
208
215
  <h2>Software Engineer</h2>
209
216
  <div class="two-column-separated">
210
217
  <div>July 2023 – January 2024</div>
211
218
  <div style="text-align: end">Twitch, Remote</div>
212
219
  </div>
213
220
  <ul>
214
- <li>Contributed to <span class="qt-go">Golang</span> and <span class="qt-ts">Typescript</span> codebases,
215
- across several teams, to accommodate adjustments for public-facing user safety related features, to better
216
- comply with EU’s <a target="_blank"
217
- href="https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-services-act/europe-fit-digital-age-new-online-rules-platforms_en">
218
- Digital Services Act</a>, also including feature flags, alarms, unit tests, end-to-end testing, and
219
- documentation
221
+ <li>
222
+ Contributed to
223
+ <span class="qt-go">Golang</span>
224
+ microservices and
225
+ <span class="qt-ts">Typescript</span>
226
+ <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
227
+ <a href="https://safety.twitch.tv/s/article/Digital-Services-Act-Information?language=en_US">30.5 million users</a>
228
+ . Work includes feature flags, alarms, unit tests, end-to-end testing, and documentation.
220
229
  </li>
221
- <li>Improved observability for upcoming features by setting up new <span class="qt-aws qt-infra">AWS</span>
222
- resources to integrate internal data platform tools with existing alarms in our team’s microservice,
223
- utilizing <span class="qt-aws qt-infra">Cloudwatch</span> and <span class="qt-aws qt-infra">Kinesis Data Stream</span>,
224
- while adhering to best practices for <span class="qt-aws qt-infra">AWS CDK</span> (infrastructure as code)
230
+ <li>
231
+ 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
232
+ <span class="qt-aws qt-observability">Cloudwatch</span>,
233
+ <span class="qt-aws qt-observability">Grafana</span>,
234
+ <span class="qt-aws">Kinesis Data Stream</span>,
235
+ <span class="qt-aws qt-infra">AWS CDK (infrastructure as code)</span>, and
236
+ <span class="qt-aws qt-cicd">CodePipeline (CI/CD)</span>
225
237
  </li>
226
238
  </ul>
227
239
  <br>
@@ -266,14 +278,11 @@ $:
266
278
  </div>
267
279
  <ul>
268
280
  <li>
269
- Implemented and wrote tests for a feature in Twitch’s backend authentication
270
- systems and frontend web application that will help suggest security improvements to
271
- over hundreds of thousands of users daily
272
- </li>
273
- <li>
274
- Learned <span class="qt-go">Go</span>, <span class="qt-ts">Typescript</span>, <span
275
- class="qt-react">React</span>, and other new technologies on the go to contribute to
276
- the codebase
281
+ Implemented and wrote tests for a feature in Twitch’s
282
+ <span class="qt-go">Golang</span> backend authentication microservices and
283
+ <span class="qt-ts">Typescript</span>
284
+ <span class="qt-react">React</span> frontend web app that will help suggest security improvements to
285
+ <b>over 100k+ users daily</b>
277
286
  </li>
278
287
  </ul>
279
288
  {:else}
@@ -311,6 +320,9 @@ $:
311
320
  <SlideToggle name="game-section-slider" bind:checked={gameSectionFirst}>
312
321
  Should game section appear first over projects: {gameSectionFirst ? "On" : "Off"}
313
322
  </SlideToggle>
323
+ <SlideToggle name="fun-note-slider" bind:checked={shouldAddFunNote}>
324
+ Should add fun note in description: {shouldAddFunNote ? "On" : "Off"}
325
+ </SlideToggle>
314
326
 
315
327
  <h3>Query terms to bold</h3>
316
328
  <div class="query-term-grid">
@@ -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: "1pw7j7j"
24
+ version_hash: "1dgnh0c"
25
25
  };
26
26
 
27
27
  export async function get_hooks() {
@@ -15,6 +15,7 @@ import GameSection from "./GameSection.svelte";
15
15
  import ProjectSection from "./ProjectSection.svelte";
16
16
  let isVisible = true;
17
17
  let isAdvanceSettingOn = false;
18
+ let shouldAddFunNote = false;
18
19
  $:
19
20
  isSocialsGone = !isVisible;
20
21
  import gameContent from "./GameSection.svelte?raw";
@@ -181,10 +182,12 @@ $:
181
182
  I also graduated with BS Computing Science, Specializing in Software Practice, and a
182
183
  certificate in Computer Game Development at University of Alberta.
183
184
  </p>
184
- <p>
185
- I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
186
- Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
187
- </p>
185
+ {#if shouldAddFunNote}
186
+ <p>
187
+ I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
188
+ Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
189
+ </p>
190
+ {/if}
188
191
 
189
192
  <!-- todo: maybe put cute stuff here -->
190
193
  <!-- </ToggleableContent>-->
@@ -205,23 +208,32 @@ $:
205
208
  <section class="section-card" slot="content">
206
209
  <h1>Experience</h1>
207
210
 
211
+ <h2>Highlight</h2>
212
+ <p>Worked on Go backend microservices and Typescript React frontend app, serving <b>over 30 million daily
213
+ active users</b> at Twitch</p>
214
+
208
215
  <h2>Software Engineer</h2>
209
216
  <div class="two-column-separated">
210
217
  <div>July 2023 – January 2024</div>
211
218
  <div style="text-align: end">Twitch, Remote</div>
212
219
  </div>
213
220
  <ul>
214
- <li>Contributed to <span class="qt-go">Golang</span> and <span class="qt-ts">Typescript</span> codebases,
215
- across several teams, to accommodate adjustments for public-facing user safety related features, to better
216
- comply with EU’s <a target="_blank"
217
- href="https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-services-act/europe-fit-digital-age-new-online-rules-platforms_en">
218
- Digital Services Act</a>, also including feature flags, alarms, unit tests, end-to-end testing, and
219
- documentation
221
+ <li>
222
+ Contributed to
223
+ <span class="qt-go">Golang</span>
224
+ microservices and
225
+ <span class="qt-ts">Typescript</span>
226
+ <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
227
+ <a href="https://safety.twitch.tv/s/article/Digital-Services-Act-Information?language=en_US">30.5 million users</a>
228
+ . Work includes feature flags, alarms, unit tests, end-to-end testing, and documentation.
220
229
  </li>
221
- <li>Improved observability for upcoming features by setting up new <span class="qt-aws qt-infra">AWS</span>
222
- resources to integrate internal data platform tools with existing alarms in our team’s microservice,
223
- utilizing <span class="qt-aws qt-infra">Cloudwatch</span> and <span class="qt-aws qt-infra">Kinesis Data Stream</span>,
224
- while adhering to best practices for <span class="qt-aws qt-infra">AWS CDK</span> (infrastructure as code)
230
+ <li>
231
+ 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
232
+ <span class="qt-aws qt-observability">Cloudwatch</span>,
233
+ <span class="qt-aws qt-observability">Grafana</span>,
234
+ <span class="qt-aws">Kinesis Data Stream</span>,
235
+ <span class="qt-aws qt-infra">AWS CDK (infrastructure as code)</span>, and
236
+ <span class="qt-aws qt-cicd">CodePipeline (CI/CD)</span>
225
237
  </li>
226
238
  </ul>
227
239
  <br>
@@ -266,14 +278,11 @@ $:
266
278
  </div>
267
279
  <ul>
268
280
  <li>
269
- Implemented and wrote tests for a feature in Twitch’s backend authentication
270
- systems and frontend web application that will help suggest security improvements to
271
- over hundreds of thousands of users daily
272
- </li>
273
- <li>
274
- Learned <span class="qt-go">Go</span>, <span class="qt-ts">Typescript</span>, <span
275
- class="qt-react">React</span>, and other new technologies on the go to contribute to
276
- the codebase
281
+ Implemented and wrote tests for a feature in Twitch’s
282
+ <span class="qt-go">Golang</span> backend authentication microservices and
283
+ <span class="qt-ts">Typescript</span>
284
+ <span class="qt-react">React</span> frontend web app that will help suggest security improvements to
285
+ <b>over 100k+ users daily</b>
277
286
  </li>
278
287
  </ul>
279
288
  {:else}
@@ -311,6 +320,9 @@ $:
311
320
  <SlideToggle name="game-section-slider" bind:checked={gameSectionFirst}>
312
321
  Should game section appear first over projects: {gameSectionFirst ? "On" : "Off"}
313
322
  </SlideToggle>
323
+ <SlideToggle name="fun-note-slider" bind:checked={shouldAddFunNote}>
324
+ Should add fun note in description: {shouldAddFunNote ? "On" : "Off"}
325
+ </SlideToggle>
314
326
 
315
327
  <h3>Query terms to bold</h3>
316
328
  <div class="query-term-grid">
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.42",
4
+ "version": "2.4.43",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
7
7
  "build": "npm run check-requirements && vite build && yarn package",
@@ -18,6 +18,7 @@
18
18
 
19
19
  let isVisible = true;
20
20
  let isAdvanceSettingOn = false;
21
+ let shouldAddFunNote = false;
21
22
 
22
23
  $: isSocialsGone = !isVisible;
23
24
 
@@ -252,10 +253,12 @@
252
253
  I also graduated with BS Computing Science, Specializing in Software Practice, and a
253
254
  certificate in Computer Game Development at University of Alberta.
254
255
  </p>
255
- <p>
256
- I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
257
- Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
258
- </p>
256
+ {#if shouldAddFunNote}
257
+ <p>
258
+ I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
259
+ Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
260
+ </p>
261
+ {/if}
259
262
 
260
263
  <!-- todo: maybe put cute stuff here -->
261
264
  <!-- </ToggleableContent>-->
@@ -276,23 +279,32 @@
276
279
  <section class="section-card" slot="content">
277
280
  <h1>Experience</h1>
278
281
 
282
+ <h2>Highlight</h2>
283
+ <p>Worked on Go backend microservices and Typescript React frontend app, serving <b>over 30 million daily
284
+ active users</b> at Twitch</p>
285
+
279
286
  <h2>Software Engineer</h2>
280
287
  <div class="two-column-separated">
281
288
  <div>July 2023 – January 2024</div>
282
289
  <div style="text-align: end">Twitch, Remote</div>
283
290
  </div>
284
291
  <ul>
285
- <li>Contributed to <span class="qt-go">Golang</span> and <span class="qt-ts">Typescript</span> codebases,
286
- across several teams, to accommodate adjustments for public-facing user safety related features, to better
287
- comply with EU’s <a target="_blank"
288
- href="https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-services-act/europe-fit-digital-age-new-online-rules-platforms_en">
289
- Digital Services Act</a>, also including feature flags, alarms, unit tests, end-to-end testing, and
290
- documentation
292
+ <li>
293
+ Contributed to
294
+ <span class="qt-go">Golang</span>
295
+ microservices and
296
+ <span class="qt-ts">Typescript</span>
297
+ <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
298
+ <a href="https://safety.twitch.tv/s/article/Digital-Services-Act-Information?language=en_US">30.5 million users</a>
299
+ . Work includes feature flags, alarms, unit tests, end-to-end testing, and documentation.
291
300
  </li>
292
- <li>Improved observability for upcoming features by setting up new <span class="qt-aws qt-infra">AWS</span>
293
- resources to integrate internal data platform tools with existing alarms in our team’s microservice,
294
- utilizing <span class="qt-aws qt-infra">Cloudwatch</span> and <span class="qt-aws qt-infra">Kinesis Data Stream</span>,
295
- while adhering to best practices for <span class="qt-aws qt-infra">AWS CDK</span> (infrastructure as code)
301
+ <li>
302
+ 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
303
+ <span class="qt-aws qt-observability">Cloudwatch</span>,
304
+ <span class="qt-aws qt-observability">Grafana</span>,
305
+ <span class="qt-aws">Kinesis Data Stream</span>,
306
+ <span class="qt-aws qt-infra">AWS CDK (infrastructure as code)</span>, and
307
+ <span class="qt-aws qt-cicd">CodePipeline (CI/CD)</span>
296
308
  </li>
297
309
  </ul>
298
310
  <br>
@@ -337,14 +349,11 @@
337
349
  </div>
338
350
  <ul>
339
351
  <li>
340
- Implemented and wrote tests for a feature in Twitch’s backend authentication
341
- systems and frontend web application that will help suggest security improvements to
342
- over hundreds of thousands of users daily
343
- </li>
344
- <li>
345
- Learned <span class="qt-go">Go</span>, <span class="qt-ts">Typescript</span>, <span
346
- class="qt-react">React</span>, and other new technologies on the go to contribute to
347
- the codebase
352
+ Implemented and wrote tests for a feature in Twitch’s
353
+ <span class="qt-go">Golang</span> backend authentication microservices and
354
+ <span class="qt-ts">Typescript</span>
355
+ <span class="qt-react">React</span> frontend web app that will help suggest security improvements to
356
+ <b>over 100k+ users daily</b>
348
357
  </li>
349
358
  </ul>
350
359
  {:else}
@@ -382,6 +391,9 @@
382
391
  <SlideToggle name="game-section-slider" bind:checked={gameSectionFirst}>
383
392
  Should game section appear first over projects: {gameSectionFirst ? "On" : "Off"}
384
393
  </SlideToggle>
394
+ <SlideToggle name="fun-note-slider" bind:checked={shouldAddFunNote}>
395
+ Should add fun note in description: {shouldAddFunNote ? "On" : "Off"}
396
+ </SlideToggle>
385
397
 
386
398
  <h3>Query terms to bold</h3>
387
399
  <div class="query-term-grid">
@@ -5,6 +5,7 @@
5
5
  import { Card, dialogManager, enableDialogueOverlay } from "$pkg";
6
6
  import NavigationComponent from "$pkg/components/navigation_component/NavigationComponent.svelte";
7
7
  import { ImageMap } from "./ImageMap";
8
+ import { SlideToggle } from "@skeletonlabs/skeleton";
8
9
 
9
10
  enableDialogueOverlay.set(false);
10
11
 
@@ -34,6 +35,7 @@
34
35
  // todo: fix fragile relative reference to the root
35
36
  const fileList = import.meta.glob("./../**/+page.svelte", { query: "?raw" });
36
37
  const jsonList = import.meta.glob("./../**/meta.json", { query: "?raw", eager: true });
38
+ let allowPagination = true;
37
39
  </script>
38
40
 
39
41
  <Card>
@@ -52,6 +54,11 @@
52
54
  <button
53
55
  class="btn variant-filled-secondary"
54
56
  on:click={onTestDialogClick}><h3>Test dialog</h3></button>
57
+ <div>
58
+ <SlideToggle name="advanced-setting-slider" bind:checked={allowPagination}>
59
+ Allow pagination: {allowPagination ? "On" : "Off"}
60
+ </SlideToggle>
61
+ </div>
55
62
  </div>
56
63
  </Card>
57
64
 
@@ -59,7 +66,7 @@
59
66
  fileList={fileList}
60
67
  jsonList={jsonList}
61
68
  imageMap={ImageMap}
62
- shouldAllowControl={false}
69
+ shouldAllowControl={allowPagination}
63
70
  parentSubpath="/pineapple/">
64
71
  </NavigationComponent>
65
72
 
@@ -1,9 +1,6 @@
1
1
  <script>
2
2
  import SeaweedTemplate from "$pkg/template/Seaweed/SeaweedTemplate.svelte";
3
-
4
- export let metaWebsite = "https://www.crouton.com/test/portfolio-base-layout";
5
-
6
3
  </script>
7
4
 
8
5
  <!--todo: maybe add check that this is always false? -->
9
- <SeaweedTemplate letChaos={true}></SeaweedTemplate>
6
+ <SeaweedTemplate letChaos={false}></SeaweedTemplate>
@@ -1,5 +1,5 @@
1
1
  <script>
2
- import SeaweedTemplate from "$pkg/template/Seaweed/SeaweedTemplate.svelte";
2
+ import SeaweedTemplate from "$pkg/template/seaweed/SeaweedTemplate.svelte";
3
3
  </script>
4
4
 
5
5
  <SeaweedTemplate letChaos={false}