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.
- package/README.md +40 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/native/expo/FeedbackRoutes.d.ts.map +1 -1
- package/dist/native/expo/FeedbackRoutes.js +15 -2
- package/dist/native/expo/FeedbackRoutes.js.map +1 -1
- package/dist/native/expo/RoadmapRoutes.d.ts +3 -0
- package/dist/native/expo/RoadmapRoutes.d.ts.map +1 -0
- package/dist/native/expo/RoadmapRoutes.js +61 -0
- package/dist/native/expo/RoadmapRoutes.js.map +1 -0
- package/dist/native/expo/RoadmapScreen.d.ts +24 -0
- package/dist/native/expo/RoadmapScreen.d.ts.map +1 -0
- package/dist/native/expo/RoadmapScreen.js +43 -0
- package/dist/native/expo/RoadmapScreen.js.map +1 -0
- package/dist/native/expo/RoadmapStackLayout.d.ts +8 -0
- package/dist/native/expo/RoadmapStackLayout.d.ts.map +1 -0
- package/dist/native/expo/RoadmapStackLayout.js +55 -0
- package/dist/native/expo/RoadmapStackLayout.js.map +1 -0
- package/dist/native/expo/RoutedRoadmapContext.d.ts +4 -0
- package/dist/native/expo/RoutedRoadmapContext.d.ts.map +1 -0
- package/dist/native/expo/RoutedRoadmapContext.js +11 -0
- package/dist/native/expo/RoutedRoadmapContext.js.map +1 -0
- package/dist/native/expo/index.d.ts +5 -1
- package/dist/native/expo/index.d.ts.map +1 -1
- package/dist/native/expo/index.js +5 -1
- package/dist/native/expo/index.js.map +1 -1
- package/dist/native/expo/routes.d.ts +17 -1
- package/dist/native/expo/routes.d.ts.map +1 -1
- package/dist/native/expo/routes.js +46 -0
- package/dist/native/expo/routes.js.map +1 -1
- package/dist/native/expo/types.d.ts +35 -1
- package/dist/native/expo/types.d.ts.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/ui/EntryCard.d.ts +1 -1
- package/dist/native/shared/ui/EntryCard.d.ts.map +1 -1
- package/dist/native/shared/ui/EntryCard.js +2 -2
- package/dist/native/shared/ui/EntryCard.js.map +1 -1
- package/dist/native/shared/ui/RoadmapBoard.d.ts +55 -0
- package/dist/native/shared/ui/RoadmapBoard.d.ts.map +1 -0
- package/dist/native/shared/ui/RoadmapBoard.js +89 -0
- package/dist/native/shared/ui/RoadmapBoard.js.map +1 -0
- package/dist/native/shared/ui/RoadmapScreen.d.ts +36 -1
- package/dist/native/shared/ui/RoadmapScreen.d.ts.map +1 -1
- package/dist/native/shared/ui/RoadmapScreen.js +143 -51
- package/dist/native/shared/ui/RoadmapScreen.js.map +1 -1
- package/dist/native/shared/ui/primitives.d.ts +1 -1
- package/dist/native/shared/ui/primitives.d.ts.map +1 -1
- package/dist/native/shared/ui/primitives.js +3 -1
- package/dist/native/shared/ui/primitives.js.map +1 -1
- package/dist/react/roadmap.d.ts.map +1 -1
- package/dist/react/roadmap.js +25 -13
- package/dist/react/roadmap.js.map +1 -1
- package/dist/react/styles.css +129 -0
- package/dist/shared/messages.d.ts.map +1 -1
- package/dist/shared/messages.js +24 -0
- package/dist/shared/messages.js.map +1 -1
- package/dist/shared/types/messages.d.ts +28 -1
- package/dist/shared/types/messages.d.ts.map +1 -1
- package/dist/shared/types/roadmap.d.ts +10 -1
- package/dist/shared/types/roadmap.d.ts.map +1 -1
- package/dist/shared/types/screen.d.ts +2 -0
- package/dist/shared/types/screen.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/native/expo/FeedbackRoutes.tsx +30 -7
- package/src/native/expo/README.md +10 -2
- package/src/native/expo/RoadmapRoutes.tsx +171 -0
- package/src/native/expo/RoadmapScreen.tsx +177 -0
- package/src/native/expo/RoadmapStackLayout.tsx +110 -0
- package/src/native/expo/RoutedRoadmapContext.tsx +21 -0
- package/src/native/expo/index.ts +10 -1
- package/src/native/expo/routes.ts +69 -1
- package/src/native/expo/types.ts +43 -0
- package/src/native/native/README.md +9 -3
- package/src/native/native/index.ts +1 -0
- package/src/native/shared/ui/EntryCard.tsx +2 -1
- package/src/native/shared/ui/RoadmapBoard.tsx +225 -0
- package/src/native/shared/ui/RoadmapScreen.tsx +415 -242
- package/src/native/shared/ui/primitives.tsx +3 -0
- package/src/react/roadmap.tsx +140 -85
- package/src/react/styles.css +129 -0
- package/src/shared/messages.ts +25 -0
- package/src/shared/types/messages.ts +41 -1
- package/src/shared/types/roadmap.ts +18 -1
- 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,
|
|
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,
|
|
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":";AAEA,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,EACV,IAAI,EACJ,IAAI,GAIL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAoDnE,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACiB;IACtB,OAAO,CACL,KAAC,SAAS,IACR,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI;YACX;gBACE,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,eAAe,EAAE,MAAM,CAAC,OAAO;aAChC;YACD,KAAK;YACL,OAAO,IAAI,MAAM,CAAC,OAAO;SAC1B,YAEA,QAAQ,GACC,CACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,MAAM,EACN,MAAM,EACN,OAAO,GAAG,KAAK,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,KAAK,EACL,qBAAqB,GACH;IAClB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IAEnC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,KAAC,iBAAiB,IAChB,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,EACrE,KAAK,EAAE,MAAM,CAAC,OAAO,GACrB,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IACT,UAAU,QACV,KAAK,EAAE;YACL,MAAM,CAAC,WAAW;YAClB,EAAE,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE;YACtC,KAAK;SACN,EACD,8BAA8B,EAAC,WAAW,EAC1C,8BAA8B,EAAE,KAAK,EACrC,qBAAqB,EAAE;YACrB,MAAM,CAAC,KAAK;YACZ;gBACE,WAAW,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI;gBAC7B,YAAY,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK;gBAC/B,aAAa,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM;aAClC;YACD,qBAAqB;SACtB,YAEA,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAChC,MAAM,UAAU,GAAG,KAAK;iBACrB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC;iBAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE3C,OAAO,CACL,MAAC,IAAI,IAEH,KAAK,EAAE;oBACL,MAAM,CAAC,MAAM;oBACb;wBACE,WAAW,EAAE,MAAM,CAAC,MAAM;wBAC1B,eAAe,EAAE,MAAM,CAAC,OAAO;qBAChC;iBACF,aAED,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,aAChE,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,YACtD,KAAK,CAAC,KAAK,GACP,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,YACjD,UAAU,CAAC,MAAM,GACb,IACF,EACP,KAAC,QAAQ,IACP,IAAI,EAAE,UAAU,EAChB,mBAAmB,QACnB,8BAA8B,EAAC,OAAO,EACtC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAC/B,qBAAqB,EAAE;4BACrB,MAAM,CAAC,KAAK;4BACZ,EAAE,aAAa,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;yBACtC,EACD,kBAAkB,EAChB,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,YACjD,UAAU,GACN,EAET,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACvB,UAAU,CAAC;4BACT,IAAI;4BACJ,KAAK;4BACL,UAAU;4BACV,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;yBAC/B,CAAC,GAEJ,KAvCG,KAAK,CAAC,KAAK,CAwCX,CACR,CAAC;QACJ,CAAC,CAAC,GACS,CACd,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;IACxB,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;IACnB,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IAClC,MAAM,EAAE;QACN,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,QAAQ;KACnB;IACD,YAAY,EAAE;QACZ,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,eAAe;QAC/B,iBAAiB,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE;KACZ;IACD,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvB,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;IAC3C,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACZ;IACD,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;CAC1B,CAAC,CAAC"}
|
|
@@ -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
|
-
|
|
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":"
|
|
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 {
|
|
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 {
|
|
6
|
-
import {
|
|
7
|
+
import { kinds } from "../../../shared/helpers.js";
|
|
8
|
+
import { collectNativeMetadata } from "../metadata.js";
|
|
7
9
|
import { Button } from "./Button.js";
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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
|
|
15
|
-
const [
|
|
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(
|
|
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(
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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(
|
|
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
|
|
71
|
-
|
|
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,+
|
|
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
|
]);
|