From 3794e3015864996cac8a8adf8a3572bad14cb91b Mon Sep 17 00:00:00 2001 From: GamerBoss101 Date: Sun, 15 Sep 2024 06:37:59 -0400 Subject: [PATCH] Table Stuff --- package.json | 1 - pnpm-lock.yaml | 108 +----------------- server.zip | Bin 5873 -> 0 bytes server/api/recipes.js | 10 ++ server/storage/collections/recipes.js | 12 +- src.zip | Bin 0 -> 16758 bytes src/lib/components/Navbar.svelte | 2 +- src/lib/components/form/Survey.svelte | 6 +- src/lib/components/recipes/RecipeTable.svelte | 53 +++++++++ .../components/recipes/RecipleEntry.svelte | 30 +++++ src/routes/+layout.js | 30 ++--- src/routes/+page.svelte | 28 ++--- 12 files changed, 128 insertions(+), 152 deletions(-) delete mode 100644 server.zip create mode 100644 src.zip create mode 100644 src/lib/components/recipes/RecipeTable.svelte create mode 100644 src/lib/components/recipes/RecipleEntry.svelte diff --git a/package.json b/package.json index b097ab6..ae3bc24 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "cors": "^2.8.5", "dotenv": "^16.4.5", "express": "^4.21.0", - "localtunnel": "^2.0.2", "mongoose": "^8.6.2", "ms": "^2.1.3", "ollama": "^0.5.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca13b4f..2efe673 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,9 +29,6 @@ importers: express: specifier: ^4.21.0 version: 4.21.0 - localtunnel: - specifier: ^2.0.2 - version: 2.0.2 mongoose: specifier: ^8.6.2 version: 8.6.2 @@ -554,9 +551,6 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@0.21.4: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} - axios@1.7.7: resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} @@ -621,9 +615,6 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} @@ -701,15 +692,6 @@ packages: supports-color: optional: true - debug@4.3.2: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -794,10 +776,6 @@ packages: engines: {node: '>=12'} hasBin: true - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -888,10 +866,6 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} @@ -1111,11 +1085,6 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - localtunnel@2.0.2: - resolution: {integrity: sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==} - engines: {node: '>=8.3.0'} - hasBin: true - locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} @@ -1227,9 +1196,6 @@ packages: ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1290,9 +1256,6 @@ packages: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - openurl@1.1.1: - resolution: {integrity: sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==} - package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} @@ -1376,10 +1339,6 @@ packages: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -1699,18 +1658,6 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - - yargs@17.1.1: - resolution: {integrity: sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==} - engines: {node: '>=12'} - snapshots: '@ampproject/remapping@2.3.0': @@ -2110,15 +2057,9 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - axios@0.21.4(debug@4.3.2): - dependencies: - follow-redirects: 1.15.9(debug@4.3.2) - transitivePeerDependencies: - - debug - axios@1.7.7: dependencies: - follow-redirects: 1.15.9(debug@4.3.2) + follow-redirects: 1.15.9 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -2200,12 +2141,6 @@ snapshots: ci-info@3.9.0: {} - cliui@7.0.4: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - code-red@1.0.4: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -2280,10 +2215,6 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.3.2: - dependencies: - ms: 2.1.2 - debug@4.3.7: dependencies: ms: 2.1.3 @@ -2391,8 +2322,6 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - escalade@3.2.0: {} - escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -2471,9 +2400,7 @@ snapshots: transitivePeerDependencies: - supports-color - follow-redirects@1.15.9(debug@4.3.2): - optionalDependencies: - debug: 4.3.2 + follow-redirects@1.15.9: {} for-each@0.3.3: dependencies: @@ -2503,8 +2430,6 @@ snapshots: functions-have-names@1.2.3: {} - get-caller-file@2.0.5: {} - get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 @@ -2728,15 +2653,6 @@ snapshots: kleur@4.1.5: {} - localtunnel@2.0.2: - dependencies: - axios: 0.21.4(debug@4.3.2) - debug: 4.3.2 - openurl: 1.1.1 - yargs: 17.1.1 - transitivePeerDependencies: - - supports-color - locate-character@3.0.0: {} lru-cache@10.4.3: {} @@ -2824,8 +2740,6 @@ snapshots: ms@2.0.0: {} - ms@2.1.2: {} - ms@2.1.3: {} multer@1.4.5-lts.1: @@ -2878,8 +2792,6 @@ snapshots: dependencies: ee-first: 1.1.1 - openurl@1.1.1: {} - package-json-from-dist@1.0.0: {} parseurl@1.3.3: {} @@ -2966,8 +2878,6 @@ snapshots: es-errors: 1.3.0 set-function-name: 2.0.2 - require-directory@2.1.1: {} - resolve@1.22.8: dependencies: is-core-module: 2.15.1 @@ -3324,17 +3234,3 @@ snapshots: ws@7.5.10: {} xtend@4.0.2: {} - - y18n@5.0.8: {} - - yargs-parser@20.2.9: {} - - yargs@17.1.1: - dependencies: - cliui: 7.0.4 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.9 diff --git a/server.zip b/server.zip deleted file mode 100644 index 61f2290d941575d6e8b9bf89bfdb64f9840a6da3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5873 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 O-#@M2Z9N4!`srU<25&0> diff --git a/server/api/recipes.js b/server/api/recipes.js index b8c1700..c15797f 100644 --- a/server/api/recipes.js +++ b/server/api/recipes.js @@ -8,6 +8,7 @@ export default class RecipeAPI extends APIRoute { constructor() { super('/recipes'); + this.addSubRoute('/bulk', 'get', this.bulk); this.addSubRoute('/create', 'post', this.createRecipe); this.addSubRoute('/:id', 'get', this.get); this.addSubRoute('/:id/rate', 'post', this.rate); @@ -21,6 +22,15 @@ export default class RecipeAPI extends APIRoute { res.send(result); } + async bulk(req, res) { + + let userID = req.query.userID; + let db = req.app.get('mongo').recipes; + + let result = await db.getAll({ userID: userID }); + res.send(result); + } + async createRecipe(req, res) { let recipe = req.body; diff --git a/server/storage/collections/recipes.js b/server/storage/collections/recipes.js index dc5a576..9b522a1 100644 --- a/server/storage/collections/recipes.js +++ b/server/storage/collections/recipes.js @@ -46,7 +46,7 @@ export default class Recipes { mealType: recipe.mealType, instructions: recipe.instructions, ratingCount: 0, - rating: 0 + rating: 0, }, this.upsert); return await this.get(Id); } @@ -56,8 +56,7 @@ export default class Recipes { } async getAll(query) { - let data = await this.model.find(query); - return data + return await this.model.find(query); } async update(Id, data) { @@ -66,13 +65,6 @@ export default class Recipes { return await this.get(Id); } - async increment(Id, field, amount) { - let result = await this.get(Id); - if(!result) return null; - - return await this.get(Id); - } - async delete(Id) { let result = await this.get(Id); if(!result) return false; diff --git a/src.zip b/src.zip new file mode 100644 index 0000000000000000000000000000000000000000..035ad26b2431cdb6b124bcfaac847f3900f4444d GIT binary patch literal 16758 zcmbVz1z6SF@-|3!cc+AebV_%Z(%s!164Kq>DAL^>QX(NpOQ&?Fd~7}ZL67&`bHBy2 zH|%HgytCHK{MMS8^^U9r2q-ELU{t)MRr&G9UvHp5gg|z-dUQ&Pa6k|?Ije>wwQGie z-ww_&K)|4Y|N8MJ`vUr={V`C|str(&*P|w^D=T1vG=O zzAx=$g>-z=<$--YQh{R;F7QPjm_dd6vZL@&Nz}TX@O@*}=_L6lS-LWnl*0Itq!Jv# zMVY-O^9US0i81S|30gjS87y6KYN^T>5e<~oHK|4#GhSo5=z9CHh|GHsN8qv&5RfVi z?+P>SRt{L+!@_CBA5^FM+ro|QEzEx`d?R$#@INeEDpDf6lMvQ_VvsUFZ`(h6Doi-C z(b-2q7D{kIe)SYYPR+pp>wC}BZTkQ-l&QeprmVxn8&c({mN|ACgiIuy1%}l{dv9%) z=Y1qh_NS~#4yfG@%`+r%d8XANGKBB@j1in+eke1dCY+1K{zQMmt8cf1ILAF?<%=_l z>Qn|?og!r?u)YV{n=^E{F9|dY->;S^={?4d$K(p%?%@@b?)VgBSYv+&1}JSr^_Ftx zPH6zu{8Spic{Z@J23$88S$@xn12Q|w6eAMiHer^6IFuaKcE60ji;m!s5X#5Ks5h=D(7He zXK!Lk^7NoxS@Z{u%nF|h@~Ksdo_7% zaA}kkb{a($F-)t(v@V#0JQ!$BK9Y!GNPV~Vblp;mi7N+VC1NHq zZ7PasmCrn@oskn$rx8RB_UYTAs6V;48B5h26Y|iYq2Y~ob}ua-G?u==zwJDnzg_E@ znD*dtK{k~08cK}}qS;TyVnh(#@i{$&8&_XVyQD+OF*k11M^K1UlHC?~sp_z+4w0Kz zZOJp8I3{i_lP`uES^(tEeN=;O9lEc+KX`3n?SP<79Y$LvjrzJ=X;*NtLb6xsiHu%z z#@k?q+(>0|@nsW-hP-GNrX@6#^Xu-ucHJj|hz%PDB@Nl=3kFCAgysM_ndBk|iE4a4+f z?c21TAK`=gsiT4Q7wvkNp}4?Pey!JBkKbe892q2Tu4}#k0X%cV3WxcyPk?{`&i1fT zT|RO{Fkm1cvVU+x1rsAnG0Vs9r;_&5{Qw^S+acgFC>4IUb%QN<K1>&8G*-pzTn>9O0`@|kwGO+JPP9(;!eb-F?!9ytyxmZ1o?zCcoW zA)Ks>tMj<}1%`Fhgr5UT(6$AZv@E+>}xF6YUsijpINDVY^%F!%>%L`az@`<;9ohn9$uc- z=WeLW&;%%|rb*ln^|QIvzNqk+p~MGfAaZ(B8MhC_dUPRCWg zS>p7deb*w~qu0TU7yeHNC&6*_6 z#(`R(Y?`_}X+@?0Q?iFW?#3EludI3qor2xIXE@tHq@aS_C4k;fie%Vp-r>s$9xbap zxs-mUx_0InRIlg60F{*9t}xm!NN)+Mwh3!0@cOkX2Px6e6t8m>t3GQubzcmT8_li( zFM+0VQ-%Y(UGDpFJ7Bz+z-}LEj8f4k_R%+8HfxzD@%(gU5LxGgF=&rxGHi zzzYNuvW$p3q+rxR!%^z~7vlW+`cG zMT5udU4kqxI5qkf|8rZe#2)vkMr86$Ynd?tl90|<~RDUW)Afr!jM=ih%Th9*Nb5Wt{Mk705Wr#;e1$WLWe3# zX}zliGftp^_sl@4ug0~lKajsFdNU4ICB?W7tqtQ4IVe|(Km4i4@(nWZbU#cUxQEqN zbQCD@*$^!@_^KR&W6KI37sc1wTqZw!gwBM(dN;CS6y6VfJhBv(-y?T6Y8)73XH_}Y z*zt&>eP1A?st1O19Gg$W6yx(npzYF>@fo?f^F^eVx36DeFTCjPH}tNPR3?r$FQ~5k zv_Ix1Rp?s~Wlk+BP@s3^x*4(H1OI=WN2xU_i*MjV6!%WpJw{TwegcH3NTOq-?@M}d#T zhA~yDHmwNX(U+qQ7kIn1VI&Lk@7s~1U|bm=8eXI0lVr_j&dU$3tqN^yyJ)uR@qj7I z@Vu_8Dep$-M5s;_^)C6;n~6{K)k)B!fj_rul9DpeNu9igvY;8O)j~wasjt{^x7_c= zjE%MT+A3FHLMpEUoAU6P3)Kzs_RVW;4WOqrW7$}I0eW9<4+3UtZ*-hcmZcLTvfa!# zz2H(77e{84s4lf%6Jg87M$CMN2uX4q2&Va}fLHQi+p3nQ>7bWL3=|f>jn4?8cuvox zawV#l?+j=T61?>?HsyPcL&!`26s<)lTp2Wku3}%a4=&TJ8?{s3&?!UTH6mpj$|gfb z)ZSC+uFG?tdhox9APqn?i$d;2YE^o796+jmc~T8cm!)3DRY=~SR5Rm$4Yz@K#AncTp$J3T~@6&q8bN~~46~{{m;DV9>B*#2Nc6~Wgl#Ou2k3HK{F0Nh&>*(-xk|F$=G!KCy85he%OS5+%BfTc(W_!=!Aaws zB9fU}*M(*{`aVlTc8EP%T7-^dG8BSqKkFv!F3GdDe|qyi$v_rDMke{2AAc;kv6yfS z|Ek3Muk!x1_@A9`yT2FF$yvfo81H^_$lBX7LW*LKCJ^{~8$SPD*`tu5>iKNi8#cJk zSBWy-vrkvf$?baTxa(MwtFCz@GWP10wwPM3HD{C)Q4Wx$GyFeSclG*1?J~`JqN0-= zmD^s$QdYiAx@@n#9@H67vsRx^V1+Ph-Q6Bf2K^SoQFhJZ#lDbxqO5)Tm5U9P0B!C& zF=)s9!bzlYs9wtQ;`{GQ3Yylh#tjM-OB{TYO?^4ndiP}w>r6aXxjRKi%xnF_p2~1? z?jT#f)FaB7j9ZqiREL$&6J|uXYC4~X?_nE}&E?81WrU92;nW`S&NY~NLt{q%qhDTR>8IAoY6pd{97yOkCj@}F=82g#guz|#2Z&xC;u;w8hqwk6 z4CpTW`mbEjrSDYIEX>TyT_P8Nxtjb;%e zz@n*zEpE3-wu6AFRzdSJK9sc4jQ_h^&#CLOhCD^ynD#S?qpwXD^2oNODT(PBz}yX% zsS*3IaPiQZnfoRFg%al2NZChJ>T?+xWJ|BJ2tx2yzy&7hRSh?EF0HH0hQ&1{Am!F) z(nThCKOf0ddJDE1WUl&;=kKs?PihJgpLjDmv5dYyd?vL&i8RE;4%7#e)QA^uzb zR-2sx2~p-@!6g0jqwra8#XPOlnEgy!Jo|SP={j^sbyWk?m}y`^NG|B2?kd>K8_&U0 zGAD!LH&fm5fi@)2Shsy(A-i~FfqXNtCN_t&pL3U1#r9VmU-ioGS5}sgZB61# z#Nscdfh01~<*@ayrlas*ydPuu9wXJ}8q`QfM8%um&Ztg~S1 zaM#S3tNMcvmAR)o+6Qn(;i)Q&y*0l&Yvk+^DN@YIfPaOPVjuT-soXv3SB(gARFEm1 za3!p@Dy^N~_(fP)U@AiPV{P6$ntE_8!#zu@(#73f>=$2Wn_7)FLHw!gHdYVpC8LVs zvK%jY8g3Q$QRbfP8_!2mQyjpQ2W2iMTBY9Hxm@Eh2EgTb$V;5S?s5)*WBqhFKte6_ zTZWGFXP2`z&@-_%_$yP7`72WgWbD6X8V|ml_9#Yg2lJR1JAkj{36f^lPXc_@|j*@I@4jn@1>}=I$4$7M>FWUomfbI zQTdH`p`7XdpyyE%KH9FUqS>&TSXQJ*kepTHS9WG2+g_yKJa@(fv7X`|#P>J%JFG;% z>v@5r*-7tOsS39EIWJ|ne+xQC9K)N=O&VcQ%;w|T3_jjc05qTC?6f{JyF=|%39n&a z|H=1dU22}>MDZ0BR}+jF6=!@guOnxdhCZ)Y6-6(k}}>gt556@M26VnlhuB0YL_-BjUSrR9(BW<44X}_uLvRL zj=7)@Ik^-b7}QQq$lKND(8r$89S>*7v4zm8ouOM#%5aM9CrdOFN+Idb&c(yEkMn37 zM7DB{55s8jwKyKs_VDh}z&_EwL;(07`p}47(Ont`aE1prsd(fj+;`qd`_KOO!%gnu zU`u=3UvfI6yUh=<0Rmj}H<$E~8!+vpM{L5mMhNL6@+RNPOBjQClP-~U<4timjb2Vx zu9^VebE`Qep29Q?eXKnAvBWXfO=$XnMT!uXXd&okR9Pv9qljgsxZX3y`JmBh{*RY( zt)ty#jWBeC_F;-aWNh9BB7NnAZG1Ee0yv>)R&u3b|rD?N|IW3A1S%T4BUa&ZWCzagtIjqnW zx2srSZZ6sGJ0s`y{n#x0$O9Xm-x&*Fk_Th?;y#>DxOd+oJ~Eb}m6blNp54zfvSIj| z;qKjI3n&u)ZjOj{=ni^B!9DNmP9F^JsxBY=(NYz?>=3b+(X#oYUaw5mkVe>d;5)Zx zI4~rYI`|JjohTP5d&(7)EMNMX=3(YWE|IX(+FgoXY?V*&jwn=(w^!CzX-P>{=-9%! zNn^jX9Mg~Yd#*qfe#y)!4UC<~|9wz4hjMHRYgMC3Zk`a3=Hgn?%6BsZ%`_9=*aE&8D&skrL{>lr&Pgy@N| zIq2^8=*=I8pQrK7!AXK}aQA1u*b0I7-yt;3F!Fat6h#<7sPi`Cd%lX*74zE35iZ}i z7csd(I<0`jRE>#c66U49X||mZpLY!9*a;<9srKru z=F^Q)DKvUn)oX_`R0OonP28XintP$1pvx>@T-pn z5B8b5+Xt}ztky>r@DY}us(ttOFf>elz;c-$wh3c{2eLy~raYGTib9@xCySyi;RZq_ zTkma!eqfRBwZ|%{!|0BI$8&bl09<+I`cM!nODn;PG6H$SgNg94!R*2J7>87Egms0l~AiiXXeZ!xGo|uws6K=6ln;VcRH+G}96`YjW$+M=k z-85Li=XUzg83>ZZ-nK?YMwi}Bv8gn0o#(h8GlPoY@Bs$Ig9DxWWRwNchL}@aCb$gZ$BVR!(@y%gr^7DHqvOrL} zJs6C2pcR7@7MD2=J)?;NZ*YD=iJ$&`**ACRsD5rc7y^NtT*n zuC=t4?#<27F9)R8B?7;s<HTTf87-u5MyUMP#4ssqX1&Q|D_`VH)6b0Z}M>0W&P z-t(zi>HR^JXngEFt1>TL&=-@c8)?;R?H}DFn_HiqN(Ts_CZ-LsnM(DC&#}e?Oi7>2 zO(lIy$X}ysv|>1N@4*0*uL^f|3&eWnR9!En@?K8epMRDR551sjAkC0CCPr4XKv;K-J=D&&n@oD2@nT^wA1HNwG~ zvR5!ui1exf@&Ic`chDr6v)V)zG<8i1I(=GX`YhKXp+(gRroTj(2Z}H2w9iO_R2CZl z#K=9IFVsS==Q&e!LqtsD_ zia}09q+gaOMn~kqiq)56AeLdhYJOQShlr#FmES6~6rPfXAMfgnn!u%b#y2KyjfAU^ zUVKcu2MtnU#%u0>9BnyTrAouOAhM4ib^<&fpI=riooe^K0L3*!R&C@1ueDe)IHM05 z4)#mRT^02`J#K_91aRpYk3dSTg%vLt>Crc0S{|rO?TRq|Nj(airwL(}u3wNbBS=t|zA^}$JlfaqRdo!S>5oCa2opd# z!XF7umg^_-dn!kSYOd_JIgoL6<)L$;;yd7$^n@|rAo|g$p3x_P zfJbTH7Km7`2)$n}z$D;o&co?)M|E!Dwgt-slU=?7&g9D!c*C|I({Z4&NL^73KP$*^ zZq2ETj&A9f(U1dtL8aQ5ZM&EXE5mk-E|DH z4ax>8FLyWVbV#!xVV#!vj0G5UVdg6qiW*_~Xq}yR)(CvrIx-{#X*y$#{n9hMWG5D0 z8F0uW=qxBK)GhuNI7GDq*6B;LL8y+Xeq1S5eHYS~?gU{tl6ni82_=z5VvzOz$TBUo z+*gfjYlI#?)ldtKlJ3xRY{3Y$5N+;68Nfr!K0Wf~*m-E?jIGw3`@t)y&Pb&q?9$aC z@ph=T@j|^yBrcLs60D~J8%u$p=lq~x2u~_doyCGFv}a$bi`8-SZc}ZNF`K;{tM&Da z5*?r~DBCU1X@OJ6U4anzxEz`b;kjY$COgHJux%(?r-^KvF6VCpY7j-;j2V}|5M9yA zUuLsUHPex-e&FqzKB;TyAEp4$=$+X-Dsgzzf{wZ9cUfa3M_<&%*82Sz_5$X$|Mx+& z6#_WNt>mc^ulTd5{6oVJgaeofbn6hQ7k(3)IEJGa+R4Xd@?OWceLh;~TLg8o6KO}^ z3bwuzLWyhF%&GJQjdsYVz5xlUCve*+3)yVJ(;ks2E0un}m-M2{{6lO4v?v-m*OdS- zN9@H_Ke6zU=v-G*Zq1-2XNkNfr=3U_EQn~>c^^n6f5&xaAUel}8_~8Q&swu!znPW! z-kfY%-(>9=ith=c5L7Bysz5P@ao;u+%Z67?QQt8M%IjEte<4I*JuT4mcu8$f3I`vY zUKS8>u{U-6JWpP@qMys#cT3uo=z7AHkwWJ3Besa9H$)v?t)tbk0z+6=Q3jv|5FLo~ zaUgX|kA1lD0jdwgor%!G?F7!HoLUnv)0D2*dmaTU>ax*kx*<@%Bsc{@s@=D6vNy*H zyuFC?5`Pg6H30a;f`G>=s)PQ^EQZ|t=_}qWqL_w?bSMHo-^`@j=jy#Gs3#HnOjfnq z@n*fofyQ#eRPYv;$`l7kL0y-iIji&|ubbMLpI!&?B=BUUzojh~D2PA$mXSoJ>BH+9 z?kb^5KPKT$I$hzP_&(euN^8`d)rL{8;=Q!i^R$sMd)U0AwCnxhphE*0mqPdy-m}sH z6E&^ti|fO)YD>pIHKjMs&s;I!nR zIH}e+R%QHg+my-j)!_7OGtJhX97R5PBlOkNgas$UbrCnT;`)Nsq~J*}5zZHApSw_t zFYHLpN9>P%<}>jnyWHkpJcp7=s*!mjuZbvWT%2Ns2Qh%E@C9aWtyqt4Kc(1?vPgzZ zKa|h&sI8CToP$mH#typ3L-rL$)mgZWbGN8l2}q<%J5z&ad2+l(DPq zw(DO*l2=KNZA@U(Vl$QTWw*C*1`u9i=@(vx4G6JOhhQ6aLVYSSH*n+X)Md(f=dL(6% zf;k6Ha~es5&b?C7E1oM{0V@`sc75q7FcqZ7IYnCoR?`NKBxLJ9&z0}eX5PP0PAIRwB=cwQ5!;3h%VG~$_`)O;5eB4E#X)%H<{Hgoj%#zbazVD z96TK(1bAc6->5K)8#It`0IzE>S*!NMooll6uxZ0By6|Zc0sht#T-k)PalM0ZmHOFh zt|W~};0tROjdUN{6W~+*Q{Wn|D(ZM6m@jB5niWc3EHo!sCJK`^d*PiY-fnBxZ)sV! zOO<#OSrJmNp$BT$Zb4e7(&o2kWJPA!MiEq4Q|))sQ)#H++~*7iY{2^>8%@zg>M{k@ zDLQkuuhxWxXDv!c`gr2UPnTC}H6~kNW7GjU7nU3v zr4zaqf-`f{)v>nF;ZSO?j$cpb{?>k!B;mF=v!Nli4b-+Ny&xwmw3kt_L6ub3d_@-HC>;}1(B9_P&&XuW4M8l*3H7C=_Ykh z3cu?xb)Msh0;dkm7GSAneo8V4H6lr&s;Xd?$o~v8!nvus3j#kb_qs|zSd6rie8Lr7 zBP9e>+(lj#*$r8AGry&vM?%-83j!nzL_=M7v+NkYMVudzucLT4K)GjPWAbOahF zf+8_uh$OH@Q+UTdSR(H$ZOAX7PiXr_!f|f`GgC*O-X;yR<+P>Zt)0}44%zz3AG42* z62vnq(z7RdWLq0}6(xVm7HB@m=yWLvF2`mm%$g*+$xV!+iW{ZIk;Z5-!qKYTm6|^L zctc>Yt81e*wsQ!B!isG6HtFjsT!}>98EayTO!@?FC4#Hh;EA5^LLcHnqx;YpceGVL zNJY6JaMs(>?H3@gBEqsMSc8C>39U#*s~U6t{NxGe^g8vn-9R(f;jw&3tiT+S=t*b0 zWG(5ZNhot^qp_mqdHP;^_D7NpaT1?&S&fTSqsfbmpsrB*q_WGexvCl?j8($?(x zD}B}C!`UNI@GRFj^5_Typ$sw2PIaHxRdyFTvze7WjKW5`^gh^#zdy*A1S)d(Ovakh2Z;V{f0 zStStu*-R{3j$zP|rgu>9O!{cFbNI2_WezjJ^%Z;<4T2R zee{+VXf#HR!0UIj$4OpF`!E6mp9EgNATFTa%QU8MGx?-LReDWxve?VL?4xim>K+CQ zy{$8s4{3n95UpT5-@7amS*9!}yQXR{Dg25-4vc3-1V ztc>S_QLczopVG)izoEYAV8oun#?wb`w5i3b-JGg3&gmCAen}h)!l>#lRp7nf&L<{& zK$gwdX%sIXVHG5}V+iVDDmK!#Dd?5bcU>{acnP-p?eIc{$9`wY5gk!9qk)Rf_0(-< zuAFDa9Nt%WsWoFsW~cQeenMtz{e%?0gZ?8Vpr{81 z@&E~7f06!r1U^9ibz&LZ(Y$Q$Yka0UKMyT{q~9bMgf~O`(xbj{BHFWt;M4dBBAW0; z$eIFd-4%yKYJ`-uoX4-ptyrA%IDDP+Y&lSldbzE$d}?BRaW>Tyau|o1AKA|3-Ipws z(5+1d$aqvzVk9qG9%HR&J|3|(zi4`jZFvN2xNvlS@N_|X0)WJjDKp;txD z3)Ig>7DErbb>ZvuCaS`2tduhI!I)E_25G`>s9-H>T)yL}Ma~yRo76nJMTK*UiPBP! zq-grV(hUmsj<3A4)2~FhPW%TYWnusU5&ah>J&;v1qJL_LQ~YllT2*$lnqfh_ZRKt4 zRDvSMs?4L6;!yO|7MOT~bBP%Z)H#d}Ni)KtkTfPr74&qYagRbJO202C<}FSz6210e zxD(IU5UwyqLY1PY5d^^SL%tbR*w#qTjQ8u6^#+th;Z8lf-hPz~9EOXn2!PXtex9Vz zt4-dGtRjZ%CJrMu6YA571~oxenn!D#`~HnNn4TarCQU1%ls4>@a2d{0ZhJclO_HHc zE4lZ}QeuuG`;++9Q_TvFC$YjSTfmlr$>7RKUogMq~3o==E#=ltvGvyd4B-lu=QZ|q7-(Y?^ zRZxt-D9c#8tcbWapNx$jm(daajK=J;-0xqsWRpPZSm4q#G8n1&G#ZBst#F_(dTr9w z%!|y=?CmQR7^5L>j8M)~5z8~vsv-mtnT&YqiFZV%-M;`I1xluMa9 z;~hMSz|X%wwyr#KYJFg?oa%RJXb^wt|lk1{VWFI&^I zlrAtbqPYG&hJ+h=>##M<)Dm6O93aV0fnZ%gXP@F0PW^3I^kszV4i{@<&i2&b0C%jL z*VxJ{KNa{=m{e*|?@&?OSyvW5DoDj7Md72b;vCvP4i!f4|K^%K7i(Z6Ko-S*)zy`Ooae?&IuPD zbE|1T|GJt!R^P!k9eV79joPx+=s7}S@g$JM&ulE@l#Q8T=fx4Q6klpJ$iy2^F^(Ox zc27kD;WS~@R=mV4>n}ht z!xiDn5p^x8PFb-RHcZ@^tH`~ALBF?+G9RJ`XizP^1y_)f5X{R?9$ptVe$kq1-ZK2c z&>j_@GgCRH0CDxiexXWxYUzCcZnIW#>bo=53OP&oYr`xa_RnU`MH}QvkzN98jNnP-w zASWr+Zh>5b8 z@l(E6ueT_C@nriM=AppeIv-rQwvVw{aJN>9Io&iPjnVXdC%bl9n(JLHMgNF^T#A4e z&H5&r`8~6M7VAoh(wEM{sbG)7@@mF;U&W{#<3(|whmFFL5py3?1nxnrsL;=VIu#~a*e=)AGq z>y8*ohbvDLaZ#Ind5q!&e552>1(L1ILOx`g(_zl}bUdn2Q9<~{f)`jBBYZp`k(ST1lI!)>%;Q8M?nUY7& zs>v6Z#3kwVB3PabTK3!^j&gT*ca_H$x58bmWo@GlUwjItQ?CB)@FbS8T0o`@qRPu! z4+_5QSXltIrhyobTdV!Mr9GkVX-0{?824cbgOEBgNl^{z64@n3i|`BeNon^ua_dpX z?+H`smCgQB+xQi@r|(vP&LX|X2L(IL{Wxf&J@Y8*BfT0+I3s9D={L8i1bQ4ct)URk znsMe9PsziEPHhpD;RbvvqKWjQ%)0f)a5AVW@eavUqd%A;=yjp4mU}lWaDbXp58BI9 z>b=V5B`!j7wr^awIl6itmmhZy+|yZtEW_(6lD$HGxZ(PA#otk>pAvh zJRCxaV(dF_uIX_I4-G5pQTSjOm6j5&)_2H7z#dOl^5CAPs9fzWqvcsF7JCf?L1%Tt zF-6}J5z#k{e1BtMIGtKMWccpD_4x_0A>)TN>E-fQqlHewC=HmN%3i6-3#Q@F* z7`J?Y_kY(r_7f2hjsfn$AGcQly2tKEjW_>ai2t^i?0&8QWI%h?;~u16kvZ>H2be1W z`QJ2a-6I3$_NN}E`#In8S>IiN0g(S)N7I9D|J2j;fLiki^$}(7M}yEmb~rr<_*0M5 zg8+y-Q{PYfk$`{M@$_I&K+n_THWWb5)BULN*7yf0|6d(Y_jUnT9MI?TxUqxm7tt$s zTjqaS;Q!S1@>nFGW8^XC@>h{?5dR?Zf9W52ED}KGe9XB6kU8&1jrS_TA4UF8)XsZp z0MtM6`0l0M@+sftet*#EJ^Aj3cm5-*@4;^XyuQa&u3!D8{GSE=?<~LjHU8Lx?nFN( zCIPr&_oK#p@^0(|ZU(ucK z0*L#S{aen_V{`yP=rIKc5OUm)8gCrT2lRhW7rMs>;QWcmbB}+^_xUgUe@*Lo@HGIj z=P@@0P*%7fHQu;bKPUbd@V}?|+|M20Qvj07V@d>o=$YOvSRgfEdZ21)vO-S)Bk|}FDqCN>H^fT z9v5x^HLUwl<9+a-MEs8xt$URL+!;_1dYpFv3PSgz#v7gX?<)JTsJ~h0AId}b;sCIJ zN@niG-SYJ@{vz&Qr#24?1SB_)V_ZOTb3balv6%jZ|F^aLL#iVy0R|4h!@c`qg1Kui IX90Zre-Yc~h5!Hn literal 0 HcmV?d00001 diff --git a/src/lib/components/Navbar.svelte b/src/lib/components/Navbar.svelte index 09e8365..f5ccb0d 100644 --- a/src/lib/components/Navbar.svelte +++ b/src/lib/components/Navbar.svelte @@ -15,7 +15,7 @@ { #if $page.data.authInfo } Dashboard { :else } - Sign up + Sign In { /if } diff --git a/src/lib/components/form/Survey.svelte b/src/lib/components/form/Survey.svelte index 6dfd4b1..92e9505 100644 --- a/src/lib/components/form/Survey.svelte +++ b/src/lib/components/form/Survey.svelte @@ -8,10 +8,12 @@ import SignIn from './SignIn.svelte'; + console.log($page.data.authInfo); + let formData = writable({ answers: [], currentQuestion: 1, - userID: $page.data.authInfo ? $page.data.authInfo.id : null, + userID: $page.data.authInfo.user.userId || null, }); export let numQuestion = 0; @@ -91,7 +93,7 @@ } function signIn() { - goto("https://auth.fooddecisive.co/"); + location.href = 'https://auth.fooddecisive.co/'; } diff --git a/src/lib/components/recipes/RecipeTable.svelte b/src/lib/components/recipes/RecipeTable.svelte new file mode 100644 index 0000000..855b891 --- /dev/null +++ b/src/lib/components/recipes/RecipeTable.svelte @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + {#if recipes} + {#each recipes as recipe} + + {/each} + {/if} + +
NameIngredientsInstructionsRating
+ + \ No newline at end of file diff --git a/src/lib/components/recipes/RecipleEntry.svelte b/src/lib/components/recipes/RecipleEntry.svelte new file mode 100644 index 0000000..ebdcace --- /dev/null +++ b/src/lib/components/recipes/RecipleEntry.svelte @@ -0,0 +1,30 @@ + + + + {data.name} + {data.ingredients.length || 0} + {data.instructions.length || 0} + {Math.round(data.rating/((data.ratingCount == 0 ) ? data.ratingCount++ : data.ratingCount))} / 5 + + + + + + diff --git a/src/routes/+layout.js b/src/routes/+layout.js index 577b15f..19c3502 100644 --- a/src/routes/+layout.js +++ b/src/routes/+layout.js @@ -1,20 +1,14 @@ -// import {createClient} from "@propelauth/javascript"; -// const authClient = createClient({ -// authUrl: "https://auth.fooddecisive.co/", -// enableBackgroundTokenRefresh: true, -// }); +import {createClient} from "@propelauth/javascript"; +const authClient = createClient({ + authUrl: "https://auth.fooddecisive.co/", + enableBackgroundTokenRefresh: true, +}); -// export async function load() { +export async function load() { -// const authInfo = await authClient.getAuthenticationInfoOrNull(); -// console.log("authInfo", authInfo) -// if (authInfo) { -// console.log("User is logged in as", authInfo.user.email) -// } else { -// console.log("User is not logged in") -// } - -// return { -// authInfo: authInfo ? authInfo : null -// }; -// } \ No newline at end of file + const authInfo = await authClient.getAuthenticationInfoOrNull(); + console.log("authInfo", authInfo) + return { + authInfo: authInfo ? authInfo : null + }; +} \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index d9daccd..cb581a9 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,3 +1,8 @@ + +
@@ -77,20 +82,15 @@
-

Get Started

-

Decide Your Next Bite!

+ { #if $page.data.authInfo } +

Decide Your Next Bite!

+ + { :else } +

Get Started

+

Decide Your Next Bite!

+ { /if }
+

Submitted for VTHacks-12

- -
-
-
-

Submitted for VTHacks-12

-
-
-
- - \ No newline at end of file + \ No newline at end of file