42 lines
1.2 KiB
Swift
42 lines
1.2 KiB
Swift
//
|
|
// ServerSection.swift
|
|
// PrivadoVPN
|
|
//
|
|
// Created by Murad Shabanov on 18.05.2022.
|
|
// Copyright © 2022 Privado LLC. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
struct ServerSectionIdentifier: Hashable, RawRepresentable, Codable {
|
|
public let rawValue: String
|
|
}
|
|
|
|
protocol ServerSection: NSViewController {
|
|
|
|
typealias Identifier = ServerSectionIdentifier
|
|
|
|
var sectionIdentifier: Identifier { get }
|
|
var sectionTitle: String { get }
|
|
var sectionDefaultImageName: String { get }
|
|
var sectionSelectedImageName: String { get }
|
|
}
|
|
|
|
enum ServerSectionIdentifiers {
|
|
static let allServers = ServerSectionIdentifier(rawValue: "AllServers")
|
|
static let favouriteServers = ServerSectionIdentifier(rawValue: "FavouriteServers")
|
|
}
|
|
|
|
enum ServerSectionTitleLocalized {
|
|
static let allServers = NSLocalizedString("serverlist.section.all", comment: "")
|
|
static let favouriteServers = NSLocalizedString("serverlist.section.favourite", comment: "")
|
|
}
|
|
|
|
enum ServerSectionImageNames {
|
|
static let allServersDefault = "allserversDefault"
|
|
static let allServersSelected = "allserversSelected"
|
|
static let favoriteServersDefault = "favserversDefault"
|
|
static let favouriteServersSelected = "favserversSelected"
|
|
}
|
|
|