|
@@ -12,6 +12,9 @@ final class CommentWriterViewModel {
|
|
|
var variants: [CommentVariant] = []
|
|
var variants: [CommentVariant] = []
|
|
|
var selectedVariantID: UUID?
|
|
var selectedVariantID: UUID?
|
|
|
var showOverwriteConfirmation = false
|
|
var showOverwriteConfirmation = false
|
|
|
|
|
+ /// True after a successful Generate or History restore. Cleared on Reset.
|
|
|
|
|
+ /// Controls whether the comment result field is shown in Compose.
|
|
|
|
|
+ private(set) var hasGeneratedContent = false
|
|
|
|
|
|
|
|
private var hasPremiumAccess = false
|
|
private var hasPremiumAccess = false
|
|
|
private var hasEverPurchasedPremium = false
|
|
private var hasEverPurchasedPremium = false
|
|
@@ -182,6 +185,7 @@ final class CommentWriterViewModel {
|
|
|
|
|
|
|
|
func resetDraft() {
|
|
func resetDraft() {
|
|
|
draft = CommentDraft()
|
|
draft = CommentDraft()
|
|
|
|
|
+ hasGeneratedContent = false
|
|
|
selectedTab = .compose
|
|
selectedTab = .compose
|
|
|
variants = []
|
|
variants = []
|
|
|
selectedVariantID = nil
|
|
selectedVariantID = nil
|
|
@@ -195,6 +199,7 @@ final class CommentWriterViewModel {
|
|
|
draft = storedDraft.commentDraft
|
|
draft = storedDraft.commentDraft
|
|
|
variants = storedVariants.map(\.commentVariant)
|
|
variants = storedVariants.map(\.commentVariant)
|
|
|
selectedVariantID = selectedID
|
|
selectedVariantID = selectedID
|
|
|
|
|
+ hasGeneratedContent = true
|
|
|
selectedTab = variants.isEmpty ? .compose : .preview
|
|
selectedTab = variants.isEmpty ? .compose : .preview
|
|
|
clearMessages()
|
|
clearMessages()
|
|
|
successMessage = "Restored from history."
|
|
successMessage = "Restored from history."
|
|
@@ -238,6 +243,7 @@ final class CommentWriterViewModel {
|
|
|
variants: variants,
|
|
variants: variants,
|
|
|
selectedVariantID: selectedVariantID
|
|
selectedVariantID: selectedVariantID
|
|
|
))
|
|
))
|
|
|
|
|
+ hasGeneratedContent = true
|
|
|
let engine = usedLiveAI ? "AI" : "local AI templates"
|
|
let engine = usedLiveAI ? "AI" : "local AI templates"
|
|
|
successMessage = "Generated comment with \(result.variants.count) variants using \(engine)."
|
|
successMessage = "Generated comment with \(result.variants.count) variants using \(engine)."
|
|
|
} catch {
|
|
} catch {
|