convex-feedback-ui 0.2.0-beta.2 → 0.2.0-beta.4

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.
Files changed (86) hide show
  1. package/README.md +40 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/native/expo/FeedbackRoutes.d.ts.map +1 -1
  4. package/dist/native/expo/FeedbackRoutes.js +15 -2
  5. package/dist/native/expo/FeedbackRoutes.js.map +1 -1
  6. package/dist/native/expo/RoadmapRoutes.d.ts +3 -0
  7. package/dist/native/expo/RoadmapRoutes.d.ts.map +1 -0
  8. package/dist/native/expo/RoadmapRoutes.js +61 -0
  9. package/dist/native/expo/RoadmapRoutes.js.map +1 -0
  10. package/dist/native/expo/RoadmapScreen.d.ts +24 -0
  11. package/dist/native/expo/RoadmapScreen.d.ts.map +1 -0
  12. package/dist/native/expo/RoadmapScreen.js +43 -0
  13. package/dist/native/expo/RoadmapScreen.js.map +1 -0
  14. package/dist/native/expo/RoadmapStackLayout.d.ts +8 -0
  15. package/dist/native/expo/RoadmapStackLayout.d.ts.map +1 -0
  16. package/dist/native/expo/RoadmapStackLayout.js +55 -0
  17. package/dist/native/expo/RoadmapStackLayout.js.map +1 -0
  18. package/dist/native/expo/RoutedRoadmapContext.d.ts +4 -0
  19. package/dist/native/expo/RoutedRoadmapContext.d.ts.map +1 -0
  20. package/dist/native/expo/RoutedRoadmapContext.js +11 -0
  21. package/dist/native/expo/RoutedRoadmapContext.js.map +1 -0
  22. package/dist/native/expo/index.d.ts +5 -1
  23. package/dist/native/expo/index.d.ts.map +1 -1
  24. package/dist/native/expo/index.js +5 -1
  25. package/dist/native/expo/index.js.map +1 -1
  26. package/dist/native/expo/routes.d.ts +17 -1
  27. package/dist/native/expo/routes.d.ts.map +1 -1
  28. package/dist/native/expo/routes.js +46 -0
  29. package/dist/native/expo/routes.js.map +1 -1
  30. package/dist/native/expo/types.d.ts +35 -1
  31. package/dist/native/expo/types.d.ts.map +1 -1
  32. package/dist/native/native/index.d.ts +1 -0
  33. package/dist/native/native/index.d.ts.map +1 -1
  34. package/dist/native/native/index.js +1 -0
  35. package/dist/native/native/index.js.map +1 -1
  36. package/dist/native/shared/ui/EntryCard.d.ts +1 -1
  37. package/dist/native/shared/ui/EntryCard.d.ts.map +1 -1
  38. package/dist/native/shared/ui/EntryCard.js +2 -2
  39. package/dist/native/shared/ui/EntryCard.js.map +1 -1
  40. package/dist/native/shared/ui/RoadmapBoard.d.ts +55 -0
  41. package/dist/native/shared/ui/RoadmapBoard.d.ts.map +1 -0
  42. package/dist/native/shared/ui/RoadmapBoard.js +89 -0
  43. package/dist/native/shared/ui/RoadmapBoard.js.map +1 -0
  44. package/dist/native/shared/ui/RoadmapScreen.d.ts +36 -1
  45. package/dist/native/shared/ui/RoadmapScreen.d.ts.map +1 -1
  46. package/dist/native/shared/ui/RoadmapScreen.js +143 -51
  47. package/dist/native/shared/ui/RoadmapScreen.js.map +1 -1
  48. package/dist/native/shared/ui/primitives.d.ts +1 -1
  49. package/dist/native/shared/ui/primitives.d.ts.map +1 -1
  50. package/dist/native/shared/ui/primitives.js +3 -1
  51. package/dist/native/shared/ui/primitives.js.map +1 -1
  52. package/dist/react/roadmap.d.ts.map +1 -1
  53. package/dist/react/roadmap.js +25 -13
  54. package/dist/react/roadmap.js.map +1 -1
  55. package/dist/react/styles.css +129 -0
  56. package/dist/shared/messages.d.ts.map +1 -1
  57. package/dist/shared/messages.js +24 -0
  58. package/dist/shared/messages.js.map +1 -1
  59. package/dist/shared/types/messages.d.ts +28 -1
  60. package/dist/shared/types/messages.d.ts.map +1 -1
  61. package/dist/shared/types/roadmap.d.ts +10 -1
  62. package/dist/shared/types/roadmap.d.ts.map +1 -1
  63. package/dist/shared/types/screen.d.ts +2 -0
  64. package/dist/shared/types/screen.d.ts.map +1 -1
  65. package/package.json +2 -2
  66. package/src/native/expo/FeedbackRoutes.tsx +30 -7
  67. package/src/native/expo/README.md +10 -2
  68. package/src/native/expo/RoadmapRoutes.tsx +171 -0
  69. package/src/native/expo/RoadmapScreen.tsx +177 -0
  70. package/src/native/expo/RoadmapStackLayout.tsx +110 -0
  71. package/src/native/expo/RoutedRoadmapContext.tsx +21 -0
  72. package/src/native/expo/index.ts +10 -1
  73. package/src/native/expo/routes.ts +69 -1
  74. package/src/native/expo/types.ts +43 -0
  75. package/src/native/native/README.md +9 -3
  76. package/src/native/native/index.ts +1 -0
  77. package/src/native/shared/ui/EntryCard.tsx +2 -1
  78. package/src/native/shared/ui/RoadmapBoard.tsx +225 -0
  79. package/src/native/shared/ui/RoadmapScreen.tsx +415 -242
  80. package/src/native/shared/ui/primitives.tsx +3 -0
  81. package/src/react/roadmap.tsx +140 -85
  82. package/src/react/styles.css +129 -0
  83. package/src/shared/messages.ts +25 -0
  84. package/src/shared/types/messages.ts +41 -1
  85. package/src/shared/types/roadmap.ts +18 -1
  86. package/src/shared/types/screen.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"EntryCard.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/EntryCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAM1E,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE,4BAA4B,+BA0C9B"}
1
+ {"version":3,"file":"EntryCard.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/EntryCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAM1E,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,MAAM,EACN,kBAAkB,GACnB,EAAE,4BAA4B,+BA0C9B"}
@@ -4,7 +4,7 @@ import { allowAuthenticatedAction } from "../../../shared/helpers.js";
4
4
  import { useFeedbackBody } from "../../../shared/context/FeedbackBodyProvider.js";
