pageta-native/Sources/Core/PlatformClipboard.swift
Till JS eb20dcefe2 feat: Long-Press-Kontextmenüs für alle Listen
Lese-Liste: Favorit-Toggle, Gelesen/Ungelesen, Archivieren, Original
öffnen, Teilen, Link kopieren (Löschen bleibt dem Archiv vorbehalten).
Archiv: Wiederherstellen, öffnen, teilen, kopieren, Löschen.
Markierungen: Markierung kopieren, Notiz, Farbe (Submenu), Teilen,
Löschen.
Feed: In Lese-Liste speichern, öffnen, teilen, kopieren.

Neuer geteilter PlatformClipboard-Helfer (UIKit/AppKit) statt 4×
desselben #if-Snippets. .contextMenu = iOS Long-Press + macOS Rechtsklick.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 02:50:12 +02:00

22 lines
677 B
Swift

import SwiftUI
#if canImport(UIKit)
import UIKit
#elseif canImport(AppKit)
import AppKit
#endif
/// Plattform-übergreifendes Kopieren in die Zwischenablage. iOS nutzt
/// `UIPasteboard`, macOS `NSPasteboard`. Wird von den Listen-Kontext-
/// menüs (Lese-Liste, Archiv, Markierungen, Feed) für „Link kopieren"
/// und „Markierung kopieren" geteilt — sonst läge dasselbe `#if`-Snippet
/// in vier Views.
enum PlatformClipboard {
static func copy(_ text: String) {
#if canImport(UIKit)
UIPasteboard.general.string = text
#elseif canImport(AppKit)
NSPasteboard.general.clearContents()
NSPasteboard.general.setString(text, forType: .string)
#endif
}
}