From c0a9a037814bfb4598749d1cc47b5efb2d59c6e0 Mon Sep 17 00:00:00 2001 From: Matt Whitaker Date: Fri, 13 Dec 2024 23:52:27 -0800 Subject: [PATCH] disclaimer page --- packages/app/.env.development | 2 +- packages/app/src/actions/_updateShopping.ts | 31 ++++++++++++++------- packages/app/src/actions/createBatch.ts | 1 - packages/app/src/app/disclaimer/page.tsx | 5 ++-- packages/app/src/data/nav.ts | 1 + packages/kb/src/importResource.ts | 4 +-- 6 files changed, 27 insertions(+), 17 deletions(-) diff --git a/packages/app/.env.development b/packages/app/.env.development index a08f45d..327876c 100644 --- a/packages/app/.env.development +++ b/packages/app/.env.development @@ -1,2 +1,2 @@ -NEXT_PUBLIC_WWW_URL=/ +NEXT_PUBLIC_WWW_URL= NEXT_PUBLIC_DEV_TOOLS=true \ No newline at end of file diff --git a/packages/app/src/actions/_updateShopping.ts b/packages/app/src/actions/_updateShopping.ts index 54d31b2..338c864 100644 --- a/packages/app/src/actions/_updateShopping.ts +++ b/packages/app/src/actions/_updateShopping.ts @@ -3,12 +3,12 @@ import {Currencies, Units} from "@brewdocs.beer/core"; import {groupBy} from "lodash"; import Hop from "@/model/hop"; import {parseNumberString} from "@/utils/math"; +import Grain from "@/model/grain"; export default function _updateShopping(batch: Batch): Batch { (batch as Batch).shopping = [ { name: "Hops", - // Hops are summed by varietal items: ((): ShoppingListItem[] => { const groups: Record = groupBy(batch.hops, "name"); return Object.keys(groups).map(hopName => { @@ -31,15 +31,26 @@ export default function _updateShopping(batch: Batch): Batch { }, { name: "Grain", - items: batch.grains.map(({ name, weight: scalar }) => ({ - name, - scalar, - purchased: false, - cost: { - value: "$0.00", - currency: Currencies.DOLLAR - } - })) + items: (() => { + const groups: Record = groupBy(batch.grains, "name"); + return Object.keys(groups).map(grainName => { + const unit = parseNumberString(groups[grainName][0].weight.value)[1]; + const weight = groups[grainName].reduce((m, v) => m + parseNumberString(v.weight.value)[0], 0.0); + + return { + name: grainName, + purchased: false, + cost: { + value: "$0.00", + currency: Currencies.DOLLAR + }, + scalar: { + value: `${weight}${unit}`, + unit: Units.PERCENT + } + } + }) + })(), }, { name: "Yeast", diff --git a/packages/app/src/actions/createBatch.ts b/packages/app/src/actions/createBatch.ts index e3a23e5..7cad89e 100644 --- a/packages/app/src/actions/createBatch.ts +++ b/packages/app/src/actions/createBatch.ts @@ -17,7 +17,6 @@ export default async function createBatch(recipe: Recipe, inputs: CreateBatchSta status: Statuses.PREP, recipeId: recipe.id, - // Clone the "guts" of the recipes hops: cloneDeep(recipe.hops), grains: cloneDeep(recipe.grains), yeast: cloneDeep(recipe.yeast), diff --git a/packages/app/src/app/disclaimer/page.tsx b/packages/app/src/app/disclaimer/page.tsx index 5e1939c..e508bd9 100644 --- a/packages/app/src/app/disclaimer/page.tsx +++ b/packages/app/src/app/disclaimer/page.tsx @@ -2,9 +2,10 @@ export default function DisclaimerPage() { return (
-

Disclaimer

-

BrewDocs is currently in an early prototyping phase, and thus is not considered stable.

+

Disclaimer

+

BrewDocs is currently in an early prototyping phase, and thus is not considered stable. It is mostly deployed for demo purposes.

+

If you run into issues with, you can add ?purge=true to the URL to clear your db and cache.

); } \ No newline at end of file diff --git a/packages/app/src/data/nav.ts b/packages/app/src/data/nav.ts index 29c68c2..eee2e7c 100644 --- a/packages/app/src/data/nav.ts +++ b/packages/app/src/data/nav.ts @@ -2,6 +2,7 @@ import {WWW_URL} from "@/utils/env"; const nav: [string, string?][] = [ ["About", `${WWW_URL}/about`], + ["Disclaimer", "/disclaimer"], ["------------------------------"], // ["Dashboard", "/"], ["Batches", "/batches"], diff --git a/packages/kb/src/importResource.ts b/packages/kb/src/importResource.ts index 217fb7d..0285d64 100644 --- a/packages/kb/src/importResource.ts +++ b/packages/kb/src/importResource.ts @@ -1,6 +1,4 @@ -export type Resources = "hops"|"grains"|"yeasts"|"recipes"; - -async function importResource(resource: Resources): Promise { +async function importResource(resource: "hops"|"grains"|"yeasts"|"recipes"): Promise { try { switch (resource) { case "recipes":