5
5
  import { useNativeAction } from "../helpers.js";
6
6
  import { FeedbackEntry } from "./primitives";
7
- export function EntryCard({ entry, hooks, onOpen, }) {
7
+ export function EntryCard({ entry, hooks, onOpen, titleNumberOfLines, }) {
8
8
  const { isAuthenticated, onUnauthenticated } = useFeedbackBody();
9
9
  const setUpvote = hooks.useSetEntryUpvote();
10
10
  const action = useNativeAction();
@@ -20,6 +20,6 @@ export function EntryCard({ entry, hooks, onOpen, }) {
20
20
  alignItems: "center",
21
21
  justifyContent: "space-between",
22
22
  gap: 8,
23
- }, children: [_jsx(FeedbackEntry.Kind, {}), _jsx(FeedbackEntry.Status, {})] }), _jsx(FeedbackEntry.Title, {}), _jsx(FeedbackEntry.Body, { numberOfLines: 3 }), _jsx(FeedbackEntry.CommentCount, {})] })] }));
23
+ }, children: [_jsx(FeedbackEntry.Kind, {}), _jsx(FeedbackEntry.Status, {})] }), _jsx(FeedbackEntry.Title, { numberOfLines: titleNumberOfLines }), _jsx(FeedbackEntry.Body, { numberOfLines: 3 }), _jsx(FeedbackEntry.CommentCount, {})] })] }));
24
24
  }
25
25
  //# sourceMappingURL=EntryCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntryCard.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/EntryCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,MAAM,GACuB;IAC7B,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAG,CAAC,YAAqB,EAAE,EAAE;QAC7C,IACE,CAAC,wBAAwB,CAAC,eAAe,EAAE,iBAAiB,CAAC;YAC7D,MAAM,CAAC,OAAO,EACd,CAAC;YACD,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,CACb,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EACpD,uBAAuB,CACxB,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,aAAa,CAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aAC9B,KAAC,aAAa,CAAC,MAAM,IACnB,QAAQ,EAAE,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EACzD,QAAQ,EAAE,YAAY,GACtB,EACF,MAAC,SAAS,IAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aACpD,MAAC,IAAI,IACH,KAAK,EAAE;4BACL,aAAa,EAAE,KAAK;4BACpB,UAAU,EAAE,QAAQ;4BACpB,cAAc,EAAE,eAAe;4BAC/B,GAAG,EAAE,CAAC;yBACP,aAED,KAAC,aAAa,CAAC,IAAI,KAAG,EACtB,KAAC,aAAa,CAAC,MAAM,KAAG,IACnB,EACP,KAAC,aAAa,CAAC,KAAK,KAAG,EACvB,KAAC,aAAa,CAAC,IAAI,IAAC,aAAa,EAAE,CAAC,GAAI,EACxC,KAAC,aAAa,CAAC,YAAY,KAAG,IACpB,IACO,CACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"EntryCard.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/EntryCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,MAAM,EACN,kBAAkB,GACW;IAC7B,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAG,CAAC,YAAqB,EAAE,EAAE;QAC7C,IACE,CAAC,wBAAwB,CAAC,eAAe,EAAE,iBAAiB,CAAC;YAC7D,MAAM,CAAC,OAAO,EACd,CAAC;YACD,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,CACb,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EACpD,uBAAuB,CACxB,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,aAAa,CAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aAC9B,KAAC,aAAa,CAAC,MAAM,IACnB,QAAQ,EAAE,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EACzD,QAAQ,EAAE,YAAY,GACtB,EACF,MAAC,SAAS,IAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aACpD,MAAC,IAAI,IACH,KAAK,EAAE;4BACL,aAAa,EAAE,KAAK;4BACpB,UAAU,EAAE,QAAQ;4BACpB,cAAc,EAAE,eAAe;4BAC/B,GAAG,EAAE,CAAC;yBACP,aAED,KAAC,aAAa,CAAC,IAAI,KAAG,EACtB,KAAC,aAAa,CAAC,MAAM,KAAG,IACnB,EACP,KAAC,aAAa,CAAC,KAAK,IAAC,aAAa,EAAE,kBAAkB,GAAI,EAC1D,KAAC,aAAa,CAAC,IAAI,IAAC,aAAa,EAAE,CAAC,GAAI,EACxC,KAAC,aAAa,CAAC,YAAY,KAAG,IACpB,IACO,CACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { RoadmapItem, RoadmapStatus } from "convex-feedback";
