ordering-ui-admin-external 1.5.0 → 1.6.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/_bundles/{ordering-ui-admin.d4ee01fd9abda5a6348f.js → ordering-ui-admin.0fd83f227d29409cb170.js} +2 -2
- package/_bundles/{ordering-ui-admin.d4ee01fd9abda5a6348f.js.LICENSE.txt → ordering-ui-admin.0fd83f227d29409cb170.js.LICENSE.txt} +1 -1
- package/_modules/components/Delivery/UserFormDetails/index.js +10 -3
- package/_modules/components/Login/LoginForm/index.js +4 -3
- package/_modules/components/Login/ResetPassword/index.js +251 -0
- package/_modules/components/Login/ResetPassword/styles.js +64 -0
- package/_modules/components/Login/index.js +8 -1
- package/_modules/components/Marketing/CampaignDetailContent/index.js +41 -5
- package/_modules/components/Marketing/CampaignDetailGeneral/index.js +2 -2
- package/_modules/components/Marketing/CampaignEmail/index.js +155 -12
- package/_modules/components/Marketing/CampaignEmail/styles.js +18 -4
- package/_modules/components/Marketing/CampaignHeader/index.js +11 -1
- package/_modules/components/Marketing/CampaignHeader/styles.js +25 -6
- package/_modules/components/Marketing/CampaignList/index.js +41 -25
- package/_modules/components/Marketing/CampaignNotification/index.js +14 -1
- package/_modules/components/Marketing/CampaignNotification/styles.js +7 -3
- package/_modules/components/Marketing/CampaignSMS/index.js +14 -1
- package/_modules/components/Marketing/CampaignSMS/styles.js +7 -3
- package/_modules/components/Marketing/CampaignWebHook/index.js +13 -1
- package/_modules/components/Marketing/CampaignWebHook/styles.js +7 -3
- package/_modules/components/MyProducts/BoxLayout/index.js +20 -0
- package/_modules/components/MyProducts/BoxLayout/styles.js +22 -0
- package/_modules/components/MyProducts/CustomerApp/index.js +48 -0
- package/_modules/components/MyProducts/CustomerApp/styles.js +25 -0
- package/_modules/components/MyProducts/DriverApp/index.js +69 -0
- package/_modules/components/MyProducts/DriverApp/styles.js +29 -0
- package/_modules/components/MyProducts/OrderingWebsite/index.js +40 -0
- package/_modules/components/MyProducts/OrderingWebsite/styles.js +29 -0
- package/_modules/components/MyProducts/StoreApp/index.js +69 -0
- package/_modules/components/MyProducts/StoreApp/styles.js +29 -0
- package/_modules/components/MyProducts/index.js +33 -0
- package/_modules/components/OrderingProducts/OrderingProductDetails/index.js +4 -4
- package/_modules/components/Orders/OrdersTable/index.js +8 -9
- package/_modules/components/Profile/ProfilePage/index.js +70 -0
- package/_modules/components/Profile/ProfilePage/styles.js +22 -0
- package/_modules/components/Profile/index.js +12 -0
- package/_modules/components/Settings/InsertLink/index.js +3 -2
- package/_modules/components/Settings/PluginList/index.js +31 -1
- package/_modules/components/Settings/SettingsSelectUI/index.js +1 -1
- package/_modules/components/Shared/ColumnAllowSettingPopover/index.js +4 -3
- package/_modules/components/SidebarMenu/index.js +82 -55
- package/_modules/components/SidebarMenu/styles.js +3 -1
- package/_modules/components/Stores/BusinessLocation/index.js +1 -1
- package/_modules/components/Stores/BusinessProductAddForm/index.js +4 -4
- package/_modules/components/Stores/BusinessProductsListing/index.js +7 -0
- package/_modules/components/Stores/BusinessWebhooks/index.js +2 -2
- package/_modules/components/Stores/PaymentOption/index.js +23 -4
- package/_modules/components/Stores/PaymentOptionMethods/index.js +23 -4
- package/_modules/components/Stores/PaymentOptionPaypal/index.js +23 -4
- package/_modules/components/Stores/PaymentOptionStripeDirect/index.js +23 -4
- package/_modules/components/Stores/PaymethodOptionPaypalExpress/index.js +23 -4
- package/_modules/components/Stores/PaymethodOptionStripeConnect/index.js +23 -4
- package/_modules/components/Stores/PaymethodOptionStripeRedirect/index.js +23 -4
- package/_modules/components/Users/CustomerDetails/index.js +8 -10
- package/_modules/components/Users/CustomersListing/index.js +4 -2
- package/_modules/components/Users/OccupationSelector/index.js +48 -0
- package/_modules/components/Users/OccupationSelector/styles.js +16 -0
- package/_modules/components/Users/OccupationsFilter/index.js +49 -0
- package/_modules/components/Users/OccupationsFilter/styles.js +22 -0
- package/_modules/components/Users/ProfessionalDetail/index.js +47 -8
- package/_modules/components/Users/ProfessionalDetail/styles.js +10 -5
- package/_modules/components/Users/ProfessionalList/index.js +43 -6
- package/_modules/components/Users/ProfessionalList/styles.js +5 -3
- package/_modules/components/Users/ProfessionalListing/index.js +14 -3
- package/_modules/components/Users/ProfessionalSchedule/styles.js +1 -1
- package/_modules/components/Users/UserDetails/index.js +11 -13
- package/_modules/components/Users/UserFormDetails/index.js +8 -1
- package/_modules/components/Users/UserTypeSelector/index.js +7 -0
- package/_modules/components/Users/UsersList/index.js +40 -5
- package/_modules/components/Users/UsersList/styles.js +7 -5
- package/_modules/components/Users/UsersListing/index.js +4 -2
- package/_modules/contexts/ThemeContext/index.js +1 -1
- package/_modules/index.js +38 -0
- package/index-template.js +22 -4
- package/package.json +2 -2
- package/src/components/Delivery/UserFormDetails/index.js +8 -10
- package/src/components/Login/LoginForm/index.js +23 -20
- package/src/components/Login/ResetPassword/index.js +283 -0
- package/src/components/Login/ResetPassword/styles.js +215 -0
- package/src/components/Login/index.js +3 -1
- package/src/components/Marketing/CampaignDetail/index.js +0 -1
- package/src/components/Marketing/CampaignDetailContent/index.js +54 -24
- package/src/components/Marketing/CampaignDetailGeneral/index.js +1 -1
- package/src/components/Marketing/CampaignEmail/index.js +152 -15
- package/src/components/Marketing/CampaignEmail/styles.js +64 -3
- package/src/components/Marketing/CampaignHeader/index.js +19 -3
- package/src/components/Marketing/CampaignHeader/styles.js +77 -0
- package/src/components/Marketing/CampaignList/index.js +75 -65
- package/src/components/Marketing/CampaignNotification/index.js +11 -3
- package/src/components/Marketing/CampaignNotification/styles.js +13 -0
- package/src/components/Marketing/CampaignSMS/index.js +11 -2
- package/src/components/Marketing/CampaignSMS/styles.js +13 -0
- package/src/components/Marketing/CampaignWebHook/index.js +11 -2
- package/src/components/Marketing/CampaignWebHook/styles.js +13 -0
- package/src/components/MyProducts/BoxLayout/index.js +25 -0
- package/src/components/MyProducts/BoxLayout/styles.js +78 -0
- package/src/components/MyProducts/CustomerApp/index.js +52 -0
- package/src/components/MyProducts/CustomerApp/styles.js +59 -0
- package/src/components/MyProducts/DriverApp/index.js +83 -0
- package/src/components/MyProducts/DriverApp/styles.js +104 -0
- package/src/components/MyProducts/OrderingWebsite/index.js +41 -0
- package/src/components/MyProducts/OrderingWebsite/styles.js +104 -0
- package/src/components/MyProducts/StoreApp/index.js +83 -0
- package/src/components/MyProducts/StoreApp/styles.js +104 -0
- package/src/components/MyProducts/index.js +11 -0
- package/src/components/OrderingProducts/OrderingProductDetails/index.js +1 -1
- package/src/components/Orders/OrdersTable/index.js +3 -6
- package/src/components/Profile/ProfilePage/index.js +81 -0
- package/src/components/Profile/ProfilePage/styles.js +64 -0
- package/src/components/Profile/index.js +5 -0
- package/src/components/Settings/InsertLink/index.js +6 -2
- package/src/components/Settings/PluginList/index.js +2 -2
- package/src/components/Settings/SettingsSelectUI/index.js +1 -1
- package/src/components/Shared/ColumnAllowSettingPopover/index.js +11 -7
- package/src/components/SidebarMenu/index.js +120 -58
- package/src/components/SidebarMenu/styles.js +7 -0
- package/src/components/Stores/BusinessLocation/index.js +1 -1
- package/src/components/Stores/BusinessProductAddForm/index.js +2 -2
- package/src/components/Stores/BusinessProductsListing/index.js +8 -0
- package/src/components/Stores/BusinessWebhooks/index.js +2 -2
- package/src/components/Stores/PaymentOption/index.js +12 -2
- package/src/components/Stores/PaymentOptionMethods/index.js +12 -2
- package/src/components/Stores/PaymentOptionPaypal/index.js +12 -2
- package/src/components/Stores/PaymentOptionStripeDirect/index.js +12 -2
- package/src/components/Stores/PaymethodOptionPaypalExpress/index.js +12 -2
- package/src/components/Stores/PaymethodOptionStripeConnect/index.js +12 -2
- package/src/components/Stores/PaymethodOptionStripeRedirect/index.js +12 -2
- package/src/components/Users/CustomerDetails/index.js +1 -1
- package/src/components/Users/CustomersListing/index.js +3 -1
- package/src/components/Users/OccupationSelector/index.js +37 -0
- package/src/components/Users/OccupationSelector/styles.js +18 -0
- package/src/components/Users/OccupationsFilter/index.js +50 -0
- package/src/components/Users/OccupationsFilter/styles.js +32 -0
- package/src/components/Users/ProfessionalDetail/index.js +42 -7
- package/src/components/Users/ProfessionalDetail/styles.js +16 -2
- package/src/components/Users/ProfessionalList/index.js +41 -3
- package/src/components/Users/ProfessionalList/styles.js +5 -0
- package/src/components/Users/ProfessionalListing/index.js +14 -1
- package/src/components/Users/ProfessionalSchedule/styles.js +1 -0
- package/src/components/Users/UserDetails/index.js +1 -1
- package/src/components/Users/UserFormDetails/index.js +11 -2
- package/src/components/Users/UserTypeSelector/index.js +6 -0
- package/src/components/Users/UsersList/index.js +44 -8
- package/src/components/Users/UsersList/styles.js +7 -2
- package/src/components/Users/UsersListing/index.js +4 -2
- package/src/contexts/ThemeContext/index.js +4 -0
- package/src/index.js +17 -1
- package/template/app.js +55 -3
- package/template/assets/images/myProducts/customer-app.png +0 -0
- package/template/assets/images/myProducts/driver-app.png +0 -0
- package/template/assets/images/myProducts/ordering-website.png +0 -0
- package/template/assets/images/myProducts/store-app.png +0 -0
- package/template/components/ListenPageChanges/index.js +7 -1
- package/template/config.json +2 -1
- package/template/helmetdata.json +49 -0
- package/template/pages/CustomerApp/index.js +12 -0
- package/template/pages/DriverApp/index.js +12 -0
- package/template/pages/Login/index.js +7 -1
- package/template/pages/OrderingWebsite/index.js +12 -0
- package/template/pages/Professionals/index.js +2 -1
- package/template/pages/Profile/index.js +12 -0
- package/template/pages/ResetPassword/index.js +42 -0
- package/template/pages/StoreApp/index.js +12 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { useLanguage } from 'ordering-components-admin-external'
|
|
3
|
+
import { useInfoShare } from '../../../contexts/InfoShareContext'
|
|
4
|
+
import { Button, IconButton } from '../../../styles'
|
|
5
|
+
import { List as MenuIcon } from 'react-bootstrap-icons'
|
|
6
|
+
import { useTheme } from 'styled-components'
|
|
7
|
+
import { BoxLayout } from '../BoxLayout'
|
|
8
|
+
import {
|
|
9
|
+
Container,
|
|
10
|
+
HeaderTitleContainer,
|
|
11
|
+
ContentWrapper,
|
|
12
|
+
FreeBtnWrapper,
|
|
13
|
+
BrandedBtnWrapper
|
|
14
|
+
} from './styles'
|
|
15
|
+
|
|
16
|
+
export const StoreApp = () => {
|
|
17
|
+
const [, t] = useLanguage()
|
|
18
|
+
const theme = useTheme()
|
|
19
|
+
const [{ isCollapse }, { handleMenuCollapse }] = useInfoShare()
|
|
20
|
+
|
|
21
|
+
const handleOpenURL = (url) => {
|
|
22
|
+
window.open(url, '_blank')
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<Container>
|
|
27
|
+
<HeaderTitleContainer>
|
|
28
|
+
{isCollapse && (
|
|
29
|
+
<IconButton
|
|
30
|
+
color='black'
|
|
31
|
+
onClick={() => handleMenuCollapse(false)}
|
|
32
|
+
>
|
|
33
|
+
<MenuIcon />
|
|
34
|
+
</IconButton>
|
|
35
|
+
)}
|
|
36
|
+
<h1>{t('MY_PRODUCTS', 'My products')}</h1>
|
|
37
|
+
</HeaderTitleContainer>
|
|
38
|
+
<ContentWrapper>
|
|
39
|
+
<h1>{t('STORE_APP', 'Store app')}</h1>
|
|
40
|
+
<p>{t('STORE_APP_DESC', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.')}</p>
|
|
41
|
+
<BoxLayout
|
|
42
|
+
title={t('FREE_TO_USE', 'Free to use')}
|
|
43
|
+
description={t('FREE_TO_USE_DESC', 'This app can be used by your fleet with the ordering.co logo.')}
|
|
44
|
+
photo={theme.images.myProducts.storeApp}
|
|
45
|
+
>
|
|
46
|
+
<FreeBtnWrapper>
|
|
47
|
+
<Button
|
|
48
|
+
color='primary'
|
|
49
|
+
borderRadius='8px'
|
|
50
|
+
outline
|
|
51
|
+
onClick={() => handleOpenURL('https://apps.apple.com/us/app/store-app-2-0/id1608192050')}
|
|
52
|
+
>
|
|
53
|
+
{t('DOWNLOAD_APPLE', 'Download apple')}
|
|
54
|
+
</Button>
|
|
55
|
+
<Button
|
|
56
|
+
color='primary'
|
|
57
|
+
borderRadius='8px'
|
|
58
|
+
outline
|
|
59
|
+
onClick={() => handleOpenURL('https://play.google.com/store/apps/details?id=com.ordering.storeappv5&pli=1')}
|
|
60
|
+
>
|
|
61
|
+
{t('DOWNLOAD_GOOGLE', 'Download google')}
|
|
62
|
+
</Button>
|
|
63
|
+
</FreeBtnWrapper>
|
|
64
|
+
</BoxLayout>
|
|
65
|
+
<BoxLayout
|
|
66
|
+
title={t('BRANDED_BY_YOU', 'Branded by you')}
|
|
67
|
+
description={t('BRANDED_BY_YOU_DESC', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Id mi quam aenean in faucibus ac integer libero. Eu egestas sit imperdiet at sit adipiscing ullamcorper sed sit.')}
|
|
68
|
+
photo={theme.images.myProducts.storeApp}
|
|
69
|
+
>
|
|
70
|
+
<BrandedBtnWrapper>
|
|
71
|
+
<Button
|
|
72
|
+
color='primary'
|
|
73
|
+
borderRadius='8px'
|
|
74
|
+
onClick={() => handleOpenURL('https://www.ordering.co/ordering-sales')}
|
|
75
|
+
>
|
|
76
|
+
{t('REQUEST_APP_NOW', 'Request app now')}
|
|
77
|
+
</Button>
|
|
78
|
+
</BrandedBtnWrapper>
|
|
79
|
+
</BoxLayout>
|
|
80
|
+
</ContentWrapper>
|
|
81
|
+
</Container>
|
|
82
|
+
)
|
|
83
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components'
|
|
2
|
+
|
|
3
|
+
export const Container = styled.div`
|
|
4
|
+
flex: 1;
|
|
5
|
+
padding: 25px 20px;
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
transition: all 0.5s;
|
|
8
|
+
max-height: 100vh;
|
|
9
|
+
overflow: auto;
|
|
10
|
+
min-height: 100vh;
|
|
11
|
+
`
|
|
12
|
+
|
|
13
|
+
export const HeaderTitleContainer = styled.div`
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
|
|
17
|
+
> h1 {
|
|
18
|
+
font-weight: 700;
|
|
19
|
+
font-size: 20px;
|
|
20
|
+
color: ${props => props.theme.colors.headingColor};
|
|
21
|
+
margin: 0px;
|
|
22
|
+
line-height: 32px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
> button {
|
|
26
|
+
${props => props.theme?.rtl ? css`
|
|
27
|
+
margin-left: 8px;
|
|
28
|
+
margin-right: -8px;
|
|
29
|
+
` : css`
|
|
30
|
+
margin-right: 8px;
|
|
31
|
+
margin-left: -8px;
|
|
32
|
+
`}
|
|
33
|
+
|
|
34
|
+
svg {
|
|
35
|
+
width: 25px;
|
|
36
|
+
height: 25px;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`
|
|
40
|
+
|
|
41
|
+
export const ContentWrapper = styled.div`
|
|
42
|
+
margin-top: 27px;
|
|
43
|
+
|
|
44
|
+
> h1 {
|
|
45
|
+
font-weight: 700;
|
|
46
|
+
font-size: 32px;
|
|
47
|
+
line-height: 48px;
|
|
48
|
+
margin-top: 0px;
|
|
49
|
+
margin-bottom: 7px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
> p {
|
|
53
|
+
margin: 0px;
|
|
54
|
+
font-weight: 400;
|
|
55
|
+
font-size: 16px;
|
|
56
|
+
line-height: 24px;
|
|
57
|
+
}
|
|
58
|
+
`
|
|
59
|
+
|
|
60
|
+
export const FreeBtnWrapper = styled.div`
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
button {
|
|
64
|
+
width: 100%;
|
|
65
|
+
height: 44px;
|
|
66
|
+
text-transform: capitalize;
|
|
67
|
+
&:first-child {
|
|
68
|
+
margin-bottom: 15px;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@media (min-width: 769px) {
|
|
73
|
+
flex-direction: row;
|
|
74
|
+
button {
|
|
75
|
+
width: 180px;
|
|
76
|
+
&:first-child {
|
|
77
|
+
margin-right: 15px;
|
|
78
|
+
margin-bottom: 0px;
|
|
79
|
+
${props => props.theme.rtl && css`
|
|
80
|
+
margin-right: 0px;
|
|
81
|
+
margin-left: 15px;
|
|
82
|
+
`}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@media (min-width: 1320px) {
|
|
88
|
+
button {
|
|
89
|
+
width: 260px;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
`
|
|
93
|
+
|
|
94
|
+
export const BrandedBtnWrapper = styled.div`
|
|
95
|
+
button {
|
|
96
|
+
width: 100%;
|
|
97
|
+
height: 44px;
|
|
98
|
+
text-transform: capitalize;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@media (min-width: 576px) {
|
|
102
|
+
width: 260px;
|
|
103
|
+
}
|
|
104
|
+
`
|
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
} from 'ordering-components-admin-external'
|
|
12
12
|
import { useTheme } from 'styled-components'
|
|
13
13
|
import { ColumnAllowSettingPopover, Pagination } from '../../Shared'
|
|
14
|
-
import { ChevronRight } from 'react-bootstrap-icons'
|
|
15
14
|
|
|
16
15
|
import {
|
|
17
16
|
OrdersContainer,
|
|
@@ -314,17 +313,14 @@ export const OrdersTable = (props) => {
|
|
|
314
313
|
.sort((col1, col2) => allowColumns[col1]?.order - allowColumns[col2]?.order)
|
|
315
314
|
.map((column, i) => {
|
|
316
315
|
if (column === 'slaBar') {
|
|
317
|
-
return
|
|
318
|
-
<th key={`noDragTh-${i}`}>
|
|
319
|
-
<Timestatus />
|
|
320
|
-
</th>
|
|
321
|
-
)
|
|
316
|
+
return
|
|
322
317
|
}
|
|
323
318
|
if (column === 'orderNumber') {
|
|
324
319
|
return (
|
|
325
320
|
<th
|
|
326
321
|
className={!(allowColumns?.orderNumber?.visable || allowColumns?.dateTime?.visable) ? 'orderNo small' : 'orderNo'}
|
|
327
322
|
key={`noDragTh-${i}`}
|
|
323
|
+
colSpan={allowColumns?.slaBar?.visable ? 2 : 1}
|
|
328
324
|
>
|
|
329
325
|
<CheckBox
|
|
330
326
|
isChecked={!orderList.loading && isAllChecked}
|
|
@@ -348,6 +344,7 @@ export const OrdersTable = (props) => {
|
|
|
348
344
|
allowColumns={allowColumns}
|
|
349
345
|
optionsDefault={optionsDefault}
|
|
350
346
|
handleChangeAllowColumns={handleChangeAllowColumns}
|
|
347
|
+
isOrder
|
|
351
348
|
/>
|
|
352
349
|
</th>
|
|
353
350
|
)
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import {
|
|
3
|
+
UserDetails as UserDetailsController,
|
|
4
|
+
useLanguage,
|
|
5
|
+
useSession
|
|
6
|
+
} from 'ordering-components-admin-external'
|
|
7
|
+
import FaUserAlt from '@meronex/icons/fa/FaUserAlt'
|
|
8
|
+
import { List as MenuIcon } from 'react-bootstrap-icons'
|
|
9
|
+
import { IconButton, Button } from '../../../styles'
|
|
10
|
+
import { useInfoShare } from '../../../contexts/InfoShareContext'
|
|
11
|
+
|
|
12
|
+
import {
|
|
13
|
+
Container,
|
|
14
|
+
HeaderContainer,
|
|
15
|
+
UserInfoContainer,
|
|
16
|
+
UserImage,
|
|
17
|
+
UserInfoWrapper,
|
|
18
|
+
ButtonsGroup
|
|
19
|
+
} from './styles'
|
|
20
|
+
|
|
21
|
+
const ProfilePageUI = (props) => {
|
|
22
|
+
const {
|
|
23
|
+
handleGoogleAccountLink
|
|
24
|
+
} = props
|
|
25
|
+
|
|
26
|
+
const [, t] = useLanguage()
|
|
27
|
+
const [{ isCollapse }, { handleMenuCollapse }] = useInfoShare()
|
|
28
|
+
const [{ user }] = useSession()
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<Container>
|
|
32
|
+
<HeaderContainer>
|
|
33
|
+
{isCollapse && (
|
|
34
|
+
<IconButton
|
|
35
|
+
color='black'
|
|
36
|
+
onClick={() => handleMenuCollapse(false)}
|
|
37
|
+
>
|
|
38
|
+
<MenuIcon />
|
|
39
|
+
</IconButton>
|
|
40
|
+
)}
|
|
41
|
+
<h1>{t('PROFILE', '')}</h1>
|
|
42
|
+
</HeaderContainer>
|
|
43
|
+
<UserInfoContainer>
|
|
44
|
+
<UserImage>
|
|
45
|
+
{user?.photo ? (
|
|
46
|
+
<img src={user?.photo} loading='lazy' alt='' />
|
|
47
|
+
) : (
|
|
48
|
+
<FaUserAlt />
|
|
49
|
+
)}
|
|
50
|
+
</UserImage>
|
|
51
|
+
<UserInfoWrapper>
|
|
52
|
+
<p className='name'>{user?.name} {user?.lastname}</p>
|
|
53
|
+
<p className='email'>{user?.email}</p>
|
|
54
|
+
{user?.cellphone && <p className='phone'>{user?.cellphone}</p>}
|
|
55
|
+
<ButtonsGroup>
|
|
56
|
+
{user?.level === 8 && (
|
|
57
|
+
<Button
|
|
58
|
+
color='primary'
|
|
59
|
+
borderRadius='8px'
|
|
60
|
+
outline
|
|
61
|
+
onClick={() => handleGoogleAccountLink()}
|
|
62
|
+
>
|
|
63
|
+
{t('GOOGLE_ACCOUNT', 'Google account')}
|
|
64
|
+
</Button>
|
|
65
|
+
)}
|
|
66
|
+
</ButtonsGroup>
|
|
67
|
+
</UserInfoWrapper>
|
|
68
|
+
</UserInfoContainer>
|
|
69
|
+
</Container>
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export const ProfilePage = (props) => {
|
|
74
|
+
const [{ user }] = useSession()
|
|
75
|
+
const profileProps = {
|
|
76
|
+
...props,
|
|
77
|
+
userId: user?.id,
|
|
78
|
+
UIComponent: ProfilePageUI
|
|
79
|
+
}
|
|
80
|
+
return <UserDetailsController {...profileProps} />
|
|
81
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import styled from 'styled-components'
|
|
2
|
+
|
|
3
|
+
export const Container = styled.div`
|
|
4
|
+
flex: 1;
|
|
5
|
+
padding: 20px;
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
transition: all 0.5s;
|
|
8
|
+
max-height: 100vh;
|
|
9
|
+
overflow: auto;
|
|
10
|
+
`
|
|
11
|
+
export const HeaderContainer = styled.div`
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
h1 {
|
|
15
|
+
font-size: 20px;
|
|
16
|
+
font-weight: 700;
|
|
17
|
+
margin: 0;
|
|
18
|
+
}
|
|
19
|
+
`
|
|
20
|
+
export const UserInfoContainer = styled.div`
|
|
21
|
+
padding-top: 30px;
|
|
22
|
+
display: flex;
|
|
23
|
+
`
|
|
24
|
+
export const UserImage = styled.div`
|
|
25
|
+
border-radius: 8px;
|
|
26
|
+
box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
|
|
27
|
+
width: 216px;
|
|
28
|
+
height: 216px;
|
|
29
|
+
img {
|
|
30
|
+
width: 100%;
|
|
31
|
+
height: 100%;
|
|
32
|
+
object-fit: contain;
|
|
33
|
+
border-radius: 8px;
|
|
34
|
+
}
|
|
35
|
+
`
|
|
36
|
+
export const UserInfoWrapper = styled.div`
|
|
37
|
+
margin: 0 26px;
|
|
38
|
+
p {
|
|
39
|
+
&.name {
|
|
40
|
+
font-size: 20px;
|
|
41
|
+
font-weight: 600;
|
|
42
|
+
margin: 0;
|
|
43
|
+
}
|
|
44
|
+
&.email {
|
|
45
|
+
font-size: 14px;
|
|
46
|
+
line-height: 24px;
|
|
47
|
+
margin: 12px 0;
|
|
48
|
+
}
|
|
49
|
+
&.phone {
|
|
50
|
+
font-size: 14px;
|
|
51
|
+
line-height: 24px;
|
|
52
|
+
margin: 0;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
`
|
|
56
|
+
export const ButtonsGroup = styled.div`
|
|
57
|
+
display: flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
margin-top: 26px;
|
|
60
|
+
|
|
61
|
+
button {
|
|
62
|
+
height: 44px;
|
|
63
|
+
}
|
|
64
|
+
`
|
|
@@ -12,7 +12,8 @@ export const InsertLink = (props) => {
|
|
|
12
12
|
const {
|
|
13
13
|
editorContext,
|
|
14
14
|
onClose,
|
|
15
|
-
handleRestoreEditor
|
|
15
|
+
handleRestoreEditor,
|
|
16
|
+
isLinkButton
|
|
16
17
|
} = props
|
|
17
18
|
const [, t] = useLanguage()
|
|
18
19
|
const [changesState, setChangesState] = useState({})
|
|
@@ -27,12 +28,15 @@ export const InsertLink = (props) => {
|
|
|
27
28
|
const handleInsertClick = () => {
|
|
28
29
|
handleRestoreEditor()
|
|
29
30
|
editorContext.invoke('editor.createLink', {
|
|
30
|
-
text:
|
|
31
|
+
text: isLinkButton
|
|
32
|
+
? `<button style='font-size: 9px;color: white;padding: 6px 11px; cursor: pointer; border-radius: 4px; background: #2C7BE5; border: none;'>${changesState?.text || 'button'}</button>`
|
|
33
|
+
: (changesState?.text || ''),
|
|
31
34
|
url: changesState?.url || '',
|
|
32
35
|
isNewWindow: changesState?.isNewWindow ?? true
|
|
33
36
|
})
|
|
34
37
|
onClose()
|
|
35
38
|
}
|
|
39
|
+
|
|
36
40
|
return (
|
|
37
41
|
<InsertLinkContainer>
|
|
38
42
|
<h1>{t('INSERT_LINK', 'Insert link')}</h1>
|
|
@@ -234,7 +234,7 @@ const PluginListUI = (props) => {
|
|
|
234
234
|
)}
|
|
235
235
|
</PLuginsSeparator>
|
|
236
236
|
|
|
237
|
-
{
|
|
237
|
+
{!pluginListState.loading && pluginListState.sysPlugins?.length > 0 && (
|
|
238
238
|
<PLuginsSeparator h='50%'>
|
|
239
239
|
<Header mb={0}>
|
|
240
240
|
<h1 style={{ marginTop: 20 }}>{t('SYSTEM_PLUGINS', 'System Plugins')}</h1>
|
|
@@ -282,7 +282,7 @@ const PluginListUI = (props) => {
|
|
|
282
282
|
)}
|
|
283
283
|
</PagesBottomContainer>
|
|
284
284
|
</PLuginsSeparator>
|
|
285
|
-
)}
|
|
285
|
+
)}
|
|
286
286
|
</PluginListContainer>
|
|
287
287
|
<Alert
|
|
288
288
|
title={t('WEB_APPNAME', 'Ordering')}
|
|
@@ -32,7 +32,7 @@ export const SettingsSelectUI = (props) => {
|
|
|
32
32
|
setOptions(selectTypes)
|
|
33
33
|
} else {
|
|
34
34
|
const selectedTypes = config?.options?.map(item => {
|
|
35
|
-
return { value: item.value, content: <Option>{t(item.text.toUpperCase()
|
|
35
|
+
return { value: item.value, content: <Option>{t(item.text.toUpperCase())}</Option> }
|
|
36
36
|
})
|
|
37
37
|
if (config.customizable) {
|
|
38
38
|
selectedTypes.push({
|
|
@@ -18,7 +18,8 @@ export const ColumnAllowSettingPopover = (props) => {
|
|
|
18
18
|
optionsDefault,
|
|
19
19
|
allowColumns,
|
|
20
20
|
handleChangeAllowColumns,
|
|
21
|
-
title
|
|
21
|
+
title,
|
|
22
|
+
isOrder
|
|
22
23
|
} = props
|
|
23
24
|
|
|
24
25
|
const [open, setOpen] = useState(false)
|
|
@@ -92,14 +93,17 @@ export const ColumnAllowSettingPopover = (props) => {
|
|
|
92
93
|
{optionsDefault.map(option => (
|
|
93
94
|
<AllowItem
|
|
94
95
|
key={option.value}
|
|
95
|
-
isChecked={allowColumns?.[option.value]?.visable}
|
|
96
|
+
isChecked={isOrder ? allowColumns?.[option.value]?.visable : allowColumns[option.value]}
|
|
96
97
|
onClick={() => handleChangeAllowColumns(option.value)}
|
|
97
98
|
>
|
|
98
|
-
{
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
{(isOrder
|
|
100
|
+
? allowColumns?.[option.value]?.visable
|
|
101
|
+
: allowColumns[option.value])
|
|
102
|
+
? (
|
|
103
|
+
<RiCheckboxFill />
|
|
104
|
+
) : (
|
|
105
|
+
<RiCheckboxBlankLine />
|
|
106
|
+
)}
|
|
103
107
|
<span>
|
|
104
108
|
{option.content}
|
|
105
109
|
</span>
|