@capillarytech/creatives-library 8.0.159-alpha.0 → 8.0.159

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 (298) hide show
  1. package/constants/unified.js +189 -0
  2. package/index.js +4 -2
  3. package/package.json +1 -1
  4. package/routes.js +136 -202
  5. package/services/getSchema.js +1 -1
  6. package/services/localStorageApi.js +1 -0
  7. package/tests/i18n.test.js +1 -1
  8. package/utils/authWrapper.js +1 -1
  9. package/utils/common.js +2 -2
  10. package/utils/tagValidations.js +1 -1
  11. package/utils/tests/authWrapper.test.js +1 -1
  12. package/utils/tests/checkStore.test.js +1 -1
  13. package/utils/tests/customAuth.test.js +1 -1
  14. package/utils/transformerUtils.js +1 -1
  15. package/v2Components/CapTagList/index.js +9 -14
  16. package/v2Components/Carousel/style.scss +1 -1
  17. package/v2Components/CustomerSearchSection/index.js +79 -83
  18. package/v2Components/EmailMobilePreview/index.js +2 -2
  19. package/v2Components/FormBuilder/index.js +2 -2
  20. package/v2Components/TemplatePreview/index.js +2 -1
  21. package/v2Components/TestAndPreviewSlidebox/PreviewSection.js +1 -1
  22. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +1 -2
  23. package/v2Components/TestAndPreviewSlidebox/index.js +3 -37
  24. package/v2Components/TestAndPreviewSlidebox/tests/PreviewSection.test.js +1 -1
  25. package/v2Containers/Cap/tests/saga.test.js +1 -1
  26. package/v2Containers/Email/index.js +26 -61
  27. package/v2Containers/FTP/index.js +1 -1
  28. package/v2Containers/Line/Container/Text/index.js +1 -1
  29. package/v2Containers/Sms/Create/index.js +1 -1
  30. package/v2Containers/Sms/Edit/index.js +1 -1
  31. package/v2Containers/TagList/index.js +1 -1
  32. package/v2Containers/TagList/utils.js +1 -1
  33. package/v2Containers/Templates/index.js +1 -1
  34. package/v2Containers/Templates/sagas.js +1 -1
  35. package/components/BreadCrumbs/index.js +0 -65
  36. package/components/BreadCrumbs/messages.js +0 -13
  37. package/components/CapTagList/index.js +0 -235
  38. package/components/CapTagList/messages.js +0 -45
  39. package/components/Card/_customCard.scss +0 -40
  40. package/components/Card/index.js +0 -78
  41. package/components/Card/tests/__snapshots__/index.test.js.snap +0 -22
  42. package/components/Card/tests/index.test.js +0 -20
  43. package/components/CardGrid/index.js +0 -71
  44. package/components/Ckeditor/index.js +0 -238
  45. package/components/Ckeditor/messages.js +0 -13
  46. package/components/Ckeditor/style.scss +0 -3
  47. package/components/Component/index.js +0 -29
  48. package/components/CustomPopOver/index.js +0 -81
  49. package/components/CustomPopOver/messages.js +0 -17
  50. package/components/DateFilter/index.js +0 -349
  51. package/components/DateFilter/messages.js +0 -57
  52. package/components/DateRange/index.js +0 -114
  53. package/components/DateRange/messages.js +0 -25
  54. package/components/Edmeditor/index.js +0 -65
  55. package/components/Edmeditor/messages.js +0 -13
  56. package/components/EmailPreview/_emailPreview.scss +0 -119
  57. package/components/EmailPreview/assets/images/iPad.svg +0 -10
  58. package/components/EmailPreview/assets/images/mobile.png +0 -0
  59. package/components/EmailPreview/index.js +0 -107
  60. package/components/EmailPreview/messages.js +0 -33
  61. package/components/Footer/index.js +0 -27
  62. package/components/Footer/messages.js +0 -13
  63. package/components/FormBuilder/_formBuilder.scss +0 -83
  64. package/components/FormBuilder/index.js +0 -3279
  65. package/components/FormBuilder/messages.js +0 -61
  66. package/components/Header/index.js +0 -44
  67. package/components/Header/messages.js +0 -29
  68. package/components/ImagePreview/_imagePreview.scss +0 -63
  69. package/components/ImagePreview/index.js +0 -52
  70. package/components/ImagePreview/messages.js +0 -17
  71. package/components/PageHeader/_pageHeader.scss +0 -22
  72. package/components/PageHeader/index.js +0 -37
  73. package/components/PageHeader/messages.js +0 -13
  74. package/components/Pagination/_pagination.scss +0 -5
  75. package/components/Pagination/index.js +0 -49
  76. package/components/PreviewSideBar/_previewsidebar.scss +0 -28
  77. package/components/PreviewSideBar/index.js +0 -152
  78. package/components/PreviewSideBar/messages.js +0 -41
  79. package/components/Sidebar/_sidebar.scss +0 -115
  80. package/components/Sidebar/index.js +0 -214
  81. package/components/Sidebar/messages.js +0 -21
  82. package/components/SlideBox/_slideBox.scss +0 -63
  83. package/components/SlideBox/index.js +0 -47
  84. package/components/SlideBox/tests/index.test.js +0 -103
  85. package/components/SmsEditor/index.js +0 -55
  86. package/components/SmsTest/index.js +0 -117
  87. package/components/SmsTest/messages.js +0 -21
  88. package/components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +0 -42
  89. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +0 -141
  90. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +0 -21
  91. package/components/TemplatePreview/_templatePreview.scss +0 -642
  92. package/components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
  93. package/components/TemplatePreview/assets/images/androidPushMessage.svg +0 -45
  94. package/components/TemplatePreview/assets/images/home-screen-android.svg +0 -21
  95. package/components/TemplatePreview/assets/images/home-screen-ios.svg +0 -16
  96. package/components/TemplatePreview/assets/images/iPhonePushMessage.svg +0 -135
  97. package/components/TemplatePreview/assets/images/mobile.svg +0 -24
  98. package/components/TemplatePreview/assets/images/sms-body.png +0 -0
  99. package/components/TemplatePreview/assets/images/sms-icon.png +0 -0
  100. package/components/TemplatePreview/assets/images/sms_mobile.png +0 -0
  101. package/components/TemplatePreview/assets/images/sms_mobile_android.svg +0 -22
  102. package/components/TemplatePreview/assets/images/sms_mobile_ios.svg +0 -16
  103. package/components/TemplatePreview/assets/images/user-icon.svg +0 -19
  104. package/components/TemplatePreview/assets/images/wechat-mobile.svg +0 -78
  105. package/components/TemplatePreview/assets/images/wechat_mobile_android.svg +0 -20
  106. package/components/TemplatePreview/index.js +0 -617
  107. package/components/TemplatePreview/messages.js +0 -78
  108. package/components/Toastr/index.js +0 -60
  109. package/components/Toastr/messages.js +0 -13
  110. package/components/ToastrMessage/index.js +0 -113
  111. package/components/ToastrMessage/messages.js +0 -17
  112. package/components/TopBar/_topbar.scss +0 -46
  113. package/components/TopBar/assets/images/capillary_logo.png +0 -0
  114. package/components/TopBar/assets/images/old_capillary_logo.png +0 -0
  115. package/components/TopBar/index.js +0 -113
  116. package/components/TopBar/messages.js +0 -29
  117. package/containers/App/actions.js +0 -7
  118. package/containers/App/constants.js +0 -114
  119. package/containers/App/index.js +0 -52
  120. package/containers/App/reducer.js +0 -19
  121. package/containers/App/sagas.js +0 -31
  122. package/containers/App/selectors.js +0 -25
  123. package/containers/App/test/saga.test.js +0 -11
  124. package/containers/Assets/Gallery/_gallery.scss +0 -126
  125. package/containers/Assets/Gallery/actions.js +0 -37
  126. package/containers/Assets/Gallery/constants.js +0 -23
  127. package/containers/Assets/Gallery/index.js +0 -473
  128. package/containers/Assets/Gallery/messages.js +0 -93
  129. package/containers/Assets/Gallery/reducer.js +0 -81
  130. package/containers/Assets/Gallery/sagas.js +0 -80
  131. package/containers/Assets/Gallery/selectors.js +0 -25
  132. package/containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +0 -9
  133. package/containers/Assets/Gallery/tests/actions.test.js +0 -25
  134. package/containers/Assets/Gallery/tests/reducer.test.js +0 -96
  135. package/containers/Assets/Gallery/tests/saga.test.js +0 -157
  136. package/containers/Cap/actions.js +0 -66
  137. package/containers/Cap/constants.js +0 -25
  138. package/containers/Cap/index.js +0 -402
  139. package/containers/Cap/messages.js +0 -75
  140. package/containers/Cap/reducer.js +0 -113
  141. package/containers/Cap/sagas.js +0 -159
  142. package/containers/Cap/selectors.js +0 -75
  143. package/containers/Cap/tests/__snapshots__/index.test.js.snap +0 -2270
  144. package/containers/Cap/tests/index.test.js +0 -22
  145. package/containers/Cap/tests/saga.test.js +0 -284
  146. package/containers/Dashboard/actions.js +0 -15
  147. package/containers/Dashboard/constants.js +0 -7
  148. package/containers/Dashboard/index.js +0 -76
  149. package/containers/Dashboard/messages.js +0 -13
  150. package/containers/Dashboard/reducer.js +0 -21
  151. package/containers/Dashboard/sagas.js +0 -17
  152. package/containers/Dashboard/selectors.js +0 -25
  153. package/containers/Dashboard/test/saga.test.js +0 -9
  154. package/containers/Ebill/_ebill.scss +0 -5
  155. package/containers/Ebill/actions.js +0 -43
  156. package/containers/Ebill/constants.js +0 -20
  157. package/containers/Ebill/index.js +0 -1278
  158. package/containers/Ebill/messages.js +0 -77
  159. package/containers/Ebill/reducer.js +0 -72
  160. package/containers/Ebill/sagas.js +0 -74
  161. package/containers/Ebill/selectors.js +0 -25
  162. package/containers/Ebill/test/saga.test.js +0 -11
  163. package/containers/Email/_email.scss +0 -141
  164. package/containers/Email/actions.js +0 -81
  165. package/containers/Email/constants.js +0 -36
  166. package/containers/Email/index.js +0 -3325
  167. package/containers/Email/messages.js +0 -289
  168. package/containers/Email/reducer.js +0 -142
  169. package/containers/Email/sagas.js +0 -135
  170. package/containers/Email/selectors.js +0 -31
  171. package/containers/Email/test/saga.test.js +0 -671
  172. package/containers/LanguageProvider/actions.js +0 -17
  173. package/containers/LanguageProvider/constants.js +0 -8
  174. package/containers/LanguageProvider/index.js +0 -80
  175. package/containers/LanguageProvider/reducer.js +0 -30
  176. package/containers/LanguageProvider/selectors.js +0 -20
  177. package/containers/LanguageProvider/tests/actions.test.js +0 -19
  178. package/containers/LanguageProvider/tests/index.test.js +0 -78
  179. package/containers/LanguageProvider/tests/reducer.test.js +0 -20
  180. package/containers/LanguageProvider/tests/selectors.test.js +0 -15
  181. package/containers/Line/Create/_lineCreate.scss +0 -54
  182. package/containers/Line/Create/actions.js +0 -90
  183. package/containers/Line/Create/constants.js +0 -39
  184. package/containers/Line/Create/index.js +0 -836
  185. package/containers/Line/Create/messages.js +0 -189
  186. package/containers/Line/Create/reducer.js +0 -99
  187. package/containers/Line/Create/sagas.js +0 -121
  188. package/containers/Line/Create/selectors.js +0 -36
  189. package/containers/Line/Create/tests/saga.test.js +0 -202
  190. package/containers/Line/Edit/_lineEdit.scss +0 -35
  191. package/containers/Line/Edit/actions.js +0 -79
  192. package/containers/Line/Edit/constants.js +0 -27
  193. package/containers/Line/Edit/index.js +0 -1050
  194. package/containers/Line/Edit/messages.js +0 -177
  195. package/containers/Line/Edit/reducer.js +0 -83
  196. package/containers/Line/Edit/sagas.js +0 -80
  197. package/containers/Line/Edit/selectors.js +0 -29
  198. package/containers/Line/Edit/test/saga.test.js +0 -160
  199. package/containers/Login/assets/images/capillary_logo.png +0 -0
  200. package/containers/Login/components/LoginForm/index.js +0 -62
  201. package/containers/Login/components/LoginForm/messages.js +0 -33
  202. package/containers/Login/index.js +0 -130
  203. package/containers/Login/messages.js +0 -25
  204. package/containers/Login/selectors.js +0 -25
  205. package/containers/MobilePush/Create/_mobilePushCreate.scss +0 -39
  206. package/containers/MobilePush/Create/actions.js +0 -46
  207. package/containers/MobilePush/Create/constants.js +0 -23
  208. package/containers/MobilePush/Create/index.js +0 -2303
  209. package/containers/MobilePush/Create/messages.js +0 -269
  210. package/containers/MobilePush/Create/reducer.js +0 -70
  211. package/containers/MobilePush/Create/sagas.js +0 -74
  212. package/containers/MobilePush/Create/selectors.js +0 -28
  213. package/containers/MobilePush/Create/test/saga.test.js +0 -19
  214. package/containers/MobilePush/Edit/_mobilePushCreate.scss +0 -39
  215. package/containers/MobilePush/Edit/actions.js +0 -91
  216. package/containers/MobilePush/Edit/constants.js +0 -35
  217. package/containers/MobilePush/Edit/index.js +0 -2601
  218. package/containers/MobilePush/Edit/messages.js +0 -266
  219. package/containers/MobilePush/Edit/reducer.js +0 -112
  220. package/containers/MobilePush/Edit/sagas.js +0 -126
  221. package/containers/MobilePush/Edit/selectors.js +0 -29
  222. package/containers/MobilePush/Edit/tests/saga.test.js +0 -255
  223. package/containers/NotFoundPage/index.js +0 -25
  224. package/containers/NotFoundPage/messages.js +0 -13
  225. package/containers/NotFoundPage/tests/index.test.js +0 -17
  226. package/containers/Sms/Create/_smsCreate.scss +0 -42
  227. package/containers/Sms/Create/actions.js +0 -27
  228. package/containers/Sms/Create/constants.js +0 -16
  229. package/containers/Sms/Create/index.js +0 -1488
  230. package/containers/Sms/Create/messages.js +0 -109
  231. package/containers/Sms/Create/reducer.js +0 -41
  232. package/containers/Sms/Create/sagas.js +0 -40
  233. package/containers/Sms/Create/selectors.js +0 -28
  234. package/containers/Sms/Create/test/saga.test.js +0 -11
  235. package/containers/Sms/Edit/actions.js +0 -40
  236. package/containers/Sms/Edit/constants.js +0 -17
  237. package/containers/Sms/Edit/index.js +0 -1472
  238. package/containers/Sms/Edit/messages.js +0 -105
  239. package/containers/Sms/Edit/reducer.js +0 -50
  240. package/containers/Sms/Edit/sagas.js +0 -60
  241. package/containers/Sms/Edit/selectors.js +0 -32
  242. package/containers/Sms/Edit/test/saga.test.js +0 -13
  243. package/containers/TagList/_tagList.scss +0 -8
  244. package/containers/TagList/actions.js +0 -15
  245. package/containers/TagList/constants.js +0 -32
  246. package/containers/TagList/index.js +0 -236
  247. package/containers/TagList/messages.js +0 -13
  248. package/containers/TagList/reducer.js +0 -23
  249. package/containers/TagList/sagas.js +0 -11
  250. package/containers/TagList/selectors.js +0 -25
  251. package/containers/Templates/_templates.scss +0 -333
  252. package/containers/Templates/actions.js +0 -103
  253. package/containers/Templates/constants.js +0 -60
  254. package/containers/Templates/index.js +0 -1756
  255. package/containers/Templates/messages.js +0 -337
  256. package/containers/Templates/reducer.js +0 -142
  257. package/containers/Templates/sagas.js +0 -163
  258. package/containers/Templates/selectors.js +0 -28
  259. package/containers/Templates/test/saga.test.js +0 -241
  260. package/containers/WeChat/MapTemplates/_mapTemplates.scss +0 -8
  261. package/containers/WeChat/MapTemplates/actions.js +0 -52
  262. package/containers/WeChat/MapTemplates/constants.js +0 -28
  263. package/containers/WeChat/MapTemplates/index.js +0 -1610
  264. package/containers/WeChat/MapTemplates/messages.js +0 -157
  265. package/containers/WeChat/MapTemplates/reducer.js +0 -74
  266. package/containers/WeChat/MapTemplates/sagas.js +0 -84
  267. package/containers/WeChat/MapTemplates/selectors.js +0 -25
  268. package/containers/WeChat/MapTemplates/test/saga.test.js +0 -155
  269. package/containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +0 -57
  270. package/containers/WeChat/RichmediaTemplates/Create/actions.js +0 -36
  271. package/containers/WeChat/RichmediaTemplates/Create/constants.js +0 -15
  272. package/containers/WeChat/RichmediaTemplates/Create/index.js +0 -1071
  273. package/containers/WeChat/RichmediaTemplates/Create/messages.js +0 -165
  274. package/containers/WeChat/RichmediaTemplates/Create/reducer.js +0 -60
  275. package/containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +0 -497
  276. package/containers/WeChat/RichmediaTemplates/Create/sagas.js +0 -51
  277. package/containers/WeChat/RichmediaTemplates/Create/selectors.js +0 -37
  278. package/containers/WeChat/RichmediaTemplates/Create/test/saga.test.js +0 -13
  279. package/containers/WeChat/RichmediaTemplates/Edit/actions.js +0 -20
  280. package/containers/WeChat/RichmediaTemplates/Edit/constants.js +0 -10
  281. package/containers/WeChat/RichmediaTemplates/Edit/index.js +0 -136
  282. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +0 -13
  283. package/containers/WeChat/RichmediaTemplates/Edit/reducer.js +0 -28
  284. package/containers/WeChat/RichmediaTemplates/Edit/sagas.js +0 -36
  285. package/containers/WeChat/RichmediaTemplates/Edit/selectors.js +0 -30
  286. package/containers/WeChat/RichmediaTemplates/Edit/test/saga.test.js +0 -12
  287. package/containers/WeChat/RichmediaTemplates/View/actions.js +0 -15
  288. package/containers/WeChat/RichmediaTemplates/View/constants.js +0 -7
  289. package/containers/WeChat/RichmediaTemplates/View/index.js +0 -47
  290. package/containers/WeChat/RichmediaTemplates/View/messages.js +0 -21
  291. package/containers/WeChat/RichmediaTemplates/View/reducer.js +0 -23
  292. package/containers/WeChat/RichmediaTemplates/View/sagas.js +0 -11
  293. package/containers/WeChat/RichmediaTemplates/View/selectors.js +0 -25
  294. package/utils/asyncInjectors.js +0 -78
  295. package/utils/callNativeEvent.js +0 -16
  296. package/utils/checkStore.js +0 -21
  297. package/utils/customAuthWrapper.js +0 -62
  298. package/utils/customConnectedAuthWrapper.js +0 -26