2
+ import type { ReactElement, ReactNode } from "react";
3
+ import { type StyleProp, type ViewProps, type ViewStyle } from "react-native";
4
+ export interface RoadmapBoardStage {
5
+ value: RoadmapStatus;
6
+ label: string;
7
+ }
8
+ export interface RoadmapBoardColors {
9
+ background: string;
10
+ surface: string;
11
+ text: string;
12
+ muted: string;
13
+ border: string;
14
+ primary: string;
15
+ }
16
+ export interface RoadmapBoardItemRenderArgs {
17
+ item: RoadmapItem;
18
+ stage: RoadmapBoardStage;
19
+ stageIndex: number;
20
+ onOpen: () => void;
21
+ }
22
+ export interface RoadmapBoardProps {
23
+ /** Items are grouped into columns using their current status. */
24
+ items: readonly RoadmapItem[];
25
+ /** Ordered columns rendered from left to right. */
26
+ stages: readonly RoadmapBoardStage[];
27
+ /** Colors used by the shared board frame and its loading/empty states. */
28
+ colors: RoadmapBoardColors;
29
+ /** Shows the same full-board loading state as the admin roadmap. */
30
+ loading?: boolean;
31
+ /** Copy shown when a column does not contain any items. */
32
+ emptyLabel: string;
33
+ /** Opens a roadmap item from any rendered card. */
34
+ onItemOpen: (item: RoadmapItem) => void;
35
+ /** Supplies the card UI so admin and user-facing cards can differ. */
36
+ renderItem: (args: RoadmapBoardItemRenderArgs) => ReactElement | null;
37
+ style?: StyleProp<ViewStyle>;
38
+ contentContainerStyle?: StyleProp<ViewStyle>;
39
+ }
40
+ export interface RoadmapBoardCardProps extends Pick<ViewProps, "accessibilityLabel"> {
41
+ colors: Pick<RoadmapBoardColors, "border" | "surface">;
42
+ onPress: () => void;
43
+ children: ReactNode;
44
+ style?: StyleProp<ViewStyle>;
45
+ }
46
+ /** Shared admin-style pressable card shell with configurable contents. */
47
+ export declare function RoadmapBoardCard({ colors, onPress, accessibilityLabel, children, style, }: RoadmapBoardCardProps): import("react").JSX.Element;
48
+ /**
49
+ * Shared stage-board layout used by the public roadmap and admin app.
50
+ *
51
+ * The outer list scrolls horizontally while each stage owns its vertical
52
+ * `FlatList`, matching the admin board's bounded nested-scroll structure.
53
+ */
54
+ export declare function RoadmapBoard({ items, stages, colors, loading, emptyLabel, onItemOpen, renderItem, style, contentContainerStyle, }: RoadmapBoardProps): import("react").JSX.Element;
55
+ //# sourceMappingURL=RoadmapBoard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoadmapBoard.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/RoadmapBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAQL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,mDAAmD;IACnD,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACrC,0EAA0E;IAC1E,MAAM,EAAE,kBAAkB,CAAC;IAC3B,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,sEAAsE;IACtE,UAAU,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,YAAY,GAAG,IAAI,CAAC;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,SAAS,EACT,oBAAoB,CACrB;IACC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC;IACvD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,EAAE,qBAAqB,+BAmBvB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,MAAM,EACN,MAAM,EACN,OAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,KAAK,EACL,qBAAqB,GACtB,EAAE,iBAAiB,+BAoFnB"}
@@ -0,0 +1,89 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ActivityIndicator, FlatList, Pressable, ScrollView, StyleSheet, Text, View, } from "react-native";
3
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
4
+ /** Shared admin-style pressable card shell with configurable contents. */
5
+ export function RoadmapBoardCard({ colors, onPress, accessibilityLabel, children, style, }) {
6
+ return (_jsx(Pressable, { accessibilityRole: "button", accessibilityLabel: accessibilityLabel, onPress: onPress, style: ({ pressed }) => [
7
+ styles.card,
8
+ {
9
+ borderColor: colors.border,
10
+ backgroundColor: colors.surface,
11
+ },
12
+ style,
13
+ pressed && styles.pressed,
14
+ ], children: children }));
15
+ }
16
+ /**
17
+ * Shared stage-board layout used by the public roadmap and admin app.
18
+ *
19
+ * The outer list scrolls horizontally while each stage owns its vertical
20
+ * `FlatList`, matching the admin board's bounded nested-scroll structure.
21
+ */
22
+ export function RoadmapBoard({ items, stages, colors, loading = false, emptyLabel, onItemOpen, renderItem, style, contentContainerStyle, }) {
23
+ const insets = useSafeAreaInsets();
24
+ if (loading) {
25
+ return (_jsx(ActivityIndicator, { style: [styles.loader, { backgroundColor: colors.background }, style], color: colors.primary }));
26
+ }
27
+ return (_jsx(ScrollView, { horizontal: true, style: [
28
+ styles.boardScroll,
29
+ { backgroundColor: colors.background },
30
+ style,
31
+ ], contentInsetAdjustmentBehavior: "automatic", showsHorizontalScrollIndicator: false, contentContainerStyle: [
32
+ styles.board,
33
+ {
34
+ paddingLeft: 12 + insets.left,
35
+ paddingRight: 12 + insets.right,
36
+ paddingBottom: 24 + insets.bottom,
37
+ },
38
+ contentContainerStyle,
39
+ ], children: stages.map((stage, stageIndex) => {
40
+ const stageItems = items
41
+ .filter((item) => item.status === stage.value)
42
+ .sort((a, b) => a.position - b.position);
43
+ return (_jsxs(View, { style: [
44
+ styles.column,
45
+ {
46
+ borderColor: colors.border,
47
+ backgroundColor: colors.surface,
48
+ },
49
+ ], children: [_jsxs(View, { style: [styles.columnHeader, { borderColor: colors.border }], children: [_jsx(Text, { style: [styles.columnTitle, { color: colors.text }], children: stage.label }), _jsx(Text, { style: [styles.count, { color: colors.muted }], children: stageItems.length })] }), _jsx(FlatList, { data: stageItems, nestedScrollEnabled: true, contentInsetAdjustmentBehavior: "never", keyExtractor: (item) => item.id, contentContainerStyle: [
50
+ styles.cards,
51
+ { paddingBottom: 16 + insets.bottom },
52
+ ], ListEmptyComponent: _jsx(Text, { style: [styles.empty, { color: colors.muted }], children: emptyLabel }), renderItem: ({ item }) => renderItem({
53
+ item,
54
+ stage,
55
+ stageIndex,
56
+ onOpen: () => onItemOpen(item),
57
+ }) })] }, stage.value));
58
+ }) }));
59
+ }
60
+ const styles = StyleSheet.create({
61
+ boardScroll: { flex: 1 },
62
+ loader: { flex: 1 },
63
+ board: { gap: 12, paddingTop: 12 },
64
+ column: {
65
+ width: 310,
66
+ borderWidth: 1,
67
+ borderRadius: 16,
68
+ overflow: "hidden",
69
+ },
70
+ columnHeader: {
71
+ flexDirection: "row",
72
+ alignItems: "center",
73
+ justifyContent: "space-between",
74
+ borderBottomWidth: 1,
75
+ padding: 14,
76
+ },
77
+ columnTitle: { fontSize: 14, fontWeight: "700" },
78
+ count: { fontSize: 12 },
79
+ cards: { gap: 10, padding: 10 },
80
+ empty: { padding: 18, textAlign: "center" },
81
+ card: {
82
+ gap: 8,
83
+ borderWidth: 1,
84
+ borderRadius: 12,
85
+ padding: 13,
86
+ },
87
+ pressed: { opacity: 0.7 },
88
+ });
89
+ //# sourceMappingURL=RoadmapBoard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoadmapBoard.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/RoadmapBoard.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,38 @@
1
+ import type { RoadmapItem } from "convex-feedback";
2
+ import { type PropsWithChildren } from "react";
1
3
  import type { RoadmapScreenProps } from "../../../shared/types/index.js";
