Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
619fd60
feat(ui): migrate Avatar, SegmentedControl, Text, Button off nativewi…
mikib0 Jul 21, 2026
eaa4ddc
feat(ui): migrate remaining Text/Button call sites off nativewindui
mikib0 Jul 21, 2026
322b7f9
fix(ui): Text needs explicit wrap prop, default shrink-wrap broke badges
mikib0 Jul 22, 2026
5f7da06
feat(ui): migrate ActivityIndicator; fix more missing wrap on prose Text
mikib0 Jul 22, 2026
3afcf56
feat(ui): migrate Checkbox; fix Text wrap losing available width
mikib0 Jul 22, 2026
1fa0424
fix(ui): Button collapses when nesting a migrated Text child
mikib0 Jul 22, 2026
8221bed
feat(ui): migrate Card off nativewindui
mikib0 Jul 22, 2026
5408e13
feat(ui): migrate Toggle off nativewindui
mikib0 Jul 22, 2026
284dcc9
feat(ui): migrate List/ListItem/ListSectionHeader off nativewindui
mikib0 Jul 22, 2026
0ab8c29
feat(ui): migrate TextField off nativewindui
mikib0 Jul 22, 2026
ffb0d42
feat(ui): migrate Sheet/useSheetRef off nativewindui
mikib0 Jul 22, 2026
a498422
feat(ui): migrate Form/FormSection/FormItem off nativewindui, complet…
mikib0 Jul 22, 2026
81dba80
feat(ui): migrate Alert/AlertAnchor off nativewindui
mikib0 Jul 22, 2026
bf29ba5
feat(ui): migrate ContextMenu/DropdownMenu off nativewindui
mikib0 Jul 22, 2026
f5eb556
feat(ui): migrate Toolbar/ToolbarCTA/ToolbarIcon off nativewindui, cl…
mikib0 Jul 22, 2026
2641d9a
feat(ui): migrate SearchInput off nativewindui, close the component t…
mikib0 Jul 22, 2026
1c50064
chore(ui): clean up dead AlertMethods/ButtonProps re-exports in migra…
mikib0 Jul 22, 2026
65fa90a
feat(ui): migrate remaining Text/Button call sites, narrow nativewind…
mikib0 Jul 22, 2026
50ba5e0
feat(ui): remove @packrat-ai/nativewindui entirely, complete the migr…
mikib0 Jul 22, 2026
6ff1f2d
fix(ui): SearchInput iOS Cancel button gap after @expo/ui Text migration
mikib0 Jul 29, 2026
05e7c07
chore(ui): replace raw typeof checks with @packrat/guards narrows
mikib0 Jul 29, 2026
22c6a27
Merge remote-tracking branch 'origin/development' into development
mikib0 Jul 29, 2026
9d9724e
chore(ui): replace unsafe type casts with guards/narrows, fix check:c…
mikib0 Jul 29, 2026
022f1d6
docs(deps): remove stale @packrat-ai/nativewindui override registry e…
mikib0 Jul 29, 2026
e62b159
chore(ui): use object params for owned functions, fix CI max-params gate
mikib0 Jul 29, 2026
5510619
fix(expo): finish migrating 3 files off @packrat/ui/nativewindui
mikib0 Jul 29, 2026
30e3b08
fix(ui): type nativeEvent in context/dropdown menu iOS onPressMenuItem
mikib0 Jul 29, 2026
ddfb85e
fix(ui): drop @expo/ui Host from Text/Button, fix layout regressions
mikib0 Aug 2, 2026
03be720
fix(ui): apply Button size/press styles via className, not a dropped …
mikib0 Aug 3, 2026
65cd1a4
fix(ui): tint SegmentedControl with the app's primary instead of the …
mikib0 Aug 3, 2026
6d8926b
docs(migration): record the second Android A/B pass and its three fin…
mikib0 Aug 3, 2026
081bf4d
fix(ui): don't let a foreign-platform class suppress Text's own colour
mikib0 Aug 3, 2026
31d6cb5
docs(migration): record the invisible-label bug and the right metric …
mikib0 Aug 3, 2026
70cbaf8
spike(expo-ui): reimplement Settings "Display Units" natively, both p…
mikib0 Aug 3, 2026
edd73c1
spike(expo-ui): verify the SwiftUI half on simulator, label rows via …
mikib0 Aug 3, 2026
1d6ffc3
feat(ui): make Toggle a native @expo/ui control on both platforms
mikib0 Aug 4, 2026
a54e89f
docs(migration): first Android A/B in the rig — Toggle passes, a11y r…
mikib0 Aug 4, 2026
0874b0e
fix(ui): forward testID on Toggle so the native control has a11y sema…
mikib0 Aug 4, 2026
86adb55
docs(migration): correct the "containers cannot be migrated" claim
mikib0 Aug 4, 2026
6d4a9ea
chore(deps): upgrade to Expo SDK 57 (@expo/ui 57.0.9, RN 0.86.2)
mikib0 Aug 4, 2026
a478594
feat(ui): replace @gorhom/bottom-sheet with the native @expo/ui sheet
mikib0 Aug 4, 2026
ad9c005
feat(expo): swap datetimepicker, picker and masked-view for @expo/ui …
mikib0 Aug 4, 2026
95b8eec
feat(ui): Checkbox → Material 3 native on Android; document TextField…
mikib0 Aug 4, 2026
573897a
docs(migration): containers can't migrate — layout, not touch events
mikib0 Aug 4, 2026
f6a15e6
docs(ui): correct the migration ledger's stale entries
mikib0 Aug 4, 2026
897ff3a
fix(ui): restore tap-to-dismiss on sheets, lost in the @gorhom swap
mikib0 Aug 4, 2026
5d77d7d
docs(migration): correct the Card blocker — the 56-era explanation wa…
mikib0 Aug 4, 2026
a84d02d
docs(migration): probe every remaining container; AlertDialog is the …
mikib0 Aug 4, 2026
d3bb227
feat(ui): Alert → Material 3 AlertDialog on Android
mikib0 Aug 4, 2026
a564d15
docs(migration): assess community/menu for DropdownMenu/ContextMenu
mikib0 Aug 4, 2026
c88b0ea
docs(migration): probe MenuView on-device; check Form/Toolbar against…
mikib0 Aug 4, 2026
6655a7a
docs(migration): build DropdownMenu on MenuView, revert on the trigge…
mikib0 Aug 4, 2026
5873723
docs(migration): the "RNHostView loses styling" blocker was a rig defect
mikib0 Aug 4, 2026
9eef92e
docs(migration): Card attempt three — a11y nodes solved, surface stil…
mikib0 Aug 4, 2026
02e5b84
feat(ui): Card → Material 3 native on Android (fourth attempt, solved)
mikib0 Aug 4, 2026
ba79dd2
docs(migration): DropdownMenu via the low-level primitive — one defec…
mikib0 Aug 4, 2026
c6a1adc
docs(migration): pin down the DropdownMenu blocker as an upstream defect
mikib0 Aug 4, 2026
e7d37be
docs(migration): narrow the DropdownMenu defect, discard two wrong th…
mikib0 Aug 4, 2026
ec5bead
feat(ui): DropdownMenu → Material 3 native on Android
mikib0 Aug 4, 2026
8b71d30
docs(migration): ContextMenu has nothing to migrate on Android
mikib0 Aug 4, 2026
317099f
docs: beta tester handoff for the native Android controls build
mikib0 Aug 5, 2026
25a0cf3
fix(profile): make the auth walls scrollable — Sign In was unreachable
mikib0 Aug 5, 2026
428fe72
docs(migration): retest Text/Button on SDK 57 — Button stays RN, narr…
mikib0 Aug 5, 2026
2c72348
docs(migration): correct the Button retest — full width was never blo…
mikib0 Aug 5, 2026
7ec35c6
docs(migration): Button/Text blocked by Host lacking ref + ViewProps,…
mikib0 Aug 5, 2026
def159e
docs(migration): correct the Host a11y claim — modifiers exist, Andro…
mikib0 Aug 5, 2026
523fbbe
docs(qa): move the tester guide into docs/qa with a conventional name
mikib0 Aug 5, 2026
0145d1c
docs(qa): rewrite the tester guide to drop the AI-writing tells
mikib0 Aug 5, 2026
a85f2d9
docs(qa): tighten the tester guide
mikib0 Aug 5, 2026
3b4a913
fix(deps): finish the SDK 57 upgrade — expo-sqlite and a duplicate @e…
mikib0 Aug 5, 2026
11498ef
fix(ui): remove Button's variant casts in favour of a total lookup map
mikib0 Aug 5, 2026
720ba4c
docs(qa): cover iOS in the tester guide
mikib0 Aug 6, 2026
9e3779b
docs(migration): Button needs two upstream changes, not one
mikib0 Aug 6, 2026
8cd14fb
docs(migration): iOS device verification pass — all changed surfaces …
mikib0 Aug 6, 2026
d25af2d
docs(migration): verify Android AlertDialog on-device, correct an iOS…
mikib0 Aug 6, 2026
77648fe
docs(qa): polish the beta test plan intro and the Android-priority ra…
mikib0 Aug 6, 2026
49336e2
docs(qa): fix an overclaim in the intro, cut the Android rationale ba…
mikib0 Aug 6, 2026
e68050f
docs(qa): clarify language in beta tester guide and update testing pr…
mikib0 Aug 6, 2026
388c142
Merge branch 'development' into feat/expo-ui-migration-sdk57
mikib0 Aug 7, 2026
71a852e
fix(ui): give withAlpha a single object param to satisfy no-owned-max…
mikib0 Aug 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 0 additions & 85 deletions .github/scripts/configure-deps.ts

