WIP: correct pinned empty state guidance
This commit is contained in:
@@ -60,6 +60,7 @@ Use this checklist before a release or after changes to panel, pasteboard, setti
|
|||||||
27. Confirm card headers use readable relative ages such as `3 minutes ago` or `2 hours ago`, including when viewing a named collection.
|
27. Confirm card headers use readable relative ages such as `3 minutes ago` or `2 hours ago`, including when viewing a named collection.
|
||||||
28. Confirm the selected card shows a green corner Stack control, the action rail does not duplicate Stack, and clips added to Stack keep a visible corner indicator when selection moves away.
|
28. Confirm the selected card shows a green corner Stack control, the action rail does not duplicate Stack, and clips added to Stack keep a visible corner indicator when selection moves away.
|
||||||
29. Confirm single-line text cards do not repeat the same text in both title and body, while multi-line text cards show the remaining lines below the first line.
|
29. Confirm single-line text cards do not repeat the same text in both title and body, while multi-line text cards show the remaining lines below the first line.
|
||||||
|
30. Confirm the Pinned empty state points to the Pin action instead of a plain-key shortcut.
|
||||||
|
|
||||||
## Copy And Paste
|
## Copy And Paste
|
||||||
|
|
||||||
|
|||||||
@@ -1146,7 +1146,7 @@ final class ClipboardPanelView: NSVisualEffectView, NSSearchFieldDelegate {
|
|||||||
case .audio:
|
case .audio:
|
||||||
return ("No audio yet", "Copied sound clips appear here.")
|
return ("No audio yet", "Copied sound clips appear here.")
|
||||||
case .pinned:
|
case .pinned:
|
||||||
return ("No pinned clips", "New copies appear under Most Recent. Select an item and press P to pin it.")
|
return ("No pinned clips", "Use the Pin action on a card to keep important clips here.")
|
||||||
case .mostRecent, .mostUsed:
|
case .mostRecent, .mostUsed:
|
||||||
return ("No clips in this view", "Switch filters or copy something new.")
|
return ("No clips in this view", "Switch filters or copy something new.")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -829,6 +829,18 @@ final class ClipboardPanelViewTests: XCTestCase {
|
|||||||
XCTAssertEqual(fixture.view.debugEmptyStateText?.detail, "Image clips are saved when the clipboard contains image data.")
|
XCTAssertEqual(fixture.view.debugEmptyStateText?.detail, "Image clips are saved when the clipboard contains image data.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testPinnedEmptyStatePointsToPinAction() {
|
||||||
|
let fixture = makePanelFixture()
|
||||||
|
fixture.store.upsert(makeTextItem("Only text exists", store: fixture.store))
|
||||||
|
drainMainQueue()
|
||||||
|
|
||||||
|
fixture.viewModel.sortMode = .pinned
|
||||||
|
drainMainQueue()
|
||||||
|
|
||||||
|
XCTAssertEqual(fixture.view.debugEmptyStateText?.title, "No pinned clips")
|
||||||
|
XCTAssertEqual(fixture.view.debugEmptyStateText?.detail, "Use the Pin action on a card to keep important clips here.")
|
||||||
|
}
|
||||||
|
|
||||||
func testCardsExposeContextMenuActions() {
|
func testCardsExposeContextMenuActions() {
|
||||||
let fixture = makePanelFixture()
|
let fixture = makePanelFixture()
|
||||||
fixture.store.upsert(makeTextItem("Context menu text", store: fixture.store))
|
fixture.store.upsert(makeTextItem("Context menu text", store: fixture.store))
|
||||||
|
|||||||
Reference in New Issue
Block a user