convex-feedback-ui 0.1.8 → 0.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/native/expo/ExpoFeedbackBody.d.ts +1 -1
- package/dist/native/expo/ExpoFeedbackBody.d.ts.map +1 -1
- package/dist/native/expo/ExpoFeedbackBody.js +2 -2
- package/dist/native/expo/ExpoFeedbackBody.js.map +1 -1
- package/dist/native/expo/FeedbackRoutes.d.ts.map +1 -1
- package/dist/native/expo/FeedbackRoutes.js +17 -9
- package/dist/native/expo/FeedbackRoutes.js.map +1 -1
- package/dist/native/expo/FeedbackScreen.d.ts +1 -1
- package/dist/native/expo/FeedbackScreen.d.ts.map +1 -1
- package/dist/native/expo/FeedbackScreen.js +2 -2
- package/dist/native/expo/FeedbackScreen.js.map +1 -1
- package/dist/native/expo/FeedbackStack.d.ts +1 -1
- package/dist/native/expo/FeedbackStack.d.ts.map +1 -1
- package/dist/native/expo/FeedbackStack.js +15 -8
- package/dist/native/expo/FeedbackStack.js.map +1 -1
- package/dist/native/expo/FeedbackStackLayout.d.ts +1 -1
- package/dist/native/expo/FeedbackStackLayout.d.ts.map +1 -1
- package/dist/native/expo/FeedbackStackLayout.js +7 -2
- package/dist/native/expo/FeedbackStackLayout.js.map +1 -1
- package/dist/native/expo/index.d.ts +1 -0
- package/dist/native/expo/index.d.ts.map +1 -1
- package/dist/native/expo/index.js +1 -0
- package/dist/native/expo/index.js.map +1 -1
- package/dist/native/expo/types.d.ts +13 -0
- package/dist/native/expo/types.d.ts.map +1 -1
- package/dist/native/native/FeedbackScreen.d.ts +1 -1
- package/dist/native/native/FeedbackScreen.d.ts.map +1 -1
- package/dist/native/native/FeedbackScreen.js +2 -2
- package/dist/native/native/FeedbackScreen.js.map +1 -1
- package/dist/native/native/index.d.ts +1 -0
- package/dist/native/native/index.d.ts.map +1 -1
- package/dist/native/native/index.js +1 -0
- package/dist/native/native/index.js.map +1 -1
- package/dist/native/shared/helpers.d.ts +6 -1
- package/dist/native/shared/helpers.d.ts.map +1 -1
- package/dist/native/shared/helpers.js +33 -0
- package/dist/native/shared/helpers.js.map +1 -1
- package/dist/native/shared/ui/BodyContent.d.ts.map +1 -1
- package/dist/native/shared/ui/BodyContent.js +8 -2
- package/dist/native/shared/ui/BodyContent.js.map +1 -1
- package/dist/native/shared/ui/Button.d.ts +2 -1
- package/dist/native/shared/ui/Button.d.ts.map +1 -1
- package/dist/native/shared/ui/Button.js +3 -2
- package/dist/native/shared/ui/Button.js.map +1 -1
- package/dist/native/shared/ui/CommentBranch.d.ts.map +1 -1
- package/dist/native/shared/ui/CommentBranch.js +33 -11
- package/dist/native/shared/ui/CommentBranch.js.map +1 -1
- package/dist/native/shared/ui/EntryCard.d.ts.map +1 -1
- package/dist/native/shared/ui/EntryCard.js +13 -1
- package/dist/native/shared/ui/EntryCard.js.map +1 -1
- package/dist/native/shared/ui/EntryDetail.d.ts.map +1 -1
- package/dist/native/shared/ui/EntryDetail.js +23 -5
- package/dist/native/shared/ui/EntryDetail.js.map +1 -1
- package/dist/native/shared/ui/FeedbackScreenHeader.d.ts.map +1 -1
- package/dist/native/shared/ui/FeedbackScreenHeader.js +7 -2
- package/dist/native/shared/ui/FeedbackScreenHeader.js.map +1 -1
- package/dist/native/shared/ui/FeedbackScreenList.d.ts.map +1 -1
- package/dist/native/shared/ui/FeedbackScreenList.js +16 -8
- package/dist/native/shared/ui/FeedbackScreenList.js.map +1 -1
- package/dist/native/shared/ui/NewEntry.d.ts.map +1 -1
- package/dist/native/shared/ui/NewEntry.js +13 -11
- package/dist/native/shared/ui/NewEntry.js.map +1 -1
- package/dist/native/shared/ui/RoadmapScreen.d.ts +3 -0
- package/dist/native/shared/ui/RoadmapScreen.d.ts.map +1 -0
- package/dist/native/shared/ui/RoadmapScreen.js +73 -0
- package/dist/native/shared/ui/RoadmapScreen.js.map +1 -0
- package/dist/react/action.d.ts +14 -0
- package/dist/react/action.d.ts.map +1 -0
- package/dist/react/action.js +38 -0
- package/dist/react/action.js.map +1 -0
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/roadmap.d.ts +3 -0
- package/dist/react/roadmap.d.ts.map +1 -0
- package/dist/react/roadmap.js +59 -0
- package/dist/react/roadmap.js.map +1 -0
- package/dist/react/screen.d.ts +1 -1
- package/dist/react/screen.d.ts.map +1 -1
- package/dist/react/screen.js +99 -42
- package/dist/react/screen.js.map +1 -1
- package/dist/react/styles.css +42 -0
- package/dist/shared/context/FeedbackBodyProvider.d.ts +1 -1
- package/dist/shared/context/FeedbackBodyProvider.d.ts.map +1 -1
- package/dist/shared/context/FeedbackBodyProvider.js +8 -2
- package/dist/shared/context/FeedbackBodyProvider.js.map +1 -1
- package/dist/shared/helpers.d.ts +6 -0
- package/dist/shared/helpers.d.ts.map +1 -1
- package/dist/shared/helpers.js +12 -0
- package/dist/shared/helpers.js.map +1 -1
- package/dist/shared/types/index.d.ts +1 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/messages.d.ts +1 -1
- package/dist/shared/types/messages.d.ts.map +1 -1
- package/dist/shared/types/roadmap.d.ts +17 -0
- package/dist/shared/types/roadmap.d.ts.map +1 -0
- package/dist/shared/types/roadmap.js +2 -0
- package/dist/shared/types/roadmap.js.map +1 -0
- package/dist/shared/types/screen.d.ts +10 -1
- package/dist/shared/types/screen.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/native/expo/ExpoFeedbackBody.tsx +2 -0
- package/src/native/expo/FeedbackRoutes.tsx +54 -30
- package/src/native/expo/FeedbackScreen.tsx +2 -0
- package/src/native/expo/FeedbackStack.tsx +46 -27
- package/src/native/expo/FeedbackStackLayout.tsx +11 -1
- package/src/native/expo/README.md +15 -0
- package/src/native/expo/index.ts +1 -0
- package/src/native/expo/types.ts +12 -0
- package/src/native/native/FeedbackScreen.tsx +2 -0
- package/src/native/native/README.md +4 -0
- package/src/native/native/index.ts +1 -0
- package/src/native/shared/helpers.ts +38 -1
- package/src/native/shared/ui/BodyContent.tsx +15 -2
- package/src/native/shared/ui/Button.tsx +4 -0
- package/src/native/shared/ui/CommentBranch.tsx +58 -15
- package/src/native/shared/ui/EntryCard.tsx +21 -3
- package/src/native/shared/ui/EntryDetail.tsx +42 -8
- package/src/native/shared/ui/FeedbackScreenHeader.tsx +9 -1
- package/src/native/shared/ui/FeedbackScreenList.tsx +28 -13
- package/src/native/shared/ui/NewEntry.tsx +25 -12
- package/src/native/shared/ui/RoadmapScreen.tsx +345 -0
- package/src/react/README.md +1 -1
- package/src/react/action.tsx +56 -0
- package/src/react/index.ts +1 -0
- package/src/react/roadmap.tsx +303 -0
- package/src/react/screen.tsx +199 -75
- package/src/react/styles.css +42 -0
- package/src/shared/context/FeedbackBodyProvider.tsx +9 -1
- package/src/shared/helpers.ts +16 -0
- package/src/shared/types/index.ts +1 -0
- package/src/shared/types/messages.ts +1 -1
- package/src/shared/types/roadmap.ts +25 -0
- package/src/shared/types/screen.ts +12 -1
package/README.md
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
Optional React DOM, React Native, and Expo Router UI for `convex-feedback`.
|
|
12
12
|
|
|
13
|
+
This package provides the public feedback and roadmap experience. Internal priority and roadmap management live in the forkable [Clerk admin panel](../../apps/admin/withClerk/README.md), which uses the headless hooks directly.
|
|
14
|
+
|
|
13
15
|
The package is intentionally layered:
|
|
14
16
|
|
|
15
17
|
```text
|
|
@@ -34,6 +36,22 @@ import "convex-feedback-ui/styles.css";
|
|
|
34
36
|
<FeedbackScreen hooks={feedbackHooks} />;
|
|
35
37
|
```
|
|
36
38
|
|
|
39
|
+
Use `RoadmapScreen` for the public roadmap and its attached feedback entries:
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
import { RoadmapScreen } from "convex-feedback-ui";
|
|
43
|
+
|
|
44
|
+
<RoadmapScreen
|
|
45
|
+
hooks={feedbackHooks}
|
|
46
|
+
onEntryOpen={(entryId) => navigate(`/feedback/${entryId}`)}
|
|
47
|
+
onUnauthenticated={() => openSignIn()}
|
|
48
|
+
/>;
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Roadmap browsing and attached-entry reads work without authentication. The
|
|
52
|
+
`onUnauthenticated` callback is used for create, vote, like, and comment
|
|
53
|
+
actions in the prebuilt screens; the host decides how to present sign-in.
|
|
54
|
+
|
|
37
55
|
The default stylesheet:
|
|
38
56
|
|
|
39
57
|
- has no Tailwind dependency;
|
|
@@ -109,6 +127,17 @@ By default, `useStack` is enabled:
|
|
|
109
127
|
|
|
110
128
|
When enabled, the prebuilt screen can integrate with the current Expo Router stack, including native stack configuration, toolbar actions, back behavior, and native search UI.
|
|
111
129
|
|
|
130
|
+
> [!WARNING]
|
|
131
|
+
> If the filter toolbar button is intermittently broken, especially on iOS 26+, pass `Host` from `@expo/ui/swift-ui` to `BottomToolbarWrapper`:
|
|
132
|
+
>
|
|
133
|
+
> ```tsx
|
|
134
|
+
> import { Host } from "@expo/ui/swift-ui";
|
|
135
|
+
>
|
|
136
|
+
> <FeedbackScreen hooks={feedbackHooks} BottomToolbarWrapper={Host} />;
|
|
137
|
+
> ```
|
|
138
|
+
>
|
|
139
|
+
> The same `BottomToolbarWrapper={Host}` prop is available on `FeedbackStackLayout` for routed Expo navigation.
|
|
140
|
+
|
|
112
141
|
Stack options can be customized through `StackOptions`:
|
|
113
142
|
|
|
114
143
|
```tsx
|
|
@@ -304,7 +333,7 @@ Or combine global defaults with per-kind behavior:
|
|
|
304
333
|
- The Expo entry point additionally uses `expo-constants` for app `version`, `build` number, `application ID`, `Expo runtime version`, and execution `environment` when available.
|
|
305
334
|
- Generic React Native apps can provide app `version` and `build` values through `additional`.
|
|
306
335
|
|
|
307
|
-
Metadata is stored in separate `standard` and `additional` sections. It is omitted from list and search results and from non-
|
|
336
|
+
Metadata is stored in separate `standard` and `additional` sections. It is omitted from list and search results and from non-admin reads. When the host's server-side actor resolver identifies an admin, `getEntry` includes the metadata and the entry detail screen shows a metadata viewer.
|
|
308
337
|
|
|
309
338
|
The platform collectors and `formatMetadataKey` helper are exported from their respective package entry points for custom integrations.
|
|
310
339
|
|