mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-20 23:37:33 +09:00
Dactyloidae iOS initial commit
This commit is contained in:
parent
daa6179d22
commit
7154a0497e
2123 changed files with 197052 additions and 0 deletions
69
mobile/ios/Client/Frontend/Home/HomePanels.swift
Normal file
69
mobile/ios/Client/Frontend/Home/HomePanels.swift
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Shared
|
||||
|
||||
/**
|
||||
* Data for identifying and constructing a HomePanel.
|
||||
*/
|
||||
struct HomePanelDescriptor {
|
||||
let makeViewController: (_ profile: Profile) -> UIViewController
|
||||
let imageName: String
|
||||
let accessibilityLabel: String
|
||||
let accessibilityIdentifier: String
|
||||
}
|
||||
|
||||
class HomePanels {
|
||||
let enabledPanels = [
|
||||
HomePanelDescriptor(
|
||||
makeViewController: { profile in
|
||||
return ActivityStreamPanel(profile: profile)
|
||||
},
|
||||
imageName: "TopSites",
|
||||
accessibilityLabel: NSLocalizedString("Top sites", comment: "Panel accessibility label"),
|
||||
accessibilityIdentifier: "HomePanels.TopSites"),
|
||||
|
||||
HomePanelDescriptor(
|
||||
makeViewController: { profile in
|
||||
let bookmarks = BookmarksPanel()
|
||||
bookmarks.profile = profile
|
||||
let controller = UINavigationController(rootViewController: bookmarks)
|
||||
controller.setNavigationBarHidden(true, animated: false)
|
||||
// this re-enables the native swipe to pop gesture on UINavigationController for embedded, navigation bar-less UINavigationControllers
|
||||
// don't ask me why it works though, I've tried to find an answer but can't.
|
||||
// found here, along with many other places:
|
||||
// http://luugiathuy.com/2013/11/ios7-interactivepopgesturerecognizer-for-uinavigationcontroller-with-hidden-navigation-bar/
|
||||
controller.interactivePopGestureRecognizer?.delegate = nil
|
||||
return controller
|
||||
},
|
||||
imageName: "Bookmarks",
|
||||
accessibilityLabel: NSLocalizedString("Bookmarks", comment: "Panel accessibility label"),
|
||||
accessibilityIdentifier: "HomePanels.Bookmarks"),
|
||||
|
||||
HomePanelDescriptor(
|
||||
makeViewController: { profile in
|
||||
let history = HistoryPanel()
|
||||
history.profile = profile
|
||||
let controller = UINavigationController(rootViewController: history)
|
||||
controller.setNavigationBarHidden(true, animated: false)
|
||||
controller.interactivePopGestureRecognizer?.delegate = nil
|
||||
return controller
|
||||
},
|
||||
imageName: "History",
|
||||
accessibilityLabel: NSLocalizedString("History", comment: "Panel accessibility label"),
|
||||
accessibilityIdentifier: "HomePanels.History"),
|
||||
|
||||
HomePanelDescriptor(
|
||||
makeViewController: { profile in
|
||||
let controller = ReadingListPanel()
|
||||
controller.profile = profile
|
||||
return controller
|
||||
},
|
||||
imageName: "ReadingList",
|
||||
accessibilityLabel: NSLocalizedString("Reading list", comment: "Panel accessibility label"),
|
||||
accessibilityIdentifier: "HomePanels.ReadingList"),
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue