Files
supabase/examples/slack-clone/nextjs-slack-clone/components/Message.js
Thor 雷神 Schaeff 7ce6958030 feat: add rbac claim auth hook. (#21263)
* feat: add rbac claim auth hook.

* feat: get user role from jwt.

* chore: update full-schema.

* feat: add RBAC guide.

* feat: use plpgsql.

* Apply suggestions from code review

Co-authored-by: Charis <[email protected]>

* chore: make top level claim.

* chore: set search_paths.

* chore: accessing custom claims.

---------

Co-authored-by: Charis <[email protected]>
2024-03-04 14:24:32 +00:00

27 lines
785 B
JavaScript

import { useContext } from 'react'
import UserContext from '~/lib/UserContext'
import { deleteMessage } from '~/lib/Store'
import TrashIcon from '~/components/TrashIcon'
const Message = ({ message }) => {
const { user } = useContext(UserContext)
return (
<div className="py-1 flex items-center space-x-2">
<div className="text-gray-100 w-4">
{(user?.id === message.user_id || ['admin', 'moderator'].includes(user?.appRole)) && (
<button onClick={() => deleteMessage(message.id)}>
<TrashIcon />
</button>
)}
</div>
<div>
<p className="text-blue-700 font-bold">{message?.author?.username}</p>
<p className="text-white">{message.message}</p>
</div>
</div>
)
}
export default Message