sticky header and add image to message

This commit is contained in:
Guillaume Dorce 2022-09-16 17:17:56 +02:00
parent 871ffe8462
commit 92e8a4cccb
4 changed files with 36 additions and 21 deletions

View File

@ -34,16 +34,14 @@ const AppHeader = () => {
}; };
return ( return (
<header> <header className="sticky top-0">
<div className="min-h-80 flex items-center justify-between bg-grey-dark p-2"> <div className="min-h-80 flex items-center justify-between bg-grey-dark p-2">
<div className="app-header__logo"> <div className="app-header__logo">
<img src={logo} alt="logo" className='h-14'/> <img src={logo} alt="logo" className="h-14" />
</div> </div>
<div className="right"> <div className="right">
<div className="flex items-center space-x-6"> <div className="flex items-center space-x-6">
<div className="rounded-full w-24 overflow-hidden"> {meInfo.data && <Avatar user={meInfo.data} />}
{meInfo.data && <Avatar user={meInfo.data} />}
</div>
<div className="app-header__user__name"> <div className="app-header__user__name">
<span className="text-white"> <span className="text-white">
{meInfo.isLoading ? '' : meInfo.data ? meInfo.data.firstName + ' ' + meInfo.data.lastName : ''} {meInfo.isLoading ? '' : meInfo.data ? meInfo.data.firstName + ' ' + meInfo.data.lastName : ''}

View File

@ -1,8 +1,7 @@
import { FaEllipsisH } from 'react-icons/fa'; import { FaEllipsisH } from 'react-icons/fa';
import Avatar from '@components/Avatar'; import Avatar from '@components/Avatar';
const Message = ({ text, user, date }: any) => { const Message = ({ text, user, date, image = '' }: any) => {
return ( return (
<> <>
<div className="flex bg-grey-dark rounded-xl max-w-3xl p-5 gap-5"> <div className="flex bg-grey-dark rounded-xl max-w-3xl p-5 gap-5">
@ -12,11 +11,18 @@ const Message = ({ text, user, date }: any) => {
<div className="text-red-light text-xl username"> <div className="text-red-light text-xl username">
{user.firstName} {user.lastName} {user.firstName} {user.lastName}
</div> </div>
<div className="text-grey-light popup-btn text-2xl"> <div className="text-grey popup-btn text-2xl">
<FaEllipsisH /> <FaEllipsisH className="fill-grey-light" />
</div> </div>
</div> </div>
<div className="text-white message">{text}</div> <div className="text-white message">{text}</div>
{image === '' ? (
''
) : (
<div className="flex justify-center">
<img src={image} alt="image" className="w-full" />
</div>
)}
<div className="text-grey-light date">{date}</div> <div className="text-grey-light date">{date}</div>
</div> </div>
</div> </div>

View File

@ -1,26 +1,37 @@
import AppHeader from "@components/AppHeader"; import AppHeader from '@components/AppHeader';
import Message from "@components/Message"; import Message from '@components/Message';
const Home = () => { const Home = () => {
const user = { const user = {
firstName: "Guillaume", firstName: 'Guillaume',
lastName: "Dorce", lastName: 'Dorce',
email: "guillaume.dorce@bm-services.com", email: 'guillaume.dorce@bm-services.com',
}; };
return ( return (
<div className="min-h-full bg-grey"> <div className="min-h-full bg-grey">
<AppHeader /> <AppHeader />
<main className="flex flex-col items-center p-4"> <main className="flex flex-col items-center p-4 gap-4">
<Message user={user} text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec auctor, nisl eget <Message
user={user}
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec auctor, nisl eget
aliquam tincidunt, nisl nisl aliquet nisl, eget aliquam nisl nisl sit amet aliquam tincidunt, nisl nisl aliquet nisl, eget aliquam nisl nisl sit amet
mauris. Donec auctor, nisl eget aliquam tincidunt, nisl nisl aliquet nisl, eget mauris. Donec auctor, nisl eget aliquam tincidunt, nisl nisl aliquet nisl, eget
aliquam nisl nisl sit amet mauris. Donec auctor, nisl eget aliquam tincidunt, aliquam nisl nisl sit amet mauris. Donec auctor, nisl eget aliquam tincidunt,
nisl nisl aliquet nisl, eget aliquam nisl nisl sit amet mauris." date="14 août 2022 19:00"/> nisl nisl aliquet nisl, eget aliquam nisl nisl sit amet mauris."
date="14 août 2022 19:00"
/>
<Message
user={user}
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec auctor, nisl eget
aliquam tincidunt, nisl nisl aliquet nisl, eget aliquam nisl nisl sit amet
mauris."
date="14 août 2022 19:00"
image="https://picsum.photos/800/600"
/>
</main> </main>
</div> </div>
); );
} };
export default Home; export default Home;

View File

@ -9,7 +9,7 @@ module.exports = {
red: '#fd2d01', red: '#fd2d01',
'red-light': '#ffd7d7', 'red-light': '#ffd7d7',
'grey': '#4E5166', 'grey': '#4E5166',
'grey-light': '#8F8F8F', 'grey-light': '#717695',
'grey-dark': '#2E3144', 'grey-dark': '#2E3144',
}, },
}, },