Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3602 | Rev 3604 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3602 Rev 3603
Línea 4... Línea 4...
4
import { useFetch, usePagination } from '@shared/hooks';
4
import { useFetch, usePagination } from '@shared/hooks';
Línea 5... Línea 5...
5
 
5
 
6
import { Spinner } from '@shared/components';
6
import { Spinner } from '@shared/components';
Línea 7... Línea -...
7
import { ConversationsList, MessagesList } from '@inmail/components';
-
 
8
 
-
 
9
const messagesResponse = {
-
 
10
  success: true,
-
 
11
  data: [
-
 
12
    {
-
 
13
      uuid: 'b18afb55-d40e-4fd9-95a6-324a7f45e57f',
-
 
14
      sender_name: 'Cesa Managment Solution',
-
 
15
      sender_image:
-
 
16
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
17
      sender_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
18
      receiver_name: 'Santiago Olivera',
-
 
19
      receiver_image:
-
 
20
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
21
      receiver_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
22
      side: 'right',
-
 
23
      message: '',
-
 
24
      type: 'image',
-
 
25
      filename:
-
 
26
        'https://dev-services.leaderslinked.com/storage/b18afb55-d40e-4fd9-95a6-324a7f45e57f',
-
 
27
      date: 'hace 1 año',
-
 
28
      url_abuse_report:
-
 
29
        'https://dev-services.leaderslinked.com/helpers/abuse-report/message/b18afb55-d40e-4fd9-95a6-324a7f45e57f'
-
 
30
    },
-
 
31
    {
-
 
32
      uuid: 'c3b3c887-9f88-4a36-a7c8-c417f5da80ff',
-
 
33
      sender_name: 'Cesa Managment Solution',
-
 
34
      sender_image:
-
 
35
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
36
      sender_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
37
      receiver_name: 'Santiago Olivera',
-
 
38
      receiver_image:
-
 
39
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
40
      receiver_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
41
      side: 'right',
-
 
42
      message: 'Buenas tardes',
-
 
43
      type: 'text',
-
 
44
      filename: '',
-
 
45
      date: 'hace 1 año',
-
 
46
      url_abuse_report:
-
 
47
        'https://dev-services.leaderslinked.com/helpers/abuse-report/message/c3b3c887-9f88-4a36-a7c8-c417f5da80ff'
-
 
48
    },
-
 
49
    {
-
 
50
      uuid: '59120c84-335f-424c-8990-db51ae7bd673',
-
 
51
      sender_name: 'Santiago Olivera',
-
 
52
      sender_image:
-
 
53
        'https://dev-services.leaderslinked.com/storage/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
54
      sender_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
55
      receiver_name: 'Cesa Managment Solution',
-
 
56
      receiver_image:
-
 
57
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
58
      receiver_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
59
      side: 'left',
-
 
60
      message: '',
-
 
61
      type: 'image',
-
 
62
      filename:
-
 
63
        'https://dev-services.leaderslinked.com/storage/59120c84-335f-424c-8990-db51ae7bd673',
-
 
64
      date: 'hace 1 año',
-
 
65
      url_abuse_report: ''
-
 
66
    },
-
 
67
    {
-
 
68
      uuid: '71c1356d-b5dc-413a-8f8e-ed087f99b6e3',
-
 
69
      sender_name: 'Santiago Olivera',
-
 
70
      sender_image:
-
 
71
        'https://dev-services.leaderslinked.com/storage/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
72
      sender_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
73
      receiver_name: 'Cesa Managment Solution',
-
 
74
      receiver_image:
-
 
75
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
76
      receiver_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
77
      side: 'left',
-
 
78
      message: 'buenas tardes',
-
 
79
      type: 'text',
-
 
80
      filename: '',
-
 
81
      date: 'hace 1 año',
-
 
82
      url_abuse_report: ''
-
 
83
    },
-
 
84
    {
-
 
85
      uuid: 'c484b564-3d69-42bf-b6c4-12dfa6230614',
-
 
86
      sender_name: 'Santiago Olivera',
-
 
87
      sender_image:
-
 
88
        'https://dev-services.leaderslinked.com/storage/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
89
      sender_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
90
      receiver_name: 'Cesa Managment Solution',
-
 
91
      receiver_image:
-
 
92
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
93
      receiver_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
94
      side: 'left',
-
 
95
      message: 'Test',
-
 
96
      type: 'text',
-
 
97
      filename: '',
-
 
98
      date: 'hace 1 año',
-
 
99
      url_abuse_report: ''
-
 
100
    },
-
 
101
    {
-
 
102
      uuid: 'f29723fd-dc2a-4b06-8c8e-e0e0cfe36cd1',
-
 
103
      sender_name: 'Cesa Managment Solution',
-
 
104
      sender_image:
-
 
105
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
106
      sender_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
107
      receiver_name: 'Santiago Olivera',
-
 
108
      receiver_image:
-
 
109
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
110
      receiver_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
111
      side: 'right',
-
 
112
      message:
-
 
113
        'buenas tardes\r\n\r\nbuenas tardesbuenas tardes\r\n\r\nbuenas tardesbuenas tardes\r\n\r\nbuenas tardesbuenas tardesbuenas tardes',
-
 
114
      type: 'document',
-
 
115
      filename:
-
 
116
        'https://dev-services.leaderslinked.com/storage/f29723fd-dc2a-4b06-8c8e-e0e0cfe36cd1',
-
 
117
      date: 'hace 1 año',
-
 
118
      url_abuse_report:
-
 
119
        'https://dev-services.leaderslinked.com/helpers/abuse-report/message/f29723fd-dc2a-4b06-8c8e-e0e0cfe36cd1'
-
 
120
    },
-
 
121
    {
-
 
122
      uuid: '86453fcf-ac3b-4228-9007-9dbf100976ef',
-
 
123
      sender_name: 'Cesa Managment Solution',
-
 
124
      sender_image:
-
 
125
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
126
      sender_profile: '/profile/view/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
127
      receiver_name: 'Santiago Olivera',
-
 
128
      receiver_image:
-
 
129
        'https://dev-services.leaderslinked.com/storage/97e43a0a-5a85-4021-8bff-167d60e2a0f2',
-
 
130
      receiver_profile: '/profile/view/e85129fa-18eb-4149-8640-fea9ae916cdc',
-
 
131
      side: 'right',
-
 
132
      message:
-
 
133
        'hola,hola,hola,hola,hola,hola,hola,\r\nhola,hola,hola,\r\n\r\nhola,hola,\r\nhola,hola,hola,\r\n\r\nhola,hola,hola,',
-
 
134
      type: 'image',
-
 
135
      filename:
-
 
136
        'https://dev-services.leaderslinked.com/storage/86453fcf-ac3b-4228-9007-9dbf100976ef',
-
 
137
      date: 'hace 1 año',
-
 
138
      url_abuse_report:
-
 
139
        'https://dev-services.leaderslinked.com/helpers/abuse-report/message/86453fcf-ac3b-4228-9007-9dbf100976ef'
-
 
140
    }
-
 
141
  ],
-
 
142
  pagination: {
-
 
143
    pageCount: 1,
-
 
144
    itemCountPerPage: 10,
-
 
145
    first: 1,
-
 
146
    current: 1,
-
 
147
    last: 1,
-
 
148
    pagesInRange: {
-
 
149
      1: 1
-
 
150
    },
-
 
151
    firstPageInRange: 1,
-
 
152
    lastPageInRange: 1,
-
 
153
    currentItemCount: 7,
-
 
154
    totalItemCount: 7,
-
 
155
    firstItemNumber: 1,
-
 
156
    lastItemNumber: 7
-
 
157
  }
-
 
158
};
7
import { ConversationsList, MessagesList } from '@inmail/components';
159
 