2
- export declare function RoadmapScreen({ hooks, messages, theme, unstyled, onEntryOpen, onUnauthenticated, pageSize, entryPageSize, ...colors }: RoadmapScreenProps): import("react").JSX.Element;
4
+ /**
5
+ * Keeps the roadmap and its attached entry details on the same UI context.
6
+ * Routed Expo layouts reuse this provider so every route sees the same hooks,
7
+ * theme, messages, and comment configuration.
8
+ */
9
+ export declare function RoadmapProvider({ hooks, messages, theme, unstyled, commentSort, maxCommentDepth, transformComments, renderActor, onUnauthenticated, children, }: PropsWithChildren<Pick<RoadmapScreenProps, "hooks" | "messages" | "theme" | "unstyled" | "commentSort" | "maxCommentDepth" | "transformComments" | "renderActor" | "onUnauthenticated">>): import("react").JSX.Element;
10
+ /** Self-contained public roadmap screen for native and non-routed Expo apps. */
11
+ export declare function RoadmapScreen({ hooks, messages, theme, unstyled, onEntryOpen, onUnauthenticated, commentSort, maxCommentDepth, transformComments, renderActor, pageSize, entryPageSize, ...colors }: RoadmapScreenProps): import("react").JSX.Element;
12
+ export interface RoadmapScreenContentProps extends Pick<RoadmapScreenProps, "onEntryOpen" | "onUnauthenticated" | "primaryColor" | "primaryForeground" | "backgroundColor" | "surfaceColor" | "textColor" | "mutedColor" | "borderColor" | "dangerColor"> {
13
+ pageSize: number;
14
+ entryPageSize: number;
15
+ /** Controlled search value used by Expo Router's native Stack.SearchBar. */
16
+ query?: string;
17
+ /** Controlled search setter used by Expo Router's native Stack.SearchBar. */
18
+ onQueryChange?: (query: string) => void;
19
+ /** Renders the inline title/search header for non-Stack usage. @default true */
20
+ showBoardHeader?: boolean;
21
+ }
22
+ /** Shared screen content used by direct native and Expo Stack integrations. */
23
+ export declare function RoadmapScreenContent({ pageSize, entryPageSize, onEntryOpen, query, onQueryChange, showBoardHeader, ...colors }: RoadmapScreenContentProps): import("react").JSX.Element;
24
+ /** Board content used by both the self-contained and routed Expo screens. */
25
+ export declare function RoadmapBoardContent({ pageSize, onItemOpen, query: controlledQuery, onQueryChange, showHeader, }: {
26
+ pageSize: number;
27
+ onItemOpen: (item: RoadmapItem) => void;
28
+ query?: string;
29
+ onQueryChange?: (query: string) => void;
30
+ showHeader?: boolean;
31
+ }): import("react").JSX.Element;
32
+ /** Detail content used by routed roadmap item pages and in-screen navigation. */
33
+ export declare function RoadmapItemContent({ item, entryPageSize, onEntryOpen, }: {
34
+ item: RoadmapItem;
35
+ entryPageSize: number;
36
+ onEntryOpen?: (entryId: string) => void;
37
+ }): import("react").JSX.Element;
3
38
  //# sourceMappingURL=RoadmapScreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoadmapScreen.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/RoadmapScreen.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKzE,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,GAAG,MAAM,EACV,EAAE,kBAAkB,+BAapB"}
1
+ {"version":3,"file":"RoadmapScreen.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/RoadmapScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAazD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAczE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAmB,EACnB,eAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,QAAQ,GACT,EAAE,iBAAiB,CAClB,IAAI,CACF,kBAAkB,EAChB,OAAO,GACP,UAAU,GACV,OAAO,GACP,UAAU,GACV,aAAa,GACb,iBAAiB,GACjB,mBAAmB,GACnB,aAAa,GACb,mBAAmB,CACtB,CACF,+BAmBA;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,QAAkC,EAClC,aAAuC,EACvC,GAAG,MAAM,EACV,EAAE,kBAAkB,+BAqBpB;AAED,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CACrD,kBAAkB,EAChB,aAAa,GACb,mBAAmB,GACnB,cAAc,GACd,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,GACd,WAAW,GACX,YAAY,GACZ,aAAa,GACb,aAAa,CAChB;IACC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,aAAa,EACb,WAAW,EACX,KAAK,EACL,aAAa,EACb,eAAsB,EACtB,GAAG,MAAM,EACV,EAAE,yBAAyB,+BAuB3B;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,UAAU,EACV,KAAK,EAAE,eAAe,EACtB,aAAa,EACb,UAAiB,GAClB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,+BAyFA;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,aAAa,EACb,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,+BAqFA"}
@@ -1,73 +1,165 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from "react";
3
- import { Pressable, ScrollView, Text, View } from "react-native";
3
+ import { ActivityIndicator, StyleSheet, Text, View } from "react-native";
4
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
5
+ import { FeedbackBodyProvider, useFeedbackBody, } from "../../../shared/context/FeedbackBodyProvider.js";
4
6
  import { FeedbackProvider, useFeedbackUi, } from "../../../shared/context/FeedbackProvider.js";
5
- import { allowAuthenticatedAction } from "../../../shared/helpers.js";
6
- import { useNativeAction } from "../helpers.js";
7
+ import { kinds } from "../../../shared/helpers.js";
8
+ import { collectNativeMetadata } from "../metadata.js";
7
9
  import { Button } from "./Button.js";
