// // PreferenceStore+Migrate.swift // TuskerPreferences // // Created by Shadowfacts on 4/13/24. // import Foundation extension PreferenceStore { func migrate(from legacy: LegacyPreferences) { self.theme = switch legacy.theme { case .light: .light case .dark: .dark default: .unspecified } self.pureBlackDarkMode = legacy.pureBlackDarkMode self.accentColor = legacy.accentColor self.avatarStyle = legacy.avatarStyle self.hideCustomEmojiInUsernames = legacy.hideCustomEmojiInUsernames self.showIsStatusReplyIcon = legacy.showIsStatusReplyIcon self.alwaysShowStatusVisibilityIcon = legacy.alwaysShowStatusVisibilityIcon self.hideActionsInTimeline = legacy.hideActionsInTimeline self.showLinkPreviews = legacy.showLinkPreviews self.leadingStatusSwipeActions = legacy.leadingStatusSwipeActions self.trailingStatusSwipeActions = legacy.trailingStatusSwipeActions if legacy.widescreenNavigationMode != .splitScreen { self.widescreenNavigationMode = legacy.widescreenNavigationMode } self.underlineTextLinks = legacy.underlineTextLinks self.showAttachmentsInTimeline = legacy.showAttachmentsInTimeline self.defaultPostVisibility = legacy.defaultPostVisibility self.defaultReplyVisibility = legacy.defaultReplyVisibility self.requireAttachmentDescriptions = legacy.requireAttachmentDescriptions self.contentWarningCopyMode = legacy.contentWarningCopyMode self.mentionReblogger = legacy.mentionReblogger self.useTwitterKeyboard = legacy.useTwitterKeyboard self.attachmentBlurMode = legacy.attachmentBlurMode self.blurMediaBehindContentWarning = legacy.blurMediaBehindContentWarning self.automaticallyPlayGifs = legacy.automaticallyPlayGifs self.showUncroppedMediaInline = legacy.showUncroppedMediaInline self.showAttachmentBadges = legacy.showAttachmentBadges self.attachmentAltBadgeInverted = legacy.attachmentAltBadgeInverted self.openLinksInApps = legacy.openLinksInApps self.useInAppSafari = legacy.useInAppSafari self.inAppSafariAutomaticReaderMode = legacy.inAppSafariAutomaticReaderMode self.expandAllContentWarnings = legacy.expandAllContentWarnings self.collapseLongPosts = legacy.collapseLongPosts self.oppositeCollapseKeywords = legacy.oppositeCollapseKeywords self.confirmBeforeReblog = legacy.confirmBeforeReblog self.timelineStateRestoration = legacy.timelineStateRestoration self.timelineSyncMode = legacy.timelineSyncMode self.hideReblogsInTimelines = legacy.hideReblogsInTimelines self.hideRepliesInTimelines = legacy.hideRepliesInTimelines self.showFavoriteAndReblogCounts = legacy.showFavoriteAndReblogCounts self.defaultNotificationsMode = legacy.defaultNotificationsMode self.grayscaleImages = legacy.grayscaleImages self.disableInfiniteScrolling = legacy.disableInfiniteScrolling self.hideTrends = legacy.hideTrends self.statusContentType = legacy.statusContentType self.reportErrorsAutomatically = legacy.reportErrorsAutomatically self.enabledFeatureFlags = legacy.enabledFeatureFlags self.hasShownLocalTimelineDescription = legacy.hasShownLocalTimelineDescription self.hasShownFederatedTimelineDescription = legacy.hasShownFederatedTimelineDescription } }