SettingsGroup · SettingRow

Settings as Notion lays them out: a group's title over a hairline, then a row per setting — its name and what it does on the left, the control on the right. A wide control (a text box) goes under them, and so does every control where there isn't room, except a compact one (a switch, a badge), which stays beside them.

A group of rows

When clients can book

How long before a time clients can still book it, in minutes.

Email me new bookings

One email each time a client books on your page.

A group that says what it's for

Services

What clients can book with them.

Haircut

45 min

A group with an action

When the group's things are made somewhere else, a small secondary button at the head's right leads there.

Services

What they do: booking and Okami offer only these.

Edit services
Haircut

45 min

A compact control, beside its name on a phone too

How Okami talks with you

Tone

Warm and brief, or more to the point.

Soon

An account to connect: its states

Your channels

Your Instagram

Connect your own professional account: Okami answers the clients who message it and books them with you. Only you see those chats, unless Okami passes one on to the studio.If Instagram leaves you on your feed after you sign in, come back here and connect again.

Your Instagram

Okami answers the clients who message @pele.hair and books them with you. Only you see those chats, unless Okami passes one on to the studio.Instagram is connected.

Your Instagram

Connect your own professional account: Okami answers the clients who message it and books them with you.That Instagram account is already connected in Okami.

Your Instagram

Okami can't answer messages to @pele.hair until you connect it again.

  • Not connected, the row says what connecting does and offers Connect; connected, which account Okami answers and Disconnect.
  • Connected, your own account also has its own “Chat with Okami from this account” switch below it, on by itself, as the studio's has in Studio channels.
  • Not connected, the way back sits under the hint: Instagram's sign-in can leave someone on their feed, never sending them back.
  • Once Meta stops letting Okami in (the token lapsed, or a refresh was refused with under three days left), the row says so in place of what Okami does there, and offers Connect again in Disconnect's place.
  • How connecting went sits in the description line, a span under the hint: never a paragraph inside the row's paragraph.
  • Without a calendar person the row isn't there: there's no one to book with.

A wide control, under its name

Details

A few lines on your booking page. Okami answers clients from it.

API

PropTypeDefaultDescription
SettingsGroup titlestring—The group's name, over a hairline.
SettingsGroup descriptionReactNode—What the group is for, one quiet line under its name, when the rows don't say it.
SettingsGroup actionReactNode—A small secondary button at the head's right, level with the title and its line: where the group's things are edited (My services › Edit services).
SettingRow labelstring—The setting's name.
descriptionReactNode—What it does, one quiet line.
htmlForstring—The id of the field the name labels. Without it the name is plain text: a row of several controls, or none.
controlReactNode—The control, on the right; give it its width.
stackedbooleanfalsePuts a wide control under the name.
inlinebooleanfalseKeeps a compact control (a Switch, a Badge) beside the name at every width; the name wraps instead.

Guidelines

  • Name a setting by what the person decides (“Book ahead by”), and say in the description what changes.
  • Give short controls a fixed width so a group's controls line up; text boxes and links go under their name.