Blink/Views/FocusedImage/FocusedImage.swift
- 959 bytes
- View raw
1import SwiftUI
2import Photos
4/// Render the big image that gets shown in the main view.
5struct FocusedImage: View, Identifiable {
6 var id: String {
7 asset.localIdentifier
8 }
10 var asset: PHAsset
11 @ObservedObject var focusedAssetImage: PHAssetImage
13 var body: some View {
14 Image(nsImage: focusedAssetImage.image)
15 .resizable()
16 .draggable(Image(nsImage: focusedAssetImage.image))
17 .aspectRatio(contentMode: .fit)
18 .albumInfo(for: asset)
19 .loadingIndicator(isLoading: focusedAssetImage.isDegraded)
20 .contextMenu {
21 Button {
22 NSPasteboard.general.clearContents()
23 NSPasteboard.general.writeObjects([focusedAssetImage.image])
24 } label: {
25 Label("Copy", systemImage: "doc.on.doc")
26 .labelStyle(.titleAndIcon)
27 }
28 }
29 }
30}