8
- import { FeedbackBoard, FeedbackEntry } from "./primitives.js";
9
- export function RoadmapScreen({ hooks, messages, theme, unstyled, onEntryOpen, onUnauthenticated, pageSize, entryPageSize, ...colors }) {
10
- return (_jsx(FeedbackProvider, { messages: messages, theme: theme, unstyled: unstyled, children: _jsx(RoadmapScreenInner, { hooks: hooks, onEntryOpen: onEntryOpen, onUnauthenticated: onUnauthenticated, pageSize: pageSize ?? hooks.pageSizes.roadmap, entryPageSize: entryPageSize ?? hooks.pageSizes.entries, ...colors }) }));
10
+ import { EntryCard } from "./EntryCard.js";
11
+ import { EntryDetail } from "./EntryDetail.js";
12
+ import { RoadmapBoard, RoadmapBoardCard } from "./RoadmapBoard.js";
13
+ import { FeedbackBoard } from "./primitives.js";
14
+ const stages = [
15
+ { value: "planned" },
16
+ { value: "in_progress" },
17
+ { value: "shipped" },
18
+ ];
19
+ /**
20
+ * Keeps the roadmap and its attached entry details on the same UI context.
21
+ * Routed Expo layouts reuse this provider so every route sees the same hooks,
22
+ * theme, messages, and comment configuration.
23
+ */
24
+ export function RoadmapProvider({ hooks, messages, theme, unstyled, commentSort = "top", maxCommentDepth = 5, transformComments, renderActor, onUnauthenticated, children, }) {
25
+ return (_jsx(FeedbackProvider, { messages: messages, theme: theme, unstyled: unstyled, children: _jsx(FeedbackBodyProvider, { hooks: hooks, entrySort: "top", commentSort: commentSort, enabledKinds: kinds, maxCommentDepth: maxCommentDepth, debounceDuration: 300, collectStandardMetadata: collectNativeMetadata, transformComments: transformComments, renderActor: renderActor, onUnauthenticated: onUnauthenticated, children: children }) }));
11
26
  }
12
- function RoadmapScreenInner({ hooks, onEntryOpen, onUnauthenticated, pageSize, entryPageSize, ...colors }) {
27
+ /** Self-contained public roadmap screen for native and non-routed Expo apps. */
28
+ export function RoadmapScreen({ hooks, messages, theme, unstyled, onEntryOpen, onUnauthenticated, commentSort, maxCommentDepth, transformComments, renderActor, pageSize = hooks.pageSizes.roadmap, entryPageSize = hooks.pageSizes.entries, ...colors }) {
29
+ return (_jsx(RoadmapProvider, { hooks: hooks, messages: messages, theme: theme, unstyled: unstyled, commentSort: commentSort, maxCommentDepth: maxCommentDepth, transformComments: transformComments, renderActor: renderActor, onUnauthenticated: onUnauthenticated, children: _jsx(RoadmapScreenContent, { pageSize: pageSize, entryPageSize: entryPageSize, onEntryOpen: onEntryOpen, ...colors }) }));
30
+ }
31
+ /** Shared screen content used by direct native and Expo Stack integrations. */
32
+ export function RoadmapScreenContent({ pageSize, entryPageSize, onEntryOpen, query, onQueryChange, showBoardHeader = true, ...colors }) {
33
+ const [selected, setSelected] = useState(null);
34
+ return (_jsx(FeedbackBoard.Root, { ...colors, children: selected === null ? (_jsx(RoadmapBoardContent, { pageSize: pageSize, onItemOpen: setSelected, query: query, onQueryChange: onQueryChange, showHeader: showBoardHeader })) : (_jsx(RoadmapDetailPage, { item: selected, entryPageSize: entryPageSize, onEntryOpen: onEntryOpen, onBack: () => setSelected(null) })) }));
35
+ }
36
+ /** Board content used by both the self-contained and routed Expo screens. */
37
+ export function RoadmapBoardContent({ pageSize, onItemOpen, query: controlledQuery, onQueryChange, showHeader = true, }) {
38
+ const { hooks } = useFeedbackBody();
13
39
  const { messages, theme } = useFeedbackUi();
14
- const [query, setQuery] = useState("");
15
- const [selectedId, setSelectedId] = useState(null);
40
+ const insets = useSafeAreaInsets();
41
+ const [internalQuery, setInternalQuery] = useState("");
42
+ const query = controlledQuery ?? internalQuery;
43
+ const setQuery = onQueryChange ?? setInternalQuery;
16
44
  const roadmap = hooks.useRoadmap();
17
45
  const search = hooks.useSearchRoadmap(query);
18
46
  const searching = query.trim().length > 0;
19
47
  const items = searching ? (search ?? []) : roadmap.results;
20
- const selected = items.find((item) => item.id === selectedId) ?? null;
21
- if (selected !== null) {
22
- return (_jsx(FeedbackBoard.Root, { ...colors, children: _jsx(ScrollView, { contentContainerStyle: { gap: theme.spacing, padding: theme.spacing }, children: _jsx(RoadmapDetail, { item: selected, hooks: hooks, entryPageSize: entryPageSize, onEntryOpen: onEntryOpen, onUnauthenticated: onUnauthenticated, onBack: () => setSelectedId(null) }) }) }));
23
- }
24
48
  const loading = searching
25
49
  ? search === undefined
26
50
  : roadmap.status === "LoadingFirstPage";
27
- return (_jsxs(FeedbackBoard.Root, { ...colors, children: [_jsxs(FeedbackBoard.Header, { style: { gap: theme.spacing, padding: theme.spacing }, children: [_jsx(FeedbackBoard.Title, { children: "Roadmap" }), _jsx(Text, { style: { color: theme.colors.mutedText }, children: "See what is planned, in progress, and shipped." }), _jsx(FeedbackBoard.Search, { value: query, onValueChange: setQuery, placeholder: "Search roadmap" })] }), loading ? (_jsx(FeedbackBoard.State, { children: _jsx(Text, { style: { color: theme.colors.mutedText }, children: messages.board.loading }) })) : items.length === 0 ? (_jsx(FeedbackBoard.State, { children: _jsx(Text, { style: { color: theme.colors.mutedText }, children: searching ? "No roadmap items found." : "No roadmap items yet." }) })) : (_jsx(FeedbackBoard.List, { contentContainerStyle: { padding: theme.spacing }, children: items.map((item) => (_jsx(RoadmapCard, { item: item, onOpen: () => setSelectedId(item.id) }, item.id))) })), !searching &&
51
+ return (_jsxs(View, { style: [styles.boardScreen, { backgroundColor: theme.colors.background }], children: [showHeader && (_jsxs(FeedbackBoard.Header, { style: [
52
+ styles.boardHeader,
53
+ { paddingTop: Math.max(theme.spacing, insets.top + 12) },
54
+ ], children: [_jsx(FeedbackBoard.Title, { children: messages.roadmap.title }), _jsx(Text, { style: [styles.subtitle, { color: theme.colors.mutedText }], children: messages.roadmap.subtitle }), _jsx(FeedbackBoard.Search, { value: query, onValueChange: setQuery, placeholder: messages.roadmap.searchPlaceholder, accessibilityLabel: messages.roadmap.searchPlaceholder })] })), !loading && items.length === 0 ? (_jsx(FeedbackBoard.State, { children: _jsx(Text, { style: [styles.stateText, { color: theme.colors.mutedText }], children: searching
55
+ ? messages.roadmap.noSearchResults
56
+ : messages.roadmap.noItems }) })) : (_jsx(RoadmapBoard, { items: items, stages: stages.map((stage) => ({
57
+ ...stage,
58
+ label: messages.roadmap.statuses[stage.value],
59
+ })), colors: {
60
+ background: theme.colors.background,
61
+ surface: theme.colors.surface,
62
+ text: theme.colors.text,
63
+ muted: theme.colors.mutedText,
64
+ border: theme.colors.border,
65
+ primary: theme.colors.primary,
66
+ }, emptyLabel: messages.roadmap.emptyStage, loading: loading, onItemOpen: onItemOpen, renderItem: ({ item, onOpen }) => (_jsx(RoadmapCard, { item: item, onOpen: onOpen })) })), !searching &&
28
67
  (roadmap.status === "CanLoadMore" ||
29
- roadmap.status === "LoadingMore") && (_jsx(Button, { label: messages.board.loadMore, disabled: roadmap.status === "LoadingMore", onPress: () => roadmap.loadMore(pageSize) }))] }));
68
+ roadmap.status === "LoadingMore") && (_jsx(View, { style: {
69
+ alignItems: "center",
70
+ paddingBottom: insets.bottom + theme.spacing,
71
+ }, children: _jsx(Button, { label: messages.board.loadMore, disabled: roadmap.status === "LoadingMore", onPress: () => roadmap.loadMore(pageSize) }) }))] }));
30
72
  }
31
- function RoadmapCard({ item, onOpen, }) {
32
- const { theme } = useFeedbackUi();
33
- return (_jsxs(Pressable, { onPress: onOpen, style: { gap: 5, padding: 12 }, children: [_jsxs(View, { style: {
34
- flexDirection: "row",
35
- justifyContent: "space-between",
36
- gap: 8,
37
- }, children: [_jsx(Text, { style: {
38
- color: theme.colors.mutedText,
39
- fontSize: 12,
40
- fontWeight: "600",
41
- }, children: item.status.replaceAll("_", " ") }), _jsxs(Text, { style: { color: theme.colors.mutedText, fontSize: 12 }, children: [item.feedbackCount, " linked"] })] }), _jsx(Text, { style: { color: theme.colors.text, fontSize: 16, fontWeight: "700" }, children: item.title }), item.description && (_jsx(Text, { style: { color: theme.colors.mutedText, lineHeight: 20 }, children: item.description }))] }));
42
- }
43
- function RoadmapDetail({ item, hooks, entryPageSize, onEntryOpen, onUnauthenticated, onBack, }) {
73
+ /** Detail content used by routed roadmap item pages and in-screen navigation. */
74
+ export function RoadmapItemContent({ item, entryPageSize, onEntryOpen, }) {
75
+ const { hooks } = useFeedbackBody();
44
76
  const { messages, theme } = useFeedbackUi();
45
77
  const feedback = hooks.useRoadmapFeedback(item.id);
46
- return (_jsxs(View, { style: { gap: theme.spacing }, children: [_jsx(Button, { label: messages.entry.back, onPress: onBack }), _jsxs(View, { style: { gap: 6 }, children: [_jsxs(Text, { style: {
47
- color: theme.colors.mutedText,
48
- fontSize: 12,
49
- fontWeight: "600",
50
- }, children: [item.status.replaceAll("_", " "), " \u00B7 Position ", item.position] }), _jsx(Text, { style: { color: theme.colors.text, fontSize: 23, fontWeight: "700" }, children: item.title }), _jsx(Text, { style: { color: theme.colors.mutedText, lineHeight: 21 }, children: item.description ?? "No description." })] }), _jsxs(View, { style: { gap: 4 }, children: [_jsx(RoadmapField, { label: "ID", value: item.id }), _jsx(RoadmapField, { label: "Linked feedback", value: String(item.feedbackCount) }), _jsx(RoadmapField, { label: "Created", value: new Date(item.createdAt).toLocaleString() }), _jsx(RoadmapField, { label: "Updated", value: new Date(item.updatedAt).toLocaleString() }), _jsx(RoadmapField, { label: "Document created", value: new Date(item.creationTime).toLocaleString() })] }), _jsx(Text, { style: { color: theme.colors.text, fontSize: 18, fontWeight: "700" }, children: "Attached feedback" }), feedback.status === "LoadingFirstPage" ? (_jsx(Text, { style: { color: theme.colors.mutedText }, children: messages.board.loading })) : feedback.results.length === 0 ? (_jsx(Text, { style: { color: theme.colors.mutedText }, children: "No feedback attached." })) : (_jsx(View, { style: { gap: 8 }, children: feedback.results.map((entry) => (_jsx(RoadmapEntry, { entry: entry, hooks: hooks, onOpen: onEntryOpen, onUnauthenticated: onUnauthenticated }, entry.id))) })), (feedback.status === "CanLoadMore" ||
51
- feedback.status === "LoadingMore") && (_jsx(Button, { label: messages.comments.loadMore, disabled: feedback.status === "LoadingMore", onPress: () => feedback.loadMore(entryPageSize) }))] }));
52
- }
53
- function RoadmapField({ label, value }) {
54
- const { theme } = useFeedbackUi();
55
- return (_jsxs(View, { style: { flexDirection: "row", gap: 8 }, children: [_jsxs(Text, { style: { color: theme.colors.mutedText, fontWeight: "600" }, children: [label, ":"] }), _jsx(Text, { style: { flex: 1, color: theme.colors.text }, children: value })] }));
56
- }
57
- function RoadmapEntry({ entry, hooks, onOpen, onUnauthenticated, }) {
58
- const { isAuthenticated } = useFeedbackAuth(hooks);
59
- const setUpvote = hooks.useSetEntryUpvote();
60
- const action = useNativeAction();
61
- const toggle = (desiredState) => {
62
- if (!allowAuthenticatedAction(isAuthenticated, onUnauthenticated) ||
63
- action.pending) {
64
- return;
78
+ const [selectedEntryId, setSelectedEntryId] = useState(null);
79
+ if (selectedEntryId !== null) {
80
+ return (_jsxs(View, { style: styles.entryDetail, children: [_jsx(Button, { label: messages.entry.back, onPress: () => setSelectedEntryId(null) }), _jsx(EntryDetail, { entryId: selectedEntryId, hideBackButton: true, onBack: () => setSelectedEntryId(null) })] }));
81
+ }
82
+ const openEntry = (entryId) => {
83
+ if (onEntryOpen === undefined) {
84
+ setSelectedEntryId(entryId);
85
+ }
86
+ else {
87
+ onEntryOpen(entryId);
65
88
  }
66
- void action.run(() => setUpvote({ entryId: entry.id, desiredState }), "Could not update vote");
67
89
  };
68
- return (_jsxs(FeedbackEntry.Root, { entry: entry, children: [_jsx(FeedbackEntry.Upvote, { disabled: isAuthenticated === undefined || action.pending, onToggle: toggle }), _jsx(Pressable, { onPress: onOpen === undefined ? undefined : () => onOpen(entry.id), accessibilityRole: onOpen === undefined ? undefined : "button", style: { flex: 1, minWidth: 0 }, children: _jsx(FeedbackEntry.Content, { children: _jsxs(View, { style: { gap: 5 }, children: [_jsxs(View, { style: { flexDirection: "row", gap: 8 }, children: [_jsx(FeedbackEntry.Kind, {}), _jsx(FeedbackEntry.Status, {})] }), _jsx(FeedbackEntry.Title, {}), _jsx(FeedbackEntry.Body, {}), _jsx(FeedbackEntry.CommentCount, {})] }) }) })] }));
90
+ return (_jsxs(View, { style: styles.detailContent, children: [_jsxs(View, { style: styles.detailIntro, children: [_jsx(RoadmapStatusBadge, { status: item.status }), _jsx(Text, { style: [styles.detailTitle, { color: theme.colors.text }], children: item.title }), item.description ? (_jsx(Text, { style: [
91
+ styles.detailDescription,
92
+ { color: theme.colors.mutedText },
93
+ ], children: item.description })) : null] }), _jsx(Text, { style: [styles.sectionTitle, { color: theme.colors.text }], children: messages.roadmap.attachedFeedback }), feedback.status === "LoadingFirstPage" ? (_jsx(View, { style: styles.loadingInline, children: _jsx(ActivityIndicator, { color: theme.colors.primary }) })) : feedback.results.length === 0 ? (_jsx(Text, { style: [styles.emptyText, { color: theme.colors.mutedText }], children: messages.roadmap.noAttachedFeedback })) : (_jsx(View, { style: styles.entryList, children: feedback.results.map((entry) => (_jsx(EntryCard, { entry: entry, hooks: hooks, titleNumberOfLines: 1, onOpen: () => openEntry(entry.id) }, entry.id))) })), (feedback.status === "CanLoadMore" ||
94
+ feedback.status === "LoadingMore") && (_jsx(Button, { label: messages.board.loadMore, disabled: feedback.status === "LoadingMore", onPress: () => feedback.loadMore(entryPageSize) }))] }));
69
95
  }
70
- function useFeedbackAuth(hooks) {
71
- return { isAuthenticated: hooks.useIsAuthenticated() };
96
+ function RoadmapDetailPage({ item, entryPageSize, onEntryOpen, onBack, }) {
97
+ const { theme, messages } = useFeedbackUi();
98
+ const insets = useSafeAreaInsets();
99
+ return (_jsxs(View, { style: [
100
+ styles.detailScreen,
101
+ { backgroundColor: theme.colors.background },
102
+ ], children: [_jsx(View, { style: [
103
+ styles.detailToolbar,
104
+ { paddingTop: Math.max(theme.spacing, insets.top + 8) },
105
+ ], children: _jsx(Button, { label: messages.entry.back, onPress: onBack }) }), _jsx(FeedbackBoard.List, { style: {
106
+ paddingHorizontal: theme.spacing,
107
+ paddingBottom: insets.bottom + theme.spacing * 2,
108
+ }, children: _jsx(RoadmapItemContent, { item: item, entryPageSize: entryPageSize, onEntryOpen: onEntryOpen }) })] }));
109
+ }
110
+ function RoadmapCard({ item, onOpen, }) {
111
+ const { messages, theme } = useFeedbackUi();
112
+ return (_jsxs(RoadmapBoardCard, { colors: { border: theme.colors.border, surface: theme.colors.surface }, accessibilityLabel: item.title, onPress: onOpen, children: [_jsx(View, { style: styles.cardMeta, children: _jsx(RoadmapStatusBadge, { status: item.status }) }), _jsx(Text, { style: [styles.cardTitle, { color: theme.colors.text }], children: item.title }), item.description ? (_jsx(Text, { style: [styles.cardDescription, { color: theme.colors.mutedText }], numberOfLines: 3, children: item.description })) : null, _jsxs(Text, { style: [styles.cardLink, { color: theme.colors.primary }], children: [messages.entry.open, " \u203A"] })] }));
113
+ }
114
+ function RoadmapStatusBadge({ status }) {
115
+ const { messages, theme } = useFeedbackUi();
116
+ return (_jsxs(View, { style: [
117
+ styles.statusBadge,
118
+ {
119
+ borderColor: theme.colors.border,
120
+ backgroundColor: theme.colors.surfaceMuted,
121
+ },
122
+ ], children: [_jsx(View, { style: [styles.statusDot, { backgroundColor: theme.colors.primary }] }), _jsx(Text, { style: [styles.statusText, { color: theme.colors.mutedText }], children: messages.roadmap.statuses[status] })] }));
72
123
  }
124
+ const styles = StyleSheet.create({
125
+ boardScreen: { flex: 1, minHeight: 0 },
126
+ boardHeader: {
127
+ gap: 10,
128
+ paddingHorizontal: 18,
129
+ paddingBottom: 16,
130
+ },
131
+ subtitle: { fontSize: 14, lineHeight: 20 },
132
+ stateText: { textAlign: "center" },
133
+ cardMeta: {
134
+ flexDirection: "row",
135
+ alignItems: "center",
136
+ gap: 8,
137
+ },
138
+ cardTitle: { fontSize: 16, fontWeight: "700", lineHeight: 21 },
139
+ cardDescription: { fontSize: 13, lineHeight: 19 },
140
+ cardLink: { fontSize: 13, fontWeight: "700" },
141
+ statusBadge: {
142
+ alignSelf: "flex-start",
143
+ flexDirection: "row",
144
+ alignItems: "center",
145
+ gap: 5,
146
+ borderWidth: StyleSheet.hairlineWidth,
147
+ borderRadius: 999,
148
+ paddingHorizontal: 7,
149
+ paddingVertical: 4,
150
+ },
151
+ statusDot: { width: 6, height: 6, borderRadius: 3 },
152
+ statusText: { fontSize: 11, fontWeight: "700" },
153
+ detailScreen: { flex: 1, minHeight: 0 },
154
+ detailToolbar: { paddingHorizontal: 18, paddingBottom: 10 },
155
+ detailContent: { gap: 18 },
156
+ detailIntro: { gap: 10 },
157
+ detailTitle: { fontSize: 26, fontWeight: "800", lineHeight: 31 },
158
+ detailDescription: { fontSize: 15, lineHeight: 23 },
159
+ sectionTitle: { fontSize: 18, fontWeight: "800" },
160
+ loadingInline: { paddingVertical: 22 },
161
+ emptyText: { lineHeight: 20 },
162
+ entryList: { gap: 10 },
163
+ entryDetail: { gap: 16 },
164
+ });
73
165
  //# sourceMappingURL=RoadmapScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoadmapScreen.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/RoadmapScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoadmapScreen.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/RoadmapScreen.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { BoardSearchBaseProps, ChoiceChipsBaseProps, CommentActionBaseProps
5
5
  * Props for `FeedbackBoard.Root`.
6
6
  */
7
7
  export type BoardRootProps = PropsWithChildren<FeedbackColorProps>;
8
- declare function BoardRoot({ primaryColor, backgroundColor, surfaceColor, textColor, mutedColor, borderColor, dangerColor, children, }: BoardRootProps): import("react").JSX.Element;
8
+ declare function BoardRoot({ primaryColor, primaryForeground, backgroundColor, surfaceColor, textColor, mutedColor, borderColor, dangerColor, children, }: BoardRootProps): import("react").JSX.Element;
9
9
  declare function BoardHeader({ style, ...props }: ViewProps): import("react").JSX.Element;
10
10
  declare function BoardTitle({ style, children, ...props }: TextProps): import("react").JSX.Element;
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/primitives.tsx"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,UAAU,EAEV,SAAS,EAET,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EACV,oBAAoB,EAEpB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EAEpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EAEpB,kBAAkB,EAClB,mBAAmB,EAEnB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAG/B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAEnE,iBAAS,SAAS,CAAC,EACjB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,GACT,EAAE,cAAc,+BA2BhB;AAED,iBAAS,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAYlD;AAED,iBAAS,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAc3D;AAED;;GAEG;AACH,MAAM,WAAW,gBACf,SACE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC,EAC3D,oBAAoB;CAAG;AAyD3B,iBAAS,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAkBjD;AAED,eAAO,MAAM,aAAa;;;;;;;CAOzB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,CAC7D,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC;CAAG;AAErE,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,EAChD,OAAO,EACP,KAAK,EACL,aAAa,EACb,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,KAAK,CAAC,+BAwDzB;AAYD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS,EAAE,kBAAkB;CAAG;AAExE,iBAAS,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAsB5D;AAED,MAAM,WAAW,gBACf,SACE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,EACtD,oBAAoB;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,iBAAS,WAAW,CAAC,EACnB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,GAAG,KAAK,EACT,EAAE,gBAAgB,+BA8DlB;AACD,iBAAS,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAoB1D;AACD,iBAAS,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAEnD;AACD,iBAAS,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAe3D;AACD,iBAAS,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAe1D;AACD,iBAAS,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAe5D;AACD,iBAAS,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAelE;AACD,eAAO,MAAM,aAAa;;;;;;;;;CASzB,CAAC;AASF,MAAM,WAAW,gBAAiB,SAAQ,SAAS,EAAE,oBAAoB;CAAG;AAE5E,iBAAS,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAqBlE;AACD,iBAAS,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAmB5D;AAED,MAAM,WAAW,gBACf,SACE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,EACtD,oBAAoB;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AACD,iBAAS,WAAW,CAAC,EACnB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAwDlB;AAED,MAAM,WAAW,kBACf,SACE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,EACtD,sBAAsB;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AACD,iBAAS,YAAY,CAAC,EACpB,UAAU,EACV,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE,kBAAkB,+BAgBpB;AAED,MAAM,WAAW,kBACf,SACE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,EACtD,sBAAsB;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AACD,iBAAS,oBAAoB,CAAC,EAC5B,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE,kBAAkB,sCAuBpB;AACD,iBAAS,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAkBtD;AACD,eAAO,MAAM,OAAO;;;;;;;CAOnB,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAQ/C;AACD,iBAAS,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAuBrD;AACD,iBAAS,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BASxD;AAED,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,EAAE,mBAAmB;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AACD,iBAAS,UAAU,CAAC,EAClB,UAAkB,EAClB,QAAQ,EACR,eAAe,EACf,KAAK,EACL,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE,eAAe,+BAgCjB;AACD,eAAO,MAAM,YAAY;;;;;CAKxB,CAAC"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/primitives.tsx"],"names":[],"mappings":"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"}
@@ -3,9 +3,10 @@ import { createContext, forwardRef, useContext, useMemo, } from "react";
3
3
  import { Pressable, ScrollView, Text, TextInput, View, } from "react-native";
4
4
  import { FeedbackNativeThemeScope, useFeedbackUi, } from "../../../shared/context/FeedbackProvider.js";
5
5
  import { combineStyle } from "../helpers.js";
6
- function BoardRoot({ primaryColor, backgroundColor, surfaceColor, textColor, mutedColor, borderColor, dangerColor, children, }) {
6
+ function BoardRoot({ primaryColor, primaryForeground, backgroundColor, surfaceColor, textColor, mutedColor, borderColor, dangerColor, children, }) {
7
7
  const colorOverrides = useMemo(() => ({
8
8
  ...(primaryColor === undefined ? {} : { primary: primaryColor }),
9
+ ...(primaryForeground === undefined ? {} : { primaryForeground }),
9
10
  ...(backgroundColor === undefined ? {} : { background: backgroundColor }),
10
11
  ...(surfaceColor === undefined ? {} : { surface: surfaceColor }),
11
12
  ...(textColor === undefined ? {} : { text: textColor }),
@@ -18,6 +19,7 @@ function BoardRoot({ primaryColor, backgroundColor, surfaceColor, textColor, mut
18
19
  dangerColor,
19
20
  mutedColor,
20
21
  primaryColor,
22
+ primaryForeground,
21
23
  surfaceColor,
22
24
  textColor,
23
25
  ]);