This file was deleted.

7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,10 @@ apps/swift/Generated/

# portless (local-dev proxy; state lives in ~/.portless, this is defensive)
.portless/

# Defensive: `bun expo <subcommand>` (e.g. `bun expo prebuild`) resolves to the expo binary
# directly instead of the root "expo" script when extra args are passed, running from repo
# root instead of apps/expo — generates a stray Xcode project here. Always cd into apps/expo
# (or use `bun ios`/`bun android`) instead of `bun expo <subcommand>`.
/ios/
/android/
53 changes: 1 addition & 52 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Bun workspace monorepo with three apps and two packages:
| `apps/guides` | Next.js 15 / React 19 / Radix UI / Shadcn | Content/guides site |
| `apps/landing` | Next.js 15 / React 19 / Framer Motion | Marketing site |
| `packages/api` | Elysia on Cloudflare Workers / Drizzle ORM / Neon PostgreSQL | Backend API |
| `packages/ui` | Re-exports from `@packrat-ai/nativewindui` | Shared UI components |
| `packages/ui` | `@expo/ui` wrappers + plain RN components | Shared UI components |

### Infrastructure

Expand Down Expand Up @@ -213,55 +213,6 @@ export const apiClient = createApiClient({
- Call via Treaty path syntax: `apiClient.auth.login.post(...)`, `apiClient.trails.search.get({ query: { q } })`
- Responses are `{ data, error, status }` — check `if (error || !data)` before using `data`

## Private Package Auth

`@packrat-ai/nativewindui` is hosted on GitHub Packages. `bunfig.toml` resolves the scope using `$PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN`. Bun auto-loads `.env.local` before running `install`, so the simplest setup is to put the token there alongside your other secrets.

### One-time GitHub CLI setup

```bash
gh auth login
gh auth refresh -h github.com -s read:packages # write:packages also works
```

### Preferred: add the token to `.env.local`

Append to the repo-root `.env.local` (gitignored):

```bash
PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN=<token from `gh auth token`>
```

Then `bun install` just works — Bun picks it up automatically.

### Alternative: export in shell

Useful in ephemeral shells or when you don't keep a `.env.local`:

```bash
# Inline
export PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN=$(gh auth token)
bun install

# One-liner
PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN=$(gh auth token) bun install
```

The `preinstall` hook cannot inject env vars into the parent `bun install` process (Bun has already parsed `bunfig.toml`), so if neither `.env.local` nor a shell export has the token, install will 401.

### CI / environments without `gh`

Set the env var directly from secrets:

```bash
PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN=<personal access token with read:packages>
```

### Troubleshooting

- **401 on `@packrat-ai/nativewindui`**: Token is missing from both `.env.local` and your shell, or lacks `read:packages`. Check `.env.local` first.
- The `preinstall` hook (`bun run configure:deps`) only *validates* that the token is visible to the install process — it doesn't inject it.

## Path Aliases

Defined in root `tsconfig.json`:
Expand Down Expand Up @@ -305,9 +256,7 @@ If you find a migration in the repo that was hand-written (no `drizzle-kit` prov

## Common Issues

- **401 on `bun install`**: Missing `PACKRAT_NATIVEWIND_UI_GITHUB_TOKEN` — see Private Package Auth above
- **Next.js build failures**: `apps/guides` and `apps/landing` may fail without internet (fetches remote data)
- **Type errors after NativeWindUI update**: Check for renamed refs — v2.0.0 renamed `AlertRef` → `AlertMethods`, `LargeTitleSearchBarRef` → `LargeTitleSearchBarMethods`
- **Bun install hangs**: Normal — takes 120+ seconds. Never cancel mid-install.

## Documented Solutions
Expand Down
1 change: 0 additions & 1 deletion apps/expo/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,6 @@ export default (): ExpoConfig =>
'react-native-maps',
{ iosGoogleMapsApiKey: process.env.EXPO_PUBLIC_GOOGLE_MAPS_API_KEY },
],
'@react-native-community/datetimepicker',
'@sentry/react-native',
'expo-status-bar',
['expo-splash-screen', { image: './assets/splash.png' }],
Expand Down
6 changes: 3 additions & 3 deletions apps/expo/app/(app)/(tabs)/(home)/index.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
'use client';

import type { BottomSheetModal } from '@gorhom/bottom-sheet';
import type { BottomSheetModal } from '@expo/ui/community/bottom-sheet';
import { arrayIncludes, assertIsString, objectKeys } from '@packrat/guards';
import type { ListDataItem } from '@packrat/ui/nativewindui';
import { List, type ListRenderItemInfo, ListSectionHeader } from '@packrat/ui/nativewindui';
import { getAppBarOptions } from '@packrat/ui/src/app-bar';
import type { ListDataItem } from '@packrat/ui/src/list';
import { List, type ListRenderItemInfo, ListSectionHeader } from '@packrat/ui/src/list';
import { SearchOverlay } from '@packrat/ui/src/search-overlay';
import { AndroidTabBarInsetFix } from 'expo-app/components/AndroidTabBarInsetFix';
import { Icon } from 'expo-app/components/Icon';
Expand Down
18 changes: 6 additions & 12 deletions apps/expo/app/(app)/(tabs)/profile/index.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
import { clientEnvs } from '@packrat/env/expo-client';
import { isRemoteUrl, isString } from '@packrat/guards';
import {
ActivityIndicator,
Avatar,
AvatarFallback,
Button,
List,
ListItem,
type ListRenderItemInfo,
ListSectionHeader,
Text,
} from '@packrat/ui/nativewindui';
import { getAppBarOptions } from '@packrat/ui/src/app-bar';
import { Avatar, AvatarFallback } from '@packrat/ui/src/avatar';
import { Button } from '@packrat/ui/src/button';
import { List, ListItem, type ListRenderItemInfo, ListSectionHeader } from '@packrat/ui/src/list';
import { ActivityIndicator } from '@packrat/ui/src/loading-indicator';
import { Text } from '@packrat/ui/src/text';
import * as Sentry from '@sentry/react-native';
import { AndroidTabBarInsetFix } from 'expo-app/components/AndroidTabBarInsetFix';
import { Icon } from 'expo-app/components/Icon';
Expand Down Expand Up @@ -49,7 +43,7 @@ function SettingsIcon() {
const { colors } = useColorScheme();
return (
<Link href="/settings" asChild>
<Pressable className="opacity-80">
<Pressable testID={testIds.profile.settingsBtn} className="opacity-80">
{({ pressed }) => (
<View className={cn(pressed ? 'opacity-50' : 'opacity-90')}>
<Icon name="cog-outline" color={colors.foreground} />
Expand Down
5 changes: 4 additions & 1 deletion apps/expo/app/(app)/(tabs)/profile/name.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import { Button, Form, FormItem, FormSection, Text, TextField } from '@packrat/ui/nativewindui';
import { Button } from '@packrat/ui/src/button';
import { Form, FormItem, FormSection } from '@packrat/ui/src/form';
import { IosTransparentHeaderOverlapFix } from '@packrat/ui/src/ios-transparent-header-overlap-fix';
import { Text } from '@packrat/ui/src/text';
import { TextField } from '@packrat/ui/src/text-field';
import { useUser } from 'expo-app/features/auth/hooks/useUser';
import { useUpdateProfile } from 'expo-app/features/profile/hooks/useUpdateProfile';
import { cn } from 'expo-app/lib/cn';
Expand Down
7 changes: 5 additions & 2 deletions apps/expo/app/(app)/(tabs)/profile/notifications.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import { Button, Form, FormItem, FormSection, Text, Toggle } from '@packrat/ui/nativewindui';
import { Button } from '@packrat/ui/src/button';
import { Form, FormItem, FormSection } from '@packrat/ui/src/form';
import { Text } from '@packrat/ui/src/text';
import { Toggle } from '@packrat/ui/src/toggle';
import { Icon } from 'expo-app/components/Icon';
import { cn } from 'expo-app/lib/cn';
import { useTranslation } from 'expo-app/lib/hooks/useTranslation';
Expand Down Expand Up @@ -79,7 +82,7 @@ export default function NotificationsScreen() {
</View>
<View className="flex-1">
<Text className="font-medium">{t('profile.weatherAlerts')}</Text>
<Text variant="caption1" className="text-muted-foreground">
<Text variant="caption1" className="text-muted-foreground" wrap>
{t('profile.weatherAlertsNotif')}
</Text>
</View>
Expand Down
5 changes: 4 additions & 1 deletion apps/expo/app/(app)/(tabs)/profile/username.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import { Button, Form, FormItem, FormSection, Text, TextField } from '@packrat/ui/nativewindui';
import { Button } from '@packrat/ui/src/button';
import { Form, FormItem, FormSection } from '@packrat/ui/src/form';
import { Text } from '@packrat/ui/src/text';
import { TextField } from '@packrat/ui/src/text-field';
import { cn } from 'expo-app/lib/cn';
import { useTranslation } from 'expo-app/lib/hooks/useTranslation';
import { router, Stack } from 'expo-router';
Expand Down
2 changes: 1 addition & 1 deletion apps/expo/app/(app)/_layout.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { use$ } from '@legendapp/state/react';
import { ActivityIndicator } from '@packrat/ui/nativewindui';
import { ActivityIndicator } from '@packrat/ui/src/loading-indicator';
import { ThemeToggle } from 'expo-app/components/ThemeToggle';
import {
isLoadingAtom,
Expand Down
4 changes: 3 additions & 1 deletion apps/expo/app/(app)/ai-chat.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { type UIMessage, useChat } from '@ai-sdk/react';
import { clientEnvs } from '@packrat/env/expo-client';
import { ActivityIndicator, Button, Text } from '@packrat/ui/nativewindui';
import { Button } from '@packrat/ui/src/button';
import { ActivityIndicator } from '@packrat/ui/src/loading-indicator';
import { Text } from '@packrat/ui/src/text';
import {
DefaultChatTransport,
lastAssistantMessageIsCompleteWithToolCalls,
Expand Down
5 changes: 3 additions & 2 deletions apps/expo/app/(app)/current-pack/[id].tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { Avatar, AvatarFallback, AvatarImage, Text } from '@packrat/ui/nativewindui';
import { getAppBarOptions } from '@packrat/ui/src/app-bar';
import { Avatar, AvatarFallback, AvatarImage } from '@packrat/ui/src/avatar';
import { Text } from '@packrat/ui/src/text';
import { parseWeightUnit } from '@packrat/units';
import { useWeightUnit } from 'expo-app/features/auth/hooks/useWeightUnit';
import { usePackDetailsFromStore } from 'expo-app/features/packs/hooks/usePackDetailsFromStore';
Expand Down Expand Up @@ -76,7 +77,7 @@ function CategoryItem({ category, index }: { category: CategorySummary; index: n
className="h-6 w-6 items-center justify-center rounded-full"
style={{ backgroundColor: colors.grey4 }}
>
<Text variant="caption2" style={{ color: colors.grey }}>
<Text variant="caption2" textColor={colors.grey}>
{category.items}
</Text>
</View>
Expand Down
27 changes: 13 additions & 14 deletions apps/expo/app/(app)/demo/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { Button, Text } from '@packrat/ui/nativewindui';
import { getAppBarOptions } from '@packrat/ui/src/app-bar';
import { Button } from '@packrat/ui/src/button';
import { SelectableText } from '@packrat/ui/src/selectable-text';
import { Text } from '@packrat/ui/src/text';
import { FlashList } from '@shopify/flash-list';
import { Card } from 'expo-app/components/Card';
import { Icon } from 'expo-app/components/Icon';
Expand All @@ -11,7 +13,7 @@ import { useHeaderHeight } from 'expo-router/react-navigation';
import { cssInterop } from 'nativewind';
import type * as React from 'react';
import { useState } from 'react';
import { Linking, useWindowDimensions, View } from 'react-native';
import { Linking, Pressable, useWindowDimensions, View } from 'react-native';
import { useSafeAreaInsets } from 'react-native-safe-area-context';

cssInterop(FlashList, {
Expand Down Expand Up @@ -74,17 +76,14 @@ function ListEmptyComponent() {
<Text variant="title3" className="pb-1 text-center font-semibold">
No Components Installed
</Text>
<Text color="tertiary" variant="subhead" className="pb-4 text-center">
You can install any of the free components from the{' '}
<Text
onPress={() => Linking.openURL('https://nativewindui.com')}
variant="subhead"
className="text-primary"
>
NativeWindUI
</Text>
{' website.'}
<Text color="tertiary" variant="subhead" className="pb-1 text-center" wrap>
You can install any of the free components from the NativeWindUI website.
</Text>
<Pressable onPress={() => Linking.openURL('https://nativewindui.com')}>
<Text variant="subhead" className="text-primary pb-4 text-center">
nativewindui.com
</Text>
</Pressable>
</View>
);
}
Expand Down Expand Up @@ -213,9 +212,9 @@ const COMPONENTS: ComponentItem[] = [
name: 'Selectable Text',
component: function SelectableTextExample() {
return (
<Text uiTextView selectable>
<SelectableText uiTextView selectable>
Long press or double press this text
</Text>
</SelectableText>
);
},
},
Expand Down
2 changes: 1 addition & 1 deletion apps/expo/app/(app)/dev/paywall-state.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { isInEarlyAccess, PACKRAT_PRO_ENTITLEMENT } from '@packrat/config';
import { Text } from '@packrat/ui/nativewindui';
import { Text } from '@packrat/ui/src/text';
import { useConnectivity } from 'expo-app/features/purchases/hooks/useConnectivity';
import { useCustomerInfo } from 'expo-app/features/purchases/hooks/useCustomerInfo';
import { useFeatureAccessConfig } from 'expo-app/features/purchases/hooks/useFeatureAccess';
Expand Down
2 changes: 1 addition & 1 deletion apps/expo/app/(app)/feed/[id].tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Text } from '@packrat/ui/nativewindui';
import { Text } from '@packrat/ui/src/text';
import { useQuery } from '@tanstack/react-query';
import { userStore } from 'expo-app/features/auth/store';
import { PostDetailScreen } from 'expo-app/features/feed';
Expand Down
2 changes: 1 addition & 1 deletion apps/expo/app/(app)/gear-inventory.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { assertDefined } from '@packrat/guards';
import { Text } from '@packrat/ui/nativewindui';
import { getAppBarOptions } from '@packrat/ui/src/app-bar';
import { Text } from '@packrat/ui/src/text';
import { PackItemCard } from 'expo-app/features/packs/components/PackItemCard';
import { useUserPackItems } from 'expo-app/features/packs/hooks/useUserPackItems';
import type { PackItem } from 'expo-app/features/packs/types';
Expand Down
14 changes: 5 additions & 9 deletions apps/expo/app/(app)/messages/chat.android.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
import { isString } from '@packrat/guards';
import {
Avatar,
AvatarFallback,
Button,
ContextMenu,
createDropdownItem,
DropdownMenu,
Text,
} from '@packrat/ui/nativewindui';
import { Avatar, AvatarFallback } from '@packrat/ui/src/avatar';
import { Button } from '@packrat/ui/src/button';
import { ContextMenu } from '@packrat/ui/src/context-menu';
import { createDropdownItem, DropdownMenu } from '@packrat/ui/src/dropdown-menu';
import { Text } from '@packrat/ui/src/text';
import { Portal } from '@rn-primitives/portal';
import { FlashList } from '@shopify/flash-list';
import { Icon } from 'expo-app/components/Icon';
Expand Down
Loading
Loading