36 lines
1.5 KiB
React
Raw Normal View History

import { useContext } from "react";
import { SettingsContext } from "utils/contexts/settings";
import ResolvedIcon from "components/resolvedicon";
export default function Item({ bookmark }) {
2022-08-24 10:44:35 +03:00
const { hostname } = new URL(bookmark.href);
const { settings } = useContext(SettingsContext);
2022-08-24 10:44:35 +03:00
return (
2022-09-07 16:53:24 +03:00
<li key={bookmark.name}>
2022-09-21 08:40:19 +03:00
<a
href={bookmark.href}
title={bookmark.name}
target={bookmark.target ?? settings.target ?? "_blank"}
2022-09-26 16:56:20 +03:00
className="block w-full text-left cursor-pointer transition-all h-15 mb-3 rounded-md font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 hover:bg-theme-300/20 dark:bg-white/5 dark:hover:bg-white/10"
2022-09-07 16:53:24 +03:00
>
<div className="flex">
2022-09-09 06:45:43 +03:00
<div className="flex-shrink-0 flex items-center justify-center w-11 bg-theme-500/10 dark:bg-theme-900/50 text-theme-700 hover:text-theme-700 dark:text-theme-200 text-sm font-medium rounded-l-md">
{bookmark.icon &&
<div className="flex-shrink-0 w-5 h-5">
<ResolvedIcon icon={bookmark.icon} />
</div>
}
2022-09-07 16:53:24 +03:00
{bookmark.abbr}
</div>
<div className="flex-1 flex items-center justify-between rounded-r-md ">
<div className="flex-1 grow pl-3 py-2 text-xs">{bookmark.name}</div>
2022-09-26 15:25:10 +03:00
<div className="px-2 py-2 truncate text-theme-500 dark:text-theme-300 text-xs">{hostname}</div>
2022-09-07 16:53:24 +03:00
</div>
</div>
2022-09-21 08:40:19 +03:00
</a>
2022-08-24 10:44:35 +03:00
</li>
);
}