@turnipxenon/pineapple 2.4.71 → 2.4.73

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 (264) hide show
  1. package/.gitignore +5 -1
  2. package/.idea/shelf/Fix_attempt_for_slug/shelved.patch +63 -0
  3. package/.idea/shelf/Fix_attempt_for_slug.xml +4 -0
  4. package/.idea/workspace.xml +106 -89
  5. package/.svelte-kit/__package__/.gitignore +1 -1
  6. package/.svelte-kit/__package__/template/seaweed/ChumBucket.svelte +60 -60
  7. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplate.svelte +36 -158
  8. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplate.svelte.d.ts +6 -0
  9. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplateData.js +3 -9
  10. package/.svelte-kit/__package__/template/seaweed/entries/EntryProps.d.ts +6 -0
  11. package/.svelte-kit/__package__/template/seaweed/entries/WorkExperience.svelte +143 -0
  12. package/.svelte-kit/__package__/template/seaweed/entries/WorkExperience.svelte.d.ts +18 -0
  13. package/.svelte-kit/__package__/template/seaweed/entry_order_config/EntryOrderConfig.svelte +2 -2
  14. package/.svelte-kit/__package__/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +1 -0
  15. package/.svelte-kit/ambient.d.ts +1 -12
  16. package/.svelte-kit/generated/client/app.js +1 -1
  17. package/.svelte-kit/generated/client-optimized/app.js +47 -0
  18. package/.svelte-kit/generated/client-optimized/matchers.js +1 -0
  19. package/.svelte-kit/generated/client-optimized/nodes/0.js +1 -0
  20. package/.svelte-kit/generated/client-optimized/nodes/1.js +1 -0
  21. package/.svelte-kit/generated/client-optimized/nodes/10.js +1 -0
  22. package/.svelte-kit/generated/client-optimized/nodes/11.js +1 -0
  23. package/.svelte-kit/generated/client-optimized/nodes/12.js +1 -0
  24. package/.svelte-kit/generated/client-optimized/nodes/13.js +3 -0
  25. package/.svelte-kit/generated/client-optimized/nodes/14.js +3 -0
  26. package/.svelte-kit/generated/client-optimized/nodes/15.js +3 -0
  27. package/.svelte-kit/generated/client-optimized/nodes/16.js +1 -0
  28. package/.svelte-kit/generated/client-optimized/nodes/2.js +1 -0
  29. package/.svelte-kit/generated/client-optimized/nodes/3.js +1 -0
  30. package/.svelte-kit/generated/client-optimized/nodes/4.js +1 -0
  31. package/.svelte-kit/generated/client-optimized/nodes/5.js +1 -0
  32. package/.svelte-kit/generated/client-optimized/nodes/6.js +1 -0
  33. package/.svelte-kit/generated/client-optimized/nodes/7.js +1 -0
  34. package/.svelte-kit/generated/client-optimized/nodes/8.js +1 -0
  35. package/.svelte-kit/generated/client-optimized/nodes/9.js +1 -0
  36. package/.svelte-kit/generated/server/internal.js +1 -1
  37. package/.svelte-kit/output/client/.vite/manifest.json +694 -0
  38. package/.svelte-kit/output/client/_app/immutable/assets/0.BZfguPbX.css +10 -0
  39. package/.svelte-kit/output/client/_app/immutable/assets/13.BIMIBpeM.css +1 -0
  40. package/.svelte-kit/output/client/_app/immutable/assets/4.ClTmhFiH.css +1 -0
  41. package/.svelte-kit/output/client/_app/immutable/assets/NavigationComponent.DcXBcmND.css +1 -0
  42. package/.svelte-kit/output/client/_app/immutable/assets/PineappleBaseLayout.BJNkM2lS.css +1 -0
  43. package/.svelte-kit/output/client/_app/immutable/assets/ProgressBar.Cirlo5Z8.css +1 -0
  44. package/.svelte-kit/output/client/_app/immutable/assets/_layout.BgClWDWR.css +10 -0
  45. package/.svelte-kit/output/client/_app/immutable/assets/_page.BIMIBpeM.css +1 -0
  46. package/.svelte-kit/output/client/_app/immutable/assets/_page.ClTmhFiH.css +1 -0
  47. package/.svelte-kit/output/client/_app/immutable/assets/ares_blushing.B6Q0SsBp.webp +0 -0
  48. package/.svelte-kit/output/client/_app/immutable/assets/ares_disappointed.LOpkh7Q7.webp +0 -0
  49. package/.svelte-kit/output/client/_app/immutable/assets/ares_happy.Cz9WhdwO.webp +0 -0
  50. package/.svelte-kit/output/client/_app/immutable/assets/ares_lets_go.BxjJjKUv.webp +0 -0
  51. package/.svelte-kit/output/client/_app/immutable/assets/ares_logo.C_a3ZQAP.webp +0 -0
  52. package/.svelte-kit/output/client/_app/immutable/assets/ares_mad.DofDLDmM.webp +0 -0
  53. package/.svelte-kit/output/client/_app/immutable/assets/ares_neutral.Hp923t8N.webp +0 -0
  54. package/.svelte-kit/output/client/_app/immutable/assets/ares_slightly_mad.DdwOp6J5.webp +0 -0
  55. package/.svelte-kit/output/client/_app/immutable/assets/ares_surprised.BxbNH_w8.webp +0 -0
  56. package/.svelte-kit/output/client/_app/immutable/assets/ares_yay.EM2SNr0e.webp +0 -0
  57. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_ares.DTcFskeK.png +0 -0
  58. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_corn.D22ZwTZ0.png +0 -0
  59. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_pineapple.D28N65_A.png +0 -0
  60. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_reinhard.D22NV0xw.png +0 -0
  61. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_tomato.O9Z7_E07.png +0 -0
  62. package/.svelte-kit/output/client/_app/immutable/assets/bg_tiled_turnip.DMU0uHH4.png +0 -0
  63. package/.svelte-kit/output/client/_app/immutable/assets/footage-chef-wings.dVBm8Uit.gif +0 -0
  64. package/.svelte-kit/output/client/_app/immutable/assets/header-hep-cat.DcyPS3Oy.mp4 +0 -0
  65. package/.svelte-kit/output/client/_app/immutable/assets/header-pengi.DWAOeO4q.mp4 +0 -0
  66. package/.svelte-kit/output/client/_app/immutable/assets/header-soulwork.BQRWmhTu.mp4 +0 -0
  67. package/.svelte-kit/output/client/_app/immutable/assets/placeholder_circle.Ij3bN7bI.png +0 -0
  68. package/.svelte-kit/output/client/_app/immutable/assets/seaweed-showcase.TTVTTC5m.mp4 +0 -0
  69. package/.svelte-kit/output/client/_app/immutable/assets/weaver-footage.sjDEbkrX.gif +0 -0
  70. package/.svelte-kit/output/client/_app/immutable/assets/window-set.IpgsYUna.png +0 -0
  71. package/.svelte-kit/output/client/_app/immutable/chunks/DialogManagerStore.uKBS8wDS.js +7 -0
  72. package/.svelte-kit/output/client/_app/immutable/chunks/NavigationComponent.svelte_svelte_type_style_lang.DfEIDspS.js +33 -0
  73. package/.svelte-kit/output/client/_app/immutable/chunks/PineappleBaseLayout.svelte_svelte_type_style_lang.DYXCZxRe.js +5 -0
  74. package/.svelte-kit/output/client/_app/immutable/chunks/PineappleSlideToggle.Cpnzq8nG.js +1 -0
  75. package/.svelte-kit/output/client/_app/immutable/chunks/ProgressBar.svelte_svelte_type_style_lang.gYVkR-Pp.js +1 -0
  76. package/.svelte-kit/output/client/_app/immutable/chunks/SeaweedTemplate.D8BMpFyR.js +42 -0
  77. package/.svelte-kit/output/client/_app/immutable/chunks/Toast.CfxCQiZJ.js +1 -0
  78. package/.svelte-kit/output/client/_app/immutable/chunks/_page.BCsXwAds.js +8 -0
  79. package/.svelte-kit/output/client/_app/immutable/chunks/_page.CER3LJw4.js +8 -0
  80. package/.svelte-kit/output/client/_app/immutable/chunks/_page.CJqYI1vC.js +7 -0
  81. package/.svelte-kit/output/client/_app/immutable/chunks/_page.CRke_Vt-.js +8 -0
  82. package/.svelte-kit/output/client/_app/immutable/chunks/_page.CdlE3ZqM.js +8 -0
  83. package/.svelte-kit/output/client/_app/immutable/chunks/_page.D8F_fKwN.js +8 -0
  84. package/.svelte-kit/output/client/_app/immutable/chunks/_page.DOjmKWLN.js +8 -0
  85. package/.svelte-kit/output/client/_app/immutable/chunks/_page.UybeXHGE.js +8 -0
  86. package/.svelte-kit/output/client/_app/immutable/chunks/close.BSBWitOq.js +1 -0
  87. package/.svelte-kit/output/client/_app/immutable/chunks/each.SQ7NrLlo.js +1 -0
  88. package/.svelte-kit/output/client/_app/immutable/chunks/entry.B9Zoh-6L.js +3 -0
  89. package/.svelte-kit/output/client/_app/immutable/chunks/index.BID2VU8k.js +4 -0
  90. package/.svelte-kit/output/client/_app/immutable/chunks/index.D_vqlE3X.js +1 -0
  91. package/.svelte-kit/output/client/_app/immutable/chunks/index.DbwYs1Xx.js +1 -0
  92. package/.svelte-kit/output/client/_app/immutable/chunks/index.lAcdadTB.js +1 -0
  93. package/.svelte-kit/output/client/_app/immutable/chunks/index.qztrOHW4.js +6 -0
  94. package/.svelte-kit/output/client/_app/immutable/chunks/preload-helper.BQ24v_F8.js +1 -0
  95. package/.svelte-kit/output/client/_app/immutable/chunks/scheduler.DsUDfRdB.js +1 -0
  96. package/.svelte-kit/output/client/_app/immutable/chunks/spread.CgU5AtxT.js +1 -0
  97. package/.svelte-kit/output/client/_app/immutable/chunks/store.yyGEKEAe.js +1 -0
  98. package/.svelte-kit/output/client/_app/immutable/chunks/stores.BVA7LtvQ.js +1 -0
  99. package/.svelte-kit/output/client/_app/immutable/chunks/stores.CYFggfyT.js +1 -0
  100. package/.svelte-kit/output/client/_app/immutable/chunks/stores.DEMC0xoI.js +1 -0
  101. package/.svelte-kit/output/client/_app/immutable/chunks/stores.UNf3hc21.js +1 -0
  102. package/.svelte-kit/output/client/_app/immutable/chunks/transitions.FXurGCgU.js +1 -0
  103. package/.svelte-kit/output/client/_app/immutable/chunks/util.CpV-3U2s.js +1 -0
  104. package/.svelte-kit/output/client/_app/immutable/entry/app.CsPg_tSG.js +7 -0
  105. package/.svelte-kit/output/client/_app/immutable/entry/start.BK4UymrI.js +1 -0
  106. package/.svelte-kit/output/client/_app/immutable/nodes/0.DpxE_iuA.js +2 -0
  107. package/.svelte-kit/output/client/_app/immutable/nodes/1.CfFtBDAU.js +4 -0
  108. package/.svelte-kit/output/client/_app/immutable/nodes/10.B_ssKps0.js +1 -0
  109. package/.svelte-kit/output/client/_app/immutable/nodes/11.B_ssKps0.js +1 -0
  110. package/.svelte-kit/output/client/_app/immutable/nodes/12.CnXaShb6.js +1 -0
  111. package/.svelte-kit/output/client/_app/immutable/nodes/13.D6l5S0uo.js +61 -0
  112. package/.svelte-kit/output/client/_app/immutable/nodes/14.D-06Eivu.js +1 -0
  113. package/.svelte-kit/output/client/_app/immutable/nodes/15.UZK1S76t.js +1 -0
  114. package/.svelte-kit/output/client/_app/immutable/nodes/16.C52UdDDz.js +1 -0
  115. package/.svelte-kit/output/client/_app/immutable/nodes/2.C_PeLfm6.js +5 -0
  116. package/.svelte-kit/output/client/_app/immutable/nodes/3.DRZNxJIx.js +1 -0
  117. package/.svelte-kit/output/client/_app/immutable/nodes/4.7r5Yp15Y.js +1 -0
  118. package/.svelte-kit/output/client/_app/immutable/nodes/5.B_ssKps0.js +1 -0
  119. package/.svelte-kit/output/client/_app/immutable/nodes/6.B_ssKps0.js +1 -0
  120. package/.svelte-kit/output/client/_app/immutable/nodes/7.B_ssKps0.js +1 -0
  121. package/.svelte-kit/output/client/_app/immutable/nodes/8.B_ssKps0.js +1 -0
  122. package/.svelte-kit/output/client/_app/immutable/nodes/9.B_ssKps0.js +1 -0
  123. package/.svelte-kit/output/client/_app/version.json +1 -0
  124. package/.svelte-kit/output/client/default-card.png +0 -0
  125. package/.svelte-kit/output/client/favicon.png +0 -0
  126. package/.svelte-kit/output/client/robots.txt +5 -0
  127. package/.svelte-kit/output/server/.vite/manifest.json +617 -0
  128. package/.svelte-kit/output/server/_app/immutable/assets/NavigationComponent.DcXBcmND.css +1 -0
  129. package/.svelte-kit/output/server/_app/immutable/assets/PineappleBaseLayout.BJNkM2lS.css +1 -0
  130. package/.svelte-kit/output/server/_app/immutable/assets/ProgressBar.Cirlo5Z8.css +1 -0
  131. package/.svelte-kit/output/server/_app/immutable/assets/_layout.BgClWDWR.css +10 -0
  132. package/.svelte-kit/output/server/_app/immutable/assets/_page.BIMIBpeM.css +1 -0
  133. package/.svelte-kit/output/server/_app/immutable/assets/_page.ClTmhFiH.css +1 -0
  134. package/.svelte-kit/output/server/_app/immutable/assets/ares_blushing.B6Q0SsBp.webp +0 -0
  135. package/.svelte-kit/output/server/_app/immutable/assets/ares_disappointed.LOpkh7Q7.webp +0 -0
  136. package/.svelte-kit/output/server/_app/immutable/assets/ares_happy.Cz9WhdwO.webp +0 -0
  137. package/.svelte-kit/output/server/_app/immutable/assets/ares_lets_go.BxjJjKUv.webp +0 -0
  138. package/.svelte-kit/output/server/_app/immutable/assets/ares_logo.C_a3ZQAP.webp +0 -0
  139. package/.svelte-kit/output/server/_app/immutable/assets/ares_mad.DofDLDmM.webp +0 -0
  140. package/.svelte-kit/output/server/_app/immutable/assets/ares_neutral.Hp923t8N.webp +0 -0
  141. package/.svelte-kit/output/server/_app/immutable/assets/ares_slightly_mad.DdwOp6J5.webp +0 -0
  142. package/.svelte-kit/output/server/_app/immutable/assets/ares_surprised.BxbNH_w8.webp +0 -0
  143. package/.svelte-kit/output/server/_app/immutable/assets/ares_yay.EM2SNr0e.webp +0 -0
  144. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_ares.DTcFskeK.png +0 -0
  145. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_corn.D22ZwTZ0.png +0 -0
  146. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_pineapple.D28N65_A.png +0 -0
  147. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_reinhard.D22NV0xw.png +0 -0
  148. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_tomato.O9Z7_E07.png +0 -0
  149. package/.svelte-kit/output/server/_app/immutable/assets/bg_tiled_turnip.DMU0uHH4.png +0 -0
  150. package/.svelte-kit/output/server/_app/immutable/assets/footage-chef-wings.dVBm8Uit.gif +0 -0
  151. package/.svelte-kit/output/server/_app/immutable/assets/header-hep-cat.DcyPS3Oy.mp4 +0 -0
  152. package/.svelte-kit/output/server/_app/immutable/assets/header-pengi.DWAOeO4q.mp4 +0 -0
  153. package/.svelte-kit/output/server/_app/immutable/assets/header-soulwork.BQRWmhTu.mp4 +0 -0
  154. package/.svelte-kit/output/server/_app/immutable/assets/placeholder_circle.Ij3bN7bI.png +0 -0
  155. package/.svelte-kit/output/server/_app/immutable/assets/seaweed-showcase.TTVTTC5m.mp4 +0 -0
  156. package/.svelte-kit/output/server/_app/immutable/assets/weaver-footage.sjDEbkrX.gif +0 -0
  157. package/.svelte-kit/output/server/_app/immutable/assets/window-set.IpgsYUna.png +0 -0
  158. package/.svelte-kit/output/server/chunks/CreateUrl.js +17 -0
  159. package/.svelte-kit/output/server/chunks/DialogManagerStore.js +1412 -0
  160. package/.svelte-kit/output/server/chunks/NavigationComponent.svelte_svelte_type_style_lang.js +272 -0
  161. package/.svelte-kit/output/server/chunks/PineappleBaseLayout.svelte_svelte_type_style_lang.js +50 -0
  162. package/.svelte-kit/output/server/chunks/PineappleSlideToggle.js +120 -0
  163. package/.svelte-kit/output/server/chunks/ProgressBar.svelte_svelte_type_style_lang.js +60 -0
  164. package/.svelte-kit/output/server/chunks/SeaweedTemplate.js +786 -0
  165. package/.svelte-kit/output/server/chunks/_page.js +4 -0
  166. package/.svelte-kit/output/server/chunks/_page2.js +4 -0
  167. package/.svelte-kit/output/server/chunks/_page3.js +4 -0
  168. package/.svelte-kit/output/server/chunks/_page4.js +4 -0
  169. package/.svelte-kit/output/server/chunks/_page5.js +4 -0
  170. package/.svelte-kit/output/server/chunks/_page6.js +4 -0
  171. package/.svelte-kit/output/server/chunks/_page7.js +4 -0
  172. package/.svelte-kit/output/server/chunks/_page8.js +4 -0
  173. package/.svelte-kit/output/server/chunks/client.js +12 -0
  174. package/.svelte-kit/output/server/chunks/close.js +262 -0
  175. package/.svelte-kit/output/server/chunks/exports.js +200 -0
  176. package/.svelte-kit/output/server/chunks/index.js +52 -0
  177. package/.svelte-kit/output/server/chunks/index2.js +34 -0
  178. package/.svelte-kit/output/server/chunks/index3.js +48 -0
  179. package/.svelte-kit/output/server/chunks/index4.js +12 -0
  180. package/.svelte-kit/output/server/chunks/internal.js +247 -0
  181. package/.svelte-kit/output/server/chunks/prod-ssr.js +6 -0
  182. package/.svelte-kit/output/server/chunks/ssr.js +322 -0
  183. package/.svelte-kit/output/server/chunks/stores.js +5 -0
  184. package/.svelte-kit/output/server/chunks/stores2.js +26 -0
  185. package/.svelte-kit/output/server/chunks/stores3.js +38 -0
  186. package/.svelte-kit/output/server/chunks/stores4.js +79 -0
  187. package/.svelte-kit/output/server/entries/endpoints/api/create-url/_server.ts.js +21 -0
  188. package/.svelte-kit/output/server/entries/endpoints/api/get-latest-blogs/_server.ts.js +11 -0
  189. package/.svelte-kit/output/server/entries/pages/(pineapple)/_layout.svelte.js +291 -0
  190. package/.svelte-kit/output/server/entries/pages/(pineapple)/_page.svelte.js +21 -0
  191. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page1/_page.svelte.js +20 -0
  192. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page2/_page.svelte.js +20 -0
  193. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/_page.svelte.js +20 -0
  194. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/page5/_page.svelte.js +20 -0
  195. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/page6/_page.svelte.js +20 -0
  196. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/_page.svelte.js +20 -0
  197. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page3/page7/_page.svelte.js +20 -0
  198. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(extra-pages)/page4/_page.svelte.js +16 -0
  199. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(pineapple)/_page.svelte.js +333 -0
  200. package/.svelte-kit/output/server/entries/pages/(pineapple)/pineapple/(pineapple)/_page.ts.js +9 -0
  201. package/.svelte-kit/output/server/entries/pages/(seaweed)/_layout.svelte.js +301 -0
  202. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/_page.svelte.js +19 -0
  203. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/_page.ts.js +9 -0
  204. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/actual/_page.svelte.js +23 -0
  205. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/actual/_page.ts.js +9 -0
  206. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/actual/_slug_/_page.server.ts.js +32 -0
  207. package/.svelte-kit/output/server/entries/pages/(seaweed)/portfolio/actual/_slug_/_page.svelte.js +39 -0
  208. package/.svelte-kit/output/server/entries/pages/_error.svelte.js +29 -0
  209. package/.svelte-kit/output/server/entries/pages/_layout.svelte.js +58 -0
  210. package/.svelte-kit/output/server/index.js +2955 -0
  211. package/.svelte-kit/output/server/internal.js +13 -0
  212. package/.svelte-kit/output/server/manifest-full.js +147 -0
  213. package/.svelte-kit/output/server/manifest.js +147 -0
  214. package/.svelte-kit/output/server/nodes/0.js +8 -0
  215. package/.svelte-kit/output/server/nodes/1.js +8 -0
  216. package/.svelte-kit/output/server/nodes/10.js +8 -0
  217. package/.svelte-kit/output/server/nodes/11.js +8 -0
  218. package/.svelte-kit/output/server/nodes/12.js +8 -0
  219. package/.svelte-kit/output/server/nodes/13.js +10 -0
  220. package/.svelte-kit/output/server/nodes/14.js +10 -0
  221. package/.svelte-kit/output/server/nodes/15.js +10 -0
  222. package/.svelte-kit/output/server/nodes/16.js +10 -0
  223. package/.svelte-kit/output/server/nodes/2.js +8 -0
  224. package/.svelte-kit/output/server/nodes/3.js +8 -0
  225. package/.svelte-kit/output/server/nodes/4.js +8 -0
  226. package/.svelte-kit/output/server/nodes/5.js +8 -0
  227. package/.svelte-kit/output/server/nodes/6.js +8 -0
  228. package/.svelte-kit/output/server/nodes/7.js +8 -0
  229. package/.svelte-kit/output/server/nodes/8.js +8 -0
  230. package/.svelte-kit/output/server/nodes/9.js +8 -0
  231. package/.svelte-kit/types/route_meta_data.json +1 -2
  232. package/.svelte-kit/types/src/routes/(seaweed)/portfolio/$types.d.ts +2 -9
  233. package/dist/.gitignore +1 -1
  234. package/dist/template/seaweed/ChumBucket.svelte +60 -60
  235. package/dist/template/seaweed/SeaweedTemplate.svelte +36 -158
  236. package/dist/template/seaweed/SeaweedTemplate.svelte.d.ts +6 -0
  237. package/dist/template/seaweed/SeaweedTemplateData.js +3 -9
  238. package/dist/template/seaweed/entries/EntryProps.d.ts +6 -0
  239. package/dist/template/seaweed/entries/WorkExperience.svelte +143 -0
  240. package/dist/template/seaweed/entries/WorkExperience.svelte.d.ts +18 -0
  241. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte +2 -2
  242. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +1 -0
  243. package/package.json +1 -2
  244. package/src/lib/.gitignore +1 -1
  245. package/src/lib/api/GetLatestBlogs.ts +7 -7
  246. package/src/lib/api/index.ts +3 -3
  247. package/src/lib/template/seaweed/ChumBucket.svelte +75 -75
  248. package/src/lib/template/seaweed/SeaweedTemplate.svelte +41 -161
  249. package/src/lib/template/seaweed/SeaweedTemplateData.ts +3 -9
  250. package/src/lib/template/seaweed/entries/EntryProps.ts +7 -0
  251. package/src/lib/template/seaweed/entries/WorkExperience.svelte +146 -0
  252. package/src/lib/template/seaweed/entry_order_config/EntryOrderConfig.svelte +1 -2
  253. package/src/routes/(seaweed)/portfolio/+page.svelte +12 -1
  254. package/src/routes/(seaweed)/portfolio/actual/+page.svelte +9 -0
  255. package/src/routes/(seaweed)/portfolio/actual/[slug]/+page.svelte +8 -0
  256. package/src/routes/api/get-latest-blogs/+server.ts +4 -4
  257. package/.env +0 -5
  258. package/.svelte-kit/__package__/scripts/SetDefaultEnvironment.d.ts +0 -1
  259. package/.svelte-kit/__package__/scripts/SetDefaultEnvironment.js +0 -41
  260. package/.svelte-kit/types/src/routes/(seaweed)/portfolio/proxy+page.server.ts +0 -46
  261. package/dist/scripts/SetDefaultEnvironment.d.ts +0 -1
  262. package/dist/scripts/SetDefaultEnvironment.js +0 -41
  263. package/src/lib/scripts/SetDefaultEnvironment.ts +0 -45
  264. package/src/routes/(seaweed)/portfolio/+page.server.ts +0 -44
