@appsupportkit/support-sdk 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/lib/commonjs/api.js +29 -0
  2. package/lib/commonjs/api.js.map +1 -1
  3. package/lib/commonjs/components/SupportButton.js +81 -6
  4. package/lib/commonjs/components/SupportButton.js.map +1 -1
  5. package/lib/commonjs/components/screens/ComposeScreen.js +7 -7
  6. package/lib/commonjs/components/screens/ComposeScreen.js.map +1 -1
  7. package/lib/commonjs/components/screens/HomeScreen.js +5 -1
  8. package/lib/commonjs/components/screens/HomeScreen.js.map +1 -1
  9. package/lib/commonjs/components/screens/ThreadScreen.js +7 -7
  10. package/lib/commonjs/components/screens/ThreadScreen.js.map +1 -1
  11. package/lib/commonjs/index.js +7 -0
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/push.js +103 -0
  14. package/lib/commonjs/push.js.map +1 -0
  15. package/lib/commonjs/types.js.map +1 -1
  16. package/lib/module/api.js +27 -0
  17. package/lib/module/api.js.map +1 -1
  18. package/lib/module/components/SupportButton.js +83 -8
  19. package/lib/module/components/SupportButton.js.map +1 -1
  20. package/lib/module/components/screens/ComposeScreen.js +7 -7
  21. package/lib/module/components/screens/ComposeScreen.js.map +1 -1
  22. package/lib/module/components/screens/HomeScreen.js +5 -1
  23. package/lib/module/components/screens/HomeScreen.js.map +1 -1
  24. package/lib/module/components/screens/ThreadScreen.js +7 -7
  25. package/lib/module/components/screens/ThreadScreen.js.map +1 -1
  26. package/lib/module/index.js +1 -0
  27. package/lib/module/index.js.map +1 -1
  28. package/lib/module/push.js +98 -0
  29. package/lib/module/push.js.map +1 -0
  30. package/lib/module/types.js.map +1 -1
  31. package/lib/typescript/api.d.ts +17 -1
  32. package/lib/typescript/api.d.ts.map +1 -1
  33. package/lib/typescript/components/SupportButton.d.ts.map +1 -1
  34. package/lib/typescript/components/screens/ComposeScreen.d.ts +2 -2
  35. package/lib/typescript/components/screens/ComposeScreen.d.ts.map +1 -1
  36. package/lib/typescript/components/screens/HomeScreen.d.ts.map +1 -1
  37. package/lib/typescript/components/screens/ThreadScreen.d.ts +2 -2
  38. package/lib/typescript/components/screens/ThreadScreen.d.ts.map +1 -1
  39. package/lib/typescript/index.d.ts +2 -1
  40. package/lib/typescript/index.d.ts.map +1 -1
  41. package/lib/typescript/push.d.ts +18 -0
  42. package/lib/typescript/push.d.ts.map +1 -0
  43. package/lib/typescript/types.d.ts +18 -0
  44. package/lib/typescript/types.d.ts.map +1 -1
  45. package/package.json +7 -1
  46. package/src/api.ts +41 -1
  47. package/src/components/SupportButton.tsx +108 -10
  48. package/src/components/screens/ComposeScreen.tsx +10 -10
  49. package/src/components/screens/HomeScreen.tsx +3 -1
  50. package/src/components/screens/ThreadScreen.tsx +10 -10
  51. package/src/index.tsx +2 -0
  52. package/src/push.ts +97 -0
  53. package/src/types.ts +18 -0
package/src/types.ts CHANGED
@@ -2,6 +2,7 @@ export type QueryType = 'feedback' | 'feature_request' | 'bug_report';
2
2
  export type QueryStatus = 'open' | 'resolved';
3
3
  export type MessageSender = 'user' | 'admin';
4
4
  export type ThemeName = 'dark' | 'light';
5
+ export type PushPermissionStatus = 'undetermined' | 'granted' | 'denied';
5
6
 
6
7
  export interface SupportUser {
7
8
  /** Display name shown to the support team. */
@@ -29,6 +30,23 @@ export interface SupportButtonProps {
29
30
  supabaseUrl: string;
30
31
  /** Visual theme. Matches the admin dashboard tokens. Default "dark". */
31
32
  theme?: ThemeName;
33
+ /**
34
+ * Idle poll interval (ms) — how often the unread badge is refreshed while
35
+ * the sheet is CLOSED, using a lightweight count-only endpoint. Default
36
+ * 60000; set 0 to disable idle polling (mount / sheet-open / foreground
37
+ * refreshes still happen).
38
+ *
39
+ * While the sheet is open the SDK polls faster on its own: every 15s on
40
+ * the thread list and every 5s inside a thread, where latency is felt.
41
+ */
42
+ pollIntervalMs?: number;
43
+ /**
44
+ * Optional EAS project id, forwarded to expo-notifications when minting a
45
+ * push token. Only needed if the host app's config doesn't already
46
+ * provide one. Push is skipped entirely when expo-notifications isn't
47
+ * installed — it is an optional peer dependency.
48
+ */
49
+ expoProjectId?: string;
32
50
  }
33
51
 
34
52
  export interface ThreadMessage {