Handle Session Interaction
Nucleic-Session: B08BD1C3-178D-44BD-827A-331F72A95821 Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
@@ -109,10 +109,23 @@ private struct LockScreenView: View {
|
||||
// MARK: - Shared pieces
|
||||
|
||||
/// One session: state glyph + title + "project · Backend" + a right-aligned status/diff.
|
||||
///
|
||||
/// Each row is its own tap target: wrapped in a `Link` to `nucleic://session/<id>`, so tapping a
|
||||
/// specific session on the lock screen or expanded Dynamic Island opens *that* session — overriding
|
||||
/// the activity-wide `widgetURL` (which still governs the header, churn footer, and empty space, and
|
||||
/// remains the only tap target the compact/minimal presentations can offer).
|
||||
private struct SessionRow: View {
|
||||
let line: NucleicSessionAttributes.SessionLine
|
||||
|
||||
var body: some View {
|
||||
if let url = NucleicDeepLink.session(line.id) {
|
||||
Link(destination: url) { rowContent }
|
||||
} else {
|
||||
rowContent
|
||||
}
|
||||
}
|
||||
|
||||
private var rowContent: some View {
|
||||
HStack(spacing: 8) {
|
||||
Image(systemName: ActivityPalette.glyph(line.kind))
|
||||
.font(.footnote)
|
||||
|
||||
Reference in New Issue
Block a user