@@ -10,63 +10,63 @@ const loadPageMeta = async () => {
10
10
  onMount(() => {
11
11
  loadPageMeta();
12
12
  });
13
- </script>
14
-
15
- <Card>
16
- <div slot="content" class="chum-bucket">
17
- <h2>More about me...</h2>
18
- <p>Check out the latest things I've been rambling about at
19
- <a href="https://turnipxenon.com" target="_blank">turnipxenon.com</a> or at
20
- <a href="https://turnipxenon.com/blogs/coding-chagrin" target="_blank">turnipxenon.com/blogs/coding-chagrin.</a>
21
- </p>
22
-
23
- {#if pageMetaList.length > 0}
24
- <h3><b>My latest blogs (sounds too fancy)</b></h3>
25
- {/if}
26
-
27
- <div class="chum-bucket-grid">
28
- {#each pageMetaList as pageMeta}
29
- <div class="chum-bucket-item">
30
- {#if pageMeta.imageUrl}
31
- <img src={`https://turnipxenon.com${pageMeta.imageUrl}`}
32
- class="chum-bucket-image"
33
- alt={pageMeta.imageAlt}>
34
- {/if}
35
- <div>
36
- <h3><a href={`https://turnipxenon.com/${pageMeta.relativeLink}`}>{pageMeta.title}</a></h3>
37
- <p>{pageMeta.description}</p>
38
- </div>
39
- </div>
40
- {/each}
41
- </div>
42
- </div>
43
- </Card>
44
-
45
- <style>
46
- .chum-bucket-item {
47
- width: 100%;
48
- display: flex;
49
- flex-direction: row;
50
- align-items: flex-start;
51
- }
52
-
53
- .chum-bucket-image {
54
- max-width: 10em;
55
- height: auto;
56
- margin-top: 0.5em;
57
- margin-inline-end: 1em;
58
- }
59
-
60
-
61
- .chum-bucket {
62
- padding: 1.5lh 2em;
63
- max-width: 600px;
64
- }
65
-
66
- .chum-bucket-grid {
67
- display: flex;
68
- flex-direction: column;
69
- margin-top: 0.5lh;
70
- gap: 0.5lh;
71
- }
72
- </style>
13
+ </script>
14
+
15
+ <Card>
16
+ <div slot="content" class="chum-bucket">
17
+ <h2>More about me...</h2>
18
+ <p>Check out the latest things I've been rambling about at
19
+ <a href="https://turnipxenon.com" target="_blank">turnipxenon.com</a> or at
20
+ <a href="https://turnipxenon.com/blogs/coding-chagrin" target="_blank">turnipxenon.com/blogs/coding-chagrin.</a>
21
+ </p>
22
+
23
+ {#if pageMetaList.length > 0}
24
+ <h3><b>My latest blogs (sounds too fancy)</b></h3>
25
+ {/if}
26
+
27
+ <div class="chum-bucket-grid">
28
+ {#each pageMetaList as pageMeta}
29
+ <div class="chum-bucket-item">
30
+ {#if pageMeta.imageUrl}
31
+ <img src={`https://turnipxenon.com${pageMeta.imageUrl}`}
32
+ class="chum-bucket-image"
33
+ alt={pageMeta.imageAlt}>
34
+ {/if}
35
+ <div>
36
+ <h3><a href={`https://turnipxenon.com/${pageMeta.relativeLink}`}>{pageMeta.title}</a></h3>
37
+ <p>{pageMeta.description}</p>
38
+ </div>
39
+ </div>
40
+ {/each}
41
+ </div>
42
+ </div>
43
+ </Card>
44
+
45
+ <style>
46
+ .chum-bucket-item {
47
+ width: 100%;
48
+ display: flex;
49
+ flex-direction: row;
50
+ align-items: flex-start;
51
+ }
52
+
53
+ .chum-bucket-image {
54
+ max-width: 10em;
55
+ height: auto;
56
+ margin-top: 0.5em;
57
+ margin-inline-end: 1em;
58
+ }
59
+
60
+
61
+ .chum-bucket {
62
+ padding: 1.5lh 2em;
63
+ max-width: 600px;
64
+ }
65
+
66
+ .chum-bucket-grid {
67
+ display: flex;
68
+ flex-direction: column;
69
+ margin-top: 0.5lh;
70
+ gap: 0.5lh;
71
+ }
72
+ </style>
@@ -4,14 +4,10 @@ import { runChaos } from "./RunChaos";
4
4
  import SocialSection from "../../components/SocialSection.svelte";
5
5
  import "./seaweed.postcss";
6
6
  import SeaweedBaseLayout from "../../components/layouts/SeaweedBaseLayout.svelte";
7
- import { Accordion, AccordionItem, CodeBlock } from "@skeletonlabs/skeleton";
7
+ import { CodeBlock } from "@skeletonlabs/skeleton";
8
8
  import { page } from "$app/stores";
9
9
  import Card from "../../components/Card.svelte";
10
- import ElementVisbilityDetector from "../../components/ElementVisbilityDetector.svelte";
11
10
  import {
12
- AllGroupedEntriesProjectFirst,
13
- GetEntryFromGlobal,
14
- seaweedTemplateData,
15
11
  TurnGroupEntriesMutable
16
12
  } from "./SeaweedTemplateData";
17
13
  import { parseQueryTerms } from "./ParseQueryTerms";
@@ -19,17 +15,25 @@ import UrlShortenerForm from "./CreateUrlForm.svelte";
19
15
  import PineappleSlideToggle from "../../components/PineappleSlideToggle.svelte";
20
16
  import { Chip } from "../../index";
21
17
  import ChumBucket from "./ChumBucket.svelte";
18
+ export let seaweedTemplateData;
19
+ export let projectFirstGroupedEntries;
20
+ export let getEntryFromGlobal;
22
21
  export let letChaos = true;
23
22
  export let name = "Turnip";
24
23
  export let email = "turnipxenon@gmail.com";
25
24
  export let linkedinSlug = "turnip-xenon";
26
25
  export let domain = "http://localhost:5173/portfolio/actual/";
27
26
  export let serverSideQueryParams = "";
27
+ export let experienceSection;
28
28
  const entryProps = {
29
- email
29
+ email,
30
+ letChaos,
31
+ linkedinSlug,
32
+ name,
33
+ seaweedTemplateData
30
34
  };
31
- const paramQTSet = /* @__PURE__ */ new Set();
32
35
  let isVisible = true;
36
+ const paramQTSet = /* @__PURE__ */ new Set();
33
37
  let isAdvanceSettingOn = false;
34
38
  $:
35
39
  isSocialsGone = !isVisible;
@@ -66,7 +70,6 @@ const filterSearchParams = (searchParams) => {
66
70
  seaweedTemplateData.groupedEntries = [];
67
71
  orderParam.split(",").forEach((groupDefinition) => {
68
72
  const pair = groupDefinition.split(":");
69
- console.log(pair);
70
73
  if (pair.length >= 2) {
71
74
  const group = {
72
75
  name: pair[0],
@@ -74,7 +77,7 @@ const filterSearchParams = (searchParams) => {
74
77
  gridClass: pair[2]
75
78
  };
76
79
  pair[1].split("|").forEach((e) => {
77
- const component = GetEntryFromGlobal(e);
80
+ const component = getEntryFromGlobal(e);
78
81
  if (component) {
79
82
  group.items.push(component);
80
83
  }
@@ -84,7 +87,7 @@ const filterSearchParams = (searchParams) => {
84
87
  });
85
88
  seaweedTemplateData.groupedEntries = seaweedTemplateData.groupedEntries;
86
89
  } else if (gameSectionFirstParam === "false") {
87
- seaweedTemplateData.groupedEntries = TurnGroupEntriesMutable(AllGroupedEntriesProjectFirst);
90
+ seaweedTemplateData.groupedEntries = TurnGroupEntriesMutable(projectFirstGroupedEntries);
88
91
  }
89
92
  const qtValue = searchParams.get("qt")?.trim();
90
93
  if (qtValue !== void 0) {
@@ -128,6 +131,9 @@ let orderUrl = "";
128
131
  let advancedUrl = domain;
129
132
  let advancedQuery = "";
130
133
  const updateUrl = (seaweedTemplateData2) => {
134
+ if (seaweedTemplateData2 === void 0) {
135
+ return;
136
+ }
131
137
  const queryParams = [];
132
138
  if (orderUrl) {
133
139
  queryParams.push(orderUrl);
@@ -166,157 +172,28 @@ $:
166
172
  --qt-font-weight: ${qtfontWeight};${additionalFontWeight};
167
173
  visibility: ${mainVisibility};
168
174
  `}>
175
+ <svelte:component this={experienceSection}
176
+ entryProps={entryProps}
177
+ bind:isVisible={isVisible}
178
+ ></svelte:component>
169
179
 
170
- <div class="experience-and-about-div">
171
-
172
- <div class="greater-about-div">
173
-
174
- <Card includeDataNoSnippet={false}>
175
- <section class="section-card" slot="content">
176
-
177
- <h1>About</h1>
178
-
179
- <p>
180
- Hi! My name is {name}! I work as a software developer. Outside of that, I like making games, and
181
- trying to do everything in between required to make one. I have some showcased below, our visit
182
- my itch.io page for more of them.
183
- </p>
184
- <!-- todo: link the degree details idk -->
185
- <p>
186
- I also graduated with BS Computing Science, Specializing in Software Practice, and a
187
- certificate in Computer Game Development at University of Alberta.
188
- </p>
189
- {#if seaweedTemplateData.shouldAddFunNote}
190
- <p>
191
- I'm inspired by games like Harvest Moon: Friends of Mineral Town, Rune Factory 4, Theatrhythm,
192
- Bravely Default: Flying Fairy, Boku no Natsuyasumi 2, and A Short Hike.
193
- </p>
194
- {/if}
195
-
196
- <!-- todo: maybe put cute stuff here -->
197
- <!-- </ToggleableContent>-->
198
- </section>
199
- </Card>
200
-
201
- <Card>
202
- <section class="section-card" slot="content">
203
- <SocialSection email={email} linkedinSlug={linkedinSlug}></SocialSection>
204
- <ElementVisbilityDetector bind:isVisible={isVisible}>
205
- </ElementVisbilityDetector>
206
- </section>
207
- </Card>
208
-
209
- </div>
210
-
211
- <Card>
212
- <section class="section-card" slot="content">
213
- <h1>Experience</h1>
214
-
215
- <h2>Highlight</h2>
216
- <p>Worked on Go backend microservices and Typescript React frontend app, serving <b>over 30 million daily
217
- active users</b> at Twitch</p>
218
-
219
- <h2>Software Engineer</h2>
220
- <div class="two-column-separated">
221
- <div>July 2023 – January 2024</div>
222
- <div style="text-align: end">Twitch, Remote</div>
223
- </div>
224
- <ul>
225
- <li>
226
- Contributed to
227
- <span class="qt-go">Golang</span>
228
- microservices and
229
- <span class="qt-ts">Typescript</span>
230
- <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
231
- <a href="https://safety.twitch.tv/s/article/Digital-Services-Act-Information?language=en_US">30.5 million users</a>
232
- . Work includes feature flags, alarms, unit tests, end-to-end testing, and documentation.
233
- </li>
234
- <li>
235
- 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
236
- <span class="qt-aws qt-observability">Cloudwatch</span>,
237
- <span class="qt-aws qt-observability">Grafana</span>,
238
- <span class="qt-aws">Kinesis Data Stream</span>,
239
- <span class="qt-aws qt-infra">AWS CDK (infrastructure as code)</span>, and
240
- <span class="qt-aws qt-cicd">CodePipeline (CI/CD)</span>
241
- </li>
242
- </ul>
243
- <br>
180
+ {#if seaweedTemplateData}
181
+ {#each seaweedTemplateData.groupedEntries as group}
182
+ {#if group.items.length > 0}
183
+ <Card>
184
+ <section class="section-card title-card" slot="content">
185
+ <h1 class="text-center">{group.name}</h1>
186
+ </section>
187
+ </Card>
244
188
 
245
- <h2>Software Engineer Intern</h2>
246
- <div class="two-column-separated">
247
- <div>May 2022 – Aug 2022</div>
248
- <div style="text-align: end">Twitch, San Francisco</div>
249
- </div>
250
- <ul>
251
- <li>
252
- Built a <span class="qt-infra">load testing service</span> that can be configured to generate different
253
- message types at different volumes that can be easily extended to target different chat services
254
- </li>
255
- <li>
256
- Used Twitch’s set of custom tools, including Twitch’s custom RPC protocol, to create a backend
257
- service with business logic written in <span class="qt-go">Go</span> and cloud infrastructure utilizing
258
- <span
259
- class="qt-infra qt-aws">ECS on Fargate, Cloudwatch, and DynamoDB</span>
260
- , defined in <span class="qt-ts">Typescript</span>-flavored CDK
261
- </li>
262
- <li>
263
- Wrote a technical specification document for the service’s MVP and possible future features, and
264
- additional documentation on how to use the service and how to extend the load testing service to include
265
- new services to test
266
- </li>
267
- </ul>
268
- <br>
269
- <!-- todo: turn off flashing when accordion is expanded -->
270
- <Accordion>
271
- <AccordionItem>
272
- <div slot="summary">
273
- <h2 class="accordion-header">More experience</h2>
274
- </div>
275
- <svelte:fragment slot="content">
276
- <section class="more-section">
277
- {#if (!letChaos)}
278
- <h2>Software Engineer Intern</h2>
279
- <div class="two-column-separated">
280
- <div>May 2021 – Dec 2021</div>
281
- <div style="text-align: end">Twitch / Amazon Web Services Canada, Remote</div>
282
- </div>
283
- <ul>
284
- <li>
285
- Implemented and wrote tests for a feature in Twitch’s
286
- <span class="qt-go">Golang</span> backend authentication microservices and
287
- <span class="qt-ts">Typescript</span>
288
- <span class="qt-react">React</span> frontend web app that will help suggest security improvements to
289
- <b>over 100k+ users daily</b>
290
- </li>
291
- </ul>
292
- {:else}
293
- niko baikal seal from toba aquarium
294
- {/if}
295
- <br>
296
- </section>
297
- </svelte:fragment>
298
- </AccordionItem>
299
- </Accordion>
300
- </section>
301
- </Card>
302
-
303
- </div>
304
-
305
- {#each seaweedTemplateData.groupedEntries as group}
306
- {#if group.items.length > 0}
307
- <Card>
308
- <section class="section-card title-card" slot="content">
309
- <h1 class="text-center">{group.name}</h1>
189
+ <section class={group.gridClass}>
190
+ {#each group.items as entry}
191
+ <svelte:component this={entry.component} props={entryProps}></svelte:component>
192
+ {/each}
310
193
  </section>
311
- </Card>
312
-
313
- <section class={group.gridClass}>
314
- {#each group.items as entry}
315
- <svelte:component this={entry.component} props={entryProps}></svelte:component>
316
- {/each}
317
- </section>
318
- {/if}
319
- {/each}
194
+ {/if}
195
+ {/each}
196
+ {/if}
320
197
 
321
198
  <ChumBucket></ChumBucket>
322
199
 
@@ -360,6 +237,7 @@ $:
360
237
  </div>
361
238
 
362
239
  <EntryOrderConfig bind:seaweedEntries={seaweedTemplateData.groupedEntries}
240
+ seaweedTemplateData={seaweedTemplateData}
363
241
  bind:orderUrl={orderUrl}
364
242
  updateUrl={updateUrl}></EntryOrderConfig>
365
243
 
@@ -1,13 +1,19 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import { type ComponentType } from "svelte";
2
3
  import "./seaweed.postcss";
4
+ import { type ComponentMeta, type EntryGroup, type SeaweedTemplateData } from "./SeaweedTemplateData";
3
5
  declare const __propDef: {
4
6
  props: {
7
+ seaweedTemplateData: SeaweedTemplateData;
8
+ projectFirstGroupedEntries: ReadonlyArray<EntryGroup>;
9
+ getEntryFromGlobal: (name: string) => undefined | ComponentMeta;
5
10
  letChaos?: boolean | undefined;
6
11
  name?: string | undefined;
7
12
  email?: string | undefined;
8
13
  linkedinSlug?: string | undefined;
9
14
  domain?: string | undefined;
10
15
  serverSideQueryParams?: string | undefined;
16
+ experienceSection: ComponentType;
11
17
  };
12
18
  events: {
13
19
  [evt: string]: CustomEvent<any>;
@@ -22,22 +22,16 @@ export const GameEntries = {
22
22
  items: [
23
23
  { name: "Pengi", component: Pengi },
24
24
  { name: "Hepcat", component: Hepcat },
25
- { name: "Chef Wings", component: ChefWings },
26
- { name: "Soulwork", component: Soulwork },
27
- { name: "Itch Promo", component: ItchPromo }
25
+ { name: "Chef Wings", component: ChefWings }
28
26
  ],
29
27
  gridClass: GroupGridClass.Games.toString()
30
28
  };
31
29
  export const ProjectEntries = {
32
30
  name: DefaultHeader.Projects.toString(),
33
31
  items: [
34
- { name: "Migrante Alberta", component: MigranteAlberta },
35
- { name: "Decentralized Social Media", component: DecentralizedSocialMedia },
32
+ { name: "Soulwork", component: Soulwork },
36
33
  { name: "Customized YarnSpinner", component: CustomizedYarnspinner },
37
- { name: "Full Stack C", component: FullStackC },
38
- { name: "Workset", component: Workset },
39
- { name: "This Webpage", component: ThisWebpage },
40
- { name: "Mock Uber App", component: MockUberApp }
34
+ { name: "This Webpage", component: ThisWebpage }
41
35
  ],
42
36
  gridClass: GroupGridClass.Projects.toString()
43
37
  };
@@ -1,9 +1,15 @@
1
+ import type { SeaweedTemplateData } from "../SeaweedTemplateData";
1
2
  export declare enum DefaultHeader {
2
3
  Games = "Games",
3
4
  Projects = "Projects"
4
5
  }
5
6
  export interface EntryProps {
6
7
  email: string;
8
+ letChaos: boolean;
9
+ linkedinSlug: string;
10
+ name: string;
11
+ seaweedTemplateData: SeaweedTemplateData;
12
+ isVisible: boolean;
7
13
  }
8
14
  export interface GroupedEntry {
9
15
  header: string;
@@ -0,0 +1,143 @@
1
+ <script>import SocialSection from "../../../components/SocialSection.svelte";
2
+ import Card from "../../../components/Card.svelte";
3
+ import { Accordion, AccordionItem } from "@skeletonlabs/skeleton";
4
+ import ElementVisbilityDetector from "../../../components/ElementVisbilityDetector.svelte";
5
+ export let entryProps;
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
+ <ElementVisbilityDetector bind:isVisible={isVisible}>
45
+ </ElementVisbilityDetector>
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
+
143
+ </div>
@@ -0,0 +1,18 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { EntryProps } from "./EntryProps";
3
+ declare const __propDef: {
4
+ props: {
5
+ entryProps: EntryProps;
6
+ isVisible: boolean;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {};
12
+ };
13
+ export type WorkExperienceProps = typeof __propDef.props;
14
+ export type WorkExperienceEvents = typeof __propDef.events;
15
+ export type WorkExperienceSlots = typeof __propDef.slots;
16
+ export default class WorkExperience extends SvelteComponent<WorkExperienceProps, WorkExperienceEvents, WorkExperienceSlots> {
17
+ }
18
+ export {};
@@ -1,13 +1,13 @@
1
1
  <script>import {
2
2
  GetAllEntryFromGlobal,
3
- GetEntryFromGlobal,
4
- seaweedTemplateData
3
+ GetEntryFromGlobal
5
4
  } from "../SeaweedTemplateData";
6
5
  import { removeProxyWrapperOnString } from "./EntryOrderConfig";
7
6
  import ComboBoxWithButton from "../../../components/combo_box/ComboBoxWithButton.svelte";
8
7
  import CloseIcon from "../../../assets/icons/close.svg";
9
8
  import UpwardIcon from "../../../assets/icons/arrow-upward.svg";
10
9
  import "./entry-order-config.postcss";
10
+ export let seaweedTemplateData;
11
11
  export let seaweedEntries;
12
12
  export let orderUrl;
13
13
  export let updateUrl;
@@ -3,6 +3,7 @@ import { type EntryGroup, type SeaweedTemplateData } from "../SeaweedTemplateDat
3
3
  import "./entry-order-config.postcss";
4
4
  declare const __propDef: {
5
5
  props: {
6
+ seaweedTemplateData: SeaweedTemplateData;
6
7
  seaweedEntries: EntryGroup[];
7
8
  orderUrl: string;
8
9
  updateUrl: (data: SeaweedTemplateData) => void;
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.71",
4
+ "version": "2.4.73",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
7
7
  "build": "vite build && yarn package",
@@ -12,7 +12,6 @@
12
12
  "format": "prettier --plugin-search-dir . --write .",
13
13
  "generate": "npx vite-node src/routes/blogs/blog_list_data_generator.ts && npx vite-node src/routes/toyay/toya_files_generator.ts && npm run generate-yarn",
14
14
  "generate-yarn": "npx vite-node src/lib/scripts/pineapple_fiber/PineappleWeaver.ts",
15
- "check-requirements": "npx vite-node src/lib/scripts/SetDefaultEnvironment.ts",
16
15
  "custom-check": "npx vite-node src/lib/scripts/util/ManualCheckRun.ts",
17
16
  "preview": "vite preview",
18
17
  "prepublishOnly": "yarn package",
@@ -1 +1 @@
1
- ./server-temp
1
+ server-temp