@appsupportkit/support-sdk 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/api.js +61 -12
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/components/BottomSheet.js +1 -1
- package/lib/commonjs/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/components/LauncherButton.js +4 -4
- package/lib/commonjs/components/LauncherButton.js.map +1 -1
- package/lib/commonjs/components/SupportButton.js +192 -66
- package/lib/commonjs/components/SupportButton.js.map +1 -1
- package/lib/commonjs/components/icons.js +117 -110
- package/lib/commonjs/components/icons.js.map +1 -1
- package/lib/commonjs/components/primitives.js +3 -154
- package/lib/commonjs/components/primitives.js.map +1 -1
- package/lib/commonjs/components/screens/ChatScreen.js +487 -0
- package/lib/commonjs/components/screens/ChatScreen.js.map +1 -0
- package/lib/commonjs/components/screens/LanguageScreen.js +150 -0
- package/lib/commonjs/components/screens/LanguageScreen.js.map +1 -0
- package/lib/commonjs/i18n/index.js +101 -0
- package/lib/commonjs/i18n/index.js.map +1 -0
- package/lib/commonjs/i18n/languages.js +95 -0
- package/lib/commonjs/i18n/languages.js.map +1 -0
- package/lib/commonjs/i18n/strings/de.js +75 -0
- package/lib/commonjs/i18n/strings/de.js.map +1 -0
- package/lib/commonjs/i18n/strings/en.js +91 -0
- package/lib/commonjs/i18n/strings/en.js.map +1 -0
- package/lib/commonjs/i18n/strings/es.js +75 -0
- package/lib/commonjs/i18n/strings/es.js.map +1 -0
- package/lib/commonjs/i18n/strings/fr.js +75 -0
- package/lib/commonjs/i18n/strings/fr.js.map +1 -0
- package/lib/commonjs/i18n/strings/hi.js +75 -0
- package/lib/commonjs/i18n/strings/hi.js.map +1 -0
- package/lib/commonjs/i18n/strings/it.js +75 -0
- package/lib/commonjs/i18n/strings/it.js.map +1 -0
- package/lib/commonjs/i18n/strings/ja.js +75 -0
- package/lib/commonjs/i18n/strings/ja.js.map +1 -0
- package/lib/commonjs/i18n/strings/ko.js +75 -0
- package/lib/commonjs/i18n/strings/ko.js.map +1 -0
- package/lib/commonjs/i18n/strings/nl.js +75 -0
- package/lib/commonjs/i18n/strings/nl.js.map +1 -0
- package/lib/commonjs/i18n/strings/pl.js +75 -0
- package/lib/commonjs/i18n/strings/pl.js.map +1 -0
- package/lib/commonjs/i18n/strings/pt.js +75 -0
- package/lib/commonjs/i18n/strings/pt.js.map +1 -0
- package/lib/commonjs/i18n/strings/ru.js +75 -0
- package/lib/commonjs/i18n/strings/ru.js.map +1 -0
- package/lib/commonjs/i18n/strings/tr.js +75 -0
- package/lib/commonjs/i18n/strings/tr.js.map +1 -0
- package/lib/commonjs/i18n/strings/zh.js +75 -0
- package/lib/commonjs/i18n/strings/zh.js.map +1 -0
- package/lib/commonjs/index.js +38 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/push.js +78 -3
- package/lib/commonjs/push.js.map +1 -1
- package/lib/commonjs/review.js +54 -0
- package/lib/commonjs/review.js.map +1 -0
- package/lib/commonjs/theme.js +142 -23
- package/lib/commonjs/theme.js.map +1 -1
- package/lib/commonjs/types.js +32 -3
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useSupportThreads.js +41 -24
- package/lib/commonjs/useSupportThreads.js.map +1 -1
- package/lib/commonjs/utils.js +25 -30
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/version.js +13 -0
- package/lib/commonjs/version.js.map +1 -0
- package/lib/module/api.js +57 -10
- package/lib/module/api.js.map +1 -1
- package/lib/module/components/BottomSheet.js +1 -1
- package/lib/module/components/BottomSheet.js.map +1 -1
- package/lib/module/components/LauncherButton.js +5 -5
- package/lib/module/components/LauncherButton.js.map +1 -1
- package/lib/module/components/SupportButton.js +199 -73
- package/lib/module/components/SupportButton.js.map +1 -1
- package/lib/module/components/icons.js +115 -107
- package/lib/module/components/icons.js.map +1 -1
- package/lib/module/components/primitives.js +5 -147
- package/lib/module/components/primitives.js.map +1 -1
- package/lib/module/components/screens/ChatScreen.js +485 -0
- package/lib/module/components/screens/ChatScreen.js.map +1 -0
- package/lib/module/components/screens/LanguageScreen.js +147 -0
- package/lib/module/components/screens/LanguageScreen.js.map +1 -0
- package/lib/module/i18n/index.js +56 -0
- package/lib/module/i18n/index.js.map +1 -0
- package/lib/module/i18n/languages.js +88 -0
- package/lib/module/i18n/languages.js.map +1 -0
- package/lib/module/i18n/strings/de.js +71 -0
- package/lib/module/i18n/strings/de.js.map +1 -0
- package/lib/module/i18n/strings/en.js +87 -0
- package/lib/module/i18n/strings/en.js.map +1 -0
- package/lib/module/i18n/strings/es.js +71 -0
- package/lib/module/i18n/strings/es.js.map +1 -0
- package/lib/module/i18n/strings/fr.js +71 -0
- package/lib/module/i18n/strings/fr.js.map +1 -0
- package/lib/module/i18n/strings/hi.js +71 -0
- package/lib/module/i18n/strings/hi.js.map +1 -0
- package/lib/module/i18n/strings/it.js +71 -0
- package/lib/module/i18n/strings/it.js.map +1 -0
- package/lib/module/i18n/strings/ja.js +71 -0
- package/lib/module/i18n/strings/ja.js.map +1 -0
- package/lib/module/i18n/strings/ko.js +71 -0
- package/lib/module/i18n/strings/ko.js.map +1 -0
- package/lib/module/i18n/strings/nl.js +71 -0
- package/lib/module/i18n/strings/nl.js.map +1 -0
- package/lib/module/i18n/strings/pl.js +71 -0
- package/lib/module/i18n/strings/pl.js.map +1 -0
- package/lib/module/i18n/strings/pt.js +71 -0
- package/lib/module/i18n/strings/pt.js.map +1 -0
- package/lib/module/i18n/strings/ru.js +71 -0
- package/lib/module/i18n/strings/ru.js.map +1 -0
- package/lib/module/i18n/strings/tr.js +71 -0
- package/lib/module/i18n/strings/tr.js.map +1 -0
- package/lib/module/i18n/strings/zh.js +71 -0
- package/lib/module/i18n/strings/zh.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/push.js +77 -3
- package/lib/module/push.js.map +1 -1
- package/lib/module/review.js +48 -0
- package/lib/module/review.js.map +1 -0
- package/lib/module/theme.js +141 -23
- package/lib/module/theme.js.map +1 -1
- package/lib/module/types.js +32 -3
- package/lib/module/types.js.map +1 -1
- package/lib/module/useSupportThreads.js +41 -24
- package/lib/module/useSupportThreads.js.map +1 -1
- package/lib/module/utils.js +24 -29
- package/lib/module/utils.js.map +1 -1
- package/lib/module/version.js +9 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/api.d.ts +40 -10
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/components/SupportButton.d.ts +2 -2
- package/lib/typescript/components/SupportButton.d.ts.map +1 -1
- package/lib/typescript/components/icons.d.ts +10 -14
- package/lib/typescript/components/icons.d.ts.map +1 -1
- package/lib/typescript/components/primitives.d.ts +3 -30
- package/lib/typescript/components/primitives.d.ts.map +1 -1
- package/lib/typescript/components/screens/ChatScreen.d.ts +21 -0
- package/lib/typescript/components/screens/ChatScreen.d.ts.map +1 -0
- package/lib/typescript/components/screens/LanguageScreen.d.ts +30 -0
- package/lib/typescript/components/screens/LanguageScreen.d.ts.map +1 -0
- package/lib/typescript/i18n/index.d.ts +15 -0
- package/lib/typescript/i18n/index.d.ts.map +1 -0
- package/lib/typescript/i18n/languages.d.ts +36 -0
- package/lib/typescript/i18n/languages.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/de.d.ts +3 -0
- package/lib/typescript/i18n/strings/de.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/en.d.ts +86 -0
- package/lib/typescript/i18n/strings/en.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/es.d.ts +3 -0
- package/lib/typescript/i18n/strings/es.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/fr.d.ts +3 -0
- package/lib/typescript/i18n/strings/fr.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/hi.d.ts +3 -0
- package/lib/typescript/i18n/strings/hi.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/it.d.ts +3 -0
- package/lib/typescript/i18n/strings/it.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/ja.d.ts +3 -0
- package/lib/typescript/i18n/strings/ja.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/ko.d.ts +3 -0
- package/lib/typescript/i18n/strings/ko.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/nl.d.ts +3 -0
- package/lib/typescript/i18n/strings/nl.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/pl.d.ts +3 -0
- package/lib/typescript/i18n/strings/pl.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/pt.d.ts +3 -0
- package/lib/typescript/i18n/strings/pt.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/ru.d.ts +3 -0
- package/lib/typescript/i18n/strings/ru.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/tr.d.ts +3 -0
- package/lib/typescript/i18n/strings/tr.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/zh.d.ts +3 -0
- package/lib/typescript/i18n/strings/zh.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +4 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/push.d.ts +14 -2
- package/lib/typescript/push.d.ts.map +1 -1
- package/lib/typescript/review.d.ts +15 -0
- package/lib/typescript/review.d.ts.map +1 -0
- package/lib/typescript/theme.d.ts +23 -5
- package/lib/typescript/theme.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +86 -13
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/useSupportThreads.d.ts +20 -4
- package/lib/typescript/useSupportThreads.d.ts.map +1 -1
- package/lib/typescript/utils.d.ts +8 -6
- package/lib/typescript/utils.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +7 -0
- package/lib/typescript/version.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/api.ts +75 -23
- package/src/components/BottomSheet.tsx +1 -1
- package/src/components/LauncherButton.tsx +4 -4
- package/src/components/SupportButton.tsx +244 -86
- package/src/components/icons.tsx +96 -101
- package/src/components/primitives.tsx +9 -161
- package/src/components/screens/ChatScreen.tsx +541 -0
- package/src/components/screens/LanguageScreen.tsx +172 -0
- package/src/i18n/index.ts +81 -0
- package/src/i18n/languages.ts +106 -0
- package/src/i18n/strings/de.ts +81 -0
- package/src/i18n/strings/en.ts +97 -0
- package/src/i18n/strings/es.ts +80 -0
- package/src/i18n/strings/fr.ts +81 -0
- package/src/i18n/strings/hi.ts +80 -0
- package/src/i18n/strings/it.ts +80 -0
- package/src/i18n/strings/ja.ts +80 -0
- package/src/i18n/strings/ko.ts +79 -0
- package/src/i18n/strings/nl.ts +80 -0
- package/src/i18n/strings/pl.ts +80 -0
- package/src/i18n/strings/pt.ts +80 -0
- package/src/i18n/strings/ru.ts +80 -0
- package/src/i18n/strings/tr.ts +80 -0
- package/src/i18n/strings/zh.ts +78 -0
- package/src/index.tsx +13 -0
- package/src/push.ts +100 -2
- package/src/review.ts +54 -0
- package/src/theme.ts +182 -28
- package/src/types.ts +85 -13
- package/src/useSupportThreads.ts +61 -28
- package/src/utils.ts +27 -29
- package/src/version.ts +6 -0
- package/lib/commonjs/components/screens/ComposeScreen.js +0 -228
- package/lib/commonjs/components/screens/ComposeScreen.js.map +0 -1
- package/lib/commonjs/components/screens/HomeScreen.js +0 -286
- package/lib/commonjs/components/screens/HomeScreen.js.map +0 -1
- package/lib/commonjs/components/screens/ThreadScreen.js +0 -327
- package/lib/commonjs/components/screens/ThreadScreen.js.map +0 -1
- package/lib/module/components/screens/ComposeScreen.js +0 -224
- package/lib/module/components/screens/ComposeScreen.js.map +0 -1
- package/lib/module/components/screens/HomeScreen.js +0 -282
- package/lib/module/components/screens/HomeScreen.js.map +0 -1
- package/lib/module/components/screens/ThreadScreen.js +0 -325
- package/lib/module/components/screens/ThreadScreen.js.map +0 -1
- package/lib/typescript/components/screens/ComposeScreen.d.ts +0 -10
- package/lib/typescript/components/screens/ComposeScreen.d.ts.map +0 -1
- package/lib/typescript/components/screens/HomeScreen.d.ts +0 -14
- package/lib/typescript/components/screens/HomeScreen.d.ts.map +0 -1
- package/lib/typescript/components/screens/ThreadScreen.d.ts +0 -10
- package/lib/typescript/components/screens/ThreadScreen.d.ts.map +0 -1
- package/src/components/screens/ComposeScreen.tsx +0 -233
- package/src/components/screens/HomeScreen.tsx +0 -287
- package/src/components/screens/ThreadScreen.tsx +0 -397
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_designTokens","require","supportRadii","exports","radii","control","card","cardLg","bubble","bubbleTail","sheet","pill","HEX","parseHex","color","match","exec","trim","digits","undefined","hex","length","split","map","c","join","parseInt","slice","
|
|
1
|
+
{"version":3,"names":["_designTokens","require","supportRadii","exports","radii","control","card","cardLg","bubble","bubbleTail","sheet","pill","HEX","WHITE","INK","INK_RGB","parseHex","color","match","exec","trim","digits","undefined","hex","length","split","map","c","join","parseInt","slice","toHex","rgb","toString","padStart","toUpperCase","mixRgb","r","g","b","target","amount","channel","Math","round","mix","luminance","s","contrast","a","hi","lo","sort","x","y","legible","backgrounds","ratio","name","against","filter","step","candidate","every","bg","SHEET_OVERRIDES","dark","surface","surfaceHover","surfaceActive","border","borderStrong","textSecondary","textTertiary","light","lightColors","shadowsFor","accent","launcher","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","badge","launcherFor","solidRing","minimalMark","buildTheme","tokens","base","onSheet","colors","statusOpen","statusProgress","statusResolved","statusDanger","accentText","spacing","motion","shadows","supportDarkTheme","darkColors","supportLightTheme","withAccent","theme","adapt","fill","accentHover","accentMuted","accentForeground","statusOpenBg","focusRing","themeFor","resolveTheme","accentColor","mode"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":";;;;;;;;AAMA,IAAAA,aAAA,GAAAC,OAAA;AANA;AACA;AACA;AACA;AACA;AACA;;AAYA;AACO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1B,GAAGE,mBAAK;EACRC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE,EAAE;EACRC,MAAM,EAAE,EAAE;EACV;EACAC,MAAM,EAAE,EAAE;EACV;EACAC,UAAU,EAAE,CAAC;EACbC,KAAK,EAAE,EAAE;EACTC,IAAI,EAAE;AACR,CAAU;;AAsBV;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;;AAGA,MAAMC,GAAG,GAAG,gCAAgC;AAC5C,MAAMC,KAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAClC;AACA,MAAMC,GAAG,GAAG,SAAS;AACrB,MAAMC,OAAY,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAEjC,SAASC,QAAQA,CAACC,KAAa,EAAc;EAC3C,MAAMC,KAAK,GAAGN,GAAG,CAACO,IAAI,CAACF,KAAK,CAACG,IAAI,CAAC,CAAC,CAAC;EACpC,MAAMC,MAAM,GAAGH,KAAK,GAAG,CAAC,CAAC;EACzB,IAAIG,MAAM,KAAKC,SAAS,EAAE,OAAO,IAAI;EACrC,MAAMC,GAAG,GACPF,MAAM,CAACG,MAAM,KAAK,CAAC,GACfH,MAAM,CACHI,KAAK,CAAC,EAAE,CAAC,CACTC,GAAG,CAAEC,CAAC,IAAKA,CAAC,GAAGA,CAAC,CAAC,CACjBC,IAAI,CAAC,EAAE,CAAC,GACXP,MAAM;EACZ,OAAO,CACLQ,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAC7BD,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAC7BD,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9B;AACH;AAEA,SAASC,KAAKA,CAACC,GAAQ,EAAU;EAC/B,OAAO,IAAIA,GAAG,CAACN,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACM,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAACN,IAAI,CAAC,EAAE,CAAC,CAACO,WAAW,CAAC,CAAC,EAAE;AACrF;AAEA,SAASC,MAAMA,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAM,EAAEC,MAAc,EAAEC,MAAc,EAAO;EACnE,MAAMC,OAAO,GAAIf,CAAS,IAAKgB,IAAI,CAACC,KAAK,CAACjB,CAAC,GAAG,CAACa,MAAM,GAAGb,CAAC,IAAIc,MAAM,CAAC;EACpE,OAAO,CAACC,OAAO,CAACL,CAAC,CAAC,EAAEK,OAAO,CAACJ,CAAC,CAAC,EAAEI,OAAO,CAACH,CAAC,CAAC,CAAC;AAC7C;AAEA,SAASM,GAAGA,CAACb,GAAQ,EAAEQ,MAAc,EAAEC,MAAc,EAAU;EAC7D,OAAOV,KAAK,CAACK,MAAM,CAACJ,GAAG,EAAEQ,MAAM,EAAEC,MAAM,CAAC,CAAC;AAC3C;;AAEA;AACA,SAASK,SAASA,CAACd,GAAQ,EAAU;EACnC,MAAM,CAACK,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAGP,GAAG,CAACN,GAAG,CAAEC,CAAC,IAAK;IAC/B,MAAMoB,CAAC,GAAGpB,CAAC,GAAG,GAAG;IACjB,OAAOoB,CAAC,IAAI,OAAO,GAAGA,CAAC,GAAG,KAAK,GAAG,CAAC,CAACA,CAAC,GAAG,KAAK,IAAI,KAAK,KAAK,GAAG;EAChE,CAAC,CAAQ;EACT,OAAO,MAAM,GAAGV,CAAC,GAAG,MAAM,GAAGC,CAAC,GAAG,MAAM,GAAGC,CAAC;AAC7C;;AAEA;AACA,SAASS,QAAQA,CAACC,CAAM,EAAEV,CAAM,EAAU;EACxC,MAAM,CAACW,EAAE,EAAEC,EAAE,CAAC,GAAG,CAACL,SAAS,CAACG,CAAC,CAAC,EAAEH,SAAS,CAACP,CAAC,CAAC,CAAC,CAACa,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,GAAGD,CAAC,CAGjE;EACD,OAAO,CAACH,EAAE,GAAG,IAAI,KAAKC,EAAE,GAAG,IAAI,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASI,OAAOA,CACdtC,KAAa,EACbuC,WAAqB,EACrBC,KAAa,EACbC,IAAe,EACP;EACR,MAAM1B,GAAG,GAAGhB,QAAQ,CAACC,KAAK,CAAC;EAC3B,IAAIe,GAAG,KAAK,IAAI,EAAE,OAAOf,KAAK;EAC9B,MAAM0C,OAAO,GAAGH,WAAW,CACxB9B,GAAG,CAACV,QAAQ,CAAC,CACb4C,MAAM,CAAEjC,CAAC,IAAeA,CAAC,KAAK,IAAI,CAAC;EACtC,MAAMa,MAAM,GAAGkB,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,CAAC;EACxC,KAAK,IAAIG,IAAI,GAAG,CAAC,EAAEA,IAAI,IAAI,EAAE,EAAEA,IAAI,IAAI,CAAC,EAAE;IACxC,MAAMC,SAAS,GAAG1B,MAAM,CAACJ,GAAG,EAAEQ,MAAM,EAAEqB,IAAI,GAAG,IAAI,CAAC;IAClD,IAAIF,OAAO,CAACI,KAAK,CAAEC,EAAE,IAAKhB,QAAQ,CAACc,SAAS,EAAEE,EAAE,CAAC,IAAIP,KAAK,CAAC,EAAE;MAC3D,OAAO1B,KAAK,CAAC+B,SAAS,CAAC;IACzB;EACF;EACA,OAAOJ,IAAI,KAAK,MAAM,GAAG,SAAS,GAAG,SAAS;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMO,eAA0D,GAAG;EACjEC,IAAI,EAAE;IACJxD,KAAK,EAAE,SAAS;IAChByD,OAAO,EAAE,SAAS;IAClBC,YAAY,EAAE,SAAS;IACvBC,aAAa,EAAE,SAAS;IACxBC,MAAM,EAAE,SAAS;IACjBC,YAAY,EAAE,SAAS;IACvBC,aAAa,EAAE,SAAS;IAAE;IAC1BC,YAAY,EAAE,SAAS,CAAE;EAC3B,CAAC;EACDC,KAAK,EAAE;IACLhE,KAAK,EAAEiE,yBAAW,CAACX,EAAE;IACrBQ,aAAa,EAAE,SAAS;IAAE;IAC1BC,YAAY,EAAE,SAAS,CAAE;EAC3B;AACF,CAAC;AAED,SAASG,UAAUA,CAAClB,IAAe,EAAEmB,MAAc,EAAkB;EACnE,MAAMX,IAAI,GAAGR,IAAI,KAAK,MAAM;EAC5B,OAAO;IACLoB,QAAQ,EAAE;MACR;MACA;MACAC,WAAW,EAAEb,IAAI,GAAG,SAAS,GAAGW,MAAM;MACtCG,aAAa,EAAEd,IAAI,GAAG,IAAI,GAAG,GAAG;MAChCe,YAAY,EAAE,EAAE;MAChBC,YAAY,EAAE;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAE,CAAC;MACrCC,SAAS,EAAE;IACb,CAAC;IACD3E,KAAK,EAAE;MACLqE,WAAW,EAAE,SAAS;MACtBC,aAAa,EAAEd,IAAI,GAAG,GAAG,GAAG,IAAI;MAChCe,YAAY,EAAE,EAAE;MAChBC,YAAY,EAAE;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE,CAAC;MAAE,CAAC;MACtCC,SAAS,EAAE;IACb,CAAC;IACDC,KAAK,EAAE;MACLP,WAAW,EAAE,SAAS;MACtBC,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,CAAC;MACfC,YAAY,EAAE;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAE,CAAC;MACrCC,SAAS,EAAE;IACb;EACF,CAAC;AACH;AAEA,SAASE,WAAWA,CAAC7B,IAAe,EAAEmB,MAAc,EAAmB;EACrE,MAAM7C,GAAG,GAAGhB,QAAQ,CAAC6D,MAAM,CAAC;EAC5B,OAAO;IACLW,SAAS,EACP9B,IAAI,KAAK,MAAM,GAAG,2BAA2B,GAAG,qBAAqB;IACvE;IACA;IACA+B,WAAW,EACT/B,IAAI,KAAK,MAAM,IAAI1B,GAAG,KAAK,IAAI,GAAGa,GAAG,CAACb,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG6C;EAC5D,CAAC;AACH;AAEA,SAASa,UAAUA,CAAChC,IAAe,EAAEiC,MAAmB,EAAgB;EACtE,MAAMC,IAAI,GAAG;IACX,GAAGD,MAAM;IACT,GAAG1B,eAAe,CAACP,IAAI;EACzB,CAAkB;EAClB;EACA,MAAMmC,OAAO,GAAG,CAACD,IAAI,CAAClF,KAAK,EAAEkF,IAAI,CAACzB,OAAO,CAAC;EAC1C,MAAM2B,MAAqB,GAAG;IAC5B,GAAGF,IAAI;IACPG,UAAU,EAAExC,OAAO,CAACqC,IAAI,CAACG,UAAU,EAAEF,OAAO,EAAE,GAAG,EAAEnC,IAAI,CAAC;IACxDsC,cAAc,EAAEzC,OAAO,CAACqC,IAAI,CAACI,cAAc,EAAEH,OAAO,EAAE,GAAG,EAAEnC,IAAI,CAAC;IAChEuC,cAAc,EAAE1C,OAAO,CAACqC,IAAI,CAACK,cAAc,EAAEJ,OAAO,EAAE,GAAG,EAAEnC,IAAI,CAAC;IAChEwC,YAAY,EAAE3C,OAAO,CAACqC,IAAI,CAACM,YAAY,EAAEL,OAAO,EAAE,GAAG,EAAEnC,IAAI,CAAC;IAC5DyC,UAAU,EAAE5C,OAAO,CAACqC,IAAI,CAACf,MAAM,EAAEgB,OAAO,EAAE,GAAG,EAAEnC,IAAI;EACrD,CAAC;EACD,OAAO;IACLA,IAAI;IACJoC,MAAM;IACNM,OAAO,EAAPA,qBAAO;IACPhG,KAAK,EAAEF,YAAY;IACnBmG,MAAM,EAANA,oBAAM;IACNC,OAAO,EAAE1B,UAAU,CAAClB,IAAI,EAAEoC,MAAM,CAACjB,MAAM,CAAC;IACxCC,QAAQ,EAAES,WAAW,CAAC7B,IAAI,EAAEoC,MAAM,CAACjB,MAAM;EAC3C,CAAC;AACH;AAEO,MAAM0B,gBAA8B,GAAApG,OAAA,CAAAoG,gBAAA,GAAGb,UAAU,CAAC,MAAM,EAAEc,wBAAU,CAAC;AACrE,MAAMC,iBAA+B,GAAAtG,OAAA,CAAAsG,iBAAA,GAAGf,UAAU,CAAC,OAAO,EAAEf,yBAAW,CAAC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS+B,UAAUA,CACjBC,KAAmB,EACnB9B,MAAc,EACd+B,KAAc,EACA;EACd,IAAI5F,QAAQ,CAAC6D,MAAM,CAAC,KAAK,IAAI,EAAE,OAAO8B,KAAK;EAC3C,MAAM;IAAEjD;EAAK,CAAC,GAAGiD,KAAK;EACtB,MAAME,IAAI,GAAGD,KAAK,GACdrD,OAAO,CAACsB,MAAM,EAAE,CAAC8B,KAAK,CAACb,MAAM,CAACpF,KAAK,CAAC,EAAE,CAAC,EAAEgD,IAAI,CAAC,GAC9C3B,KAAK,CAACf,QAAQ,CAAC6D,MAAM,CAAQ,CAAC;EAClC,MAAM7C,GAAG,GAAGhB,QAAQ,CAAC6F,IAAI,CAAQ;EACjC,MAAM,CAACxE,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAGP,GAAG;EACrB,MAAMmE,UAAU,GAAG5C,OAAO,CACxBsD,IAAI,EACJ,CAACF,KAAK,CAACb,MAAM,CAACpF,KAAK,EAAEiG,KAAK,CAACb,MAAM,CAAC3B,OAAO,CAAC,EAC1C,GAAG,EACHT,IACF,CAAC;EACD,MAAMoC,MAAqB,GAAG;IAC5B,GAAGa,KAAK,CAACb,MAAM;IACfjB,MAAM,EAAEgC,IAAI;IACZC,WAAW,EAAEjE,GAAG,CAACb,GAAG,EAAE0B,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC;IACtDqD,WAAW,EAAE,QAAQ1E,CAAC,KAAKC,CAAC,KAAKC,CAAC,SAAS;IAC3CyE,gBAAgB,EACdhE,QAAQ,CAAChB,GAAG,EAAEnB,KAAK,CAAC,IAAImC,QAAQ,CAAChB,GAAG,EAAEjB,OAAO,CAAC,GAAG,SAAS,GAAGD,GAAG;IAClEqF,UAAU;IACVJ,UAAU,EAAEI,UAAU;IACtBc,YAAY,EAAE,QAAQ5E,CAAC,KAAKC,CAAC,KAAKC,CAAC,SAAS;IAC5C2E,SAAS,EAAEL;EACb,CAAC;EACD,OAAO;IACL,GAAGF,KAAK;IACRb,MAAM;IACNQ,OAAO,EAAE1B,UAAU,CAAClB,IAAI,EAAEmD,IAAI,CAAC;IAC/B/B,QAAQ,EAAES,WAAW,CAAC7B,IAAI,EAAEmD,IAAI;EAClC,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASM,QAAQA,CACtBzD,IAAe,EACfmB,MAA0B,EAC1B+B,KAAc,EACA;EACd,MAAMhB,IAAI,GAAGlC,IAAI,KAAK,OAAO,GAAG+C,iBAAiB,GAAGF,gBAAgB;EACpE,OAAO1B,MAAM,GAAG6B,UAAU,CAACd,IAAI,EAAEf,MAAM,EAAE+B,KAAK,CAAC,GAAGhB,IAAI;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASwB,YAAYA,CAC1B1D,IAA2B,EAC3B2D,WAAyB,EACX;EACd,MAAMC,IAAe,GAAG5D,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,MAAM;EAC3D,IAAI,OAAO2D,WAAW,KAAK,QAAQ,IAAIA,WAAW,KAAK,IAAI,EAAE;IAC3D,OAAOF,QAAQ,CAACG,IAAI,EAAED,WAAW,CAACC,IAAI,CAAC,EAAE,KAAK,CAAC;EACjD;EACA,OAAOH,QAAQ,CAACG,IAAI,EAAED,WAAW,EAAE,IAAI,CAAC;AAC1C","ignoreList":[]}
|
package/lib/commonjs/types.js
CHANGED
|
@@ -4,6 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.USER_MESSAGE_MIN = exports.USER_MESSAGE_MAX = exports.QUERY_TYPE_LABEL = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* 'support' is the single chat (0.4+). The other three are the typed requests
|
|
9
|
+
* older builds file; their conversations still show in the chat.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/** Shown to the support team, which can filter and message users by it. */
|
|
13
|
+
|
|
14
|
+
/** What the host app asks for. "system" follows the app's light/dark appearance. */
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* A brand color: one hex for both modes, or a pair. A single color is
|
|
18
|
+
* lightened in dark mode (darkened in light) only as far as it takes to
|
|
19
|
+
* stay visible; a pair is used exactly as given.
|
|
20
|
+
*/
|
|
21
|
+
|
|
7
22
|
/**
|
|
8
23
|
* How the launcher renders:
|
|
9
24
|
* solid — accent fill, elevated. The floating action button.
|
|
@@ -11,11 +26,25 @@ exports.USER_MESSAGE_MIN = exports.USER_MESSAGE_MAX = exports.QUERY_TYPE_LABEL =
|
|
|
11
26
|
* minimal — bare mark, no fill or border. Sits in a nav bar.
|
|
12
27
|
*/
|
|
13
28
|
|
|
29
|
+
/** Where a review request's button points; set per app in the dashboard. */
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Note the absence of any admin identity: end users see one support team,
|
|
33
|
+
* not the people staffing it, so the names never leave the server. The
|
|
34
|
+
* dashboard still shows who wrote and who resolved what.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* English labels, kept for host apps that render their own entry points.
|
|
39
|
+
* Inside the sheet the labels come from the string table instead, so they
|
|
40
|
+
* follow the user's language.
|
|
41
|
+
*/
|
|
14
42
|
const QUERY_TYPE_LABEL = exports.QUERY_TYPE_LABEL = {
|
|
15
43
|
feedback: 'Feedback',
|
|
16
44
|
feature_request: 'Feature request',
|
|
17
|
-
bug_report: 'Bug report'
|
|
45
|
+
bug_report: 'Bug report',
|
|
46
|
+
support: 'Support'
|
|
18
47
|
};
|
|
19
|
-
const USER_MESSAGE_MIN = exports.USER_MESSAGE_MIN =
|
|
20
|
-
const USER_MESSAGE_MAX = exports.USER_MESSAGE_MAX =
|
|
48
|
+
const USER_MESSAGE_MIN = exports.USER_MESSAGE_MIN = 1;
|
|
49
|
+
const USER_MESSAGE_MAX = exports.USER_MESSAGE_MAX = 1000;
|
|
21
50
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["QUERY_TYPE_LABEL","exports","feedback","feature_request","bug_report","USER_MESSAGE_MIN","USER_MESSAGE_MAX"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["QUERY_TYPE_LABEL","exports","feedback","feature_request","bug_report","support","USER_MESSAGE_MIN","USER_MESSAGE_MAX"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;;AAEA;;AAKA;;AAEA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;;AA2GA;;AAMA;AACA;AACA;AACA;AACA;;AA0BA;AACA;AACA;AACA;AACA;AACO,MAAMA,gBAA2C,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EACzDE,QAAQ,EAAE,UAAU;EACpBC,eAAe,EAAE,iBAAiB;EAClCC,UAAU,EAAE,YAAY;EACxBC,OAAO,EAAE;AACX,CAAC;AAEM,MAAMC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,GAAG,CAAC;AAC1B,MAAMC,gBAAgB,GAAAN,OAAA,CAAAM,gBAAA,GAAG,IAAI","ignoreList":[]}
|
|
@@ -24,11 +24,11 @@ var _unread = require("./unread");
|
|
|
24
24
|
// 3. `mark-read` failures are retried instead of swallowed, and the local
|
|
25
25
|
// watermark holds the UI correct in the meantime.
|
|
26
26
|
|
|
27
|
-
// Poll cadence by context: fast where latency is felt (
|
|
27
|
+
// Poll cadence by context: fast where latency is felt (looking at the chat,
|
|
28
28
|
// waiting for a reply), slow when the sheet is closed — and the idle tick
|
|
29
29
|
// uses the count-only endpoint, so it costs ~18 bytes instead of the full
|
|
30
30
|
// thread list.
|
|
31
|
-
const
|
|
31
|
+
const CHAT_POLL_MS = 5_000;
|
|
32
32
|
const SHEET_POLL_MS = 15_000;
|
|
33
33
|
const IDLE_POLL_MS = exports.IDLE_POLL_MS = 60_000;
|
|
34
34
|
const MIN_POLL_MS = 3_000;
|
|
@@ -44,33 +44,40 @@ const MARK_READ_BACKOFF_MS = 1_500;
|
|
|
44
44
|
* an integration mistake — the end user retrying forever won't fix a key
|
|
45
45
|
* that doesn't match the app — so the real cause is logged for whoever is
|
|
46
46
|
* running the build instead of hidden behind "couldn't load".
|
|
47
|
+
*
|
|
48
|
+
* Returns a key rather than a message: the hook has no business knowing what
|
|
49
|
+
* language the sheet is in, and resolving it here would make every callback
|
|
50
|
+
* depend on the translator.
|
|
47
51
|
*/
|
|
48
|
-
function
|
|
52
|
+
function loadErrorKey(e) {
|
|
49
53
|
if (e instanceof _api.SupportApiError) {
|
|
50
|
-
if (e.offline) return
|
|
54
|
+
if (e.offline) return 'error.offline';
|
|
51
55
|
if (e.status === 401 || e.status === 403) {
|
|
52
56
|
if (__DEV__) {
|
|
53
57
|
console.error('SupportButton: the support API rejected this app (401). Check that ' + '`apiKey` is the key shown when the app was registered and that ' + '`appName` matches that app exactly.');
|
|
54
58
|
}
|
|
55
|
-
return '
|
|
59
|
+
return 'error.unavailable';
|
|
56
60
|
}
|
|
57
|
-
if (e.status === 429) return '
|
|
61
|
+
if (e.status === 429) return 'error.loadRateLimited';
|
|
58
62
|
}
|
|
59
|
-
return
|
|
63
|
+
return 'error.loadFailed';
|
|
60
64
|
}
|
|
61
65
|
function useSupportThreads({
|
|
62
66
|
config,
|
|
63
67
|
revenuecatId,
|
|
64
68
|
enabled,
|
|
65
69
|
sheetOpen,
|
|
66
|
-
|
|
70
|
+
chatVisible,
|
|
67
71
|
idlePollMs
|
|
68
72
|
}) {
|
|
69
73
|
const [threads, setThreads] = (0, _react.useState)(null);
|
|
70
74
|
const [totalUnread, setTotalUnread] = (0, _react.useState)(0);
|
|
71
75
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
72
76
|
const [refreshing, setRefreshing] = (0, _react.useState)(false);
|
|
73
|
-
const [
|
|
77
|
+
const [errorKey, setErrorKey] = (0, _react.useState)(null);
|
|
78
|
+
const [serverLanguage, setServerLanguage] = (0, _react.useState)(null);
|
|
79
|
+
const [languageLoaded, setLanguageLoaded] = (0, _react.useState)(false);
|
|
80
|
+
const [store, setStore] = (0, _react.useState)(null);
|
|
74
81
|
const mounted = (0, _react.useRef)(true);
|
|
75
82
|
/** Last server payload, before local read reconciliation. */
|
|
76
83
|
const rawThreads = (0, _react.useRef)(null);
|
|
@@ -79,10 +86,10 @@ function useSupportThreads({
|
|
|
79
86
|
const requestSeq = (0, _react.useRef)(0);
|
|
80
87
|
const appliedSeq = (0, _react.useRef)(0);
|
|
81
88
|
const readEpoch = (0, _react.useRef)(0);
|
|
82
|
-
const
|
|
89
|
+
const chatVisibleRef = (0, _react.useRef)(chatVisible);
|
|
83
90
|
(0, _react.useEffect)(() => {
|
|
84
|
-
|
|
85
|
-
}, [
|
|
91
|
+
chatVisibleRef.current = chatVisible;
|
|
92
|
+
}, [chatVisible]);
|
|
86
93
|
(0, _react.useEffect)(() => {
|
|
87
94
|
mounted.current = true;
|
|
88
95
|
const timers = reads.current;
|
|
@@ -174,6 +181,11 @@ function useSupportThreads({
|
|
|
174
181
|
}
|
|
175
182
|
sendRead(threadId);
|
|
176
183
|
}, [publish, sendRead]);
|
|
184
|
+
|
|
185
|
+
/** Marks every conversation read — the chat shows them all at once. */
|
|
186
|
+
const markAllRead = (0, _react.useCallback)(() => {
|
|
187
|
+
for (const thread of rawThreads.current ?? []) markThreadRead(thread.id);
|
|
188
|
+
}, [markThreadRead]);
|
|
177
189
|
const fetchThreads = (0, _react.useCallback)(async mode => {
|
|
178
190
|
if (!enabled) return;
|
|
179
191
|
const seq = requestSeq.current += 1;
|
|
@@ -192,25 +204,27 @@ function useSupportThreads({
|
|
|
192
204
|
appliedSeq.current = seq;
|
|
193
205
|
rawThreads.current = data.threads;
|
|
194
206
|
watermarks.current = (0, _unread.pruneWatermarks)(watermarks.current, data.threads);
|
|
195
|
-
|
|
207
|
+
setErrorKey(null);
|
|
208
|
+
setServerLanguage(data.language);
|
|
209
|
+
setLanguageLoaded(true);
|
|
210
|
+
setStore(data.store ?? null);
|
|
196
211
|
publish();
|
|
197
212
|
|
|
198
|
-
// Replies that arrived while the user is
|
|
213
|
+
// Replies that arrived while the user is looking at the chat are
|
|
199
214
|
// read on arrival — otherwise the badge climbed while they read.
|
|
200
|
-
|
|
201
|
-
if (active !== null) markThreadRead(active);
|
|
215
|
+
if (chatVisibleRef.current) markAllRead();
|
|
202
216
|
flushReads();
|
|
203
217
|
} catch (e) {
|
|
204
218
|
if (!mounted.current) return;
|
|
205
219
|
// A failed background poll must not blow away cached threads.
|
|
206
|
-
if (rawThreads.current === null)
|
|
220
|
+
if (rawThreads.current === null) setErrorKey(loadErrorKey(e));
|
|
207
221
|
} finally {
|
|
208
222
|
if (mounted.current) {
|
|
209
223
|
if (spinner) setRefreshing(false);
|
|
210
224
|
if (skeleton) setLoading(false);
|
|
211
225
|
}
|
|
212
226
|
}
|
|
213
|
-
}, [config, enabled, revenuecatId, publish,
|
|
227
|
+
}, [config, enabled, revenuecatId, publish, markAllRead, flushReads]);
|
|
214
228
|
|
|
215
229
|
/** Badge-only refresh — the cheap endpoint, used while idle. */
|
|
216
230
|
const fetchCount = (0, _react.useCallback)(async () => {
|
|
@@ -241,17 +255,17 @@ function useSupportThreads({
|
|
|
241
255
|
if (sheetOpen) void fetchThreads('background');
|
|
242
256
|
}, [sheetOpen, fetchThreads]);
|
|
243
257
|
|
|
244
|
-
// Opening
|
|
258
|
+
// Opening the chat marks everything read immediately, before the next poll.
|
|
245
259
|
(0, _react.useEffect)(() => {
|
|
246
|
-
if (
|
|
247
|
-
}, [
|
|
260
|
+
if (chatVisible) markAllRead();
|
|
261
|
+
}, [chatVisible, markAllRead]);
|
|
248
262
|
|
|
249
263
|
// Cadence follows what the user is looking at; the app returning to the
|
|
250
264
|
// foreground always ticks.
|
|
251
265
|
(0, _react.useEffect)(() => {
|
|
252
266
|
if (!enabled) return;
|
|
253
267
|
const idle = !sheetOpen;
|
|
254
|
-
const intervalMs = idle ? idlePollMs :
|
|
268
|
+
const intervalMs = idle ? idlePollMs : chatVisible ? CHAT_POLL_MS : SHEET_POLL_MS;
|
|
255
269
|
const tick = () => {
|
|
256
270
|
// While a receipt is unconfirmed the count-only endpoint would report
|
|
257
271
|
// replies the user has already read, so pay for the full payload.
|
|
@@ -268,7 +282,7 @@ function useSupportThreads({
|
|
|
268
282
|
if (timer !== null) clearInterval(timer);
|
|
269
283
|
appStateSub.remove();
|
|
270
284
|
};
|
|
271
|
-
}, [enabled, sheetOpen,
|
|
285
|
+
}, [enabled, sheetOpen, chatVisible, idlePollMs, fetchThreads, fetchCount]);
|
|
272
286
|
const refresh = (0, _react.useCallback)(() => {
|
|
273
287
|
void fetchThreads('user');
|
|
274
288
|
}, [fetchThreads]);
|
|
@@ -278,7 +292,10 @@ function useSupportThreads({
|
|
|
278
292
|
totalUnread,
|
|
279
293
|
loading,
|
|
280
294
|
refreshing,
|
|
281
|
-
|
|
295
|
+
errorKey,
|
|
296
|
+
serverLanguage,
|
|
297
|
+
languageLoaded,
|
|
298
|
+
store,
|
|
282
299
|
refresh,
|
|
283
300
|
reload
|
|
284
301
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_api","_unread","THREAD_POLL_MS","SHEET_POLL_MS","IDLE_POLL_MS","exports","MIN_POLL_MS","MARK_READ_MAX_ATTEMPTS","MARK_READ_BACKOFF_MS","loadErrorMessage","e","SupportApiError","offline","status","__DEV__","console","error","useSupportThreads","config","revenuecatId","enabled","sheetOpen","activeThreadId","idlePollMs","threads","setThreads","useState","totalUnread","setTotalUnread","loading","setLoading","refreshing","setRefreshing","setError","mounted","useRef","rawThreads","watermarks","Map","reads","requestSeq","appliedSeq","readEpoch","activeThreadIdRef","useEffect","current","timers","attempt","values","timer","clearTimeout","clear","publish","useCallback","raw","reconciled","reconcileThreads","sumUnread","sendRead","threadId","get","inFlight","covers","target","markRead","queryId","then","attempts","delete","catch","setTimeout","flushReads","markThreadRead","thread","find","t","id","latest","latestAdminMessageAt","set","fetchThreads","mode","seq","blank","spinner","skeleton","data","getThreads","pruneWatermarks","active","fetchCount","epoch","getUnreadCount","total_unread","idle","intervalMs","tick","size","setInterval","Math","max","appStateSub","AppState","addEventListener","state","clearInterval","remove","refresh","reload"],"sourceRoot":"../../src","sources":["useSupportThreads.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_api","_unread","CHAT_POLL_MS","SHEET_POLL_MS","IDLE_POLL_MS","exports","MIN_POLL_MS","MARK_READ_MAX_ATTEMPTS","MARK_READ_BACKOFF_MS","loadErrorKey","e","SupportApiError","offline","status","__DEV__","console","error","useSupportThreads","config","revenuecatId","enabled","sheetOpen","chatVisible","idlePollMs","threads","setThreads","useState","totalUnread","setTotalUnread","loading","setLoading","refreshing","setRefreshing","errorKey","setErrorKey","serverLanguage","setServerLanguage","languageLoaded","setLanguageLoaded","store","setStore","mounted","useRef","rawThreads","watermarks","Map","reads","requestSeq","appliedSeq","readEpoch","chatVisibleRef","useEffect","current","timers","attempt","values","timer","clearTimeout","clear","publish","useCallback","raw","reconciled","reconcileThreads","sumUnread","sendRead","threadId","get","inFlight","covers","target","markRead","queryId","then","attempts","delete","catch","setTimeout","flushReads","markThreadRead","thread","find","t","id","latest","latestAdminMessageAt","set","markAllRead","fetchThreads","mode","seq","blank","spinner","skeleton","data","getThreads","pruneWatermarks","language","fetchCount","epoch","getUnreadCount","total_unread","idle","intervalMs","tick","size","setInterval","Math","max","appStateSub","AppState","addEventListener","state","clearInterval","remove","refresh","reload"],"sourceRoot":"../../src","sources":["useSupportThreads.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/utils.js
CHANGED
|
@@ -7,36 +7,22 @@ exports.dayLabel = dayLabel;
|
|
|
7
7
|
exports.formatDate = formatDate;
|
|
8
8
|
exports.formatTime = formatTime;
|
|
9
9
|
exports.isSameDay = isSameDay;
|
|
10
|
-
exports.
|
|
10
|
+
exports.userPlan = userPlan;
|
|
11
11
|
exports.validateProps = validateProps;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const minutes = Math.floor(seconds / 60);
|
|
18
|
-
if (minutes < 60) return `${minutes}m ago`;
|
|
19
|
-
const hours = Math.floor(minutes / 60);
|
|
20
|
-
if (hours < 24) return `${hours}h ago`;
|
|
21
|
-
const days = Math.floor(hours / 24);
|
|
22
|
-
if (days < 7) return `${days}d ago`;
|
|
23
|
-
const weeks = Math.floor(days / 7);
|
|
24
|
-
if (weeks < 5) return `${weeks}w ago`;
|
|
25
|
-
const months = Math.floor(days / 30);
|
|
26
|
-
if (months < 12) return `${months}mo ago`;
|
|
27
|
-
return `${Math.floor(days / 365)}y ago`;
|
|
28
|
-
}
|
|
29
|
-
function formatDate(iso) {
|
|
30
|
-
return new Date(iso).toLocaleDateString(undefined, {
|
|
12
|
+
// Dates and times follow the language the user picked, not the device's:
|
|
13
|
+
// a sheet that says "Traduction…" above "2 days ago" reads as broken.
|
|
14
|
+
|
|
15
|
+
function formatDate(iso, strings) {
|
|
16
|
+
return new Date(iso).toLocaleDateString(strings.locale, {
|
|
31
17
|
year: 'numeric',
|
|
32
18
|
month: 'short',
|
|
33
19
|
day: 'numeric'
|
|
34
20
|
});
|
|
35
21
|
}
|
|
36
22
|
|
|
37
|
-
/** "14:32" in the
|
|
38
|
-
function formatTime(iso) {
|
|
39
|
-
return new Date(iso).toLocaleTimeString(
|
|
23
|
+
/** "14:32" in the user's locale — shown under a group of messages. */
|
|
24
|
+
function formatTime(iso, strings) {
|
|
25
|
+
return new Date(iso).toLocaleTimeString(strings.locale, {
|
|
40
26
|
hour: 'numeric',
|
|
41
27
|
minute: '2-digit'
|
|
42
28
|
});
|
|
@@ -48,13 +34,13 @@ function isSameDay(a, b) {
|
|
|
48
34
|
}
|
|
49
35
|
|
|
50
36
|
/** Date separator label: Today / Yesterday / "Mon, 5 Jan". */
|
|
51
|
-
function dayLabel(iso) {
|
|
37
|
+
function dayLabel(iso, strings) {
|
|
52
38
|
const now = new Date();
|
|
53
|
-
if (isSameDay(iso, now.toISOString())) return '
|
|
39
|
+
if (isSameDay(iso, now.toISOString())) return strings.t('time.today');
|
|
54
40
|
const yesterday = new Date(now.getTime() - 86_400_000);
|
|
55
|
-
if (isSameDay(iso, yesterday.toISOString())) return '
|
|
41
|
+
if (isSameDay(iso, yesterday.toISOString())) return strings.t('time.yesterday');
|
|
56
42
|
const date = new Date(iso);
|
|
57
|
-
return date.toLocaleDateString(
|
|
43
|
+
return date.toLocaleDateString(strings.locale, {
|
|
58
44
|
weekday: 'short',
|
|
59
45
|
month: 'short',
|
|
60
46
|
day: 'numeric',
|
|
@@ -63,6 +49,12 @@ function dayLabel(iso) {
|
|
|
63
49
|
})
|
|
64
50
|
});
|
|
65
51
|
}
|
|
52
|
+
const PLANS = ['free', 'trial', 'pro'];
|
|
53
|
+
|
|
54
|
+
/** The user's plan, reading the deprecated `isPaid` when `plan` is absent. */
|
|
55
|
+
function userPlan(user) {
|
|
56
|
+
return user.plan ?? (user.isPaid ? 'pro' : 'free');
|
|
57
|
+
}
|
|
66
58
|
|
|
67
59
|
/** Dev-mode prop validation with actionable messages. */
|
|
68
60
|
function validateProps(props) {
|
|
@@ -77,13 +69,16 @@ function validateProps(props) {
|
|
|
77
69
|
}
|
|
78
70
|
const user = props.user;
|
|
79
71
|
if (!user || typeof user !== 'object') {
|
|
80
|
-
return 'SupportButton: `user` is required — { name,
|
|
72
|
+
return 'SupportButton: `user` is required — { name, plan, revenuecatId, appVersion }.';
|
|
81
73
|
}
|
|
82
74
|
if (typeof user.name !== 'string' || user.name.length === 0) {
|
|
83
75
|
return 'SupportButton: `user.name` is required (string).';
|
|
84
76
|
}
|
|
85
|
-
if (
|
|
86
|
-
return 'SupportButton: `user.
|
|
77
|
+
if (user.plan !== undefined && !PLANS.includes(user.plan)) {
|
|
78
|
+
return 'SupportButton: `user.plan` must be "free", "trial" or "pro".';
|
|
79
|
+
}
|
|
80
|
+
if (user.plan === undefined && typeof user.isPaid !== 'boolean') {
|
|
81
|
+
return 'SupportButton: `user.plan` is required — "free", "trial" or "pro".';
|
|
87
82
|
}
|
|
88
83
|
if (typeof user.revenuecatId !== 'string' || user.revenuecatId.length === 0) {
|
|
89
84
|
return 'SupportButton: `user.revenuecatId` is required (string) — the RevenueCat app user id.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["formatDate","iso","strings","Date","toLocaleDateString","locale","year","month","day","formatTime","toLocaleTimeString","hour","minute","isSameDay","a","b","first","second","getFullYear","getMonth","getDate","dayLabel","now","toISOString","t","yesterday","getTime","date","weekday","PLANS","userPlan","user","plan","isPaid","validateProps","props","appName","length","apiKey","supabaseUrl","test","name","undefined","includes","revenuecatId","appVersion"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SDK_VERSION = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Sent as `x-sdk-version` on every request. The backend uses its presence to
|
|
9
|
+
* tell 0.4+ (one support chat) from older builds still in the App Store, so
|
|
10
|
+
* keep it in step with package.json.
|
|
11
|
+
*/
|
|
12
|
+
const SDK_VERSION = exports.SDK_VERSION = '0.4.0';
|
|
13
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SDK_VERSION","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,OAAO","ignoreList":[]}
|
package/lib/module/api.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// Thin client for the Supabase Edge Functions. Every call authenticates with
|
|
4
4
|
// the per-app x-api-key header; no Supabase JS client is needed on-device.
|
|
5
5
|
|
|
6
|
+
import { SDK_VERSION } from './version';
|
|
6
7
|
export class SupportApiError extends Error {
|
|
7
8
|
/** True for network-level failures (likely offline). */
|
|
8
9
|
|
|
@@ -22,6 +23,8 @@ async function request(config, path, init) {
|
|
|
22
23
|
headers: {
|
|
23
24
|
'Content-Type': 'application/json',
|
|
24
25
|
'x-api-key': config.apiKey,
|
|
26
|
+
// Tells the backend this build speaks the single support chat.
|
|
27
|
+
'x-sdk-version': SDK_VERSION,
|
|
25
28
|
...init.headers
|
|
26
29
|
}
|
|
27
30
|
});
|
|
@@ -75,27 +78,71 @@ export function registerPush(config, input) {
|
|
|
75
78
|
})
|
|
76
79
|
});
|
|
77
80
|
}
|
|
78
|
-
|
|
79
|
-
|
|
81
|
+
|
|
82
|
+
/** Records the language the user reads and writes support messages in. */
|
|
83
|
+
export function setLanguage(config, input) {
|
|
84
|
+
return request(config, 'set-language', {
|
|
85
|
+
method: 'POST',
|
|
86
|
+
body: JSON.stringify({
|
|
87
|
+
revenuecat_id: input.revenuecatId,
|
|
88
|
+
language: input.language
|
|
89
|
+
})
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** What the backend is told about the current user. */
|
|
94
|
+
|
|
95
|
+
function reportedUser(user) {
|
|
96
|
+
return {
|
|
97
|
+
name: user.name,
|
|
98
|
+
plan: user.plan,
|
|
99
|
+
app_version: user.appVersion,
|
|
100
|
+
platform: user.platform
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Sends one chat message. The server appends it to the user's open
|
|
106
|
+
* conversation, or starts one if none is open (a first message, or the first
|
|
107
|
+
* after a resolve).
|
|
108
|
+
*/
|
|
109
|
+
export function sendMessage(config, input) {
|
|
110
|
+
return request(config, 'send-message', {
|
|
80
111
|
method: 'POST',
|
|
81
112
|
body: JSON.stringify({
|
|
82
113
|
app_name: config.appName,
|
|
83
|
-
|
|
114
|
+
revenuecat_id: input.revenuecatId,
|
|
84
115
|
message: input.message,
|
|
85
|
-
|
|
86
|
-
|
|
116
|
+
// Sent on every write so a lost set-language call self-heals.
|
|
117
|
+
language: input.language,
|
|
118
|
+
user: reportedUser(input.user)
|
|
119
|
+
})
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Records the user in the app's directory, so the team can find and message
|
|
125
|
+
* them before they ever open support. Called on every load.
|
|
126
|
+
*/
|
|
127
|
+
export function registerUser(config, input) {
|
|
128
|
+
return request(config, 'register-user', {
|
|
129
|
+
method: 'POST',
|
|
130
|
+
body: JSON.stringify({
|
|
131
|
+
app_name: config.appName,
|
|
87
132
|
revenuecat_id: input.revenuecatId,
|
|
88
|
-
|
|
133
|
+
user: reportedUser(input.user)
|
|
89
134
|
})
|
|
90
135
|
});
|
|
91
136
|
}
|
|
92
|
-
|
|
93
|
-
|
|
137
|
+
|
|
138
|
+
/** Records a tap on a review request's store button, for the dashboard. */
|
|
139
|
+
export function reviewOpened(config, input) {
|
|
140
|
+
return request(config, 'review-opened', {
|
|
94
141
|
method: 'POST',
|
|
95
142
|
body: JSON.stringify({
|
|
96
|
-
|
|
143
|
+
app_name: config.appName,
|
|
97
144
|
revenuecat_id: input.revenuecatId,
|
|
98
|
-
|
|
145
|
+
message_id: input.messageId
|
|
99
146
|
})
|
|
100
147
|
});
|
|
101
148
|
}
|
package/lib/module/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SupportApiError","Error","constructor","message","status","offline","name","request","config","path","init","url","supabaseUrl","replace","response","fetch","headers","apiKey","payload","json","ok","error","getThreads","revenuecatId","params","URLSearchParams","revenuecat_id","toString","method","getUnreadCount","registerPush","input","body","JSON","stringify","app_name","appName","permission_status","permissionStatus","expo_push_token","expoPushToken","asked","
|
|
1
|
+
{"version":3,"names":["SDK_VERSION","SupportApiError","Error","constructor","message","status","offline","name","request","config","path","init","url","supabaseUrl","replace","response","fetch","headers","apiKey","payload","json","ok","error","getThreads","revenuecatId","params","URLSearchParams","revenuecat_id","toString","method","getUnreadCount","registerPush","input","body","JSON","stringify","app_name","appName","permission_status","permissionStatus","expo_push_token","expoPushToken","asked","setLanguage","language","reportedUser","user","plan","app_version","appVersion","platform","sendMessage","registerUser","reviewOpened","message_id","messageId","markRead","query_id","queryId"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -131,7 +131,7 @@ export function BottomSheet({
|
|
|
131
131
|
}), /*#__PURE__*/_jsxs(Animated.View, {
|
|
132
132
|
style: {
|
|
133
133
|
height: sheetHeight,
|
|
134
|
-
backgroundColor: theme.colors.
|
|
134
|
+
backgroundColor: theme.colors.sheet,
|
|
135
135
|
borderTopLeftRadius: theme.radii.sheet,
|
|
136
136
|
borderTopRightRadius: theme.radii.sheet,
|
|
137
137
|
borderWidth: 1,
|