@@ -1,20 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="220" height="472" viewBox="0 0 220 472">
2
- <g fill="none" fill-rule="evenodd">
3
- <rect width="220" height="472" fill="#101211" rx="26"/>
4
- <rect width="202" height="404" x="9" y="36" fill="#F4F5F7" rx="9"/>
5
- <rect width="182" height="136" x="19" y="112" fill="#F4F5F7" rx="17.5"/>
6
- <path fill="#F4F5F7" d="M18 36h184c4.97 0 9 4.03 9 9v6H9v-6c0-4.97 4.03-9 9-9z"/>
7
- <path fill="#F4F5F7" d="M9 51H211V82H9z" transform="matrix(1 0 0 -1 0 133)"/>
8
- <rect width="52" height="5" x="84" y="14" fill="#2E2E2E" rx="2.5"/>
9
- <rect width="52" height="5" x="84" y="455" fill="#2E2E2E" rx="2.5"/>
10
- <circle cx="45.5" cy="19.5" r="5.5" fill="#2E2E2E"/>
11
- <circle cx="65.5" cy="19.5" r="3.5" fill="#2E2E2E"/>
12
- <text fill="#000" font-family="Roboto-Regular, Roboto" font-size="12" letter-spacing=".175">
13
- <tspan x="49.5" y="71">Muji India</tspan>
14
- </text>
15
- <circle cx="199" cy="63" r="1" fill="#000"/>
16
- <circle cx="199" cy="70" r="1" fill="#000"/>
17
- <circle cx="199" cy="66.5" r="1" fill="#000"/>
18
- <path fill="#000" d="M28 66c0 .279-.226.505-.505.505h-5.556l2.42 2.42c.198.197.198.518 0 .716-.198.198-.52.198-.718 0l-2.934-2.934c-.39-.39-.39-1.024 0-1.414l2.934-2.934c.198-.198.52-.198.718 0 .198.198.198.519 0 .717l-2.42 2.419h5.556c.279 0 .505.226.505.505z"/>
19
- </g>
20
- </svg>
@@ -1,617 +0,0 @@
1
- /**
2
- *
3
- * TemplatePreview
4
- *
5
- */
6
-
7
- import PropTypes from 'prop-types';
8
-
9
- import React from 'react';
10
- import _ from 'lodash';
11
- import { injectIntl, intlShape, FormattedMessage} from 'react-intl';
12
- import {CapColumn, CapTab, CapIcon, CapLabel, CapImage, CapTooltip, CapButton } from '@capillarytech/cap-ui-library';
13
- import './_templatePreview.scss';
14
- import Carousel from '../../v2Components/Carousel';
15
- import {updateCharCount} from '../../utils/smsCharCountV2';
16
- import messages from './messages';
17
- const smsIcon = require('./assets/images/user-icon.svg');
18
- const smsMobileAndroid = require('./assets/images/sms_mobile_android.svg');
19
- const wechatMobileAndroid = require('./assets/images/wechat_mobile_android.svg');
20
- const smsMobileIos = require('./assets/images/sms_mobile_ios.svg');
21
- const smsAndroidHomeScreen = require('./assets/images/home-screen-android.svg');
22
- const lineMobileAndroid = require('../../assets/line.png');
23
- const lineImgPlaceholder = require('../../assets/line-image-placeholder.svg');
24
- const lineStickerPlaceholder = require('../../assets/smiley-placeholder.svg');
25
- const smsIosHomeScreen = require('./assets/images/home-screen-ios.svg');
26
- const wechatBody = require('./assets/images/WECHAT_5x.png');
27
- const smsBody = require('./assets/images/mobile.svg');
28
- const androidPushMessagePhone = require('./assets/images/androidPushMessage.svg');
29
- const iPhonePushMessagePhone = require('./assets/images/iPhonePushMessage.svg');
30
- const lineVideoPlaceholder = require('../../assets/rich-video-placeholder.svg');
31
- import { CAP_COLOR_03, CAP_WHITE, FONT_COLOR_01, CAP_G08, CAP_G06 } from '@capillarytech/cap-ui-library/styled/variables';
32
- import { TEMPLATE, IMAGE_CAROUSEL, IMAGE_MAP_CAMEL_CASE, IMAGE, STICKER, TEXT, VIDEO } from '../../v2Containers/Line/Container/constants';
33
-
34
- class TemplatePreview extends React.Component { // eslint-disable-line react/prefer-stateless-function
35
- getWechatAndroidPreview = (content) => (
36
- <div className="shell-lock-screen-android align-center" id="sms-preview">
37
- <div className="lock-screen-preview">
38
- <CapImage className="preview-image sms" src={smsAndroidHomeScreen} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
39
- <div className="lock-msgContainer wechat">
40
- <div className="sender-id-text">
41
- {this.props.intl.formatMessage(messages.senderId)}
42
- </div>
43
- <div className="message-text-container">
44
- <CapLabel type="label1" style={{ height: '15px' }} >{content}</CapLabel>
45
- </div>
46
- </div>
47
- <div className="action-text">
48
- <FormattedMessage {...messages.markAsRead}/> <FormattedMessage {...messages.reply}/>
49
- </div>
50
- </div>
51
- <div className="main-screen-preview">
52
- <CapImage className="preview-image" src={wechatMobileAndroid} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
53
- <div className="msgContainer wechat">
54
- <div className="message-pop wechat align-left" style={{ background: '#ffffff', color: '#333333' }}>
55
- {content}
56
- </div>
57
- </div>
58
- </div>
59
- </div>
60
- );
61
-
62
- getWechatIosPreview = (content) => (
63
- <div className="shell-lock-screen-ios align-center" id="sms-preview">
64
- <div className="lock-screen-preview">
65
- <CapImage className="preview-image sms" src={smsIosHomeScreen} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
66
- <div className="lock-msgContainer wechat">
67
- <div className="sender-id-text">
68
- {this.props.intl.formatMessage(messages.senderId)}
69
- </div>
70
- <div className="message-text-container">
71
- <CapLabel type="label1" style={{ height: '15px' }} >{content}</CapLabel>
72
- </div>
73
- </div>
74
- <div className="action-text-reply">
75
- <FormattedMessage {...messages.reply}/>
76
- </div>
77
- <div className="action-text-cancel">
78
- <FormattedMessage {...messages.cancel}/>
79
- </div>
80
- </div>
81
- <div className="main-screen-preview">
82
- <CapImage className="preview-image" src={wechatMobileAndroid} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
83
- <div className="msgContainer wechat">
84
- <div className="message-pop wechat align-left" style={{ background: '#ffffff', color: '#333333' }}>
85
- {content}
86
- </div>
87
- </div>
88
- </div>
89
- </div>
90
- );
91
-
92
- getSmsAndroidPreview = (content) => (
93
- <div className="shell-lock-screen-android align-center" id="sms-preview">
94
- <div className="lock-screen-preview">
95
- <CapImage className="preview-image sms" src={smsAndroidHomeScreen} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
96
- <div className="lock-msgContainer sms">
97
- <div className="sender-id-text">
98
- {this.props.intl.formatMessage(messages.senderId)}
99
- </div>
100
- <div className="message-text-container">
101
- <CapLabel type="label1" style={{ height: '15px' }} >{content}</CapLabel>
102
- </div>
103
- </div>
104
- <div className="action-text">
105
- <FormattedMessage {...messages.markAsRead}/> <FormattedMessage {...messages.reply}/>
106
- </div>
107
- </div>
108
- <div className="main-screen-preview">
109
- <CapImage className="preview-image sms" src={smsMobileAndroid} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
110
- <div className="msgContainer sms">
111
- <div className={"message-pop sms"}>
112
- {content && content.length && content.map((msg) =>
113
- <CapColumn className="message-pop-item align-left" style={{ background: '#FFFFFF', color: '#091e42'}}>
114
- {msg}
115
- </CapColumn>)
116
- }
117
- </div>
118
- </div>
119
- </div>
120
- </div>
121
- );
122
-
123
- getSmsIosPreview = (content) => (
124
- <div className="shell-lock-screen-ios align-center" id="sms-preview">
125
- <div className="lock-screen-preview">
126
- <CapImage className="preview-image sms" src={smsIosHomeScreen} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
127
- <div className="lock-msgContainer sms">
128
- <div className="sender-id-text">
129
- {this.props.intl.formatMessage(messages.senderId)}
130
- </div>
131
- <div className="message-text-container">
132
- <CapLabel type="label1" style={{ height: '15px' }} >{content}</CapLabel>
133
- </div>
134
- </div>
135
- <div className="action-text-reply">
136
- <FormattedMessage {...messages.reply}/>
137
- </div>
138
- <div className="action-text-cancel">
139
- <FormattedMessage {...messages.cancel}/>
140
- </div>
141
- </div>
142
- <div className="main-screen-preview">
143
- <CapImage className="preview-image sms" src={smsMobileIos} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
144
- <div className="msgContainer sms">
145
- <div className={"message-pop sms"}>
146
- {content && content.length && content.map((msg) =>
147
- <CapColumn className="message-pop-item align-left" style={{ background: '#ebecf0', color: '#091e42'}}>
148
- {msg}
149
- </CapColumn>)
150
- }
151
- </div>
152
- </div>
153
- </div>
154
- </div>
155
- );
156
-
157
- renderLineMultiText = (content) => {
158
- let textCount = 0;
159
- return content.map((item) => {
160
- const { type, messageContent = '' } = item || {};
161
- if (type === 'text' && messageContent) {
162
- textCount += 1;
163
- return (
164
- <p style={{fontSize: 16, fontWeight: "bold", margin: 0}}>
165
- text msg-{textCount}: ({messageContent.length}/{1600} characters)
166
- </p>
167
- )
168
- }
169
- return null
170
- });
171
- }
172
-
173
- render() {
174
-
175
- const channel = this.props.channel;
176
- let content = channel && channel.toLowerCase() === 'sms' ? [this.props.content] : this.props.content;
177
- let smsDetails = {};
178
- // let smsText = '';
179
- if (this.props.content && this.props.charCounterEnabled) {
180
- smsDetails = updateCharCount(this.props.content, this.props.unicodeEnabled);
181
- content = [];
182
- for (let i = 0, limit = 0; i < smsDetails.parts; i += 1, limit += smsDetails.chars_sms) {
183
- content.push(smsDetails.char_list.slice(limit, smsDetails.chars_sms * (i + 1)));
184
- }
185
- if (document.getElementById("msg_count")) {
186
- document.getElementById("msg_count").val = smsDetails.parts;
187
- }
188
- //smsText = this.props.intl.formatMessage(messages.previewGenerationMessage);
189
- //
190
- }
191
- const showLockScreenPreview = !!this.props.showLockScreenPreview;
192
- const type = this.props.location && this.props.location.query.type ? this.props.location.query.type : '';
193
- const { containsUnicodeContent = false } = this.props;
194
- let iosActions = [];
195
- if ((channel || '').toLowerCase() === "mobilepush") {
196
- iosActions = _.map(content.actions, (action) => {
197
- if (action.label) {
198
- return (<div className="actions">
199
- <span className="action">{action.label.toUpperCase()}</span>
200
- </div>);
201
- }
202
- return undefined;
203
- });
204
- }
205
-
206
- const getVideoContent = ({
207
- video,
208
- actionUrl,
209
- sectionStyle,
210
- }) => (
211
- <div
212
- className="message-pop align-left"
213
- style={{
214
- ...sectionStyle,
215
- minHeight: 184,
216
- display: 'flex',
217
- justifyContent: 'center',
218
- alignItems: 'center',
219
- backgroundColor: !video ? 'transparent' : CAP_G06,
220
- marginTop: 0,
221
- padding: 0,
222
- }}
223
- key={video}
224
- >
225
- {
226
- video
227
- ? (
228
- <>
229
- <video style={{ opacity: 0.5, width: '100%' }}>
230
- <source src={video} type="video/mp4" />
231
- </video>
232
- <div
233
- style={{
234
- position: 'absolute',
235
- display: 'flex',
236
- flexDirection: 'column',
237
- }}
238
- >
239
- <CapButton
240
- className="preview-video-btn"
241
- type="flat"
242
- >
243
- <CapIcon type="play"/>
244
- <FormattedMessage {...messages.playVideo} />
245
- </CapButton>
246
- {
247
- actionUrl
248
- ? (
249
- <CapButton
250
- className="preview-video-btn"
251
- type="flat"
252
- >
253
- <CapIcon type="reply" style={{ fontSize: 18 }}/>
254
- <FormattedMessage {...messages.showDetails} />
255
- </CapButton>
256
- )
257
- : null
258
- }
259
- </div>
260
- </>
261
- )
262
- : (
263
- <CapImage
264
- src={lineVideoPlaceholder}
265
- alt="brand-name"
266
- rest={{
267
- style: {
268
- width: 126,
269
- marginBottom: 5,
270
- },
271
- }}
272
- />
273
- )
274
- }
275
- </div>
276
- );
277
-
278
- return (
279
- <div className={`preview-container ${type === 'embedded' ? 'embedded-preview' : ''}`}>
280
- { (channel || '').toLowerCase() === 'sms' &&
281
- (showLockScreenPreview ? (
282
- <CapTab
283
- panes={[
284
- {
285
- content: this.getSmsAndroidPreview(content),
286
- tab: <CapIcon type="android" size="m" />,
287
- key: 'android',
288
- },
289
- {
290
- content: this.getSmsIosPreview(content),
291
- tab: <CapIcon type="ios" size="m" />,
292
- key: 'ios',
293
- },
294
- ]}
295
- tabBarStyle={{margin: 'auto', width: '14%'}}
296
- />
297
- ) : (
298
- <div className="shell align-center" id="sms-preview">
299
- <CapImage className="preview-image sms" src={smsMobileAndroid} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
300
- <div className="msgContainer sms">
301
- <div className={"message-pop sms"}>
302
- {content && content.length && content.map((msg) =>
303
- <CapColumn className="message-pop-item align-left" style={{ background: '#FFFFFF', color: '#091e42'}}>
304
- {msg}
305
- </CapColumn>)
306
- }
307
- </div>
308
- </div>
309
- </div>)
310
- )}
311
- {(channel || '').toLowerCase() === 'wechat' &&
312
- (showLockScreenPreview ? (
313
- <CapTab
314
- panes={[
315
- {
316
- content: this.getWechatAndroidPreview(content),
317
- tab: <CapIcon type="android" size="m" />,
318
- key: 'android',
319
- },
320
- {
321
- content: this.getWechatIosPreview(content),
322
- tab: <CapIcon type="ios" size="m" />,
323
- key: 'ios',
324
- },
325
- ]}
326
- tabBarStyle={{margin: 'auto', width: '14%'}}
327
- />
328
- ) : (
329
- <div className="shell align-center" id="sms-preview">
330
- <CapImage className="preview-image" src={(channel || '').toLowerCase() === 'wechat' ? wechatMobileAndroid : smsBody} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
331
- <div className="msgContainer">
332
- <div className="message-pop align-left" style={{ background: `${(this.props.channel || '').toLowerCase() === 'wechat' ? '#ffffff' : '#3F51B5'}`, color: `${(this.props.channel || '').toLowerCase() === 'wechat' ? '#333333' : '#ffffff'}`}}>{content}
333
- </div>
334
- </div>
335
- </div>
336
- )
337
- )}
338
- { (channel || '').toLowerCase() === 'mobilepush' &&
339
- (<div className="shell align-center" id="mobilepush-preview">
340
- <CapImage className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
341
- {(!!content.header || !!content.bodyText || !!content.bodyImage) &&
342
- <div className={`${this.props.device}-push-message-Container`}>
343
- {this.props.device === "android" ?
344
- <div className="message-pop align-left">
345
- <div className="app-name">
346
- <span className="app-icon"></span> {content.appName ? content.appName : "App name"}
347
- </div>
348
- <div className="title">
349
- {content.header}
350
- </div>
351
- <div className="body-text">
352
- {content.bodyText}
353
- </div>
354
- {content.bodyImage && <div className="body-image">
355
- <CapImage src={content.bodyImage} alt="" />
356
- </div>}
357
- {content.actions.filter((action) => action.label).length ?
358
- <div className="actions">
359
- {_.map(content.actions, (action) => !!action.label &&
360
- <span className="action">{action.label && action.label.toUpperCase()}</span>)}
361
- </div>
362
- : ''
363
- }
364
- </div>
365
- :
366
- <div className="message-pop align-left">
367
- <div className="app-name">
368
- <span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">{this.props.intl.formatMessage(messages.close)}</i>
369
- </div>
370
- {content.bodyImage && <div className="body-image">
371
- <CapImage src={content.bodyImage} alt=""/>
372
- </div>}
373
- <div className="title">
374
- {content.header}
375
- </div>
376
- <div className="body-text">
377
- {content.bodyText}
378
- </div>
379
- {content.actions.filter((action) => action.label).length ? iosActions : ''}
380
- </div>
381
- }
382
- </div>
383
- }
384
- </div>
385
- )
386
- }
387
- {
388
- (channel || '').toLowerCase() === 'line' ? (
389
- <div className="shell align-center" id="sms-preview">
390
- <CapImage className="preview-image" src={wechatBody} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
391
- {
392
- content && Array.isArray(content)
393
- ? (
394
- <>
395
- <div
396
- className="msgContainer line-preview"
397
- style={{
398
- maxHeight: 300,
399
- overflow: 'scroll',
400
- flexDirection: 'column',
401
- marginLeft: 40,
402
- left: '20%',
403
- }}
404
- >
405
- <div
406
- className="sms-icon"
407
- style={{
408
- width: 25,
409
- height: 25,
410
- background: '#2E89DF',
411
- borderRadius: '50%',
412
- paddingTop: 2,
413
- top: 12,
414
- }}
415
- >
416
- {this.props.lineAccountName}
417
- </div>
418
- {
419
- content.map((item) => {
420
- const {
421
- type,
422
- messageContent,
423
- previewImageUrl = lineImgPlaceholder,
424
- baseUrl,
425
- selectedSticker = {
426
- stickerUrl: lineStickerPlaceholder,
427
- },
428
- imageCarousel = [lineImgPlaceholder],
429
- video,
430
- actionUrl,
431
- } = item || {};
432
- const sectionStyle = {
433
- background: CAP_WHITE,
434
- color: FONT_COLOR_01,
435
- borderRadius: 8,
436
- position: 'static',
437
- margin: '6px 0 20px 28px',
438
- height: 'auto',
439
- minHeight: 'auto',
440
- overflow: 'initial',
441
- maxHeight: 'initial',
442
- };
443
- if (type === TEXT) {
444
- return (
445
- <div
446
- className="message-pop align-left"
447
- style={sectionStyle}
448
- >
449
- <p style={{ marginBottom: 5 }}>{messageContent || ''}</p>
450
- </div>
451
- );
452
- }
453
- if ((type === IMAGE && previewImageUrl)) {
454
- return (
455
- <div
456
- className="message-pop align-left"
457
- style={{
458
- ...sectionStyle,
459
- minHeight: 184,
460
- display: 'flex',
461
- justifyContent: 'center',
462
- alignItems: 'center',
463
- }}
464
- >
465
- <CapImage
466
- src={previewImageUrl}
467
- className="line-image-preview"
468
- alt="brand-name"
469
- rest={{
470
- style: {
471
- maxWidth: '100%',
472
- marginBottom: 5,
473
- },
474
- }}
475
- />
476
- </div>
477
- );
478
- }
479
- if (type === VIDEO) {
480
- return getVideoContent({ video, actionUrl, sectionStyle });
481
- }
482
- if ((type === IMAGE_MAP_CAMEL_CASE && baseUrl)) {
483
- if (video) {
484
- return getVideoContent({ video, actionUrl, sectionStyle });
485
- }
486
- return (
487
- <div
488
- className="message-pop align-left"
489
- style={{
490
- ...sectionStyle,
491
- minHeight: 184,
492
- display: 'flex',
493
- justifyContent: 'center',
494
- alignItems: 'center',
495
- }}
496
- >
497
- <CapImage
498
- src={baseUrl ? `${baseUrl}/1040` : lineImgPlaceholder}
499
- className="line-image-preview"
500
- alt="brand-name"
501
- rest={{
502
- style: {
503
- maxWidth: '100%',
504
- marginBottom: 5,
505
- },
506
- }}
507
- />
508
- </div>
509
- );
510
- }
511
- if (type === STICKER && selectedSticker) {
512
- return (
513
- <div
514
- className="message-pop align-left"
515
- style={{
516
- ...sectionStyle,
517
- background: 'transparent',
518
- display: 'flex',
519
- justifyContent: 'center',
520
- alignItems: 'center',
521
- }}
522
- >
523
- <CapImage
524
- src={selectedSticker.stickerUrl}
525
- style={{maxWidth: '100%', marginBottom: 5 }}
526
- rest={{
527
- style: {
528
- maxWidth: '100%',
529
- marginBottom: 5,
530
- },
531
- height: 70,
532
- onMouseOut: e => (e.currentTarget.src = selectedSticker.stickerUrl),
533
- onMouseOver: e => (e.currentTarget.src = selectedSticker.animatedStickerUrl || selectedSticker.stickerUrl),
534
- }}
535
- />
536
- </div>
537
- );
538
- }
539
- if ((type === IMAGE_CAROUSEL || type === TEMPLATE) && imageCarousel) {
540
- return (
541
- <div
542
- style={{
543
- margin: '40px 0 8px',
544
- }}
545
- >
546
- <Carousel imageCarousel={imageCarousel}/>
547
- </div>
548
- )
549
- }
550
- return null;
551
- })
552
- }
553
- </div>
554
- {this.renderLineMultiText(content)}
555
- </>
556
- )
557
- : (
558
- <>
559
- <div className="msgContainer line-preview">
560
- <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div>
561
- <div className="message-pop align-left" style={{ background: '#ffffff', color: '#333333' }}>
562
- { (content && content.bodyImage) ? <CapImage src={content.bodyImage} alt="ddd" style={{maxWidth: '100%'}}/> : '' }
563
- { (content && content.bodyText) ? content.bodyText : ''}
564
- </div>
565
- </div>
566
- { (content && content.bodyText) ? <p style={{fontSize: 16, fontWeight: "bold"}}>Chars Count: {content.bodyText.length} / (1600)</p> : '' }
567
- </>
568
- )
569
- }
570
-
571
- </div>
572
- ) : ''
573
- }
574
- {
575
- this.props.charCounterEnabled && !_.isEmpty(smsDetails) ?
576
- <div>
577
- <p className="preview-info">
578
- {smsDetails.unicode &&
579
- <div style={{fontSize: '16px'}}>{`${this.props.intl.formatMessage(messages.smsFormatType)}`}</div>
580
- }
581
- <div style={{marginTop: '8px', fontSize: '16px', display: 'inline-flex'}} >
582
- {`${smsDetails.parts} ${this.props.intl.formatMessage(messages.sms)} (${smsDetails.chars_used} ${this.props.intl.formatMessage(messages.characters)})`}
583
- {containsUnicodeContent &&
584
- <CapTooltip
585
- title={this.props.intl.formatMessage(
586
- messages.unicodeIconTooltip,
587
- )}
588
- >
589
- <CapIcon type="unicode" style={{ marginLeft: 4 }} />
590
- </CapTooltip>
591
- }
592
- </div>
593
- {smsDetails.optoutUrlPresent && <div style={{fontWeight: '100', fontSize: '12px'}}>
594
- {`${this.props.intl.formatMessage(messages.includesOptoutTag)} (${smsDetails.optouturlLength} ${this.props.intl.formatMessage(messages.characters)})`}
595
- </div>}
596
- </p>
597
- </div>
598
- : ''
599
- }
600
- </div>
601
- );
602
- }
603
- }
604
- TemplatePreview.propTypes = {
605
- content: PropTypes.oneOfType([
606
- PropTypes.object,
607
- PropTypes.string,
608
- ]),
609
- channel: PropTypes.string,
610
- charCounterEnabled: PropTypes.bool,
611
- location: PropTypes.object,
612
- intl: intlShape.isRequired,
613
- device: PropTypes.string,
614
- unicodeEnabled: PropTypes.bool,
615
- };
616
-
617
- export default (injectIntl(TemplatePreview));