feat(client): add component library and simplify routing (#66)
* feat(client): add component library and simplify routing
Remove tab layout, explore page, modal, and unused template
components. Replace with single-page layout and a dev component
showcase with per-component detail pages.
- Add Button with label prop, leading/trailing icon support
- Add FeedCard, SerifText, SansSerifText, MonospaceText
- Add colocated *.showcase.tsx files for each component
- Use Stack navigator with themed headers
Co-authored-by: Ona <no-reply@ona.com>
* fix(client): render showcase as JSX component
Co-authored-by: Ona <no-reply@ona.com>
* chore(client): remove dead code chain
Remove ThemedText, useThemeColor, useColorScheme hook,
Colors, and Fonts — none referenced by current screens.
Co-authored-by: Ona <no-reply@ona.com>
---------
Co-authored-by: Ona <no-reply@ona.com>
2026-03-13 00:23:06 +00:00
|
|
|
import { View } from "react-native"
|
|
|
|
|
import tw from "twrnc"
|
|
|
|
|
|
|
|
|
|
import { Button } from "./button"
|
|
|
|
|
import { type Showcase, Section } from "../showcase"
|
|
|
|
|
|
|
|
|
|
function ButtonShowcase() {
|
|
|
|
|
return (
|
|
|
|
|
<View style={tw`gap-6`}>
|
|
|
|
|
<Section title="Default">
|
|
|
|
|
<Button style={tw`self-start`} label="Press me" />
|
|
|
|
|
</Section>
|
|
|
|
|
<Section title="Leading icon">
|
|
|
|
|
<Button
|
|
|
|
|
style={tw`self-start`}
|
|
|
|
|
label="Add item"
|
2026-03-14 00:39:59 +00:00
|
|
|
leadingIcon={<Button.Icon name="plus" />}
|
feat(client): add component library and simplify routing (#66)
* feat(client): add component library and simplify routing
Remove tab layout, explore page, modal, and unused template
components. Replace with single-page layout and a dev component
showcase with per-component detail pages.
- Add Button with label prop, leading/trailing icon support
- Add FeedCard, SerifText, SansSerifText, MonospaceText
- Add colocated *.showcase.tsx files for each component
- Use Stack navigator with themed headers
Co-authored-by: Ona <no-reply@ona.com>
* fix(client): render showcase as JSX component
Co-authored-by: Ona <no-reply@ona.com>
* chore(client): remove dead code chain
Remove ThemedText, useThemeColor, useColorScheme hook,
Colors, and Fonts — none referenced by current screens.
Co-authored-by: Ona <no-reply@ona.com>
---------
Co-authored-by: Ona <no-reply@ona.com>
2026-03-13 00:23:06 +00:00
|
|
|
/>
|
|
|
|
|
</Section>
|
|
|
|
|
<Section title="Trailing icon">
|
|
|
|
|
<Button
|
|
|
|
|
style={tw`self-start`}
|
|
|
|
|
label="Next"
|
2026-03-14 00:39:59 +00:00
|
|
|
trailingIcon={<Button.Icon name="arrow-right" />}
|
feat(client): add component library and simplify routing (#66)
* feat(client): add component library and simplify routing
Remove tab layout, explore page, modal, and unused template
components. Replace with single-page layout and a dev component
showcase with per-component detail pages.
- Add Button with label prop, leading/trailing icon support
- Add FeedCard, SerifText, SansSerifText, MonospaceText
- Add colocated *.showcase.tsx files for each component
- Use Stack navigator with themed headers
Co-authored-by: Ona <no-reply@ona.com>
* fix(client): render showcase as JSX component
Co-authored-by: Ona <no-reply@ona.com>
* chore(client): remove dead code chain
Remove ThemedText, useThemeColor, useColorScheme hook,
Colors, and Fonts — none referenced by current screens.
Co-authored-by: Ona <no-reply@ona.com>
---------
Co-authored-by: Ona <no-reply@ona.com>
2026-03-13 00:23:06 +00:00
|
|
|
/>
|
|
|
|
|
</Section>
|
|
|
|
|
<Section title="Both icons">
|
|
|
|
|
<Button
|
|
|
|
|
style={tw`self-start`}
|
|
|
|
|
label="Download"
|
2026-03-14 00:39:59 +00:00
|
|
|
leadingIcon={<Button.Icon name="download" />}
|
|
|
|
|
trailingIcon={<Button.Icon name="chevron-down" />}
|
feat(client): add component library and simplify routing (#66)
* feat(client): add component library and simplify routing
Remove tab layout, explore page, modal, and unused template
components. Replace with single-page layout and a dev component
showcase with per-component detail pages.
- Add Button with label prop, leading/trailing icon support
- Add FeedCard, SerifText, SansSerifText, MonospaceText
- Add colocated *.showcase.tsx files for each component
- Use Stack navigator with themed headers
Co-authored-by: Ona <no-reply@ona.com>
* fix(client): render showcase as JSX component
Co-authored-by: Ona <no-reply@ona.com>
* chore(client): remove dead code chain
Remove ThemedText, useThemeColor, useColorScheme hook,
Colors, and Fonts — none referenced by current screens.
Co-authored-by: Ona <no-reply@ona.com>
---------
Co-authored-by: Ona <no-reply@ona.com>
2026-03-13 00:23:06 +00:00
|
|
|
/>
|
|
|
|
|
</Section>
|
|
|
|
|
</View>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const buttonShowcase: Showcase = {
|
|
|
|
|
title: "Button",
|
|
|
|
|
component: ButtonShowcase,
|
|
|
|
|
}
|