Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 3580 Rev 3610
Línea 1... Línea 1...
1
import React from 'react';
1
import React, { useMemo, useState } from 'react';
Línea 2... Línea 2...
2
 
2
 
3
import { Card, CardContent, CardHeader, List } from '@shared/components';
3
import { Card, CardContent, CardHeader, List, Menu, SearchBar } from '@shared/components';
Línea -... Línea 4...
-
 
4
import { ConversationItem } from './ConversationItem';
-
 
5
 
-
 
6
export const ConversationsList = ({
-
 
7
  conversations = [],
-
 
8
  onSelectConversation,
-
 
9
  onStartConversation
-
 
10
}) => {
-
 
11
  const [search, setSearch] = useState('');
4
import { ConversationItem } from './ConversationItem';
12
 
-
 
13
  const filteredConversations = useMemo(() => {
-
 
14
    return conversations.filter((conversation) =>
-
 
15
      conversation.name.toLowerCase().includes(search.toLowerCase())
-
 
16
    );
5
 
17
  }, [conversations, search]);
6
export const ConversationsList = ({ conversations = [], onSelectConversation }) => {
18
 
-
 
19
  return (
7
  return (
20
    <Card>
-
 
21
      <CardHeader
-
 
22
        title='Conversaciones'
-
 
23
        renderAction={() => (
-
 
24
          <Menu>
-
 
25
            <Menu.Item onClick={onStartConversation}>Iniciar conversación</Menu.Item>
-
 
26
          </Menu>
8
    <Card>
27
        )}
-
 
28
      />
9
      <CardHeader title='Conversaciones' />
29
      <CardContent>
10
      <CardContent>
30
        <SearchBar placeholder='Buscar conversación' onChange={setSearch} />
11
        <List
31
        <List
12
          items={conversations}
32
          items={filteredConversations}
13
          keyExtractor={(item) => item.uuid}
33
          keyExtractor={(item) => item.uuid}
14
          emptyMessage='No hay conversaciones'
34
          emptyMessage='No hay conversaciones'
15
          renderItem={(conversation) => (
35
          renderItem={(conversation) => (