mirror of
https://github.com/kennethnym/aris.git
synced 2026-04-15 14:21:17 +01:00
fix: add .ona and drizzle to oxfmt ignore
oxfmt was reformatting generated drizzle migration snapshots and crashing on .ona/review/comments.json. Also runs the formatter across the full codebase. Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
@@ -55,44 +55,112 @@
|
||||
"fontFamily": "Inter",
|
||||
"fontDefinitions": [
|
||||
{ "path": "./assets/fonts/Inter_100Thin.ttf", "weight": 100 },
|
||||
{ "path": "./assets/fonts/Inter_100Thin_Italic.ttf", "weight": 100, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/Inter_100Thin_Italic.ttf",
|
||||
"weight": 100,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/Inter_200ExtraLight.ttf", "weight": 200 },
|
||||
{ "path": "./assets/fonts/Inter_200ExtraLight_Italic.ttf", "weight": 200, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/Inter_200ExtraLight_Italic.ttf",
|
||||
"weight": 200,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/Inter_300Light.ttf", "weight": 300 },
|
||||
{ "path": "./assets/fonts/Inter_300Light_Italic.ttf", "weight": 300, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/Inter_300Light_Italic.ttf",
|
||||
"weight": 300,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/Inter_400Regular.ttf", "weight": 400 },
|
||||
{ "path": "./assets/fonts/Inter_400Regular_Italic.ttf", "weight": 400, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/Inter_400Regular_Italic.ttf",
|
||||
"weight": 400,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/Inter_500Medium.ttf", "weight": 500 },
|
||||
{ "path": "./assets/fonts/Inter_500Medium_Italic.ttf", "weight": 500, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/Inter_500Medium_Italic.ttf",
|
||||
"weight": 500,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/Inter_600SemiBold.ttf", "weight": 600 },
|
||||
{ "path": "./assets/fonts/Inter_600SemiBold_Italic.ttf", "weight": 600, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/Inter_600SemiBold_Italic.ttf",
|
||||
"weight": 600,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/Inter_700Bold.ttf", "weight": 700 },
|
||||
{ "path": "./assets/fonts/Inter_700Bold_Italic.ttf", "weight": 700, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/Inter_700Bold_Italic.ttf",
|
||||
"weight": 700,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/Inter_800ExtraBold.ttf", "weight": 800 },
|
||||
{ "path": "./assets/fonts/Inter_800ExtraBold_Italic.ttf", "weight": 800, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/Inter_800ExtraBold_Italic.ttf",
|
||||
"weight": 800,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/Inter_900Black.ttf", "weight": 900 },
|
||||
{ "path": "./assets/fonts/Inter_900Black_Italic.ttf", "weight": 900, "style": "italic" }
|
||||
{
|
||||
"path": "./assets/fonts/Inter_900Black_Italic.ttf",
|
||||
"weight": 900,
|
||||
"style": "italic"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fontFamily": "Source Serif 4",
|
||||
"fontDefinitions": [
|
||||
{ "path": "./assets/fonts/SourceSerif4_200ExtraLight.ttf", "weight": 200 },
|
||||
{ "path": "./assets/fonts/SourceSerif4_200ExtraLight_Italic.ttf", "weight": 200, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/SourceSerif4_200ExtraLight_Italic.ttf",
|
||||
"weight": 200,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/SourceSerif4_300Light.ttf", "weight": 300 },
|
||||
{ "path": "./assets/fonts/SourceSerif4_300Light_Italic.ttf", "weight": 300, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/SourceSerif4_300Light_Italic.ttf",
|
||||
"weight": 300,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/SourceSerif4_400Regular.ttf", "weight": 400 },
|
||||
{ "path": "./assets/fonts/SourceSerif4_400Regular_Italic.ttf", "weight": 400, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/SourceSerif4_400Regular_Italic.ttf",
|
||||
"weight": 400,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/SourceSerif4_500Medium.ttf", "weight": 500 },
|
||||
{ "path": "./assets/fonts/SourceSerif4_500Medium_Italic.ttf", "weight": 500, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/SourceSerif4_500Medium_Italic.ttf",
|
||||
"weight": 500,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/SourceSerif4_600SemiBold.ttf", "weight": 600 },
|
||||
{ "path": "./assets/fonts/SourceSerif4_600SemiBold_Italic.ttf", "weight": 600, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/SourceSerif4_600SemiBold_Italic.ttf",
|
||||
"weight": 600,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/SourceSerif4_700Bold.ttf", "weight": 700 },
|
||||
{ "path": "./assets/fonts/SourceSerif4_700Bold_Italic.ttf", "weight": 700, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/SourceSerif4_700Bold_Italic.ttf",
|
||||
"weight": 700,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/SourceSerif4_800ExtraBold.ttf", "weight": 800 },
|
||||
{ "path": "./assets/fonts/SourceSerif4_800ExtraBold_Italic.ttf", "weight": 800, "style": "italic" },
|
||||
{
|
||||
"path": "./assets/fonts/SourceSerif4_800ExtraBold_Italic.ttf",
|
||||
"weight": 800,
|
||||
"style": "italic"
|
||||
},
|
||||
{ "path": "./assets/fonts/SourceSerif4_900Black.ttf", "weight": 900 },
|
||||
{ "path": "./assets/fonts/SourceSerif4_900Black_Italic.ttf", "weight": 900, "style": "italic" }
|
||||
{
|
||||
"path": "./assets/fonts/SourceSerif4_900Black_Italic.ttf",
|
||||
"weight": 900,
|
||||
"style": "italic"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -27,8 +27,8 @@ export class ApiClient {
|
||||
(prevInit, middleware) => middleware(url, prevInit),
|
||||
init,
|
||||
)
|
||||
return fetch(this.baseUrl ? new URL(url.toString(), this.baseUrl) : url, finalInit).then((res) =>
|
||||
Promise.all([Promise.resolve(res), res.json()]),
|
||||
return fetch(this.baseUrl ? new URL(url.toString(), this.baseUrl) : url, finalInit).then(
|
||||
(res) => Promise.all([Promise.resolve(res), res.json()]),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,13 +3,13 @@ import { useEffect } from "react"
|
||||
import { ScrollView, View } from "react-native"
|
||||
import tw from "twrnc"
|
||||
|
||||
import { type Showcase } from "@/components/showcase"
|
||||
import { buttonShowcase } from "@/components/ui/button.showcase"
|
||||
import { feedCardShowcase } from "@/components/ui/feed-card.showcase"
|
||||
import { monospaceTextShowcase } from "@/components/ui/monospace-text.showcase"
|
||||
import { SansSerifText } from "@/components/ui/sans-serif-text"
|
||||
import { sansSerifTextShowcase } from "@/components/ui/sans-serif-text.showcase"
|
||||
import { serifTextShowcase } from "@/components/ui/serif-text.showcase"
|
||||
import { type Showcase } from "@/components/showcase"
|
||||
import { SansSerifText } from "@/components/ui/sans-serif-text"
|
||||
|
||||
const showcases: Record<string, Showcase> = {
|
||||
button: buttonShowcase,
|
||||
@@ -41,7 +41,10 @@ export default function ComponentDetailScreen() {
|
||||
const ShowcaseComponent = showcase.component
|
||||
|
||||
return (
|
||||
<ScrollView style={tw`bg-stone-100 dark:bg-stone-900 flex-1`} contentContainerStyle={tw`px-5 pb-10 pt-4 gap-6`}>
|
||||
<ScrollView
|
||||
style={tw`bg-stone-100 dark:bg-stone-900 flex-1`}
|
||||
contentContainerStyle={tw`px-5 pb-10 pt-4 gap-6`}
|
||||
>
|
||||
<ShowcaseComponent />
|
||||
</ScrollView>
|
||||
)
|
||||
|
||||
@@ -15,7 +15,9 @@ const components = [
|
||||
export default function ComponentsScreen() {
|
||||
return (
|
||||
<View style={tw`flex-1`}>
|
||||
<View style={tw`mx-4 mt-4 rounded-xl border border-stone-200 dark:border-stone-800 overflow-hidden`}>
|
||||
<View
|
||||
style={tw`mx-4 mt-4 rounded-xl border border-stone-200 dark:border-stone-800 overflow-hidden`}
|
||||
>
|
||||
<FlatList
|
||||
data={components}
|
||||
keyExtractor={(item) => item.name}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { View } from "react-native"
|
||||
import tw from "twrnc"
|
||||
|
||||
import { Button } from "./button"
|
||||
import { type Showcase, Section } from "../showcase"
|
||||
import { Button } from "./button"
|
||||
|
||||
function ButtonShowcase() {
|
||||
return (
|
||||
@@ -11,11 +11,7 @@ function ButtonShowcase() {
|
||||
<Button style={tw`self-start`} label="Press me" />
|
||||
</Section>
|
||||
<Section title="Leading icon">
|
||||
<Button
|
||||
style={tw`self-start`}
|
||||
label="Add item"
|
||||
leadingIcon={<Button.Icon name="plus" />}
|
||||
/>
|
||||
<Button style={tw`self-start`} label="Add item" leadingIcon={<Button.Icon name="plus" />} />
|
||||
</Section>
|
||||
<Section title="Trailing icon">
|
||||
<Button
|
||||
|
||||
@@ -23,7 +23,11 @@ type ButtonProps = Omit<PressableProps, "children"> & {
|
||||
export function Button({ style, label, leadingIcon, trailingIcon, ...props }: ButtonProps) {
|
||||
const hasIcons = leadingIcon != null || trailingIcon != null
|
||||
|
||||
const textElement = <SansSerifText style={tw`text-stone-100 dark:text-stone-200 font-medium`}>{label}</SansSerifText>
|
||||
const textElement = (
|
||||
<SansSerifText style={tw`text-stone-100 dark:text-stone-200 font-medium`}>
|
||||
{label}
|
||||
</SansSerifText>
|
||||
)
|
||||
|
||||
return (
|
||||
<Pressable style={[tw`rounded-full bg-teal-600 px-4 py-3 w-fit`, style]} {...props}>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { View } from "react-native"
|
||||
import tw from "twrnc"
|
||||
|
||||
import { type Showcase, Section } from "../showcase"
|
||||
import { Button } from "./button"
|
||||
import { FeedCard } from "./feed-card"
|
||||
import { SansSerifText } from "./sans-serif-text"
|
||||
import { SerifText } from "./serif-text"
|
||||
import { type Showcase, Section } from "../showcase"
|
||||
|
||||
function FeedCardShowcase() {
|
||||
return (
|
||||
|
||||
@@ -2,5 +2,10 @@ import { View, type ViewProps } from "react-native"
|
||||
import tw from "twrnc"
|
||||
|
||||
export function FeedCard({ style, ...props }: ViewProps) {
|
||||
return <View style={[tw`border border-stone-200 dark:border-stone-800 rounded-lg`, style]} {...props} />
|
||||
return (
|
||||
<View
|
||||
style={[tw`border border-stone-200 dark:border-stone-800 rounded-lg`, style]}
|
||||
{...props}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { View } from "react-native"
|
||||
import tw from "twrnc"
|
||||
|
||||
import { MonospaceText } from "./monospace-text"
|
||||
import { type Showcase, Section } from "../showcase"
|
||||
import { MonospaceText } from "./monospace-text"
|
||||
|
||||
function MonospaceTextShowcase() {
|
||||
return (
|
||||
|
||||
@@ -3,7 +3,10 @@ import tw from "twrnc"
|
||||
|
||||
export function MonospaceText({ children, style, ...props }: TextProps) {
|
||||
return (
|
||||
<Text style={[tw`text-stone-800 dark:text-stone-200`, { fontFamily: "Menlo" }, style]} {...props}>
|
||||
<Text
|
||||
style={[tw`text-stone-800 dark:text-stone-200`, { fontFamily: "Menlo" }, style]}
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</Text>
|
||||
)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { View } from "react-native"
|
||||
import tw from "twrnc"
|
||||
|
||||
import { SansSerifText } from "./sans-serif-text"
|
||||
import { type Showcase, Section } from "../showcase"
|
||||
import { SansSerifText } from "./sans-serif-text"
|
||||
|
||||
function SansSerifTextShowcase() {
|
||||
return (
|
||||
|
||||
@@ -3,7 +3,10 @@ import tw from "twrnc"
|
||||
|
||||
export function SansSerifText({ children, style, ...props }: TextProps) {
|
||||
return (
|
||||
<Text style={[tw`text-stone-800 dark:text-stone-200`, { fontFamily: "Inter" }, style]} {...props}>
|
||||
<Text
|
||||
style={[tw`text-stone-800 dark:text-stone-200`, { fontFamily: "Inter" }, style]}
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</Text>
|
||||
)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { View } from "react-native"
|
||||
import tw from "twrnc"
|
||||
|
||||
import { SerifText } from "./serif-text"
|
||||
import { type Showcase, Section } from "../showcase"
|
||||
import { SerifText } from "./serif-text"
|
||||
|
||||
function SerifTextShowcase() {
|
||||
return (
|
||||
|
||||
@@ -3,7 +3,10 @@ import tw from "twrnc"
|
||||
|
||||
export function SerifText({ children, style, ...props }: TextProps) {
|
||||
return (
|
||||
<Text style={[tw`text-stone-800 dark:text-stone-200`, { fontFamily: "Source Serif 4" }, style]} {...props}>
|
||||
<Text
|
||||
style={[tw`text-stone-800 dark:text-stone-200`, { fontFamily: "Source Serif 4" }, style]}
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</Text>
|
||||
)
|
||||
|
||||
@@ -30,7 +30,8 @@ export const catalog = defineCatalog(schema, {
|
||||
style: z.string().nullable(),
|
||||
}),
|
||||
slots: ["default"],
|
||||
description: "Bordered card container for feed content. The style prop accepts a twrnc class string.",
|
||||
description:
|
||||
"Bordered card container for feed content. The style prop accepts a twrnc class string.",
|
||||
example: { style: "p-4 gap-2" },
|
||||
},
|
||||
SansSerifText: {
|
||||
|
||||
@@ -14,12 +14,20 @@ type ButtonIconName = React.ComponentProps<typeof Button.Icon>["name"]
|
||||
|
||||
export const { registry } = defineRegistry(catalog, {
|
||||
components: {
|
||||
View: ({ props, children }) => <View style={props.style ? tw`${props.style}` : undefined}>{children}</View>,
|
||||
View: ({ props, children }) => (
|
||||
<View style={props.style ? tw`${props.style}` : undefined}>{children}</View>
|
||||
),
|
||||
Button: ({ props, emit }) => (
|
||||
<Button
|
||||
label={props.label}
|
||||
leadingIcon={props.leadingIcon ? <Button.Icon name={props.leadingIcon as ButtonIconName} /> : undefined}
|
||||
trailingIcon={props.trailingIcon ? <Button.Icon name={props.trailingIcon as ButtonIconName} /> : undefined}
|
||||
leadingIcon={
|
||||
props.leadingIcon ? <Button.Icon name={props.leadingIcon as ButtonIconName} /> : undefined
|
||||
}
|
||||
trailingIcon={
|
||||
props.trailingIcon ? (
|
||||
<Button.Icon name={props.trailingIcon as ButtonIconName} />
|
||||
) : undefined
|
||||
}
|
||||
onPress={() => emit("press")}
|
||||
/>
|
||||
),
|
||||
@@ -27,13 +35,17 @@ export const { registry } = defineRegistry(catalog, {
|
||||
<FeedCard style={props.style ? tw`${props.style}` : undefined}>{children}</FeedCard>
|
||||
),
|
||||
SansSerifText: ({ props }) => (
|
||||
<SansSerifText style={props.style ? tw`${props.style}` : undefined}>{props.text}</SansSerifText>
|
||||
<SansSerifText style={props.style ? tw`${props.style}` : undefined}>
|
||||
{props.text}
|
||||
</SansSerifText>
|
||||
),
|
||||
SerifText: ({ props }) => (
|
||||
<SerifText style={props.style ? tw`${props.style}` : undefined}>{props.text}</SerifText>
|
||||
),
|
||||
MonospaceText: ({ props }) => (
|
||||
<MonospaceText style={props.style ? tw`${props.style}` : undefined}>{props.text}</MonospaceText>
|
||||
<MonospaceText style={props.style ? tw`${props.style}` : undefined}>
|
||||
{props.text}
|
||||
</MonospaceText>
|
||||
),
|
||||
},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user