convex-feedback-ui 0.1.4 → 0.1.6
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 +176 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/native/expo/ExpoFeedbackBody.d.ts +1 -1
- package/dist/native/expo/ExpoFeedbackBody.d.ts.map +1 -1
- package/dist/native/expo/ExpoFeedbackBody.js +2 -2
- package/dist/native/expo/ExpoFeedbackBody.js.map +1 -1
- package/dist/native/expo/FeedbackCreateStackLayout.d.ts +3 -0
- package/dist/native/expo/FeedbackCreateStackLayout.d.ts.map +1 -0
- package/dist/native/expo/FeedbackCreateStackLayout.js +35 -0
- package/dist/native/expo/FeedbackCreateStackLayout.js.map +1 -0
- package/dist/native/expo/FeedbackRoutes.d.ts +4 -0
- package/dist/native/expo/FeedbackRoutes.d.ts.map +1 -0
- package/dist/native/expo/FeedbackRoutes.js +76 -0
- package/dist/native/expo/FeedbackRoutes.js.map +1 -0
- package/dist/native/expo/FeedbackScreen.d.ts +1 -1
- package/dist/native/expo/FeedbackScreen.d.ts.map +1 -1
- package/dist/native/expo/FeedbackScreen.js +3 -2
- package/dist/native/expo/FeedbackScreen.js.map +1 -1
- package/dist/native/expo/FeedbackStack.d.ts +1 -1
- package/dist/native/expo/FeedbackStack.d.ts.map +1 -1
- package/dist/native/expo/FeedbackStack.js +4 -2
- package/dist/native/expo/FeedbackStack.js.map +1 -1
- package/dist/native/expo/FeedbackStackLayout.d.ts +3 -0
- package/dist/native/expo/FeedbackStackLayout.d.ts.map +1 -0
- package/dist/native/expo/FeedbackStackLayout.js +54 -0
- package/dist/native/expo/FeedbackStackLayout.js.map +1 -0
- package/dist/native/expo/RoutedFeedbackContext.d.ts +4 -0
- package/dist/native/expo/RoutedFeedbackContext.d.ts.map +1 -0
- package/dist/native/expo/RoutedFeedbackContext.js +11 -0
- package/dist/native/expo/RoutedFeedbackContext.js.map +1 -0
- package/dist/native/expo/RoutedFeedbackModalContext.d.ts +7 -0
- package/dist/native/expo/RoutedFeedbackModalContext.d.ts.map +1 -0
- package/dist/native/expo/RoutedFeedbackModalContext.js +7 -0
- package/dist/native/expo/RoutedFeedbackModalContext.js.map +1 -0
- package/dist/native/expo/index.d.ts +6 -0
- package/dist/native/expo/index.d.ts.map +1 -1
- package/dist/native/expo/index.js +6 -0
- package/dist/native/expo/index.js.map +1 -1
- package/dist/native/expo/metadata.d.ts +4 -0
- package/dist/native/expo/metadata.d.ts.map +1 -0
- package/dist/native/expo/metadata.js +44 -0
- package/dist/native/expo/metadata.js.map +1 -0
- package/dist/native/expo/routes.d.ts +16 -0
- package/dist/native/expo/routes.d.ts.map +1 -0
- package/dist/native/expo/routes.js +23 -0
- package/dist/native/expo/routes.js.map +1 -0
- package/dist/native/expo/types.d.ts +51 -1
- package/dist/native/expo/types.d.ts.map +1 -1
- package/dist/native/native/FeedbackScreen.d.ts +1 -1
- package/dist/native/native/FeedbackScreen.d.ts.map +1 -1
- package/dist/native/native/FeedbackScreen.js +3 -2
- package/dist/native/native/FeedbackScreen.js.map +1 -1
- package/dist/native/native/index.d.ts +2 -0
- package/dist/native/native/index.d.ts.map +1 -1
- package/dist/native/native/index.js +2 -0
- package/dist/native/native/index.js.map +1 -1
- package/dist/native/shared/metadata.d.ts +5 -0
- package/dist/native/shared/metadata.d.ts.map +1 -0
- package/dist/native/shared/metadata.js +31 -0
- package/dist/native/shared/metadata.js.map +1 -0
- package/dist/native/shared/ui/EntryDetail.d.ts.map +1 -1
- package/dist/native/shared/ui/EntryDetail.js +3 -1
- package/dist/native/shared/ui/EntryDetail.js.map +1 -1
- package/dist/native/shared/ui/FeedbackScreenList.d.ts +1 -1
- package/dist/native/shared/ui/FeedbackScreenList.d.ts.map +1 -1
- package/dist/native/shared/ui/FeedbackScreenList.js +2 -2
- package/dist/native/shared/ui/FeedbackScreenList.js.map +1 -1
- package/dist/native/shared/ui/MetadataModal.d.ts +6 -0
- package/dist/native/shared/ui/MetadataModal.d.ts.map +1 -0
- package/dist/native/shared/ui/MetadataModal.js +39 -0
- package/dist/native/shared/ui/MetadataModal.js.map +1 -0
- package/dist/native/shared/ui/NewEntry.d.ts +10 -0
- package/dist/native/shared/ui/NewEntry.d.ts.map +1 -1
- package/dist/native/shared/ui/NewEntry.js +11 -4
- package/dist/native/shared/ui/NewEntry.js.map +1 -1
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/metadata.d.ts +4 -0
- package/dist/react/metadata.d.ts.map +1 -0
- package/dist/react/metadata.js +40 -0
- package/dist/react/metadata.js.map +1 -0
- package/dist/react/screen.d.ts +1 -1
- package/dist/react/screen.d.ts.map +1 -1
- package/dist/react/screen.js +18 -4
- package/dist/react/screen.js.map +1 -1
- package/dist/react/styles.css +35 -0
- package/dist/shared/context/FeedbackBodyProvider.d.ts +1 -1
- package/dist/shared/context/FeedbackBodyProvider.d.ts.map +1 -1
- package/dist/shared/context/FeedbackBodyProvider.js +5 -1
- package/dist/shared/context/FeedbackBodyProvider.js.map +1 -1
- package/dist/shared/messages.d.ts.map +1 -1
- package/dist/shared/messages.js +9 -0
- package/dist/shared/messages.js.map +1 -1
- package/dist/shared/metadata.d.ts +6 -0
- package/dist/shared/metadata.d.ts.map +1 -0
- package/dist/shared/metadata.js +54 -0
- package/dist/shared/metadata.js.map +1 -0
- package/dist/shared/types/index.d.ts +1 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/messages.d.ts +17 -0
- package/dist/shared/types/messages.d.ts.map +1 -1
- package/dist/shared/types/metadata.d.ts +22 -0
- package/dist/shared/types/metadata.d.ts.map +1 -0
- package/dist/shared/types/metadata.js +2 -0
- package/dist/shared/types/metadata.js.map +1 -0
- package/dist/shared/types/screen.d.ts +14 -1
- package/dist/shared/types/screen.d.ts.map +1 -1
- package/package.json +12 -8
- package/src/native/expo/ExpoFeedbackBody.tsx +6 -1
- package/src/native/expo/FeedbackCreateStackLayout.tsx +62 -0
- package/src/native/expo/FeedbackRoutes.tsx +204 -0
- package/src/native/expo/FeedbackScreen.tsx +4 -0
- package/src/native/expo/FeedbackStack.tsx +16 -4
- package/src/native/expo/FeedbackStackLayout.tsx +116 -0
- package/src/native/expo/README.md +24 -0
- package/src/native/expo/RoutedFeedbackContext.tsx +20 -0
- package/src/native/expo/RoutedFeedbackModalContext.tsx +14 -0
- package/src/native/expo/index.ts +6 -0
- package/src/native/expo/metadata.ts +62 -0
- package/src/native/expo/routes.ts +41 -0
- package/src/native/expo/types.ts +63 -1
- package/src/native/native/FeedbackScreen.tsx +4 -0
- package/src/native/native/index.ts +2 -0
- package/src/native/shared/metadata.ts +39 -0
- package/src/native/shared/ui/EntryDetail.tsx +14 -0
- package/src/native/shared/ui/FeedbackScreenList.tsx +2 -1
- package/src/native/shared/ui/MetadataModal.tsx +112 -0
- package/src/native/shared/ui/NewEntry.tsx +18 -4
- package/src/react/index.ts +2 -0
- package/src/react/metadata.ts +51 -0
- package/src/react/screen.tsx +89 -2
- package/src/react/styles.css +35 -0
- package/src/shared/context/FeedbackBodyProvider.tsx +8 -0
- package/src/shared/messages.ts +9 -0
- package/src/shared/metadata.ts +84 -0
- package/src/shared/types/index.ts +1 -0
- package/src/shared/types/messages.ts +24 -0
- package/src/shared/types/metadata.ts +55 -0
- package/src/shared/types/screen.ts +17 -2
|
@@ -1,20 +1,70 @@
|
|
|
1
1
|
import type { StackScreenProps } from "expo-router";
|
|
2
|
+
import type { ImageSourcePropType } from "react-native";
|
|
2
3
|
import type { SearchBarCommands } from "react-native-screens";
|
|
3
|
-
import type { FeedbackScreenRootProps } from "../../shared/types";
|
|
4
|
+
import type { FeedbackColorProps, FeedbackScreenRootProps } from "../../shared/types";
|
|
4
5
|
interface FeedbackScreenWithStack {
|
|
5
6
|
useStack?: true;
|
|
6
7
|
StackOptions?: StackScreenProps["options"];
|
|
8
|
+
/** Android image sources for toolbar actions. iOS continues to use SF Symbols. */
|
|
9
|
+
androidToolbarIcons?: FeedbackAndroidToolbarIcons;
|
|
7
10
|
}
|
|
8
11
|
interface FeedbackScreenWithoutStack {
|
|
9
12
|
useStack?: false;
|
|
10
13
|
StackOptions?: never;
|
|
14
|
+
androidToolbarIcons?: never;
|
|
11
15
|
}
|
|
12
16
|
export type FeedbackScreenStackProps = FeedbackScreenWithStack | FeedbackScreenWithoutStack;
|
|
13
17
|
export type ExpoFeedbackScreenProps = FeedbackScreenStackProps & FeedbackScreenRootProps;
|
|
14
18
|
export interface FeedbackStackProps {
|
|
15
19
|
searchRef: React.RefObject<SearchBarCommands | null>;
|
|
16
20
|
stackOptions?: StackScreenProps["options"];
|
|
21
|
+
androidToolbarIcons?: FeedbackAndroidToolbarIcons;
|
|
17
22
|
children: React.ReactNode;
|
|
18
23
|
}
|
|
24
|
+
/** File names used by the routed feedback stack. */
|
|
25
|
+
export interface FeedbackRouteNames {
|
|
26
|
+
/** Board route. @default "index" */
|
|
27
|
+
board: string;
|
|
28
|
+
/** Entry route. Must contain `[entryId]`. @default "[entryId]" */
|
|
29
|
+
entry: string;
|
|
30
|
+
/** Create-entry modal route. @default "new" */
|
|
31
|
+
create: string;
|
|
32
|
+
}
|
|
33
|
+
export type FeedbackStackScreenOptions = Exclude<NonNullable<StackScreenProps["options"]>, (...args: never[]) => unknown>;
|
|
34
|
+
export interface FeedbackAndroidToolbarIcons {
|
|
35
|
+
/** Android image source for the create-entry action. */
|
|
36
|
+
create?: ImageSourcePropType;
|
|
37
|
+
/** Android image source for the back action. */
|
|
38
|
+
back?: ImageSourcePropType;
|
|
39
|
+
/** Android image source for modal close actions. */
|
|
40
|
+
close?: ImageSourcePropType;
|
|
41
|
+
}
|
|
42
|
+
export interface FeedbackStackLayoutProps extends FeedbackScreenRootProps {
|
|
43
|
+
/** Partial overrides for the prescribed route file names. */
|
|
44
|
+
routes?: Partial<FeedbackRouteNames>;
|
|
45
|
+
/** Options shared by every feedback screen. */
|
|
46
|
+
screenOptions?: FeedbackStackScreenOptions;
|
|
47
|
+
/** Board screen option overrides. */
|
|
48
|
+
boardOptions?: FeedbackStackScreenOptions;
|
|
49
|
+
/** Entry-detail screen option overrides. */
|
|
50
|
+
entryOptions?: FeedbackStackScreenOptions;
|
|
51
|
+
/** Create-entry modal option overrides. */
|
|
52
|
+
createOptions?: FeedbackStackScreenOptions;
|
|
53
|
+
/** Android image sources for toolbar actions. iOS continues to use SF Symbols. */
|
|
54
|
+
androidToolbarIcons?: FeedbackAndroidToolbarIcons;
|
|
55
|
+
}
|
|
56
|
+
export interface FeedbackCreateStackLayoutProps {
|
|
57
|
+
/** Options shared by the create form and suggested-entry screens. */
|
|
58
|
+
screenOptions?: FeedbackStackScreenOptions;
|
|
59
|
+
/** Create-form screen option overrides. */
|
|
60
|
+
createOptions?: FeedbackStackScreenOptions;
|
|
61
|
+
/** Suggested-entry screen option overrides. */
|
|
62
|
+
entryOptions?: FeedbackStackScreenOptions;
|
|
63
|
+
}
|
|
64
|
+
export interface RoutedFeedbackContextValue {
|
|
65
|
+
routes: FeedbackRouteNames;
|
|
66
|
+
colors: FeedbackColorProps;
|
|
67
|
+
androidToolbarIcons: FeedbackAndroidToolbarIcons;
|
|
68
|
+
}
|
|
19
69
|
export {};
|
|
20
70
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native/expo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native/expo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC3C,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;CACnD;AACD,UAAU,0BAA0B;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAC7B;AACD,MAAM,MAAM,wBAAwB,GAClC,uBAAuB,GAAG,0BAA0B,CAAC;AAEvD,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAC5D,uBAAuB,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC3C,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC9C,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EACxC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAC9B,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,wDAAwD;IACxD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,gDAAgD;IAChD,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,oDAAoD;IACpD,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAC3C,qCAAqC;IACrC,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,4CAA4C;IAC5C,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,2CAA2C;IAC3C,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAC3C,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;CACnD;AAED,MAAM,WAAW,8BAA8B;IAC7C,qEAAqE;IACrE,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAC3C,2CAA2C;IAC3C,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAC3C,+CAA+C;IAC/C,YAAY,CAAC,EAAE,0BAA0B,CAAC;CAC3C;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,mBAAmB,EAAE,2BAA2B,CAAC;CAClD"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { FeedbackScreenRootProps } from "../../shared/types";
|
|
2
|
-
export declare function FeedbackScreen({ hooks, messages, theme, unstyled, entrySort, commentSort, enabledKinds, maxCommentDepth, debounceDuration, transformComments, renderActor, ...props }: FeedbackScreenRootProps): import("react").JSX.Element;
|
|
2
|
+
export declare function FeedbackScreen({ hooks, messages, theme, unstyled, entrySort, commentSort, enabledKinds, maxCommentDepth, debounceDuration, collectMetadata, transformComments, renderActor, ...props }: FeedbackScreenRootProps): import("react").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=FeedbackScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackScreen.d.ts","sourceRoot":"","sources":["../../../src/native/native/FeedbackScreen.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"FeedbackScreen.d.ts","sourceRoot":"","sources":["../../../src/native/native/FeedbackScreen.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAIlE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAiB,EACjB,WAAmB,EACnB,YAAoB,EACpB,eAAmB,EACnB,gBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,GAAG,KAAK,EACT,EAAE,uBAAuB,+BAmBzB"}
|
|
@@ -3,7 +3,8 @@ import { FeedbackBodyProvider } from "../../shared/context/FeedbackBodyProvider"
|
|
|
3
3
|
import { FeedbackProvider } from "../../shared/context/FeedbackProvider";
|
|
4
4
|
import { kinds } from "../../shared/helpers";
|
|
5
5
|
import { FeedbackScreenContent } from "../shared/ui/BodyContent";
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import { collectNativeMetadata } from "../shared/metadata";
|
|
7
|
+
export function FeedbackScreen({ hooks, messages, theme, unstyled, entrySort = "top", commentSort = "top", enabledKinds = kinds, maxCommentDepth = 5, debounceDuration = 300, collectMetadata, transformComments, renderActor, ...props }) {
|
|
8
|
+
return (_jsx(FeedbackProvider, { messages: messages, theme: theme, unstyled: unstyled, children: _jsx(FeedbackBodyProvider, { hooks: hooks, entrySort: entrySort, commentSort: commentSort, enabledKinds: enabledKinds, maxCommentDepth: maxCommentDepth, debounceDuration: debounceDuration, collectMetadata: collectMetadata, collectStandardMetadata: collectNativeMetadata, transformComments: transformComments, renderActor: renderActor, children: _jsx(FeedbackScreenContent, { ...props }) }) }));
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=FeedbackScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackScreen.js","sourceRoot":"","sources":["../../../src/native/native/FeedbackScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"FeedbackScreen.js","sourceRoot":"","sources":["../../../src/native/native/FeedbackScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,WAAW,GAAG,KAAK,EACnB,YAAY,GAAG,KAAK,EACpB,eAAe,GAAG,CAAC,EACnB,gBAAgB,GAAG,GAAG,EACtB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,GAAG,KAAK,EACgB;IACxB,OAAO,CACL,KAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YACpE,KAAC,oBAAoB,IACnB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,EAChC,uBAAuB,EAAE,qBAAqB,EAC9C,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,YAExB,KAAC,qBAAqB,OAAK,KAAK,GAAI,GACf,GACN,CACpB,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export * from "../../shared/context/FeedbackBodyProvider.js";
|
|
2
2
|
export * from "../../shared/context/FeedbackProvider.js";
|
|
3
3
|
export * from "../../shared/messages.js";
|
|
4
|
+
export * from "../../shared/metadata.js";
|
|
4
5
|
export * from "../../shared/theme.js";
|
|
5
6
|
export type * from "../../shared/types/index.js";
|
|
6
7
|
export * from "../shared/ui/primitives.js";
|
|
8
|
+
export * from "../shared/metadata.js";
|
|
7
9
|
export * from "./FeedbackScreen.js";
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/native/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,6BAA6B,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/native/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,6BAA6B,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export * from "../../shared/context/FeedbackBodyProvider.js";
|
|
2
2
|
export * from "../../shared/context/FeedbackProvider.js";
|
|
3
3
|
export * from "../../shared/messages.js";
|
|
4
|
+
export * from "../../shared/metadata.js";
|
|
4
5
|
export * from "../../shared/theme.js";
|
|
5
6
|
export * from "../shared/ui/primitives.js";
|
|
7
|
+
export * from "../shared/metadata.js";
|
|
6
8
|
export * from "./FeedbackScreen.js";
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/native/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/native/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { FeedbackMetadataValue } from "convex-feedback";
|
|
2
|
+
import type { StandardMetadataKey, EnabledStandardMetadataSelection } from "../../shared/types/metadata.js";
|
|
3
|
+
export declare const defaultNativeMetadataKeys: readonly StandardMetadataKey[];
|
|
4
|
+
export declare function collectNativeMetadata(selection: EnabledStandardMetadataSelection): Partial<Record<StandardMetadataKey, FeedbackMetadataValue>>;
|
|
5
|
+
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/native/shared/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,KAAK,EACV,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,yBAAyB,EAAE,SAAS,mBAAmB,EAQnE,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,gCAAgC,GAC1C,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAkB7D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Dimensions, PixelRatio, Platform } from "react-native";
|
|
2
|
+
export const defaultNativeMetadataKeys = [
|
|
3
|
+
"platform",
|
|
4
|
+
"osVersion",
|
|
5
|
+
"deviceModel",
|
|
6
|
+
"screenWidth",
|
|
7
|
+
"screenHeight",
|
|
8
|
+
"pixelRatio",
|
|
9
|
+
"fontScale",
|
|
10
|
+
];
|
|
11
|
+
export function collectNativeMetadata(selection) {
|
|
12
|
+
const keys = new Set(selection === true ? defaultNativeMetadataKeys : selection);
|
|
13
|
+
const metadata = {};
|
|
14
|
+
const screen = Dimensions.get("screen");
|
|
15
|
+
if (keys.has("platform"))
|
|
16
|
+
metadata.platform = Platform.OS;
|
|
17
|
+
if (keys.has("osVersion"))
|
|
18
|
+
metadata.osVersion = Platform.Version;
|
|
19
|
+
if (keys.has("deviceModel") && Platform.OS === "android")
|
|
20
|
+
metadata.deviceModel = Platform.constants.Model;
|
|
21
|
+
if (keys.has("screenWidth"))
|
|
22
|
+
metadata.screenWidth = screen.width;
|
|
23
|
+
if (keys.has("screenHeight"))
|
|
24
|
+
metadata.screenHeight = screen.height;
|
|
25
|
+
if (keys.has("pixelRatio"))
|
|
26
|
+
metadata.pixelRatio = PixelRatio.get();
|
|
27
|
+
if (keys.has("fontScale"))
|
|
28
|
+
metadata.fontScale = PixelRatio.getFontScale();
|
|
29
|
+
return metadata;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/native/shared/metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAOhE,MAAM,CAAC,MAAM,yBAAyB,GAAmC;IACvE,UAAU;IACV,WAAW;IACX,aAAa;IACb,aAAa;IACb,cAAc;IACd,YAAY;IACZ,WAAW;CACZ,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,SAA2C;IAE3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAC3D,CAAC;IACF,MAAM,QAAQ,GACZ,EAAE,CAAC;IACL,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjE,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS;QACtD,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;IAClD,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;IACjE,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;QAAE,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACpE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;IACnE,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;IAE1E,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntryDetail.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/EntryDetail.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"EntryDetail.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/EntryDetail.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAM5E,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,cAAc,GACf,EAAE,8BAA8B,2CAqGhC"}
|
|
@@ -6,6 +6,7 @@ import { useFeedbackUi } from "../../../shared/context/FeedbackProvider";
|
|
|
6
6
|
import { Button } from "./Button";
|
|
7
7
|
import { CommentBranch } from "./CommentBranch";
|
|
8
8
|
import { FeedbackEntry, FeedbackForm } from "./primitives";
|
|
9
|
+
import { MetadataModal } from "./MetadataModal";
|
|
9
10
|
export function EntryDetail({ entryId, onBack, hideBackButton, }) {
|
|
10
11
|
const { hooks, commentSort, transformComments } = useFeedbackBody();
|
|
11
12
|
const { messages, theme } = useFeedbackUi();
|
|
@@ -14,6 +15,7 @@ export function EntryDetail({ entryId, onBack, hideBackButton, }) {
|
|
|
14
15
|
const setUpvote = hooks.useSetEntryUpvote();
|
|
15
16
|
const createComment = hooks.useCreateComment();
|
|
16
17
|
const [body, setBody] = useState("");
|
|
18
|
+
const [showMetadata, setShowMetadata] = useState(false);
|
|
17
19
|
const visible = useMemo(() => transformComments?.(comments.results) ?? comments.results, [comments.results, transformComments]);
|
|
18
20
|
if (entry === undefined)
|
|
19
21
|
return (_jsxs(View, { style: {
|
|
@@ -27,7 +29,7 @@ export function EntryDetail({ entryId, onBack, hideBackButton, }) {
|
|
|
27
29
|
return;
|
|
28
30
|
return _jsx(Button, { label: messages.entry.back, onPress: onBack });
|
|
29
31
|
}
|
|
30
|
-
return (_jsxs(View, { style: { gap: 12 }, children: [!hideBackButton && (_jsx(Button, { label: messages.entry.back, onPress: onBack })), _jsxs(FeedbackEntry.Root, { entry: entry, children: [_jsx(FeedbackEntry.Upvote, { onToggle: (active) => void setUpvote({ entryId, desiredState: active }) }), _jsxs(FeedbackEntry.Content, { style: { gap: 5 }, children: [_jsx(FeedbackEntry.Status, {}), _jsx(FeedbackEntry.Title, {}), _jsx(FeedbackEntry.Body, {}), _jsx(FeedbackEntry.CommentCount, {})] })] }), _jsx(Text, { style: { color: theme.colors.text, fontSize: 18, fontWeight: "700" }, children: messages.comments.title }), _jsxs(FeedbackForm.Root, { children: [_jsx(FeedbackForm.Textarea, { value: body, onChangeText: setBody, placeholder: messages.comments.placeholder }), _jsx(FeedbackForm.Submit, { onPress: async () => {
|
|
32
|
+
return (_jsxs(View, { style: { gap: 12 }, children: [!hideBackButton && (_jsx(Button, { label: messages.entry.back, onPress: onBack })), _jsxs(FeedbackEntry.Root, { entry: entry, children: [_jsx(FeedbackEntry.Upvote, { onToggle: (active) => void setUpvote({ entryId, desiredState: active }) }), _jsxs(FeedbackEntry.Content, { style: { gap: 5 }, children: [_jsx(FeedbackEntry.Status, {}), _jsx(FeedbackEntry.Title, {}), _jsx(FeedbackEntry.Body, {}), _jsx(FeedbackEntry.CommentCount, {})] })] }), entry.metadata !== undefined && (_jsx(Button, { label: messages.metadata.view, onPress: () => setShowMetadata(true) })), showMetadata && entry.metadata !== undefined && (_jsx(MetadataModal, { metadata: entry.metadata, onRequestClose: () => setShowMetadata(false) })), _jsx(Text, { style: { color: theme.colors.text, fontSize: 18, fontWeight: "700" }, children: messages.comments.title }), _jsxs(FeedbackForm.Root, { children: [_jsx(FeedbackForm.Textarea, { value: body, onChangeText: setBody, placeholder: messages.comments.placeholder }), _jsx(FeedbackForm.Submit, { onPress: async () => {
|
|
31
33
|
if (body.trim().length === 0)
|
|
32
34
|
return;
|
|
33
35
|
await createComment({ entryId, body });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntryDetail.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/EntryDetail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"EntryDetail.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/EntryDetail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { FeedbackScreenListProps } from "../../../shared/types/index.js";
|
|
2
|
-
export declare function FeedbackScreenList({ hideBackButton, onEntryOpen, }: FeedbackScreenListProps): import("react").JSX.Element;
|
|
2
|
+
export declare function FeedbackScreenList({ hideBackButton, showSelectedEntry, onEntryOpen, }: FeedbackScreenListProps): import("react").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=FeedbackScreenList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackScreenList.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/FeedbackScreenList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAM9E,wBAAgB,kBAAkB,CAAC,EACjC,cAAsB,EACtB,WAAW,GACZ,EAAE,uBAAuB,+BAiDzB"}
|
|
1
|
+
{"version":3,"file":"FeedbackScreenList.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/FeedbackScreenList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAM9E,wBAAgB,kBAAkB,CAAC,EACjC,cAAsB,EACtB,iBAAwB,EACxB,WAAW,GACZ,EAAE,uBAAuB,+BAiDzB"}
|
|
@@ -5,7 +5,7 @@ import { Button } from "./Button.js";
|
|
|
5
5
|
import { EntryCard } from "./EntryCard.js";
|
|
6
6
|
import { EntryDetail } from "./EntryDetail.js";
|
|
7
7
|
import { FeedbackBoard } from "./primitives.js";
|
|
8
|
-
export function FeedbackScreenList({ hideBackButton = false, onEntryOpen, }) {
|
|
8
|
+
export function FeedbackScreenList({ hideBackButton = false, showSelectedEntry = true, onEntryOpen, }) {
|
|
9
9
|
const { hooks, entrySort, isSearching, enabledKinds, selectedEntryId, debouncedQuery, setSelectedEntryId, } = useFeedbackBody();
|
|
10
10
|
const { messages, theme } = useFeedbackUi();
|
|
11
11
|
const list = hooks.useEntries({ sort: entrySort, kinds: enabledKinds });
|
|
@@ -14,6 +14,6 @@ export function FeedbackScreenList({ hideBackButton = false, onEntryOpen, }) {
|
|
|
14
14
|
kinds: enabledKinds,
|
|
15
15
|
});
|
|
16
16
|
const entries = isSearching ? search : list.results;
|
|
17
|
-
return (_jsxs(_Fragment, { children: [_jsx(FeedbackBoard.List, { style: { padding: theme.spacing }, children: selectedEntryId ? (_jsx(EntryDetail, { entryId: selectedEntryId, hideBackButton: hideBackButton, onBack: () => setSelectedEntryId(null) })) : ((entries ?? []).map((entry) => (_jsx(EntryCard, { entry: entry, hooks: hooks, onOpen: () => onEntryOpen(entry.id) }, entry.id)))) }), !isSearching && list.status === "CanLoadMore" && (_jsx(Button, { label: messages.board.loadMore, onPress: () => list.loadMore(hooks.pageSizes.entries) }))] }));
|
|
17
|
+
return (_jsxs(_Fragment, { children: [_jsx(FeedbackBoard.List, { style: { padding: theme.spacing }, children: showSelectedEntry && selectedEntryId ? (_jsx(EntryDetail, { entryId: selectedEntryId, hideBackButton: hideBackButton, onBack: () => setSelectedEntryId(null) })) : ((entries ?? []).map((entry) => (_jsx(EntryCard, { entry: entry, hooks: hooks, onOpen: () => onEntryOpen(entry.id) }, entry.id)))) }), !isSearching && list.status === "CanLoadMore" && (_jsx(Button, { label: messages.board.loadMore, onPress: () => list.loadMore(hooks.pageSizes.entries) }))] }));
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=FeedbackScreenList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackScreenList.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/FeedbackScreenList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAAC,EACjC,cAAc,GAAG,KAAK,EACtB,WAAW,GACa;IACxB,MAAM,EACJ,KAAK,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACd,kBAAkB,GACnB,GAAG,eAAe,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;IAE5C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACpC,WAAW,EAAE,cAAc;QAC3B,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IAEpD,OAAO,CACL,8BACE,KAAC,aAAa,CAAC,IAAI,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,YAClD,eAAe,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"FeedbackScreenList.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/FeedbackScreenList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAAC,EACjC,cAAc,GAAG,KAAK,EACtB,iBAAiB,GAAG,IAAI,EACxB,WAAW,GACa;IACxB,MAAM,EACJ,KAAK,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACd,kBAAkB,GACnB,GAAG,eAAe,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;IAE5C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACpC,WAAW,EAAE,cAAc;QAC3B,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IAEpD,OAAO,CACL,8BACE,KAAC,aAAa,CAAC,IAAI,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,YAClD,iBAAiB,IAAI,eAAe,CAAC,CAAC,CAAC,CACtC,KAAC,WAAW,IACV,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,GACtC,CACH,CAAC,CAAC,CAAC,CACF,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,KAAC,SAAS,IAER,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,IAH9B,KAAK,CAAC,EAAE,CAIb,CACH,CAAC,CACH,GACkB,EAEpB,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,CAChD,KAAC,MAAM,IACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GACrD,CACH,IACA,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FeedbackMetadata } from "convex-feedback";
|
|
2
|
+
export declare function MetadataModal({ metadata, onRequestClose, }: {
|
|
3
|
+
metadata: FeedbackMetadata;
|
|
4
|
+
onRequestClose: () => void;
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=MetadataModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataModal.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/MetadataModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOxD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,cAAc,GACf,EAAE;IACD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,+BAkGA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Modal, Pressable, ScrollView, Text, View } from "react-native";
|
|
3
|
+
import { useFeedbackUi } from "../../../shared/context/FeedbackProvider";
|
|
4
|
+
import { formatMetadataKey } from "../../../shared/metadata";
|
|
5
|
+
import { Button } from "./Button";
|
|
6
|
+
export function MetadataModal({ metadata, onRequestClose, }) {
|
|
7
|
+
const { messages, theme } = useFeedbackUi();
|
|
8
|
+
const sections = [
|
|
9
|
+
[messages.metadata.standard, metadata.standard],
|
|
10
|
+
[messages.metadata.additional, metadata.additional],
|
|
11
|
+
];
|
|
12
|
+
const hasValues = sections.some(([, values]) => values !== undefined && Object.keys(values).length > 0);
|
|
13
|
+
return (_jsx(Modal, { visible: true, transparent: true, animationType: "fade", onRequestClose: onRequestClose, role: "dialog", children: _jsx(Pressable, { accessible: false, focusable: false, onPress: onRequestClose, style: {
|
|
14
|
+
flex: 1,
|
|
15
|
+
justifyContent: "center",
|
|
16
|
+
padding: 20,
|
|
17
|
+
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
18
|
+
}, children: _jsxs(Pressable, { accessible: false, focusable: false, onPress: (event) => event.stopPropagation(), style: {
|
|
19
|
+
maxHeight: "80%",
|
|
20
|
+
gap: 14,
|
|
21
|
+
padding: 18,
|
|
22
|
+
borderRadius: theme.radius,
|
|
23
|
+
backgroundColor: theme.colors.surface,
|
|
24
|
+
}, children: [_jsx(Text, { style: {
|
|
25
|
+
color: theme.colors.text,
|
|
26
|
+
fontSize: 18,
|
|
27
|
+
fontWeight: "700",
|
|
28
|
+
}, children: messages.metadata.title }), _jsx(ScrollView, { contentContainerStyle: { gap: 16 }, children: hasValues ? (sections.map(([label, values]) => values === undefined ||
|
|
29
|
+
Object.keys(values).length === 0 ? null : (_jsxs(View, { style: { gap: 8 }, children: [_jsx(Text, { style: { color: theme.colors.text, fontWeight: "700" }, children: label }), Object.entries(values).map(([key, value]) => (_jsxs(View, { style: {
|
|
30
|
+
gap: 3,
|
|
31
|
+
paddingBottom: 8,
|
|
32
|
+
borderBottomWidth: 1,
|
|
33
|
+
borderBottomColor: theme.colors.border,
|
|
34
|
+
}, children: [_jsx(Text, { style: {
|
|
35
|
+
color: theme.colors.mutedText,
|
|
36
|
+
fontWeight: "600",
|
|
37
|
+
}, children: formatMetadataKey(key) }), _jsx(Text, { selectable: true, style: { color: theme.colors.text }, children: String(value) })] }, key)))] }, label)))) : (_jsx(Text, { style: { color: theme.colors.mutedText }, children: messages.metadata.empty })) }), _jsx(Button, { label: messages.metadata.close, onPress: onRequestClose })] }) }) }));
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=MetadataModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataModal.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/MetadataModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import type { EntryKind } from "convex-feedback";
|
|
1
2
|
import type { FeedbackScreenEntryModalProps } from "../../../shared/types";
|
|
2
3
|
export declare function CreateEntryModal({ onRequestClose, onCreated, }: FeedbackScreenEntryModalProps & {
|
|
3
4
|
onRequestClose: () => void;
|
|
4
5
|
}): import("react").JSX.Element;
|
|
6
|
+
export declare function CreateEntryForm({ kind, onKindChange, title, onTitleChange, body, onBodyChange, onCreated, onOpenSuggestion, }: FeedbackScreenEntryModalProps & {
|
|
7
|
+
kind: EntryKind;
|
|
8
|
+
onKindChange: (kind: EntryKind) => void;
|
|
9
|
+
title: string;
|
|
10
|
+
onTitleChange: (title: string) => void;
|
|
11
|
+
body: string;
|
|
12
|
+
onBodyChange: (body: string) => void;
|
|
13
|
+
onOpenSuggestion: (id: string) => void;
|
|
14
|
+
}): import("react").JSX.Element;
|
|
5
15
|
//# sourceMappingURL=NewEntry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewEntry.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/NewEntry.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NewEntry.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/NewEntry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAcjD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAK3E,wBAAgB,gBAAgB,CAAC,EAC/B,cAAc,EACd,SAAS,GACV,EAAE,6BAA6B,GAAG;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,+BA6HA;AAED,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,gBAAgB,GACjB,EAAE,6BAA6B,GAAG;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,+BA4NA"}
|
|
@@ -3,6 +3,7 @@ import { useMemo, useState } from "react";
|
|
|
3
3
|
import { Alert, Modal, Platform, Pressable, ScrollView, Text, View, } from "react-native";
|
|
4
4
|
import { useFeedbackBody } from "../../../shared/context/FeedbackBodyProvider";
|
|
5
5
|
import { useFeedbackUi } from "../../../shared/context/FeedbackProvider";
|
|
6
|
+
import { collectEntryMetadata } from "../../../shared/metadata";
|
|
6
7
|
import { EntryDetail } from "./EntryDetail";
|
|
7
8
|
import { FeedbackForm } from "./primitives";
|
|
8
9
|
export function CreateEntryModal({ onRequestClose, onCreated, }) {
|
|
@@ -51,10 +52,10 @@ export function CreateEntryModal({ onRequestClose, onCreated, }) {
|
|
|
51
52
|
}, children: messages.form.cancel }) })] }), _jsx(ScrollView, { keyboardShouldPersistTaps: "handled", keyboardDismissMode: isIos ? "interactive" : "on-drag", contentInsetAdjustmentBehavior: "automatic", contentContainerStyle: {
|
|
52
53
|
padding: 16,
|
|
53
54
|
paddingBottom: 32,
|
|
54
|
-
}, children: previewEntryId !== null ? (_jsx(EntryDetail, { entryId: previewEntryId, onBack: () => setPreviewEntryId(null) })) : (_jsx(
|
|
55
|
+
}, children: previewEntryId !== null ? (_jsx(EntryDetail, { entryId: previewEntryId, onBack: () => setPreviewEntryId(null) })) : (_jsx(CreateEntryForm, { kind: kind, onKindChange: setKind, title: title, onTitleChange: setTitle, body: body, onBodyChange: setBody, onCreated: onCreated, onOpenSuggestion: setPreviewEntryId })) })] })] }) }));
|
|
55
56
|
}
|
|
56
|
-
function
|
|
57
|
-
const { hooks, enabledKinds } = useFeedbackBody();
|
|
57
|
+
export function CreateEntryForm({ kind, onKindChange, title, onTitleChange, body, onBodyChange, onCreated, onOpenSuggestion, }) {
|
|
58
|
+
const { hooks, enabledKinds, collectMetadata, collectStandardMetadata } = useFeedbackBody();
|
|
58
59
|
const { messages, theme } = useFeedbackUi();
|
|
59
60
|
const [submitting, setSubmitting] = useState(false);
|
|
60
61
|
const create = hooks.useCreateEntry();
|
|
@@ -70,7 +71,13 @@ function CreateForm({ kind, onKindChange, title, onTitleChange, body, onBodyChan
|
|
|
70
71
|
}
|
|
71
72
|
setSubmitting(true);
|
|
72
73
|
try {
|
|
73
|
-
|
|
74
|
+
const metadata = await collectEntryMetadata(collectMetadata, kind, collectStandardMetadata);
|
|
75
|
+
onCreated(await create({
|
|
76
|
+
kind,
|
|
77
|
+
title,
|
|
78
|
+
body,
|
|
79
|
+
...(metadata === undefined ? {} : { metadata }),
|
|
80
|
+
}));
|
|
74
81
|
}
|
|
75
82
|
finally {
|
|
76
83
|
setSubmitting(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewEntry.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/NewEntry.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NewEntry.js","sourceRoot":"","sources":["../../../../src/native/shared/ui/NewEntry.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export * from "../shared/messages.js";
|
|
2
|
+
export * from "../shared/metadata.js";
|
|
2
3
|
export * from "../shared/theme.js";
|
|
3
4
|
export type * from "../shared/types";
|
|
4
5
|
export * from "./css.js";
|
|
6
|
+
export * from "./metadata.js";
|
|
5
7
|
export * from "./primitives.js";
|
|
6
8
|
export * from "./screen.js";
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,mBAAmB,iBAAiB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,mBAAmB,iBAAiB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
package/dist/react/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from "../shared/messages.js";
|
|
2
|
+
export * from "../shared/metadata.js";
|
|
2
3
|
export * from "../shared/theme.js";
|
|
3
4
|
export * from "./css.js";
|
|
5
|
+
export * from "./metadata.js";
|
|
4
6
|
export * from "./primitives.js";
|
|
5
7
|
export * from "./screen.js";
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { FeedbackMetadataValue } from "convex-feedback";
|
|
2
|
+
import type { StandardMetadataKey, EnabledStandardMetadataSelection } from "../shared/types/metadata.js";
|
|
3
|
+
export declare function collectWebMetadata(selection: EnabledStandardMetadataSelection): Partial<Record<StandardMetadataKey, FeedbackMetadataValue>>;
|
|
4
|
+
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/react/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EACV,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,6BAA6B,CAAC;AAcrC,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,gCAAgC,GAC1C,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CA6B7D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
const defaultWebMetadataKeys = [
|
|
2
|
+
"platform",
|
|
3
|
+
"userAgent",
|
|
4
|
+
"language",
|
|
5
|
+
"timezone",
|
|
6
|
+
"screenWidth",
|
|
7
|
+
"screenHeight",
|
|
8
|
+
"viewportWidth",
|
|
9
|
+
"viewportHeight",
|
|
10
|
+
"devicePixelRatio",
|
|
11
|
+
];
|
|
12
|
+
export function collectWebMetadata(selection) {
|
|
13
|
+
const keys = new Set(selection === true ? defaultWebMetadataKeys : selection);
|
|
14
|
+
const metadata = {};
|
|
15
|
+
const browserNavigator = typeof navigator === "undefined" ? undefined : navigator;
|
|
16
|
+
const browserWindow = typeof window === "undefined" ? undefined : window;
|
|
17
|
+
if (keys.has("platform"))
|
|
18
|
+
metadata.platform = "web";
|
|
19
|
+
if (keys.has("userAgent") && browserNavigator?.userAgent)
|
|
20
|
+
metadata.userAgent = browserNavigator.userAgent;
|
|
21
|
+
if (keys.has("language") && browserNavigator?.language)
|
|
22
|
+
metadata.language = browserNavigator.language;
|
|
23
|
+
if (keys.has("timezone")) {
|
|
24
|
+
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
25
|
+
if (timezone)
|
|
26
|
+
metadata.timezone = timezone;
|
|
27
|
+
}
|
|
28
|
+
if (keys.has("screenWidth") && browserWindow?.screen)
|
|
29
|
+
metadata.screenWidth = browserWindow.screen.width;
|
|
30
|
+
if (keys.has("screenHeight") && browserWindow?.screen)
|
|
31
|
+
metadata.screenHeight = browserWindow.screen.height;
|
|
32
|
+
if (keys.has("viewportWidth") && browserWindow)
|
|
33
|
+
metadata.viewportWidth = browserWindow.innerWidth;
|
|
34
|
+
if (keys.has("viewportHeight") && browserWindow)
|
|
35
|
+
metadata.viewportHeight = browserWindow.innerHeight;
|
|
36
|
+
if (keys.has("devicePixelRatio") && browserWindow)
|
|
37
|
+
metadata.devicePixelRatio = browserWindow.devicePixelRatio;
|
|
38
|
+
return metadata;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/react/metadata.ts"],"names":[],"mappings":"AAOA,MAAM,sBAAsB,GAAmC;IAC7D,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;IACV,aAAa;IACb,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,kBAAkB;CACnB,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAChC,SAA2C;IAE3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9E,MAAM,QAAQ,GACZ,EAAE,CAAC;IACL,MAAM,gBAAgB,GACpB,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;IACpD,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,gBAAgB,EAAE,SAAS;QACtD,QAAQ,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;IAClD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,gBAAgB,EAAE,QAAQ;QACpD,QAAQ,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IAChD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QAClE,IAAI,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,aAAa,EAAE,MAAM;QAClD,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;IACpD,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,aAAa,EAAE,MAAM;QACnD,QAAQ,CAAC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;IACtD,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,aAAa;QAC5C,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC;IACpD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,aAAa;QAC7C,QAAQ,CAAC,cAAc,GAAG,aAAa,CAAC,WAAW,CAAC;IACtD,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,aAAa;QAC/C,QAAQ,CAAC,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAE7D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/react/screen.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import type { FeedbackScreenRootProps } from "../shared/types/";
|
|
|
2
2
|
export interface FeedbackScreenProps extends FeedbackScreenRootProps {
|
|
3
3
|
className?: string | undefined;
|
|
4
4
|
}
|
|
5
|
-
export declare function FeedbackScreen({ hooks, messages, theme, unstyled, entrySort, commentSort, enabledKinds, maxCommentDepth, transformComments, renderActor, debounceDuration, ...props }: FeedbackScreenProps): import("react").JSX.Element;
|
|
5
|
+
export declare function FeedbackScreen({ hooks, messages, theme, unstyled, entrySort, commentSort, enabledKinds, maxCommentDepth, transformComments, renderActor, debounceDuration, collectMetadata, ...props }: FeedbackScreenProps): import("react").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/react/screen.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAOV,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/react/screen.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAOV,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAgB1B,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAiB,EACjB,WAAmB,EACnB,YAAyB,EACzB,eAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,gBAAsB,EACtB,eAAe,EACf,GAAG,KAAK,EACT,EAAE,mBAAmB,+BAmBrB"}
|