Nativer Client für den zentralen Feedback-Eingang der Wunsch-App, Pendant zu @mana/shared-feedback. FeedbackKind/Platform/Submission/ Result/Error + FeedbackClient.submit() mit tokenProvider-Closure + Auto-Kontext. Foundation-only, kein neues Product. 4 Unit-Tests grün. mana/docs/FEEDBACK_NATIVE_PLAN.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
32 lines
930 B
Swift
32 lines
930 B
Swift
import Foundation
|
|
|
|
/// Sorte einer Feedback-Einreichung — deckt sich 1:1 mit dem
|
|
/// Wunsch-App-Backend (`wunsch.mana.how/api/feedback`) und dem Web-Widget
|
|
/// `@mana/shared-feedback`. Siehe `mana/docs/FEEDBACK_STRATEGIE.md`.
|
|
public enum FeedbackKind: String, Sendable, CaseIterable, Codable {
|
|
/// Funktionswunsch / Idee.
|
|
case wunsch
|
|
/// Fehlermeldung.
|
|
case bug
|
|
/// Allgemeine Rückmeldung.
|
|
case feedback
|
|
}
|
|
|
|
/// Plattform-Kennung, die mit jeder Einreichung mitgeschickt wird. Das
|
|
/// Backend kennt `web|ios|macos|android` (siehe
|
|
/// `wunsch/drizzle/0003_feedback_central.sql`).
|
|
public enum FeedbackPlatform: String, Sendable, Codable {
|
|
case ios
|
|
case macos
|
|
case web
|
|
case android
|
|
|
|
/// Die Plattform, auf der dieser Code gerade läuft.
|
|
public static var current: FeedbackPlatform {
|
|
#if os(macOS)
|
|
return .macos
|
|
#else
|
|
return .ios
|
|
#endif
|
|
}
|
|
}
|