diff --git a/RiotSwiftUI/Modules/UserSessions/DeviceType/DeviceType+Element.swift b/RiotSwiftUI/Modules/UserSessions/DeviceType/DeviceType+Element.swift new file mode 100644 index 000000000..ecbad3537 --- /dev/null +++ b/RiotSwiftUI/Modules/UserSessions/DeviceType/DeviceType+Element.swift @@ -0,0 +1,58 @@ +// +// Copyright 2022 New Vector Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +import Foundation +import SwiftUI + +extension DeviceType { + + var image: Image { + + let image: Image + + switch self { + case .desktop: + image = Image(Asset.Images.deviceTypeDesktop.name) + case .web: + image = Image(Asset.Images.deviceTypeWeb.name) + case .mobile: + image = Image(Asset.Images.deviceTypeMobile.name) + case .unknown: + image = Image(Asset.Images.deviceTypeUnknown.name) + } + + return image + } + + var name: String { + let name: String + + let appName = AppInfo.current.displayName + + switch self { + case .desktop: + name = VectorL10n.deviceNameDesktop(appName) + case .web: + name = VectorL10n.deviceNameWeb(appName) + case .mobile: + name = VectorL10n.deviceNameMobile(appName) + case .unknown: + name = VectorL10n.deviceNameUnknown + } + + return name + } +} diff --git a/RiotSwiftUI/Modules/UserSessions/DeviceType/DeviceType.swift b/RiotSwiftUI/Modules/UserSessions/DeviceType/DeviceType.swift new file mode 100644 index 000000000..1ae053b1a --- /dev/null +++ b/RiotSwiftUI/Modules/UserSessions/DeviceType/DeviceType.swift @@ -0,0 +1,26 @@ +// +// Copyright 2022 New Vector Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +import Foundation +import SwiftUI + +/// Client type +enum DeviceType { + case desktop + case web + case mobile + case unknown +}