diff --git a/packages/react-native-activity-kit/ios/ActivityKitCore.swift b/packages/react-native-activity-kit/ios/ActivityKitCore.swift index 8ac8e34..7cee7ed 100644 --- a/packages/react-native-activity-kit/ios/ActivityKitCore.swift +++ b/packages/react-native-activity-kit/ios/ActivityKitCore.swift @@ -1,5 +1,6 @@ import ActivityKit import SwiftUI +import WidgetKit // App Extension-safe implementation of ActivityKit types // This file can be used in App Extensions without React Native dependencies @@ -355,3 +356,16 @@ open class ActivityKitModuleAttributes: GenericDictionary, ActivityAttributes { try super.init(from: decoder) } } + +open class WidgetKitTimelineEntry: TimelineEntry { + public var data: Dictionary? + + public var date: Date + public var relevance: TimelineEntryRelevance? + + init(date: Date, relevance: TimelineEntryRelevance? = nil, data: Dictionary? = nil) { + self.date = date + self.relevance = relevance + self.data = data + } +} diff --git a/packages/react-native-activity-kit/src/specs/WidgetKitModule.nitro.ts b/packages/react-native-activity-kit/src/specs/WidgetKitModule.nitro.ts new file mode 100644 index 0000000..ae8a8d5 --- /dev/null +++ b/packages/react-native-activity-kit/src/specs/WidgetKitModule.nitro.ts @@ -0,0 +1,30 @@ +// TODO: Export specs that extend HybridObject<...> here + +import type { AnyMap } from 'react-native-nitro-modules' +import type { HybridObject } from 'react-native-nitro-modules/lib/typescript/HybridObject' +import type { ActivityProxy } from './ActivityProxy.nitro' + + +export interface WidgetKitModule extends HybridObject<{ ios: 'swift' }> { + reloadTimeline( + ofKind: string, + ): void + + reloadAllTimelines(): void + + reloadControls( + ofKind: string, + ): void + + reloadAllControls(): void + + currentConfigurations(): Promise> + + invalidateRelevance( + ofKind: string, + ): void + + invalidateConfigurationRecommendations( + + ): void +}