imessage_database/message_types/expressives.rs
1/*!
2 [Expressives](https://support.apple.com/en-us/HT206894) are effects that you can select by tapping and holding the send button.
3*/
4
5/// Bubble effects are effects that alter the display of the chat bubble.
6///
7/// Read more [here](https://www.imore.com/how-to-use-bubble-and-screen-effects-imessage-iphone-ipad).
8#[derive(Debug, PartialEq, Eq)]
9pub enum BubbleEffect {
10 Slam,
11 Loud,
12 Gentle,
13 InvisibleInk,
14}
15
16/// Screen effects are effects that alter the entire background of the message view.
17///
18/// Read more [here](https://www.imore.com/how-to-use-bubble-and-screen-effects-imessage-iphone-ipad).
19#[derive(Debug, PartialEq, Eq)]
20pub enum ScreenEffect {
21 Confetti,
22 Echo,
23 Fireworks,
24 Balloons,
25 Heart,
26 Lasers,
27 ShootingStar,
28 Sparkles,
29 Spotlight,
30}
31
32/// Expressive effect container.
33///
34/// Read more about expressive messages [here](https://www.imore.com/how-to-use-bubble-and-screen-effects-imessage-iphone-ipad).
35///
36/// Bubble:
37/// - `com.apple.MobileSMS.expressivesend.gentle`
38/// - `com.apple.MobileSMS.expressivesend.impact`
39/// - `com.apple.MobileSMS.expressivesend.invisibleink`
40/// - `com.apple.MobileSMS.expressivesend.loud`
41///
42/// Screen:
43/// - `com.apple.messages.effect.CKConfettiEffect`
44/// - `com.apple.messages.effect.CKEchoEffect`
45/// - `com.apple.messages.effect.CKFireworksEffect`
46/// - `com.apple.messages.effect.CKHappyBirthdayEffect`
47/// - `com.apple.messages.effect.CKHeartEffect`
48/// - `com.apple.messages.effect.CKLasersEffect`
49/// - `com.apple.messages.effect.CKShootingStarEffect`
50/// - `com.apple.messages.effect.CKSparklesEffect`
51/// - `com.apple.messages.effect.CKSpotlightEffect`
52#[derive(Debug, PartialEq, Eq)]
53pub enum Expressive<'a> {
54 /// Effects that use the entire screen
55 Screen(ScreenEffect),
56 /// Effects that display on a single bubble
57 Bubble(BubbleEffect),
58 /// Container for new or unknown messages
59 Unknown(&'a str),
60 /// Message is not an expressive
61 None,
62}