Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion frontend/components/auth/UnlockKeyringDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,11 @@ export default function UnlockKeyringDialog(props: { organisation: OrganisationT

reset()

// The dialog stays mounted across org switches, so this flag must be
// re-derived per org: without a cached key below, a stale `true` from the
// previous org would show the auto-unlock spinner with no decrypt running.
setDevicePasswordExists(false)

const isPasswordUser = user.authMethod === 'password'

// Preferred: cached deviceKey. Password users have a single per-user
Expand Down Expand Up @@ -301,7 +306,7 @@ export default function UnlockKeyringDialog(props: { organisation: OrganisationT
</div>
</div>

<div className="flex justify-end">
<div className="flex items-start justify-end">
<Button type="button" variant="outline" onClick={() => handleSignout()}>
<div className="flex items-center gap-1 text-xs">
<FaSignOutAlt /> Log out
Expand Down
26 changes: 10 additions & 16 deletions frontend/components/dashboard/GetStarted.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@ const TaskPanel = (props: {
<Disclosure
as="div"
defaultOpen={defaultOpen}
className="ring-1 ring-inset ring-neutral-500/40 rounded-md p-px flex flex-col divide-y divide-neutral-500/30 w-full text-xs"
// real border, not ring-inset: an inset box-shadow spanning the card is the
// classic WebRender tile-seam trigger on thin edges (visually identical)
className="border border-neutral-500/40 rounded-md overflow-hidden flex flex-col divide-y divide-neutral-500/30 w-full text-xs"
>
{({ open }) => (
<>
Expand Down Expand Up @@ -71,22 +73,14 @@ const TaskPanel = (props: {
)}
/>
</div>
<div
className={clsx(
'h-0.5 w-full bg-neutral-300 dark:bg-neutral-600 text-xs',
!open && 'rounded-b-md'
)}
>
{/* Deliberately minimal paint β€” two solid rects, no radius/clip/shadow/
transform on the bar itself (the card root's overflow-hidden rounds it).
Fancier variants (scaleX fill, rounded inset ring) mis-rasterized in
Firefox as a partially thinner bar. */}
<div className="h-0.5 w-full bg-neutral-300 dark:bg-neutral-600">
<div
className={clsx(
'h-0.5 w-full ml-0 transition-all ease float-left',
progressBarColor,
!open && 'rounded-b-md'
)}
style={{
transform: `scaleX(${progress})`,
transformOrigin: '0%',
}}
className={clsx('h-full transition-all ease', progressBarColor)}
style={{ width: progress }}
></div>
</div>
</div>
Expand Down
3 changes: 2 additions & 1 deletion frontend/components/layout/Sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,8 @@ const Sidebar = () => {
<div>
<PlanLabel plan={activeOrganisation?.plan!} />
</div>
<span className="block w-full truncate font-semibold tracking-wider text-base">
{/* text-left: the full-width span sits inside a <button>, which centers text by default */}
<span className="block w-full truncate text-left font-semibold tracking-wider text-base">
{activeOrganisation?.name}
</span>
</div>
Expand Down
Loading