diff --git a/pkgs/clan-app/ui/src/routes/Onboarding/Onboarding.css b/pkgs/clan-app/ui/src/routes/Onboarding/Onboarding.css index 023c19a2f..6c56f844f 100644 --- a/pkgs/clan-app/ui/src/routes/Onboarding/Onboarding.css +++ b/pkgs/clan-app/ui/src/routes/Onboarding/Onboarding.css @@ -27,17 +27,29 @@ main#welcome { @apply absolute top-0 left-0 w-full h-full; } - svg[data-logo-name="Clan"], svg[data-logo-name="Darknet"] { - @apply h-5; - } - svg[data-logo-name="Darknet"] { + @apply w-52; @apply absolute top-28 left-1/2 transform -translate-x-1/2; } svg[data-logo-name="Clan"] { + @apply w-16; @apply absolute bottom-28 left-1/2 transform -translate-x-1/2; } + + + div.darknet-info { + @apply absolute bottom-[6.5rem] left-12; + @apply flex flex-col gap-y-2; + + span.darknet-label { + color: theme(colors.off.darknet_label); + } + + span.darknet-name { + color: theme(colors.off.darknet_name); + } + } } & > div.container { diff --git a/pkgs/clan-app/ui/src/routes/Onboarding/Onboarding.tsx b/pkgs/clan-app/ui/src/routes/Onboarding/Onboarding.tsx index 451233a79..a2b8acf1a 100644 --- a/pkgs/clan-app/ui/src/routes/Onboarding/Onboarding.tsx +++ b/pkgs/clan-app/ui/src/routes/Onboarding/Onboarding.tsx @@ -1,4 +1,4 @@ -import { Component, createSignal, Match, Switch } from "solid-js"; +import { Component, createSignal, Match, Show, Switch } from "solid-js"; import { RouteSectionProps, useNavigate } from "@solidjs/router"; import "./Onboarding.css"; import { Typography } from "@/src/components/Typography/Typography"; @@ -7,24 +7,18 @@ import { Divider } from "@/src/components/Divider/Divider"; import { Logo } from "@/src/components/Logo/Logo"; import { navigateToClan, selectClanFolder } from "@/src/hooks/clan"; import { activeClanURI } from "@/src/stores/clan"; -import { createForm, valiForm } from "@modular-forms/solid"; +import { createForm, getValue, valiForm } from "@modular-forms/solid"; import { TextInput } from "@/src/components/Form/TextInput"; import { TextArea } from "@/src/components/Form/TextArea"; import { Fieldset } from "@/src/components/Form/Fieldset"; -import * as v from 'valibot'; +import * as v from "valibot"; type State = "welcome" | "setup"; const SetupSchema = v.object({ - name: v.pipe( - v.string(), - v.nonEmpty("Please enter a name.") - ), - description: v.pipe( - v.string(), - v.nonEmpty("Please describe your Clan.") - ) -}) + name: v.pipe(v.string(), v.nonEmpty("Please enter a name.")), + description: v.pipe(v.string(), v.nonEmpty("Please describe your Clan.")), +}); type SetupForm = v.InferInput; @@ -43,10 +37,11 @@ export const Onboarding: Component = (props) => { navigateToClan(navigate, uri); }; - const [state, setState] = createSignal("welcome"); + const [state, setState] = createSignal("setup"); + const [darknetName, setDarknetName] = createSignal(""); const [setupForm, { Form, Field }] = createForm({ - validate: valiForm(SetupSchema) + validate: valiForm(SetupSchema), }); return ( @@ -57,11 +52,34 @@ export const Onboarding: Component = (props) => {
+ +
+ + Your Darknet: + + + {getValue(setupForm, "name")} + +
+
- -
@@ -112,7 +130,7 @@ export const Onboarding: Component = (props) => {
- {(field, input) => + {(field, input) => (
= (props) => { value={field.value} required orientation="horizontal" - input={{...input, placeholder: "Name your Clan"}} + input={{ + ...input, + placeholder: "Name your Clan", + }} />
- } + )}
- {(field, input) => + {(field, input) => (