15 Commits

Author SHA1 Message Date
Beingpax
bf3c035e58 Add rollback for failed dictionary operations 2025-12-28 12:32:14 +05:45
Beingpax
a631043167 Add error handling for dictionary save operations 2025-12-28 12:19:36 +05:45
Beingpax
60125c316b Migrate dictionary data from UserDefaults to SwiftData
Migrates vocabulary words and word replacements from UserDefaults to SwiftData for better data management and persistence.

Changes:
- Create VocabularyWord and WordReplacement SwiftData models
- Add dual ModelConfiguration setup (default.store for transcripts, dictionary.store for dictionary data)
- Implement DictionaryMigrationService for one-time UserDefaults→SwiftData migration
- Rename "Correct Spellings" to "Vocabulary" for clearer terminology
- Update all dictionary views to use @Query instead of manager classes
- Update all services to fetch from SwiftData using FetchDescriptor
- Enhance word replacement duplicate detection (now checks during add AND edit)
- Update import/export services to work with SwiftData
- Preserve all existing functionality with improved data integrity

Technical details:
- Separate store files: default.store (transcripts) + dictionary.store (vocabulary + replacements)
- Migration flag: "HasMigratedDictionaryToSwiftData_v2"
- All CRUD operations properly implemented with duplicate detection
2025-12-28 12:09:43 +05:45
Beingpax
01c12cdd2d Refactor word replacements with inline UI 2025-12-27 20:19:33 +05:45
Beingpax
a363745f36 Prevent duplicate word replacements 2025-12-27 18:24:33 +05:45
Beingpax
5f59b61ee8 Remove toggle switch for word replacements 2025-11-07 10:47:25 +05:45
Beingpax
7f729a9021 Add ability to sort dictionary items for text replacement 2025-10-04 16:21:16 +05:45
Beingpax
61ba16ed92 Lable correction 2025-09-12 12:17:21 +05:45
Beingpax
7161bc3f71 Improved the comma seperated replacement values to be consolidated 2025-09-12 11:58:26 +05:45
Beingpax
f1fb2168c2 Added support for comma-separated words for word replacement. 2025-09-12 11:21:00 +05:45
Beingpax
2a9ead63de Add edit functionality to word replacements 2025-08-02 00:43:15 +05:45
Beingpax
8c44efad64 Consistent background card 2025-06-30 11:27:45 +05:45
Beingpax
8e4b8ffee1 Enhance word replacement functionality 2025-06-24 18:51:07 +05:45
Beingpax
147daa5f5f Revamp word replacement with direct regex implementation 2025-03-18 10:47:08 +05:45
Beingpax
76a154706c Initial commit: Open-sourcing VoiceInk 2025-02-22 11:52:41 +05:45