diff --git a/MeetingBar/Assets.xcassets/vendor-icons/gather_icon.imageset/Contents.json b/MeetingBar/Assets.xcassets/vendor-icons/gather_icon.imageset/Contents.json new file mode 100644 index 00000000..53642138 --- /dev/null +++ b/MeetingBar/Assets.xcassets/vendor-icons/gather_icon.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "gather_icon.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/MeetingBar/Assets.xcassets/vendor-icons/gather_icon.imageset/gather_icon.svg b/MeetingBar/Assets.xcassets/vendor-icons/gather_icon.imageset/gather_icon.svg new file mode 100644 index 00000000..1b9a64b8 --- /dev/null +++ b/MeetingBar/Assets.xcassets/vendor-icons/gather_icon.imageset/gather_icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/MeetingBar/MeetingServices.swift b/MeetingBar/MeetingServices.swift index 68f2f587..80acc083 100644 --- a/MeetingBar/MeetingServices.swift +++ b/MeetingBar/MeetingServices.swift @@ -70,6 +70,7 @@ enum MeetingServices: String, Codable, CaseIterable { case demodesk = "Demodesk" case zoho_cliq = "Zoho Cliq" case slack = "Slack" + case gather = "Gather" case reclaim = "Reclaim.ai" case tuple = "Tuple" case other = "Other" @@ -303,6 +304,7 @@ struct LinksRegex { let slack = try! NSRegularExpression(pattern: #"https?://app\.slack\.com/huddle/[A-Za-z0-9./]+"#) let reclaim = try! NSRegularExpression(pattern: #"https?://reclaim\.ai/z/[A-Za-z0-9./]+"#) let tuple = try! NSRegularExpression(pattern: #"https://tuple\.app/c/[^\s]*"#) + let gather = try! NSRegularExpression(pattern: #"https?://app.gather.town/app/[A-Za-z0-9]+/[A-Za-z0-9_-]+\?(spawnToken|meeting)=[^\s]*"#) } func getRegexForMeetingService(_ service: MeetingServices) -> NSRegularExpression? { diff --git a/MeetingBarTests/MeetingServicesTests.swift b/MeetingBarTests/MeetingServicesTests.swift index 90505d91..8023887d 100644 --- a/MeetingBarTests/MeetingServicesTests.swift +++ b/MeetingBarTests/MeetingServicesTests.swift @@ -32,6 +32,8 @@ let meetings = [ MeetingLink(service: .demodesk, url: URL(string: "https://demodesk.com/NGYLHDWO")!), MeetingLink(service: .zoho_cliq, url: URL(string: "https://cliq.zoho.eu/meetings/alsfsma213")!), MeetingLink(service: .slack, url: URL(string: "https://app.slack.com/huddle/T01ABCDEFGH/C02ABCDEFGH")!), + MeetingLink(service: .gather, url: URL(string: "https://app.gather.town/app/1a2S3d4F5G/1a2S-3d4F_5G6h?spawnToken=1a2S3d4F5G")!), + MeetingLink(service: .gather, url: URL(string: "https://app.gather.town/app/1a2S3d4F5G/1a2S-3d4F_5G6h?meeting=1a2S3d4F5G")!), MeetingLink(service: .vimeo, url: URL(string: "https://venues.vimeo.com/12345678/abcdef123")!), MeetingLink(service: .reclaim, url: URL(string: "https://reclaim.ai/z/T01ABCDEFGH/C02ABCDEFGH")!), MeetingLink(service: .tuple, url: URL(string: "https://tuple.app/c/V1StGXR8_Z5jdHi6B")!)