ReadKeep/readeck/Domain/UseCase/AddTextToSpeechQueueUseCase.swift
Ilyas Hallak 09f1ddea58 Add text-to-speech functionality
- Add TTSManager and SpeechQueue utilities
- Create AddTextToSpeechQueueUseCase and ReadBookmarkUseCase
- Add SpeechPlayer UI components (GlobalPlayerContainerView, SpeechPlayerView, SpeechPlayerViewModel)
- Update BookmarkDetailView and BookmarkDetailViewModel for TTS integration
- Add audio background mode to Info.plist
- Update PhoneTabView for TTS controls
- Add StringExtensions for text processing
- Add StringExtensionsTests for testing
- Update Localizable.xcstrings with new strings
- Add VS Code settings
2025-07-09 22:31:17 +02:00

20 lines
503 B
Swift

import Foundation
class AddTextToSpeechQueueUseCase {
private let speechQueue: SpeechQueue
init(speechQueue: SpeechQueue = .shared) {
self.speechQueue = speechQueue
}
func execute(bookmarkDetail: BookmarkDetail) {
var text = bookmarkDetail.title + "\n"
if let content = bookmarkDetail.content {
text += content.stripHTML
} else {
text += bookmarkDetail.description.stripHTML
}
speechQueue.enqueue(text)
}
}