mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-12 08:45:38 +02:00
🧹 chore(www): Update the onboarding (#207)
## Description <!-- Briefly describe the purpose and scope of your changes --> ## Related Issues <!-- List any related issues (e.g., "Closes #123", "Fixes #456") --> ## Type of Change - [x] Bug fix (non-breaking change) - [ ] New feature (non-breaking change) - [ ] Breaking change (fix or feature that changes existing functionality) - [ ] Documentation update - [ ] Other (please describe): ## Checklist - [ ] I have updated relevant documentation - [ ] My code follows the project's coding style - [ ] My changes generate no new warnings/errors ## Notes for Reviewers <!-- Point out areas you'd like reviewers to focus on, questions you have, or decisions that need discussion --> ## Screenshots/Demo <!-- If applicable, add screenshots or a GIF demo of your changes (especially for UI changes) --> ## Additional Context <!-- Add any other context about the pull request here -->
This commit is contained in:
23
package.json
23
package.json
@@ -1,13 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "nestri",
|
"name": "nestri",
|
||||||
"private": true,
|
|
||||||
"scripts": {
|
|
||||||
"build": "turbo build",
|
|
||||||
"dev": "turbo dev",
|
|
||||||
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
|
|
||||||
"lint": "turbo lint",
|
|
||||||
"sso": "aws sso login --sso-session=nestri --no-browser --use-device-code"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@cloudflare/workers-types": "4.20240821.1",
|
"@cloudflare/workers-types": "4.20240821.1",
|
||||||
"@pulumi/pulumi": "^3.134.0",
|
"@pulumi/pulumi": "^3.134.0",
|
||||||
@@ -18,16 +10,21 @@
|
|||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
},
|
},
|
||||||
"packageManager": "bun@1.1.18",
|
"packageManager": "bun@1.2.4",
|
||||||
"workspaces": [
|
"private": true,
|
||||||
"apps/*",
|
"scripts": {
|
||||||
"packages/*"
|
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
|
||||||
],
|
"sso": "aws sso login --sso-session=nestri --no-browser --use-device-code"
|
||||||
|
},
|
||||||
"trustedDependencies": [
|
"trustedDependencies": [
|
||||||
"core-js-pure",
|
"core-js-pure",
|
||||||
"esbuild",
|
"esbuild",
|
||||||
"workerd"
|
"workerd"
|
||||||
],
|
],
|
||||||
|
"workspaces": [
|
||||||
|
"apps/*",
|
||||||
|
"packages/*"
|
||||||
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"sst": "3.9.1"
|
"sst": "3.9.1"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,13 +28,14 @@ const Hr = styled("hr", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const Plan = {
|
const Plan = {
|
||||||
Pro: 'Pro',
|
Pro: 'BYOG',
|
||||||
Basic: 'Basic',
|
Basic: 'Hosted',
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
const schema = v.object({
|
const schema = v.object({
|
||||||
plan: v.pipe(
|
plan: v.pipe(
|
||||||
v.enum(Plan),
|
v.enum(Plan),
|
||||||
|
v.minLength(2,"Please choose a plan"),
|
||||||
),
|
),
|
||||||
display_name: v.pipe(
|
display_name: v.pipe(
|
||||||
v.string(),
|
v.string(),
|
||||||
@@ -48,6 +49,39 @@ const schema = v.object({
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// const Details = styled("details", {
|
||||||
|
// base: {
|
||||||
|
// overflow: "hidden",
|
||||||
|
// transition: "max-height .2s ease"
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
|
||||||
|
// const Summary = styled("summary", {
|
||||||
|
// base: {
|
||||||
|
// userSelect: "none",
|
||||||
|
// cursor: "pointer",
|
||||||
|
// listStyle: "none"
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
|
||||||
|
// const SVG = styled("svg", {
|
||||||
|
// base: {
|
||||||
|
// color: theme.color.gray.d900,
|
||||||
|
// width: 20,
|
||||||
|
// height: 20,
|
||||||
|
// marginRight: theme.space[2]
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
|
||||||
|
// const Subtitle = styled("p", {
|
||||||
|
// base: {
|
||||||
|
// color: theme.color.gray.d900,
|
||||||
|
// fontSize: theme.font.size.sm,
|
||||||
|
// fontWeight: theme.font.weight.regular,
|
||||||
|
// lineHeight: "1rem"
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
|
||||||
export function CreateTeamComponent() {
|
export function CreateTeamComponent() {
|
||||||
const [form, { Form, Field }] = createForm({
|
const [form, { Form, Field }] = createForm({
|
||||||
validate: valiForm(schema),
|
validate: valiForm(schema),
|
||||||
@@ -101,17 +135,27 @@ export function CreateTeamComponent() {
|
|||||||
{...props}
|
{...props}
|
||||||
value={field.value}
|
value={field.value}
|
||||||
badges={[
|
badges={[
|
||||||
{ label: "Basic", color: "gray" },
|
{ label: "BYOG", color: "purple" },
|
||||||
{ label: "Pro", color: "blue" }
|
{ label: "Hosted", color: "blue" },
|
||||||
]}
|
]}
|
||||||
options={[
|
options={[
|
||||||
{ label: "I'll be playing all by myself", value: 'Basic' },
|
{ label: "I'll be playing on my machine", value: 'BYOG' },
|
||||||
{ label: "I'll be playing with friends and family", value: 'Pro' },
|
{ label: "I'll be playing on the cloud", value: 'Hosted' },
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</FormField>
|
</FormField>
|
||||||
)}
|
)}
|
||||||
</Field>
|
</Field>
|
||||||
|
{/* <Details>
|
||||||
|
<Summary>
|
||||||
|
<div style={{ "display": "flex", "align-items": "center" }}>
|
||||||
|
<SVG xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M8.59 16.59L13.17 12L8.59 7.41L10 6l6 6l-6 6z" /></SVG>
|
||||||
|
<Subtitle>
|
||||||
|
Continuing will start a 14-day Pro plan trial.
|
||||||
|
</Subtitle>
|
||||||
|
</div>
|
||||||
|
</Summary>
|
||||||
|
</Details> */}
|
||||||
<Button color="brand">
|
<Button color="brand">
|
||||||
Continue
|
Continue
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import { ComponentProps, createMemo, For, JSX, Show, splitProps } from "solid-js
|
|||||||
import { Container } from "./layout";
|
import { Container } from "./layout";
|
||||||
import { utility } from "./utility";
|
import { utility } from "./utility";
|
||||||
|
|
||||||
|
// FIXME: Make sure the focus ring goes to red when the input is invalid
|
||||||
|
|
||||||
export const inputStyles: CSSProperties = {
|
export const inputStyles: CSSProperties = {
|
||||||
lineHeight: theme.font.lineHeight,
|
lineHeight: theme.font.lineHeight,
|
||||||
appearance: "none",
|
appearance: "none",
|
||||||
@@ -17,11 +19,6 @@ export const inputStyles: CSSProperties = {
|
|||||||
borderColor: theme.color.gray.d400,
|
borderColor: theme.color.gray.d400,
|
||||||
color: theme.color.d1000.gray,
|
color: theme.color.d1000.gray,
|
||||||
backgroundColor: theme.color.background.d100,
|
backgroundColor: theme.color.background.d100,
|
||||||
// transition: `box-shadow ${theme.colorFadeDuration}`,
|
|
||||||
// boxShadow: `
|
|
||||||
// 0 0 0 1px inset ${theme.color.input.border},
|
|
||||||
// ${theme.color.input.shadow}
|
|
||||||
// `,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const inputDisabledStyles: CSSProperties = {
|
export const inputDisabledStyles: CSSProperties = {
|
||||||
@@ -60,7 +57,12 @@ export const Root = styled("label", {
|
|||||||
color: theme.color.gray.d900
|
color: theme.color.gray.d900
|
||||||
},
|
},
|
||||||
danger: {
|
danger: {
|
||||||
color: theme.color.red.d900
|
color: theme.color.red.d900,
|
||||||
|
// selectors: {
|
||||||
|
// "&:has(input)": {
|
||||||
|
// ...inputDangerFocusStyles
|
||||||
|
// }
|
||||||
|
// }
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -85,7 +87,10 @@ export const Input = styled("input", {
|
|||||||
},
|
},
|
||||||
"::placeholder": {
|
"::placeholder": {
|
||||||
color: theme.color.gray.d800
|
color: theme.color.gray.d800
|
||||||
}
|
},
|
||||||
|
// ":invalid":{
|
||||||
|
// ...inputDangerFocusStyles
|
||||||
|
// },
|
||||||
// selectors: {
|
// selectors: {
|
||||||
// [`${Root.selector({ color: "danger" })} &`]: {
|
// [`${Root.selector({ color: "danger" })} &`]: {
|
||||||
// ...inputDangerFocusStyles,
|
// ...inputDangerFocusStyles,
|
||||||
@@ -204,7 +209,7 @@ const InputLabel = styled("label", {
|
|||||||
|
|
||||||
const Hint = styled("p", {
|
const Hint = styled("p", {
|
||||||
base: {
|
base: {
|
||||||
fontSize: theme.font.size.sm,
|
fontSize: theme.font.size.xs,
|
||||||
lineHeight: theme.font.lineHeight,
|
lineHeight: theme.font.lineHeight,
|
||||||
color: theme.color.gray.d800,
|
color: theme.color.gray.d800,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user