@messenger-box/platform-browser 10.0.3-alpha.16 → 10.0.3-alpha.160
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/CHANGELOG.md +228 -0
- package/lib/components/InboxMessage/InboxDetails/index.d.ts +6 -1
- package/lib/components/InboxMessage/InboxDetails/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/InboxDetails/index.js +10 -11
- package/lib/components/InboxMessage/InboxDetails/index.js.map +1 -1
- package/lib/components/InboxMessage/InboxSidebar/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/InboxSidebar/index.js +23 -32
- package/lib/components/InboxMessage/InboxSidebar/index.js.map +1 -1
- package/lib/components/InboxMessage/Messages/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/Messages/index.js +42 -81
- package/lib/components/InboxMessage/Messages/index.js.map +1 -1
- package/lib/components/InboxMessage/MessagesList/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/MessagesList/index.js +53 -74
- package/lib/components/InboxMessage/MessagesList/index.js.map +1 -1
- package/lib/components/InboxMessage/Popover/index.d.ts +5 -1
- package/lib/components/InboxMessage/Popover/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/Popover/index.js +8 -35
- package/lib/components/InboxMessage/Popover/index.js.map +1 -1
- package/lib/components/InboxMessage/UserModalContent/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/UserModalContent/index.js +50 -47
- package/lib/components/InboxMessage/UserModalContent/index.js.map +1 -1
- package/lib/components/InboxMessage/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/index.js +38 -70
- package/lib/components/InboxMessage/index.js.map +1 -1
- package/lib/components/channel_view/DirectChannelView.js.map +1 -1
- package/lib/components/channel_view/PublicChannelView.js.map +1 -1
- package/lib/components/dashboard/menu_header.d.ts.map +1 -1
- package/lib/components/dashboard/menu_header.js +38 -24
- package/lib/components/dashboard/menu_header.js.map +1 -1
- package/lib/components/dashboard/modals/direct_modal.d.ts +10 -8
- package/lib/components/dashboard/modals/direct_modal.d.ts.map +1 -1
- package/lib/components/dashboard/modals/direct_modal.js +59 -39
- package/lib/components/dashboard/modals/direct_modal.js.map +1 -1
- package/lib/components/dashboard/modals.d.ts +18 -6
- package/lib/components/dashboard/modals.d.ts.map +1 -1
- package/lib/components/dashboard/modals.js +60 -101
- package/lib/components/dashboard/modals.js.map +1 -1
- package/lib/components/messenger/avatar/index.d.ts.map +1 -1
- package/lib/components/messenger/index.d.ts.map +1 -1
- package/lib/components/messenger/index.js +45 -82
- package/lib/components/messenger/index.js.map +1 -1
- package/lib/components/messenger/messagesList/index.d.ts.map +1 -1
- package/lib/components/messenger/messagesList/index.js +174 -454
- package/lib/components/messenger/messagesList/index.js.map +1 -1
- package/lib/components/messenger/messagesList/messageBox.d.ts +0 -1
- package/lib/components/messenger/messagesList/messageBox.d.ts.map +1 -1
- package/lib/components/messenger/more_action/index.d.ts.map +1 -1
- package/lib/components/messenger/postMessage/postMessage.d.ts +7 -2
- package/lib/components/messenger/postMessage/postMessage.d.ts.map +1 -1
- package/lib/components/messenger/sidebarThreadList/index.d.ts.map +1 -1
- package/lib/components/messenger/threadSidebar/index.d.ts.map +1 -1
- package/lib/components/messenger/types/message.d.ts +11 -11
- package/lib/components/messenger/types/message.d.ts.map +1 -1
- package/lib/components/post/channel_intro_message/channel_intro_message.d.ts.map +1 -1
- package/lib/components/post/channel_layout/channel_identifier_router/channel_identifier_router.d.ts.map +1 -1
- package/lib/components/post/channel_view/channel_view.d.ts.map +1 -1
- package/lib/components/post/create_post/create_post.d.ts +10 -1
- package/lib/components/post/create_post/create_post.d.ts.map +1 -1
- package/lib/components/post/failed_post_options/failed_post_options.d.ts.map +1 -1
- package/lib/components/post/index.d.ts +5 -3
- package/lib/components/post/index.d.ts.map +1 -1
- package/lib/components/post/index.js +63 -97
- package/lib/components/post/index.js.map +1 -1
- package/lib/components/post/markdown/markdown.d.ts.map +1 -1
- package/lib/components/post/post/post.d.ts.map +1 -1
- package/lib/components/post/post_body/post_body.d.ts.map +1 -1
- package/lib/components/post/post_body_additional_content/post_body_additional_content.d.ts.map +1 -1
- package/lib/components/post/post_header/post_header.d.ts.map +1 -1
- package/lib/components/post/post_header/post_header_custom_status.d.ts.map +1 -1
- package/lib/components/post/post_info/post_info.d.ts.map +1 -1
- package/lib/components/post/post_list/post_list.d.ts.map +1 -1
- package/lib/components/post/post_list_row/post_list_row.d.ts.map +1 -1
- package/lib/components/post/post_list_virtualized/post_list_virtualized.d.ts.map +1 -1
- package/lib/components/post/post_markdown/post_markdown.d.ts.map +1 -1
- package/lib/components/post/post_message_view/post_message_view.d.ts.map +1 -1
- package/lib/components/post/post_pre_header/post_pre_header.d.ts.map +1 -1
- package/lib/components/post/post_profile_picture/post_profile_picture.d.ts.map +1 -1
- package/lib/components/post/profile_picture/profile_picture.d.ts.map +1 -1
- package/lib/components/post/show_more/show_more.d.ts.map +1 -1
- package/lib/components/post/suggestion/suggestion_box.d.ts.map +1 -1
- package/lib/components/post/textbox/textbox.d.ts.map +1 -1
- package/lib/components/post/threading/channel_threads/thread_footer/thread_footer.d.ts.map +1 -1
- package/lib/components/post/tutorial/menu_tutorial_tip.d.ts.map +1 -1
- package/lib/components/post/tutorial/tutorial_tip/tutorial_tip.d.ts.map +1 -1
- package/lib/components/post_view/post_attachment_container/post_attachment_container.d.ts.map +1 -1
- package/lib/components/status_icon.d.ts.map +1 -1
- package/lib/compute.js.map +1 -1
- package/lib/containers/Dashboard.d.ts.map +1 -1
- package/lib/containers/Dashboard.js +110 -124
- package/lib/containers/Dashboard.js.map +1 -1
- package/lib/containers/DashboardWithLoader.d.ts.map +1 -1
- package/lib/containers/DashboardWithLoader.js +10 -3
- package/lib/containers/DashboardWithLoader.js.map +1 -1
- package/lib/containers/Inbox.js.map +1 -1
- package/lib/containers/Messenger.js.map +1 -1
- package/lib/module.js.map +1 -1
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/widgets/simple_tooltip/simple_tooltip.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/components/InboxMessage/InboxDetails/index.tsx +13 -15
- package/src/components/InboxMessage/InboxSidebar/index.tsx +23 -33
- package/src/components/InboxMessage/Messages/index.tsx +57 -96
- package/src/components/InboxMessage/MessagesList/index.tsx +71 -82
- package/src/components/InboxMessage/Popover/index.tsx +14 -38
- package/src/components/InboxMessage/UserModalContent/index.tsx +41 -44
- package/src/components/InboxMessage/index.tsx +52 -67
- package/src/components/dashboard/menu_header.tsx +52 -45
- package/src/components/dashboard/modals/direct_modal.tsx +73 -40
- package/src/components/dashboard/modals.tsx +114 -105
- package/src/components/messenger/avatar/index.tsx +27 -13
- package/src/components/messenger/index.tsx +125 -160
- package/src/components/messenger/messagesList/index.tsx +288 -572
- package/src/components/messenger/messagesList/messageBox.tsx +45 -34
- package/src/components/messenger/more_action/index.tsx +16 -10
- package/src/components/messenger/postMessage/postMessage.tsx +28 -16
- package/src/components/messenger/sidebarThreadList/index.tsx +51 -177
- package/src/components/messenger/threadSidebar/index.tsx +88 -75
- package/src/components/messenger/types/message.ts +12 -11
- package/src/components/post/channel_view/channel_view.tsx +2 -2
- package/src/components/post/create_post/create_post.tsx +104 -195
- package/src/components/post/index.tsx +77 -98
- package/src/components/post/post_header/post_header_custom_status.tsx +7 -6
- package/src/components/post/post_header/style.ts +51 -51
- package/src/containers/Dashboard.tsx +169 -212
- package/src/containers/DashboardWithLoader.tsx +12 -4
- package/lib/components/InboxMessage/InboxDetails/style.d.ts +0 -2
- package/lib/components/InboxMessage/InboxDetails/style.d.ts.map +0 -1
- package/lib/components/InboxMessage/InboxDetails/style.js +0 -27
- package/lib/components/InboxMessage/InboxDetails/style.js.map +0 -1
- package/lib/components/InboxMessage/InboxSidebar/styles.d.ts +0 -2
- package/lib/components/InboxMessage/InboxSidebar/styles.d.ts.map +0 -1
- package/lib/components/InboxMessage/InboxSidebar/styles.js +0 -57
- package/lib/components/InboxMessage/InboxSidebar/styles.js.map +0 -1
- package/lib/components/InboxMessage/Messages/styles.d.ts +0 -81
- package/lib/components/InboxMessage/Messages/styles.d.ts.map +0 -1
- package/lib/components/InboxMessage/Messages/styles.js +0 -85
- package/lib/components/InboxMessage/Messages/styles.js.map +0 -1
- package/lib/components/InboxMessage/Popover/style.d.ts +0 -28
- package/lib/components/InboxMessage/Popover/style.d.ts.map +0 -1
- package/lib/components/InboxMessage/Popover/style.js +0 -27
- package/lib/components/InboxMessage/Popover/style.js.map +0 -1
- package/lib/components/InboxMessage/UserModalContent/style.d.ts +0 -2
- package/lib/components/InboxMessage/UserModalContent/style.d.ts.map +0 -1
- package/lib/components/InboxMessage/UserModalContent/style.js +0 -98
- package/lib/components/InboxMessage/UserModalContent/style.js.map +0 -1
- package/lib/components/InboxMessage/style.js +0 -189
- package/lib/components/InboxMessage/style.js.map +0 -1
- package/lib/components/messenger/avatar/style.d.ts +0 -2
- package/lib/components/messenger/avatar/style.d.ts.map +0 -1
- package/lib/components/messenger/messagesList/style.js +0 -446
- package/lib/components/messenger/messagesList/style.js.map +0 -1
- package/lib/components/messenger/more_action/index.js +0 -48
- package/lib/components/messenger/more_action/index.js.map +0 -1
- package/lib/components/messenger/more_action/style.d.ts +0 -2
- package/lib/components/messenger/more_action/style.d.ts.map +0 -1
- package/lib/components/messenger/more_action/style.js +0 -45
- package/lib/components/messenger/more_action/style.js.map +0 -1
- package/lib/components/post/style.js +0 -20101
- package/lib/components/post/style.js.map +0 -1
- package/lib/style.js +0 -400
- package/lib/style.js.map +0 -1
- package/src/components/InboxMessage/InboxDetails/style.ts +0 -27
- package/src/components/InboxMessage/InboxSidebar/styles.ts +0 -57
- package/src/components/InboxMessage/Messages/styles.ts +0 -85
- package/src/components/InboxMessage/Popover/style.ts +0 -27
- package/src/components/InboxMessage/UserModalContent/style.ts +0 -98
- package/src/components/messenger/avatar/style.ts +0 -86
- package/src/components/messenger/more_action/style.ts +0 -45
|
@@ -1,121 +1,130 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Button, Modal } from 'react-bootstrap';
|
|
3
2
|
import { useTranslation } from 'react-i18next';
|
|
4
|
-
import { VscChromeClose } from 'react-icons/vsc';
|
|
5
|
-
import { css } from '@emotion/css';
|
|
6
|
-
import { styleSheet } from '../../style';
|
|
3
|
+
import { VscChromeClose } from '@react-icons/all-files/vsc/VscChromeClose';
|
|
7
4
|
|
|
8
|
-
|
|
5
|
+
interface Channel {
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface DirectMoreModal {
|
|
11
|
+
showDirectMore: boolean;
|
|
12
|
+
handleShow: (type: string, title: string) => void;
|
|
13
|
+
modalPublicChannels: Channel[];
|
|
14
|
+
handleJoin: (channelId: string) => void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface ModalsProps {
|
|
18
|
+
directMoreModal: DirectMoreModal;
|
|
19
|
+
publicChlModal: any;
|
|
20
|
+
handleClose: (type: string) => void;
|
|
21
|
+
handleChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
22
|
+
handleCreate: () => void;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const Modals: React.FC<ModalsProps> = ({
|
|
26
|
+
directMoreModal,
|
|
27
|
+
publicChlModal,
|
|
28
|
+
handleClose,
|
|
29
|
+
handleChange,
|
|
30
|
+
handleCreate,
|
|
31
|
+
}) => {
|
|
9
32
|
const { t } = useTranslation();
|
|
33
|
+
|
|
34
|
+
if (!directMoreModal.showDirectMore) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
10
38
|
return (
|
|
11
|
-
<div className=
|
|
12
|
-
<
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
39
|
+
<div className="fixed inset-0 z-50 overflow-y-auto">
|
|
40
|
+
<div className="flex items-center justify-center min-h-screen px-4 pt-4 pb-20 text-center sm:block sm:p-0">
|
|
41
|
+
<div className="fixed inset-0 transition-opacity" aria-hidden="true">
|
|
42
|
+
<div className="absolute inset-0 bg-gray-500 opacity-75"></div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<span className="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">
|
|
46
|
+
​
|
|
47
|
+
</span>
|
|
48
|
+
|
|
49
|
+
<div className="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full">
|
|
50
|
+
<div className="bg-primary-600 px-4 py-3 sm:px-6 flex items-center justify-between">
|
|
51
|
+
<h3 className="text-lg leading-6 font-medium text-white">
|
|
52
|
+
{t('messenger_box_browser.direct_messages')}
|
|
53
|
+
</h3>
|
|
54
|
+
<div className="flex items-center space-x-4">
|
|
55
|
+
<button
|
|
56
|
+
onClick={() => directMoreModal.handleShow('publicChannel', 'Public Channel')}
|
|
57
|
+
className="text-white hover:text-gray-200 font-medium"
|
|
58
|
+
>
|
|
59
|
+
{t('messenger_box_browser.create_channel')}
|
|
60
|
+
</button>
|
|
61
|
+
<button
|
|
62
|
+
onClick={() => handleClose('publicMore')}
|
|
63
|
+
className="text-white hover:text-gray-200"
|
|
64
|
+
>
|
|
65
|
+
<VscChromeClose className="h-5 w-5" />
|
|
66
|
+
</button>
|
|
67
|
+
</div>
|
|
26
68
|
</div>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
69
|
+
<div className="bg-white px-4 py-5 sm:p-6">
|
|
70
|
+
<div className="space-y-4">
|
|
71
|
+
<input
|
|
72
|
+
type="text"
|
|
73
|
+
placeholder={t('messenger_box_browser.search_channels')}
|
|
74
|
+
className="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary-500 focus:border-primary-500"
|
|
75
|
+
/>
|
|
76
|
+
{directMoreModal.modalPublicChannels.length > 0 ? (
|
|
77
|
+
<div className="space-y-2">
|
|
78
|
+
{directMoreModal.modalPublicChannels.map((channel, index) => (
|
|
79
|
+
<div
|
|
80
|
+
key={index}
|
|
81
|
+
className="flex items-center justify-between p-3 hover:bg-gray-50 rounded-md"
|
|
82
|
+
>
|
|
83
|
+
<h5
|
|
84
|
+
onClick={() => directMoreModal.handleJoin(channel.id)}
|
|
85
|
+
className="text-gray-900 font-medium cursor-pointer"
|
|
86
|
+
>
|
|
87
|
+
{channel.title}
|
|
88
|
+
</h5>
|
|
89
|
+
<button
|
|
90
|
+
onClick={() => directMoreModal.handleJoin(channel.id)}
|
|
91
|
+
className="px-3 py-1 text-sm text-primary-600 hover:text-primary-700 font-medium"
|
|
92
|
+
>
|
|
38
93
|
{t('messenger_box_browser.join')}
|
|
39
94
|
</button>
|
|
40
95
|
</div>
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
</
|
|
52
|
-
|
|
53
|
-
|
|
96
|
+
))}
|
|
97
|
+
</div>
|
|
98
|
+
) : (
|
|
99
|
+
<div className="text-center py-8">
|
|
100
|
+
<p className="text-gray-900 font-medium">
|
|
101
|
+
{t('messenger_box_browser.no_more_channels_to_join')}
|
|
102
|
+
</p>
|
|
103
|
+
<p className="mt-1 text-gray-500">
|
|
104
|
+
{t('messenger_box_browser.click_create_new_channel')}
|
|
105
|
+
</p>
|
|
106
|
+
</div>
|
|
107
|
+
)}
|
|
108
|
+
</div>
|
|
54
109
|
</div>
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
>
|
|
61
|
-
<Modal.Title>{t('messenger_box_browser.create_public_channel')}</Modal.Title>
|
|
62
|
-
<VscChromeClose
|
|
63
|
-
onClick={() => handleClose('publicChannel')}
|
|
64
|
-
fontSize="16px"
|
|
65
|
-
style={{ marginLeft: 'auto', cursor: 'pointer' }}
|
|
66
|
-
/>
|
|
67
|
-
</Modal.Header>
|
|
68
|
-
<Modal.Body>
|
|
69
|
-
<div className="modal_div" style={{ textAlign: 'center' }}>
|
|
70
|
-
<label
|
|
71
|
-
style={{
|
|
72
|
-
width: '20%',
|
|
73
|
-
fontSize: '15px',
|
|
74
|
-
fontWeight: 500,
|
|
75
|
-
marginRight: '5px',
|
|
76
|
-
}}
|
|
110
|
+
<div className="bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse">
|
|
111
|
+
<button
|
|
112
|
+
type="button"
|
|
113
|
+
onClick={handleCreate}
|
|
114
|
+
className="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-primary-600 text-base font-medium text-white hover:bg-primary-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500 sm:ml-3 sm:w-auto sm:text-sm"
|
|
77
115
|
>
|
|
78
|
-
{t('messenger_box_browser.
|
|
79
|
-
</
|
|
80
|
-
<
|
|
81
|
-
type="
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
width: '62%',
|
|
85
|
-
height: '35px',
|
|
86
|
-
border: '1px solid gray',
|
|
87
|
-
}}
|
|
88
|
-
onChange={(e) => handleChange(e)}
|
|
89
|
-
/>
|
|
90
|
-
<label
|
|
91
|
-
style={{
|
|
92
|
-
width: '20%',
|
|
93
|
-
fontSize: '15px',
|
|
94
|
-
fontWeight: 500,
|
|
95
|
-
marginRight: '5px',
|
|
96
|
-
}}
|
|
116
|
+
{t('messenger_box_browser.create_channel')}
|
|
117
|
+
</button>
|
|
118
|
+
<button
|
|
119
|
+
type="button"
|
|
120
|
+
onClick={() => handleClose('publicMore')}
|
|
121
|
+
className="mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
|
|
97
122
|
>
|
|
98
|
-
{t('messenger_box_browser.
|
|
99
|
-
</
|
|
100
|
-
<input
|
|
101
|
-
type="text"
|
|
102
|
-
name="description"
|
|
103
|
-
style={{
|
|
104
|
-
width: '62%',
|
|
105
|
-
height: '35px',
|
|
106
|
-
border: '1px solid gray',
|
|
107
|
-
}}
|
|
108
|
-
onChange={(e) => handleChange(e)}
|
|
109
|
-
/>
|
|
123
|
+
{t('messenger_box_browser.close')}
|
|
124
|
+
</button>
|
|
110
125
|
</div>
|
|
111
|
-
</
|
|
112
|
-
|
|
113
|
-
<Button onClick={() => handleClose('publicChannel')}>{t('messenger_box_browser.close')}</Button>
|
|
114
|
-
<Button onClick={handleCreate} style={{ backgroundColor: '#2b5ebf', color: 'white' }}>
|
|
115
|
-
{t('messenger_box_browser.create_channel')}
|
|
116
|
-
</Button>
|
|
117
|
-
</Modal.Footer>
|
|
118
|
-
</Modal>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
119
128
|
</div>
|
|
120
129
|
);
|
|
121
130
|
};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
|
-
import { css } from '@emotion/css';
|
|
4
|
-
import { styleSheet } from './style';
|
|
5
3
|
|
|
6
4
|
type IAvatarSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
7
5
|
|
|
@@ -10,29 +8,45 @@ type IProps = {
|
|
|
10
8
|
url?: string | any;
|
|
11
9
|
size?: IAvatarSize;
|
|
12
10
|
username: string;
|
|
13
|
-
time:
|
|
11
|
+
time: any;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const sizeClasses = {
|
|
15
|
+
xxs: 'w-6 h-6',
|
|
16
|
+
xs: 'w-8 h-8',
|
|
17
|
+
sm: 'w-10 h-10',
|
|
18
|
+
md: 'w-12 h-12',
|
|
19
|
+
lg: 'w-14 h-14',
|
|
20
|
+
xl: 'w-16 h-16',
|
|
21
|
+
xxl: 'w-20 h-20',
|
|
14
22
|
};
|
|
15
23
|
|
|
16
24
|
export const Avatar = ({ url, size = 'md', text, username, time }: IProps) => {
|
|
17
|
-
const
|
|
25
|
+
const avatarSizeClass = sizeClasses[size];
|
|
18
26
|
|
|
19
27
|
if (text) {
|
|
20
28
|
return (
|
|
21
|
-
<div className=
|
|
22
|
-
<div
|
|
29
|
+
<div className="flex items-center">
|
|
30
|
+
<div
|
|
31
|
+
className={classNames(
|
|
32
|
+
'rounded-full bg-gray-200 flex items-center justify-center text-gray-600',
|
|
33
|
+
avatarSizeClass,
|
|
34
|
+
)}
|
|
35
|
+
data-content={text}
|
|
36
|
+
/>
|
|
23
37
|
</div>
|
|
24
38
|
);
|
|
25
39
|
}
|
|
26
40
|
return (
|
|
27
|
-
<div className=
|
|
28
|
-
<a href="">
|
|
29
|
-
<img src={url} className={
|
|
41
|
+
<div className="flex items-center space-x-3">
|
|
42
|
+
<a href="#" className="block">
|
|
43
|
+
<img src={url} className={classNames('rounded-full object-cover', avatarSizeClass)} alt={username} />
|
|
30
44
|
</a>
|
|
31
|
-
<div className="
|
|
32
|
-
<a href="">
|
|
33
|
-
<h4>{username}</h4>
|
|
45
|
+
<div className="flex flex-col">
|
|
46
|
+
<a href="#" className="hover:underline">
|
|
47
|
+
<h4 className="font-medium text-gray-900">{username}</h4>
|
|
34
48
|
</a>
|
|
35
|
-
<p>{time}</p>
|
|
49
|
+
<p className="text-sm text-gray-500">{time}</p>
|
|
36
50
|
</div>
|
|
37
51
|
</div>
|
|
38
52
|
);
|