Add landing page for kjol, documentation
This commit is contained in:
@@ -25,8 +25,8 @@ const btnBase = "inline-flex items-center justify-center gap-2 cursor-pointer te
|
||||
|
||||
var btnColors = map[string]string{
|
||||
"neutral": "shadow-xs bg-neutral-700 text-white hover:bg-neutral-800",
|
||||
"white": "shadow-xs bg-white text-black border border-neutral-300 hover:bg-neutral-50",
|
||||
"light-neutral": "shadow-xs bg-neutral-50 text-black border border-neutral-300 hover:bg-neutral-100",
|
||||
"white": "shadow-xs bg-surface text-ink border border-line-strong hover:bg-surface-muted",
|
||||
"light-neutral": "shadow-xs bg-surface-muted text-ink border border-line-strong hover:bg-surface-raised",
|
||||
"blue": "shadow-xs bg-sky-700 text-white hover:bg-sky-800",
|
||||
"dark-blue": "shadow-xs bg-sky-900 text-white hover:bg-sky-950",
|
||||
"green": "shadow-xs bg-green-700 text-white hover:bg-green-800",
|
||||
@@ -36,23 +36,23 @@ var btnColors = map[string]string{
|
||||
"yellow": "shadow-xs bg-yellow-700 text-white hover:bg-yellow-800",
|
||||
"orange": "shadow-xs bg-orange-600 text-white hover:bg-orange-700",
|
||||
"primary": "shadow-xs bg-primary text-white hover:bg-primary-hover",
|
||||
"secondary": "shadow-none bg-neutral-100 text-neutral-700 border border-neutral-300 hover:bg-neutral-200",
|
||||
"ghost": "shadow-none bg-transparent text-neutral-600 border-none hover:bg-neutral-100",
|
||||
"secondary": "shadow-none bg-surface-raised text-ink-soft border border-line-strong hover:bg-surface-strong",
|
||||
"ghost": "shadow-none bg-transparent text-ink-soft border-none hover:bg-surface-raised",
|
||||
}
|
||||
|
||||
var btnOutlineColors = map[string]string{
|
||||
"neutral": "text-neutral-700",
|
||||
"white": "text-neutral-300",
|
||||
"light-neutral": "text-neutral-300",
|
||||
"blue": "text-sky-700",
|
||||
"neutral": "text-ink-soft",
|
||||
"white": "text-ink-faint",
|
||||
"light-neutral": "text-ink-faint",
|
||||
"blue": "text-sky-700 dark:text-sky-400",
|
||||
"dark-blue": "text-sky-900",
|
||||
"green": "text-green-700",
|
||||
"green": "text-green-700 dark:text-green-400",
|
||||
"dark-green": "text-green-900",
|
||||
"red": "text-red-700",
|
||||
"dark-red": "text-red-900",
|
||||
"yellow": "text-yellow-700",
|
||||
"orange": "text-orange-600",
|
||||
"primary": "text-primary",
|
||||
"primary": "text-accent",
|
||||
}
|
||||
|
||||
const btnOutlineBase = "bg-transparent shadow-[inset_0_0_0_1px_currentColor] hover:shadow-[inset_0_0_0_2px_currentColor]"
|
||||
@@ -139,7 +139,7 @@ func iconSize(small bool) int {
|
||||
func ButtonLink(onClick func(), children ...*vdom.VNode) *vdom.VNode {
|
||||
mods := []vdom.Mod{
|
||||
vdom.Attr("type", "button"),
|
||||
vdom.Attr("class", "cursor-pointer bg-transparent border-none p-0 font-[inherit] text-sky-700 hover:underline"),
|
||||
vdom.Attr("class", "cursor-pointer bg-transparent border-none p-0 font-[inherit] text-sky-700 dark:text-sky-400 hover:underline"),
|
||||
}
|
||||
if onClick != nil {
|
||||
mods = append(mods, vdom.On(vdom.EVENT_CLICK, onClick))
|
||||
@@ -151,7 +151,7 @@ func ButtonLink(onClick func(), children ...*vdom.VNode) *vdom.VNode {
|
||||
func ButtonLinkRed(onClick func(), children ...*vdom.VNode) *vdom.VNode {
|
||||
mods := []vdom.Mod{
|
||||
vdom.Attr("type", "button"),
|
||||
vdom.Attr("class", "cursor-pointer bg-transparent border-none p-0 font-[inherit] text-red-600 hover:underline"),
|
||||
vdom.Attr("class", "cursor-pointer bg-transparent border-none p-0 font-[inherit] text-red-600 dark:text-red-400 hover:underline"),
|
||||
}
|
||||
if onClick != nil {
|
||||
mods = append(mods, vdom.On(vdom.EVENT_CLICK, onClick))
|
||||
@@ -174,10 +174,10 @@ func SegmentedButtons(options []SegmentedButtonOption, value string, onChange fu
|
||||
sizeCls = "py-0.5 px-2 text-xs"
|
||||
}
|
||||
const baseCls = "inline-flex items-center justify-center gap-1.5 flex-1 cursor-pointer font-medium transition-colors whitespace-nowrap disabled:opacity-50 disabled:cursor-not-allowed"
|
||||
const activeCls = "bg-white text-text-heading shadow-sm"
|
||||
const inactiveCls = "text-neutral-500 hover:text-neutral-700"
|
||||
const activeCls = "bg-surface text-text-heading shadow-sm"
|
||||
const inactiveCls = "text-ink-muted hover:text-ink-soft"
|
||||
|
||||
mods := []vdom.Mod{vdom.Attr("class", cx("flex items-center gap-0.5 rounded-md bg-neutral-100 p-0.5", class))}
|
||||
mods := []vdom.Mod{vdom.Attr("class", cx("flex items-center gap-0.5 rounded-md bg-surface-raised p-0.5", class))}
|
||||
for _, opt := range options {
|
||||
state := inactiveCls
|
||||
if opt.Value == value {
|
||||
@@ -201,7 +201,7 @@ func SegmentedButtons(options []SegmentedButtonOption, value string, onChange fu
|
||||
|
||||
// BackLink is an inline chevron-left anchor. onDark switches to on-dark colors.
|
||||
func BackLink(href, text string, onDark bool) *vdom.VNode {
|
||||
color := "text-neutral-600 hover:text-neutral-900"
|
||||
color := "text-ink-soft hover:text-ink"
|
||||
if onDark {
|
||||
color = "text-text-on-dark-muted hover:text-text-on-dark"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user