8
 
Línea 160... Línea 9...
160
export function InmailPage() {
9
export function InmailPage() {
161
  const [selectedConversation, setSelectedConversation] = useState(null);
10
  const [selectedConversation, setSelectedConversation] = useState(null);
162
 
11
 
163
  const { data: conversations, loading } = useFetch('/email');
12
  const { data: conversations, loading } = useFetch('/email');
164
  const {
13
  const {
165
    items: messages,
14
    items: messages,
166
    loading: loadingMessages,
15
    isLoading: loadingMessages,
-
 
16
    hasMore,
167
    nextPage,
17
    nextPage
168
    hasMore
18
  } = usePagination(selectedConversation?.messages_url, {
Línea 169... Línea 19...
169
  } = usePagination(selectedConversation?.messages_url, {
19
    resetOnUrlChange: true,
170
    enableInfiniteScroll: true
20
    autoLoadFirstPage: true
171
  });
21
  });
-
 
22
 
Línea 172... Línea 23...
172
 
23
  // Para demostración, usar datos de prueba cuando no hay conversación seleccionada
173
  // Para demostración, usar datos de prueba cuando no hay conversación seleccionada
24
  const displayMessages = selectedConversation && messages;
174
  const displayMessages = selectedConversation ? messages : messagesResponse.data;
25
  const displayLoading = selectedConversation && loadingMessages;
Línea 196... Línea 47...
196
          <Box sx={{ flex: 1, overflow: 'hidden' }}>
47
          <Box sx={{ flex: 1, overflow: 'hidden' }}>
197
            <MessagesList
48
            <MessagesList
198
              messages={displayMessages}
49
              messages={displayMessages}
199
              onLoadMore={nextPage}
50
              onLoadMore={nextPage}
200
              loading={displayLoading}
51
              loading={displayLoading}
201
              hasMore={hasMore}
52
              hasMore={displayHasMore}
202
            />
53
            />
203
          </Box>
54
          </Box>
204
        </Box>
55
        </Box>
205
      </Grid>
56
      </Grid>
206
    </Grid>
57
    </Grid>