spb/vrai-prix-ios Public
App iOS native de Vrai-Prix — estimation immobilière transparente pour le Québec (SwiftUI, MapKit, Swift Charts)
Swift 100%
1// Auteur : Simon-Pierre Boucher — contact@spboucher.ai2// Visionneuse des rapports PDF (pdfkit côté serveur, 100 % vectoriels) + partage.3import SwiftUI4import PDFKit56struct PDFViewerView: View {7 let url: URL8 @Environment(\.dismiss) private var dismiss910 var body: some View {11 NavigationStack {12 PDFKitView(url: url)13 .ignoresSafeArea(edges: .bottom)14 .toolbar {15 ToolbarItem(placement: .principal) { Wordmark(size: 17) }16 ToolbarItem(placement: .topBarLeading) {17 Button("Fermer") { dismiss() }18 .font(.vpDisplayMedium(14))19 .foregroundStyle(Color.vpInk)20 }21 ToolbarItem(placement: .topBarTrailing) {22 ShareLink(item: url) {23 Image(systemName: "square.and.arrow.up")24 .foregroundStyle(Color.vpInk)25 }26 }27 }28 .toolbarBackground(Color.vpPaper, for: .navigationBar)29 .toolbarBackground(.visible, for: .navigationBar)30 }31 }32}3334private struct PDFKitView: UIViewRepresentable {35 let url: URL3637 func makeUIView(context: Context) -> PDFView {38 let view = PDFView()39 view.autoScales = true40 view.backgroundColor = UIColor(Color.vpPaper)41 view.document = PDFDocument(url: url)42 return view43 }4445 func updateUIView(_ view: PDFView, context: Context) {46 if view.document?.documentURL != url {47 view.document = PDFDocument(url: url)48 }49 }50}51