Remember window and tab; fill saved passwords; match the title bar
The window's position and size survive a restart, and so does the app you were last in. Saving a password was only half of it - a saved password you cannot get back out is not saved in any useful sense. Right-click now offers "Fill saved password" wherever a page has a password field. Only on an explicit click, only for the host on screen, and only into that page's own fields, never on load. The value is set through the native setter and followed by input and change events, because assigning .value is invisible to React and Angular and the site would submit an empty field. The title bar is painted the nav's colour rather than its own grey, so the two read as one surface in either theme. Doing that revealed that the window's content had always run the full height underneath it - the opaque bar was hiding it - so the shell is now inset by the measured title bar height, or the nav lands on the traffic lights. The rail's unread badge is a fixed circle inside the button's bounds. Padding around a number made a pill at two digits, and hanging it off the corner put it under the rail's clip; past nine it reads "9+", with the figure itself in the expanded nav.
This commit is contained in:
@@ -105,12 +105,17 @@ export default function Nav({
|
||||
{active && <span className="absolute left-0 h-5 w-[3px] rounded-full bg-sky-500" />}
|
||||
<Favicon icon={app.icon} name={app.name} size={20} />
|
||||
{(unread[app.id] ?? 0) > 0 && (
|
||||
/* A fixed circle, inside the button's own bounds. Padding around a
|
||||
number makes a pill as soon as there are two digits, and hanging
|
||||
it off the corner puts it under the rail's clip. Anything past
|
||||
nine reads as "9+" — the exact figure is in the expanded nav. */
|
||||
<span
|
||||
title={`${unread[app.id]} new since you last looked`}
|
||||
className="absolute -right-0.5 -top-0.5 min-w-[15px] rounded-full bg-sky-500
|
||||
px-1 text-center font-mono text-[9px] font-semibold text-white"
|
||||
className="absolute right-0 top-0 grid size-[15px] place-items-center
|
||||
rounded-full bg-sky-500 font-mono text-[9px] font-semibold
|
||||
leading-none text-white"
|
||||
>
|
||||
{unread[app.id] > 99 ? "99+" : unread[app.id]}
|
||||
{unread[app.id] > 9 ? "9+" : unread[app.id]}
|
||||
</span>
|
||||
)}
|
||||
</button>
|
||||
|
||||
Reference in New Issue
Block a user