Notifications.tsx
import React from "react";export default function Notifications() {  const [notifications, setNotifications] = React.useState<    { message: string; recent: boolean }[]  >([]);  const [showNotifications, setShowNotifications] = React.useState(false);  return (    <>      <button        className="border px-2 py-1 mb-2"        onClick={() => {          setNotifications([            { message: `Notification #${notifications.length}`, recent: true },            ...notifications,          ]);        }}      >        Add a notification!      </button>      <div className="relative z-10">        <button          onClick={() => setShowNotifications(!showNotifications)}          className={`border rounded-full p-1 relative ${            notifications.some((notification) => notification.recent === true)              ? "after:content-['•'] after:absolute after:-top-3 after:right-0.5 after:text-3xl after:text-red-700"              : ""          }          ${showNotifications ? "bg-gray-900" : ""}          `}        >          🔔        </button>        {showNotifications && (          <ul className="absolute max-h-60 overflow-y-auto">            {notifications.map((notification) => (              <li                key={notification.message}                className={`border px-2 py-1 bg-black ${                  notification.recent ? "bg-gray-900" : ""                }`}                onMouseEnter={() =>                  setNotifications(                    notifications.map((n) =>                      n === notification ? { ...n, recent: false } : n                    )                  )                }              >                {notification.message}              </li>            ))}          </ul>        )}      </div>    </>  );}