NOTA: Pueden dar un poco de estilos a todo usando Styled Components.
Crear la siguiente estructura de componentes:
App
ControlUsuario
DetalleUsuario
ListaUsuarios
Usuario
- No usar composición
Usuariodebe mostrar una card con solo nombre, apellido y compañíaDetalleUsuariodebe mostrar el resto de los datos del usuario- Al hacer click en un
Usuario, se debe actualizarDetalleUsuariocon el usuario correspondiente - Al seleccionar un
Usuario, este debe cambiar de estilo para indicar que está seleccionado.
Obtener el JSON de los datos acá.
Crear la siguiente estructura de componentes:
App
ControlLista
ControlVista
ListaUsuarios
Usuario
- No usar composición
ControlVistatiene un botón que switchea entreMostrar DetallesoMostrar Resumencada vez que se lo clickea.Usuarioes una card que tiene dos modos de presentación: uno resumido, donde sólo se muestra nombre, apellido y compañía, y otro con más detalles, donde se muestran todos los datos.- Cuando se clickea el botón cuando este dice
Mostrar Resumen,Usuariodebe mostrarse en el modo resumido (y el botón cambiar de texto). Cuando se clickea el botón cuando diceMostrar Detalles,Usuariodebe mostrar todos los datos (y el botón cambiar de texto).
Para los datos, usar el JSON del ejercicio anterior.
App
ListaUsuarios
Usuario
ControlPaginado
Paginado
- No usar composición
Usuariodebe mostrar una card con todos los datos del usuario.
Paginadodebe mostrar 5 números del 1 al 5ListaUsuariossólo muestra 10 usuarios a la vez- Cuando se hace click en algún número del
Paginado, se actualiza la lista mostrando los usuarios correspondientes (por ejemplo, si se clickea el número 2, debe mostrar los usuarios del 11 al 20.
ControlPaginadoademás dePaginado, tiene uninputdonde podemos poner cuántos usuarios queremos que se muestren por página- Al modificarlo, se tiene que actualizar
ListaUsuariosyPaginado - Por ejemplo, si se actualiza a 5 por página,
Paginadotiene que mostrar 10 números, y si se selecciona el número 2, tiene que mostrar los usuarios del 6 al 10. - Cuando se modifica el
input, siempre vuelve a la página 1. - Otra alternativa es en vez de usar un
input, usar unselectcon valores definidos (5, 10, 15, 20, 25).
Obtener el JSON de los datos acá.
App
Sidebar
TagControl
Tags
Filters
SelectedTags
Tagstiene una lista de componentesTag. Cuando se clickea unaTag, esa tag se selecciona, cuando se la vuelve a clickear, se deselecciona. El estar seleccionada se representa con una diferencia visual (cualquiera: borde o color distinto, algún ícono, etc.)- En
SelectedTagsaparecen solo las tags que están seleccionadas (ssando el componenteTag). Cuando se clickea una, esta se deselecciona, y por lo tanto desparece deSelectedTags. TagControltiene un texto mostrando la cantidad de tags seleccionadas y un botónClear. Cuando se apretaClear, se deseleccionan todas las tags.
El comportamiento de Sidebar lo pueden ver en acción acá cuando cliquean en Filter by tags.
EXTRA 1: Agregar en Filters un botón que muestre el Sidebar y en Sidebar un botón para ocultarlo (como en la página).
EXTRA 2: Agrupar las tags por su primer letra, como en la página.