diff --git a/remix/app/components/Icon/Icon.tsx b/remix/app/components/Icon/Icon.tsx index 7a04ddd..073139b 100644 --- a/remix/app/components/Icon/Icon.tsx +++ b/remix/app/components/Icon/Icon.tsx @@ -18,6 +18,9 @@ export const Icon = (props) => { if (["sparke", "magic"]?.includes(name)) { return "✨" } + if (["wizard", "gandalf"]?.includes(name)) { + return "🧙♂️" + } if (["box", "thing", "object"]?.includes(name)) { return "📦" } @@ -30,6 +33,9 @@ export const Icon = (props) => { if (["book", "books"]?.includes(name)) { return "📚" } + if (["any", "magic wand"]?.includes(name)) { + return "🪄" + } if (["book-open", "books-open"]?.includes(name)) { return "📖" } @@ -39,6 +45,9 @@ export const Icon = (props) => { if (["number", "hundred"]?.includes(name)) { return "💯" } + if (["puzzle", "types"]?.includes(name)) { + return "🧩" + } if (["heart"]?.includes(name)) { return "❤️" } @@ -162,6 +171,9 @@ export const Icon = (props) => { if (["money bag"]?.includes(name)) { return "💰" } + if (["cyclone", "tornado"]?.includes(name)) { + return "🌀" + } if (["thingtime"]?.includes(name)) { if (Math.random() > 0.5) { return "🌳" diff --git a/remix/app/components/Thingtime/SettingsMenu.tsx b/remix/app/components/Thingtime/SettingsMenu.tsx new file mode 100644 index 0000000..3cdc21b --- /dev/null +++ b/remix/app/components/Thingtime/SettingsMenu.tsx @@ -0,0 +1,128 @@ +import React, { useState } from "react" +import { Center, Flex, Text } from "@chakra-ui/react" + +import { Icon } from "../Icon/Icon" + +export const SettingsMenu = (props) => { + const [show, setShow] = useState(false) + + const showMenu = React.useCallback(() => { + setShow(true) + }, []) + + const hideMenu = React.useCallback(() => { + setShow(false) + }, []) + + const basePadding = React.useMemo(() => { + return 4 + }, []) + + const types = React.useMemo(() => { + const ret = ["any", "object", "array", "string", "number", "boolean"] + return ret + }, []) + + const onChangeType = React.useCallback( + (type) => { + props?.onChangeType?.(type) + }, + [props?.onChangeType] + ) + + const iconSize = 10 + + return ( +