diff --git a/generate.py b/generate.py index f2ee9f9..e582cce 100644 --- a/generate.py +++ b/generate.py @@ -19,7 +19,7 @@ def pick_order(orders): for add_on in picked.add_ons: if add_on.probability > random.random(): - result.append(add_on.name) + result.append(f"+ {add_on.name}") return (result, picked.repeat) diff --git a/web/api.py b/web/api.py index e01e102..2ad8c77 100644 --- a/web/api.py +++ b/web/api.py @@ -146,6 +146,8 @@ def sub_order_sets(username, sub): 'time': op.time, 'weekends': op.weekends, 'weekdays': op.weekdays, + 'probability': op.probability, + 'punishment_pool_name': op.punishment_pool.name if op.punishment_pool is not None else None, 'orders': [{ 'id': order.id, } for order in op.orders] diff --git a/web/vite/src/OrderSets.tsx b/web/vite/src/OrderSets.tsx index 2a8cdca..cf91832 100644 --- a/web/vite/src/OrderSets.tsx +++ b/web/vite/src/OrderSets.tsx @@ -1,5 +1,13 @@ import React from "react"; -import { Title, Card, Text, Flex, Badge, Box } from "@mantine/core"; +import { + Title, + Card, + Text, + Flex, + Badge, + Box, + RingProgress, +} from "@mantine/core"; import { TimeValue } from "@mantine/dates"; import { IconPencil, IconPlus, IconTrash } from "@tabler/icons-react"; @@ -10,8 +18,18 @@ import { useFetcher } from "react-router"; export interface OrderSetProps { orderSets: (Pick< OrderSet, - "id" | "name" | "scheduled" | "time" | "weekends" | "weekdays" | "orders" - > & { orders: Pick })[]; + | "id" + | "name" + | "scheduled" + | "time" + | "weekends" + | "weekdays" + | "orders" + | "probability" + > & { + orders: Pick; + punishment_pool_name: string; + })[]; username: string; linkBack?: React.ReactNode; } @@ -41,7 +59,17 @@ export const OrderSets: React.FC = ({ {orderSets ? orderSets.map( - ({ id, name, scheduled, orders, time, weekdays, weekends }) => ( + ({ + id, + name, + scheduled, + orders, + time, + weekdays, + weekends, + probability, + punishment_pool_name, + }) => ( = ({ {name} {scheduled ? ( - + <> Scheduled: - {weekdays ? Weekdays : null} - {weekends ? Weekends : null} - + + {weekdays ? ( + Weekdays + ) : null} + {weekends ? ( + Weekends + ) : null} + {probability * 100}%} + sections={[ + { color: "cyan", value: probability * 100 }, + ]} + /> + + ) : null} Orders: {orders.length} +
+ {punishment_pool_name + ? `Punishments: ${punishment_pool_name}` + : null}