Compare commits
No commits in common. "56c2a6d836e34ce1a126575ec21fb77f69c15fa4" and "a5838ea564fc2b8a703a27d0e627248f77ec8574" have entirely different histories.
56c2a6d836
...
a5838ea564
4 changed files with 6 additions and 44 deletions
|
|
@ -6,13 +6,12 @@ verified green at the moment this file was written.
|
||||||
## Where things are
|
## Where things are
|
||||||
|
|
||||||
- Project: `/home/avi/Projects/Nostr_Keynctr`
|
- Project: `/home/avi/Projects/Nostr_Keynctr`
|
||||||
- Git repo: `master` @ `8130c3e` ("frontend: click a profile row on Home to
|
- Git repo: `master` @ `98f4520` ("frontend: show active-profile picture on
|
||||||
select it"). Before it: `98f4520` (active-profile picture on Compose +
|
Compose and sidebar"). Before it: `f534165` (remove Profiles sidebar tab),
|
||||||
sidebar), `f534165` (remove Profiles sidebar tab), `835b0a0` (list all
|
`835b0a0` (list all profiles on Home, pin dev host, widen card), `5635f79`
|
||||||
profiles on Home, pin dev host, widen card), `5635f79` (checkpoint),
|
(checkpoint), `71e580f` (Trim white margins), `f29d4f9` (Checkpoint 0.45
|
||||||
`71e580f` (Trim white margins), `f29d4f9` (Checkpoint 0.45 migration),
|
migration), `fa5ba08` (Security: upgrade nostr stack 0.40->0.45),
|
||||||
`fa5ba08` (Security: upgrade nostr stack 0.40->0.45), `bf10ae3`, `e210f17`,
|
`bf10ae3`, `e210f17`, `7098e75`, `e6a1efc`, `6d5063d`, `1c428a9`.
|
||||||
`7098e75`, `e6a1efc`, `6d5063d`, `1c428a9`.
|
|
||||||
- Working tree: still DIRTY with the long-standing user changes — `concept3.svg`
|
- Working tree: still DIRTY with the long-standing user changes — `concept3.svg`
|
||||||
deleted, `KeynectrAppIconPossibility02.jpeg` untracked. These are NOT part
|
deleted, `KeynectrAppIconPossibility02.jpeg` untracked. These are NOT part
|
||||||
of the frontend commit above and remain uncommitted.
|
of the frontend commit above and remain uncommitted.
|
||||||
|
|
@ -44,7 +43,6 @@ verified green at the moment this file was written.
|
||||||
|
|
||||||
## Commits added most recently
|
## Commits added most recently
|
||||||
|
|
||||||
- `8130c3e` frontend: click a profile row on Home to select it
|
|
||||||
- `98f4520` frontend: show active-profile picture on Compose and sidebar
|
- `98f4520` frontend: show active-profile picture on Compose and sidebar
|
||||||
- `f534165` frontend: remove redundant Profiles sidebar tab
|
- `f534165` frontend: remove redundant Profiles sidebar tab
|
||||||
- `835b0a0` frontend: list all profiles on Home, pin dev host, widen profiles card
|
- `835b0a0` frontend: list all profiles on Home, pin dev host, widen profiles card
|
||||||
|
|
@ -1403,11 +1401,6 @@ A stopping point you can return to if this session is closed.
|
||||||
Added `picture={active.picture}` to both the write and preview avatars in
|
Added `picture={active.picture}` to both the write and preview avatars in
|
||||||
`ComposeScreen.tsx` and to the active-profile avatar in `Sidebar.tsx`. The
|
`ComposeScreen.tsx` and to the active-profile avatar in `Sidebar.tsx`. The
|
||||||
picture now appears consistently wherever the active profile is shown.
|
picture now appears consistently wherever the active profile is shown.
|
||||||
8. **Click a profile row on Home to select it.** Mirrored the Profiles screen's
|
|
||||||
clickable-row pattern: the whole non-active row in the Home "Your profiles"
|
|
||||||
list now selects the profile on click (guarded so Copy/Select buttons don't
|
|
||||||
double-fire). Added `cursor: pointer` for non-active rows. Added a test
|
|
||||||
asserting row-click selection.
|
|
||||||
|
|
||||||
### Files changed
|
### Files changed
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,16 +96,6 @@ export function HomeScreen({ onNavigate, onCreateProfile }: HomeScreenProps) {
|
||||||
<li
|
<li
|
||||||
key={profile.npub}
|
key={profile.npub}
|
||||||
className={`home-profile-row${profile.is_active ? ' is-active' : ''}`}
|
className={`home-profile-row${profile.is_active ? ' is-active' : ''}`}
|
||||||
onClick={
|
|
||||||
profile.is_active
|
|
||||||
? undefined
|
|
||||||
: (event) => {
|
|
||||||
if ((event.target as HTMLElement).closest('button, a, input')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
void onSelect(profile.npub);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
>
|
>
|
||||||
<Avatar
|
<Avatar
|
||||||
npub={profile.npub}
|
npub={profile.npub}
|
||||||
|
|
|
||||||
|
|
@ -1084,10 +1084,6 @@ select {
|
||||||
border-color: var(--token-border, rgba(0, 0, 0, 0.12));
|
border-color: var(--token-border, rgba(0, 0, 0, 0.12));
|
||||||
}
|
}
|
||||||
|
|
||||||
.home-profile-row:not(.is-active) {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.home-profile-row .active-profile-meta {
|
.home-profile-row .active-profile-meta {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
|
|
|
||||||
|
|
@ -54,21 +54,4 @@ describe('HomeScreen', () => {
|
||||||
.click(screen.getByRole('button', { name: /Create your first profile/i }));
|
.click(screen.getByRole('button', { name: /Create your first profile/i }));
|
||||||
expect(onCreateProfile).toHaveBeenCalled();
|
expect(onCreateProfile).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('selects a profile when its row is clicked (not just the Select button)', async () => {
|
|
||||||
const backend = createFakeBackend();
|
|
||||||
renderHome(backend);
|
|
||||||
renderWithApp(<HomeScreen onNavigate={vi.fn()} onCreateProfile={vi.fn()} />);
|
|
||||||
|
|
||||||
const bobRow = (await screen.findByText('Bob')).closest('.home-profile-row') as HTMLElement;
|
|
||||||
// Clicking the name (not the Select button) should select the profile.
|
|
||||||
await userEvent.setup().click(within(bobRow).getByText('Bob'));
|
|
||||||
|
|
||||||
await waitFor(() => {
|
|
||||||
expect(within(bobRow).getByRole('button', { name: 'Selected' })).toBeInTheDocument();
|
|
||||||
});
|
|
||||||
// The previously active profile now offers a Select button again.
|
|
||||||
const aliceRow = screen.getByText('Alice').closest('.home-profile-row') as HTMLElement;
|
|
||||||
expect(within(aliceRow).getByRole('button', { name: 'Select' })).toBeInTheDocument();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue