Browse Source

Add Account Field table

master
Dwayne Harris 6 years ago
parent
commit
396a06f578
  1. 10
      elpha-ios.xcodeproj/project.pbxproj
  2. 13
      elpha-ios/AbstractStatusTableViewController.swift
  3. 91
      elpha-ios/AccountTableViewController.swift
  4. 43
      elpha-ios/AttachmentManager.swift
  5. 244
      elpha-ios/Base.lproj/Main.storyboard
  6. 14
      elpha-ios/FieldTableViewCell.swift
  7. 6
      elpha-ios/MastodonDataManager.swift
  8. 2
      elpha-ios/StatusTableViewController.swift
  9. 4
      elpha-ios/String+HtmlAttributed.swift
  10. 2
      elpha-ios/TimelineTableViewController.swift
  11. 2
      elpha-ios/UITextViewFixed.swift

10
elpha-ios.xcodeproj/project.pbxproj

@ -22,6 +22,7 @@
152FBCE621978C4A0079B3E8 /* CellHeightManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 152FBCE521978C4A0079B3E8 /* CellHeightManager.swift */; };
152FBCED219799FC0079B3E8 /* FLAnimatedImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 152FBCEC219799E50079B3E8 /* FLAnimatedImage.framework */; };
152FBCEE219799FC0079B3E8 /* FLAnimatedImage.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 152FBCEC219799E50079B3E8 /* FLAnimatedImage.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
152FBCF2219818AD0079B3E8 /* FieldTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 152FBCF1219818AD0079B3E8 /* FieldTableViewCell.swift */; };
1539509121894A38009BA6E7 /* AlertManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1539509021894A38009BA6E7 /* AlertManager.swift */; };
156FF015217289380074D9CA /* AccountTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 156FF014217289380074D9CA /* AccountTableViewCell.swift */; };
156FF0312174797E0074D9CA /* StatusTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 156FF0302174797E0074D9CA /* StatusTableViewController.swift */; };
@ -249,6 +250,7 @@
152FBCD1219682E80079B3E8 /* AbstractStatusTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AbstractStatusTableViewController.swift; sourceTree = "<group>"; };
152FBCE521978C4A0079B3E8 /* CellHeightManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CellHeightManager.swift; sourceTree = "<group>"; };
152FBCE7219799E50079B3E8 /* FLAnimatedImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = FLAnimatedImage.xcodeproj; path = Frameworks/FLAnimatedImage/FLAnimatedImage.xcodeproj; sourceTree = "<group>"; };
152FBCF1219818AD0079B3E8 /* FieldTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FieldTableViewCell.swift; sourceTree = "<group>"; };
1539509021894A38009BA6E7 /* AlertManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertManager.swift; sourceTree = "<group>"; };
156FF014217289380074D9CA /* AccountTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountTableViewCell.swift; sourceTree = "<group>"; };
156FF0302174797E0074D9CA /* StatusTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusTableViewController.swift; sourceTree = "<group>"; };
@ -354,17 +356,18 @@
name = "Reusable Views";
sourceTree = "<group>";
};
151AD4AE2166DD3500F07403 /* Views */ = {
151AD4AE2166DD3500F07403 /* Table View Cells */ = {
isa = PBXGroup;
children = (
156FF014217289380074D9CA /* AccountTableViewCell.swift */,
152FBCF1219818AD0079B3E8 /* FieldTableViewCell.swift */,
159048AE214F5015004F4014 /* InstancesTableViewCell.swift */,
156FF04E2175CDBC0074D9CA /* MainStatusTableViewCell.swift */,
156FF050217683270074D9CA /* StatusTableViewCell.swift */,
15BB72AA2171A8D4002F1FA4 /* TimelinesTableViewCell.swift */,
159026AD2162CF5600D362DD /* TimelineTableViewCell.swift */,
);
name = Views;
name = "Table View Cells";
sourceTree = "<group>";
};
151AD4AF2166DDA000F07403 /* Extensions */ = {
@ -471,7 +474,7 @@
151AD4AB2166DCEE00F07403 /* Storyboards */,
152FBCE4219789450079B3E8 /* Abstract View Controllers */,
15960E782132383600C38CE9 /* View Controllers */,
151AD4AE2166DD3500F07403 /* Views */,
151AD4AE2166DD3500F07403 /* Table View Cells */,
);
path = "elpha-ios";
sourceTree = "<group>";
@ -733,6 +736,7 @@
files = (
1539509121894A38009BA6E7 /* AlertManager.swift in Sources */,
152FB0FA218ADDD0001D6574 /* AttachmentViewController.swift in Sources */,
152FBCF2219818AD0079B3E8 /* FieldTableViewCell.swift in Sources */,
159048AF214F5015004F4014 /* InstancesTableViewCell.swift in Sources */,
15960E84213774FC00C38CE9 /* InstancesTableViewController.swift in Sources */,
15960E7021321FA500C38CE9 /* Elpha.xcdatamodeld in Sources */,

13
elpha-ios/AbstractStatusTableViewController.swift

@ -11,10 +11,21 @@ import SafariServices
class AbstractStatusTableViewController: UITableViewController, StatusViewDelegate {
let fetchLimit = 20
var loading: Bool = false
var currentPaginationContext: String = ""
var cellHeightsDictionary: NSMutableDictionary = [:]
var loading: Bool = false {
didSet {
DispatchQueue.main.async {
if self.loading {
self.refreshControl?.beginRefreshing()
} else {
self.refreshControl?.endRefreshing()
}
}
}
}
func accountTapped(account: AccountMO) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)

91
elpha-ios/AccountTableViewController.swift

@ -11,20 +11,73 @@ import CoreData
import UIKit
import SafariServices
class FieldTableViewController: NSObject, UITableViewDelegate, UITableViewDataSource {
var fields: [AccountField]? = nil
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return fields?.count ?? 0
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "FieldTableViewCell", for: indexPath) as? FieldTableViewCell else {
fatalError("Unable to find reusable cell")
}
if let fields = fields {
let field = fields[indexPath.row]
cell.nameLabel.text = field.name
do {
let htmlString = """
<style>
html * {
font-family: -apple-system !important;
font-size: 12px !important;
font-weight: bold;
color: \(UIColor(named: "Text")!.hexString()) !important;
text-align: right !important;
}
</style>
\(field.value)
"""
if let data = htmlString.data(using: String.Encoding.utf16) {
cell.valueLabel.attributedText = try NSAttributedString(
data: data,
options: [.documentType: NSAttributedString.DocumentType.html],
documentAttributes: nil
)
}
} catch {
print("\(error)")
}
}
return cell
}
}
class AccountTableViewController: AbstractStatusTableViewController {
@IBOutlet var headerView: UIView!
@IBOutlet var headerImageView: UIImageView!
@IBOutlet var avatarImageView: UIImageView!
@IBOutlet var displayNameLabel: UILabel!
@IBOutlet var usernameLabel: UILabel!
@IBOutlet var contentLabel: UILabel!
@IBOutlet var statusesLabel: UILabel!
@IBOutlet var followingLabel: UILabel!
@IBOutlet var followersLabel: UILabel!
@IBOutlet var statusTypeSegmentedControl: UISegmentedControl!
@IBOutlet var contentTextView: UITextViewFixed!
@IBOutlet var fieldTableView: UITableView!
var fetchedResultsController: NSFetchedResultsController<StatusMO>? = nil
var account: AccountMO? = nil
var fieldTableViewController: FieldTableViewController? = nil
override var currentPaginationContext: String {
get {
@ -32,12 +85,7 @@ class AccountTableViewController: AbstractStatusTableViewController {
return ""
}
switch statusTypeSegmentedControl.selectedSegmentIndex {
case 3:
return "timeline:favorites"
case let index:
return "account:\(account.acct!):\(index)"
}
return "account:\(account.acct!):\(statusTypeSegmentedControl.selectedSegmentIndex)"
}
set {
@ -71,18 +119,35 @@ class AccountTableViewController: AbstractStatusTableViewController {
usernameLabel.text = "@\(account.acct!)"
if let note = account.note {
contentLabel.attributedText = note.htmlAttributed(size: 15, centered: true)
contentTextView.attributedText = note.htmlAttributed(size: 15, centered: true)
}
statusesLabel.text = NumberFormatter.localizedString(from: NSNumber(value: account.statusesCount), number: .decimal)
followingLabel.text = NumberFormatter.localizedString(from: NSNumber(value: account.followingCount), number: .decimal)
followersLabel.text = NumberFormatter.localizedString(from: NSNumber(value: account.followersCount), number: .decimal)
if let fields = account.fields {
fieldTableViewController!.fields = fields
fieldTableView.dataSource = fieldTableViewController
fieldTableView.delegate = fieldTableViewController
fieldTableView.isHidden = false
} else {
fieldTableView.isHidden = true
}
}
override func viewDidLoad() {
super.viewDidLoad()
refreshControl?.addTarget(self, action: #selector(self.fetch), for: .valueChanged)
fieldTableViewController = FieldTableViewController()
avatarImageView.layer.shadowColor = UIColor.black.cgColor
avatarImageView.layer.shadowOpacity = 0.8
avatarImageView.layer.shadowOffset = CGSize.zero
avatarImageView.layer.shadowRadius = 10
if self.account == nil {
if let session = AuthenticationManager.session {
@ -213,12 +278,6 @@ class AccountTableViewController: AbstractStatusTableViewController {
pagination: pagination,
completion: requestCompletion
)
case 3:
MastodonAPI.favorites(
limit: fetchLimit,
pagination: pagination,
completion: requestCompletion
)
default:
MastodonAPI.statuses(
accountID: account.id!,
@ -247,8 +306,6 @@ extension AccountTableViewController: NSFetchedResultsControllerDelegate {
request.predicate = NSPredicate(format: "account == %@", account)
case 2:
request.predicate = NSPredicate(format: "account == %@ AND attachments.@count > 0", account)
case 3:
request.predicate = NSPredicate(format: "favorited == YES")
default:
request.predicate = NSPredicate(format: "account == %@ AND inReplyToID == nil", account)
}
@ -284,7 +341,7 @@ extension AccountTableViewController: NSFetchedResultsControllerDelegate {
}
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return CellHeightManager.get(status: fetchedResultsController?.object(at: indexPath))
}

43
elpha-ios/AttachmentManager.swift

@ -7,6 +7,7 @@
//
import AlamofireImage
import FLAnimatedImage
import UIKit
protocol AttachmentManagerDelegate {
@ -16,6 +17,10 @@ protocol AttachmentManagerDelegate {
class AttachmentManager: NSObject {
var delegate: AttachmentManagerDelegate? = nil
static private var downloader = ImageDownloader()
static private var imageCache = AutoPurgingImageCache()
static private let placeholderImage = UIImage(named: "Placeholder")
@objc func attachmentTapped(_ gestureRecognizer: UITapGestureRecognizer) {
if let delegate = delegate, let name = gestureRecognizer.name {
delegate.attachmentTapped(index: Int(name)!)
@ -40,8 +45,7 @@ class AttachmentManager: NSObject {
let filter = AspectScaledToFillSizeFilter(size: CGSize(width: view.frame.width, height: view.frame.width))
let attachment = attachments.firstObject as! AttachmentMO
let imageView = UIImageView()
imageView.contentMode = UIImageView.ContentMode.scaleAspectFill
let imageView = FLAnimatedImageView()
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(attachmentTapped))
tapGestureRecognizer.delegate = self
@ -51,11 +55,20 @@ class AttachmentManager: NSObject {
imageView.addGestureRecognizer(tapGestureRecognizer)
imageView.isUserInteractionEnabled = true
imageView.contentMode = UIImageView.ContentMode.center
imageView.image = AttachmentManager.placeholderImage
imageView.af_setImage(
withURL: attachment.url!,
filter: filter
)
let request = URLRequest(url: attachment.url!)
AttachmentManager.downloader.download(request, filter: filter) { response in
imageView.contentMode = UIImageView.ContentMode.scaleAspectFill
switch attachment.type {
case "gif":
imageView.animatedImage = FLAnimatedImage(animatedGIFData: response.data)
default:
imageView.image = response.result.value
}
}
view.addSubview(imageView)
imageView.translatesAutoresizingMaskIntoConstraints = false
@ -70,8 +83,8 @@ class AttachmentManager: NSObject {
let filter = AspectScaledToFillSizeFilter(size: CGSize(width: halfWidth, height: view.frame.width))
let imageViews = [
UIImageView(),
UIImageView(),
FLAnimatedImageView(),
FLAnimatedImageView(),
]
for (index, imageView) in imageViews.enumerated() {
@ -110,9 +123,9 @@ class AttachmentManager: NSObject {
let secondaryFilter = AspectScaledToFillSizeFilter(size: CGSize(width: halfWidth, height: halfWidth))
let imageViews = [
UIImageView(),
UIImageView(),
UIImageView(),
FLAnimatedImageView(),
FLAnimatedImageView(),
FLAnimatedImageView(),
]
for (index, imageView) in imageViews.enumerated() {
@ -159,10 +172,10 @@ class AttachmentManager: NSObject {
let filter = AspectScaledToFillSizeFilter(size: CGSize(width: halfWidth, height: halfWidth))
let imageViews = [
UIImageView(),
UIImageView(),
UIImageView(),
UIImageView(),
FLAnimatedImageView(),
FLAnimatedImageView(),
FLAnimatedImageView(),
FLAnimatedImageView(),
]
for (index, imageView) in imageViews.enumerated() {

244
elpha-ios/Base.lproj/Main.storyboard

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="49e-Tb-3d3">
<device id="retina5_9" orientation="portrait">
<device id="retina5_5" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
@ -16,17 +16,17 @@
<objects>
<viewController id="Bed-pj-wE9" customClass="AuthenticateViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="ITR-hY-wTb">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Enter a Mastodon Instance" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Nru-sM-bKD">
<rect key="frame" x="10" y="375" width="355" height="21"/>
<rect key="frame" x="10" y="337" width="394" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.54117647058823526" green="0.4823529411764706" blue="0.68235294117647061" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="02G-kI-p4F">
<rect key="frame" x="10" y="416" width="355" height="40"/>
<rect key="frame" x="10" y="378" width="394" height="40"/>
<color key="backgroundColor" name="Secondary"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
@ -37,7 +37,7 @@
<textInputTraits key="textInputTraits" autocorrectionType="no" spellCheckingType="no" keyboardType="URL" smartDashesType="no" smartInsertDeleteType="no" smartQuotesType="no"/>
</textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="awW-03-3TB">
<rect key="frame" x="80" y="476" width="215" height="40"/>
<rect key="frame" x="80" y="438" width="254" height="40"/>
<color key="backgroundColor" name="Text"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="gl3-OE-jFa"/>
@ -50,10 +50,10 @@
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TUU-fE-p3J">
<rect key="frame" x="0.0" y="722" width="375" height="90"/>
<rect key="frame" x="0.0" y="646" width="414" height="90"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ABr-tX-v5Y">
<rect key="frame" x="131.66666666666666" y="30" width="112" height="30"/>
<rect key="frame" x="151" y="30" width="112" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="TdG-vz-Mhq"/>
</constraints>
@ -73,13 +73,13 @@
</constraints>
</view>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Logo" translatesAutoresizingMaskIntoConstraints="NO" id="sjL-eq-q6s">
<rect key="frame" x="0.0" y="150" width="375" height="175"/>
<rect key="frame" x="0.0" y="112" width="414" height="175"/>
<constraints>
<constraint firstAttribute="height" constant="175" id="O4x-xb-MbJ"/>
</constraints>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kt3-Mk-URm">
<rect key="frame" x="148" y="526" width="79" height="27"/>
<rect key="frame" x="167.66666666666666" y="488" width="79" height="27"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<state key="normal" title="Privacy Policy">
<color key="titleColor" name="Secondary"/>
@ -123,25 +123,25 @@
<objects>
<tableViewController id="bRx-56-pJs" customClass="InstancesTableViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="120" sectionHeaderHeight="28" sectionFooterHeight="28" id="MsU-Kh-W9V">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="InstancesTableViewCell" rowHeight="120" id="t5I-4e-rPV" customClass="InstancesTableViewCell" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="375" height="120"/>
<rect key="frame" x="0.0" y="28" width="414" height="120"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="t5I-4e-rPV" id="Awg-lg-91F">
<rect key="frame" x="0.0" y="0.0" width="341" height="119.66666666666667"/>
<rect key="frame" x="0.0" y="0.0" width="376" height="119.66666666666667"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Instance Placeholder" translatesAutoresizingMaskIntoConstraints="NO" id="3lE-eD-RSI">
<rect key="frame" x="16" y="11" width="100" height="98"/>
<rect key="frame" x="20" y="11" width="100" height="98"/>
<constraints>
<constraint firstAttribute="width" constant="100" id="Sf5-1G-8gX"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="scl-0p-jQO">
<rect key="frame" x="124" y="11" width="201" height="30"/>
<rect key="frame" x="128" y="11" width="232" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="v20-Wv-cjD"/>
</constraints>
@ -150,7 +150,7 @@
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EuF-dW-Uua">
<rect key="frame" x="201.66666666666666" y="46" width="53" height="46"/>
<rect key="frame" x="205.66666666666666" y="46" width="52.999999999999972" height="46"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Statuses" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GvU-C8-JYy">
<rect key="frame" x="0.0" y="8" width="53" height="16"/>
@ -180,7 +180,7 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ir1-Wt-maG">
<rect key="frame" x="124.00000000000001" y="46" width="37.666666666666671" height="46"/>
<rect key="frame" x="128" y="46" width="37.666666666666657" height="46"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Users" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="x17-3V-ix0">
<rect key="frame" x="0.0" y="8" width="37.666666666666664" height="16"/>
@ -257,23 +257,23 @@
<objects>
<viewController storyboardIdentifier="InstanceViewController" id="mhy-lU-rss" customClass="InstanceViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="PuO-1l-eXq">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UZR-kd-UxJ">
<rect key="frame" x="0.0" y="140" width="375" height="638"/>
<rect key="frame" x="0.0" y="116" width="414" height="620"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uMx-PR-Og0">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="snd-Ts-rva">
<rect key="frame" x="0.0" y="0.0" width="375" height="200"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="200"/>
<constraints>
<constraint firstAttribute="height" constant="200" id="VeP-LC-gew"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ztD-p8-9YN">
<rect key="frame" x="8" y="210" width="359" height="18"/>
<rect key="frame" x="8" y="210" width="398" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<color key="textColor" name="Primary"/>
<nil key="highlightedColor"/>
@ -389,10 +389,10 @@
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VCU-ri-lAU">
<rect key="frame" x="272" y="248" width="95" height="60"/>
<rect key="frame" x="272" y="248" width="134" height="60"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Uptime" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="U9l-Vd-tpX">
<rect key="frame" x="0.0" y="8" width="95" height="16"/>
<rect key="frame" x="0.0" y="8" width="134" height="16"/>
<constraints>
<constraint firstAttribute="height" constant="16" id="pdS-qH-b3B"/>
</constraints>
@ -401,7 +401,7 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SL3-SA-8IS">
<rect key="frame" x="0.0" y="29" width="95" height="31"/>
<rect key="frame" x="0.0" y="29" width="134" height="31"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="14"/>
<color key="textColor" name="Text"/>
<nil key="highlightedColor"/>
@ -480,116 +480,106 @@
<objects>
<tableViewController storyboardIdentifier="AccountTableViewController" id="X5f-Me-0D2" customClass="AccountTableViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" allowsSelection="NO" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" id="BA3-TV-fdC">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<view key="tableHeaderView" contentMode="scaleToFill" id="ygB-F6-Moa">
<rect key="frame" x="0.0" y="0.0" width="375" height="489"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="524"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0jO-Rb-lcz">
<rect key="frame" x="0.0" y="0.0" width="375" height="200"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="150"/>
<constraints>
<constraint firstAttribute="height" constant="200" id="HWQ-9W-TLG"/>
<constraint firstAttribute="height" constant="150" id="HWQ-9W-TLG"/>
</constraints>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="d7X-u9-Seq">
<rect key="frame" x="152.66666666666666" y="165" width="70" height="70"/>
<rect key="frame" x="172" y="115" width="70" height="70"/>
<constraints>
<constraint firstAttribute="height" constant="70" id="6Ni-kg-YNd"/>
<constraint firstAttribute="width" constant="70" id="ItK-PQ-Zdt"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Display Name" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MGa-Tw-aUj">
<rect key="frame" x="122.66666666666667" y="250" width="129.66666666666663" height="24"/>
<rect key="frame" x="142.33333333333331" y="200" width="129.33333333333331" height="24"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
<color key="textColor" name="Text"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Username" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XET-LP-bGO">
<rect key="frame" x="154.66666666666666" y="279" width="66" height="17"/>
<rect key="frame" x="174" y="229" width="66" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" name="Text"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="d8Z-vZ-agH">
<rect key="frame" x="20" y="311" width="335" height="50"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="a6x-gd-oBT"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" name="Text"/>
<color key="textColor" name="Primary"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="D5v-MR-CuQ">
<rect key="frame" x="20" y="376" width="105" height="65"/>
<rect key="frame" x="20" y="416" width="118" height="60"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Toots" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kTz-EN-Zgx">
<rect key="frame" x="8" y="10" width="89" height="14.666666666666664"/>
<rect key="frame" x="8" y="10" width="102" height="14.333333333333336"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" name="Secondary"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="100" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Eab-8s-Drh">
<rect key="frame" x="8" y="32.666666666666686" width="89" height="24"/>
<rect key="frame" x="8" y="32.333333333333314" width="102" height="24"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
<color key="textColor" name="Text"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" name="Background Secondary"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="Eab-8s-Drh" secondAttribute="trailing" constant="8" id="5mC-u4-qwS"/>
<constraint firstAttribute="trailing" secondItem="kTz-EN-Zgx" secondAttribute="trailing" constant="8" id="6Dd-wW-L1W"/>
<constraint firstItem="Eab-8s-Drh" firstAttribute="top" secondItem="kTz-EN-Zgx" secondAttribute="bottom" constant="8" id="Aiy-x2-NuW"/>
<constraint firstItem="Eab-8s-Drh" firstAttribute="leading" secondItem="D5v-MR-CuQ" secondAttribute="leading" constant="8" id="Yiw-Ui-WMd"/>
<constraint firstItem="kTz-EN-Zgx" firstAttribute="leading" secondItem="D5v-MR-CuQ" secondAttribute="leading" constant="8" id="dkF-ab-7du"/>
<constraint firstAttribute="height" constant="60" id="eLZ-C0-AmW"/>
<constraint firstItem="kTz-EN-Zgx" firstAttribute="top" secondItem="D5v-MR-CuQ" secondAttribute="top" constant="10" id="mLg-bw-Gqg"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TkS-vn-sW3">
<rect key="frame" x="135" y="376" width="105" height="65"/>
<rect key="frame" x="148" y="416" width="118" height="60"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Following" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FxQ-nq-jYw">
<rect key="frame" x="8" y="10" width="89" height="14.666666666666664"/>
<rect key="frame" x="8" y="10" width="102" height="14.333333333333336"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" name="Secondary"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="100" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l3U-wO-M4g">
<rect key="frame" x="8" y="32.666666666666686" width="89" height="24"/>
<rect key="frame" x="8" y="32.333333333333314" width="102" height="24"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
<color key="textColor" name="Text"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" name="Background Secondary"/>
<constraints>
<constraint firstItem="FxQ-nq-jYw" firstAttribute="top" secondItem="TkS-vn-sW3" secondAttribute="top" constant="10" id="8nY-kC-dnK"/>
<constraint firstAttribute="trailing" secondItem="l3U-wO-M4g" secondAttribute="trailing" constant="8" id="9yP-IG-4TK"/>
<constraint firstItem="l3U-wO-M4g" firstAttribute="top" secondItem="FxQ-nq-jYw" secondAttribute="bottom" constant="8" id="RRv-UW-tu8"/>
<constraint firstAttribute="trailing" secondItem="FxQ-nq-jYw" secondAttribute="trailing" constant="8" id="UgO-jp-c7u"/>
<constraint firstItem="l3U-wO-M4g" firstAttribute="leading" secondItem="TkS-vn-sW3" secondAttribute="leading" constant="8" id="ZDE-tD-YnP"/>
<constraint firstAttribute="height" constant="60" id="cCM-YH-44J"/>
<constraint firstItem="FxQ-nq-jYw" firstAttribute="leading" secondItem="TkS-vn-sW3" secondAttribute="leading" constant="8" id="rtL-RX-lwX"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rqF-sG-ZE7">
<rect key="frame" x="250" y="376" width="105" height="65"/>
<rect key="frame" x="276" y="416" width="118" height="60"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Followers" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="piT-tX-tUe">
<rect key="frame" x="8" y="10" width="89" height="14.666666666666664"/>
<rect key="frame" x="8" y="10" width="102" height="14.333333333333336"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" name="Secondary"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="100" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="J8H-VZ-dwT">
<rect key="frame" x="8" y="32.666666666666686" width="89" height="24"/>
<rect key="frame" x="8" y="32.333333333333314" width="102" height="24"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
<color key="textColor" name="Text"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" name="Background Secondary"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="J8H-VZ-dwT" secondAttribute="trailing" constant="8" id="1t1-nE-saW"/>
<constraint firstAttribute="trailing" secondItem="piT-tX-tUe" secondAttribute="trailing" constant="8" id="2La-A7-kHB"/>
@ -597,10 +587,11 @@
<constraint firstItem="J8H-VZ-dwT" firstAttribute="leading" secondItem="rqF-sG-ZE7" secondAttribute="leading" constant="8" id="BGa-ZO-3IO"/>
<constraint firstItem="J8H-VZ-dwT" firstAttribute="top" secondItem="piT-tX-tUe" secondAttribute="bottom" constant="8" id="Zdh-yX-wjL"/>
<constraint firstItem="piT-tX-tUe" firstAttribute="top" secondItem="rqF-sG-ZE7" secondAttribute="top" constant="10" id="h9M-Od-Xeu"/>
<constraint firstAttribute="height" constant="60" id="vcA-ed-s7u"/>
</constraints>
</view>
<segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="lwU-IL-uAN">
<rect key="frame" x="10" y="451" width="355" height="29"/>
<rect key="frame" x="10" y="486" width="394" height="29"/>
<segments>
<segment title="Toots"/>
<segment title="Toots &amp; Replies"/>
@ -611,49 +602,103 @@
<action selector="statusTypeChanged:" destination="X5f-Me-0D2" eventType="valueChanged" id="9ew-Jh-vG0"/>
</connections>
</segmentedControl>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="deT-ms-U3E">
<rect key="frame" x="0.0" y="254" width="414" height="147"/>
<subviews>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" editable="NO" text="Note" textAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="7EZ-R5-qfQ" customClass="UITextViewFixed" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="414" height="19.333333333333332"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" name="Secondary"/>
<color key="textColor" name="Text"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<textInputTraits key="textInputTraits" autocorrectionType="no" spellCheckingType="no" smartDashesType="no" smartInsertDeleteType="no" smartQuotesType="no"/>
<dataDetectorType key="dataDetectorTypes" phoneNumber="YES" link="YES" address="YES" calendarEvent="YES" shipmentTrackingNumber="YES" flightNumber="YES" lookupSuggestion="YES"/>
</textView>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" dataMode="prototypes" style="plain" separatorStyle="default" allowsSelection="NO" rowHeight="40" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="LkG-MC-taI">
<rect key="frame" x="0.0" y="19.333333333333321" width="414" height="127.66666666666669"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="separatorInset" minX="5" minY="0.0" maxX="0.0" maxY="0.0"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationWidth="0.0" reuseIdentifier="FieldTableViewCell" rowHeight="40" id="Yja-kQ-VB8" customClass="FieldTableViewCell" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="414" height="40"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Yja-kQ-VB8" id="c3e-LW-md8">
<rect key="frame" x="0.0" y="0.0" width="414" height="39.666666666666664"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Name" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mB7-gb-eAr">
<rect key="frame" x="28.000000000000004" y="12" width="35.333333333333343" height="15.666666666666664"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<color key="textColor" name="Primary"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="Value" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QDH-zI-Pbc">
<rect key="frame" x="71.333333333333343" y="12" width="314.66666666666663" height="15.666666666666664"/>
<color key="tintColor" name="Primary"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="13"/>
<color key="textColor" name="Text"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="trailingMargin" secondItem="QDH-zI-Pbc" secondAttribute="trailing" constant="8" id="DLs-5d-vVu"/>
<constraint firstItem="mB7-gb-eAr" firstAttribute="leading" secondItem="c3e-LW-md8" secondAttribute="leadingMargin" constant="8" id="Mvh-Ku-V7L"/>
<constraint firstItem="QDH-zI-Pbc" firstAttribute="centerY" secondItem="c3e-LW-md8" secondAttribute="centerY" id="PHb-q2-CQS"/>
<constraint firstItem="QDH-zI-Pbc" firstAttribute="leading" secondItem="mB7-gb-eAr" secondAttribute="trailing" constant="8" id="Ut9-Br-Mbo"/>
<constraint firstItem="mB7-gb-eAr" firstAttribute="centerY" secondItem="c3e-LW-md8" secondAttribute="centerY" id="j5x-W6-OkH"/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="nameLabel" destination="mB7-gb-eAr" id="WSF-Wm-EDv"/>
<outlet property="valueLabel" destination="QDH-zI-Pbc" id="ak7-ul-fXZ"/>
</connections>
</tableViewCell>
</prototypes>
</tableView>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" name="Background Secondary"/>
<constraints>
<constraint firstItem="0jO-Rb-lcz" firstAttribute="leading" secondItem="ygB-F6-Moa" secondAttribute="leading" id="0Od-Hb-lt5"/>
<constraint firstItem="TkS-vn-sW3" firstAttribute="width" secondItem="rqF-sG-ZE7" secondAttribute="width" id="0rh-o4-LVs"/>
<constraint firstAttribute="trailing" secondItem="lwU-IL-uAN" secondAttribute="trailing" constant="10" id="1F8-BY-pk1"/>
<constraint firstItem="TkS-vn-sW3" firstAttribute="top" secondItem="d8Z-vZ-agH" secondAttribute="bottom" constant="15" id="1Nv-md-bcK"/>
<constraint firstItem="TkS-vn-sW3" firstAttribute="top" secondItem="deT-ms-U3E" secondAttribute="bottom" constant="15" id="3dS-iG-y1I"/>
<constraint firstItem="rqF-sG-ZE7" firstAttribute="leading" secondItem="TkS-vn-sW3" secondAttribute="trailing" constant="10" id="5AH-V8-cCY"/>
<constraint firstItem="deT-ms-U3E" firstAttribute="leading" secondItem="ygB-F6-Moa" secondAttribute="leading" id="6yX-At-ypg"/>
<constraint firstItem="XET-LP-bGO" firstAttribute="centerX" secondItem="ygB-F6-Moa" secondAttribute="centerX" id="8q3-M6-fle"/>
<constraint firstItem="MGa-Tw-aUj" firstAttribute="centerX" secondItem="ygB-F6-Moa" secondAttribute="centerX" id="Ka8-Yt-VNQ"/>
<constraint firstItem="D5v-MR-CuQ" firstAttribute="leading" secondItem="ygB-F6-Moa" secondAttribute="leading" constant="20" id="Sfb-al-bD3"/>
<constraint firstItem="d8Z-vZ-agH" firstAttribute="top" secondItem="XET-LP-bGO" secondAttribute="bottom" constant="15" id="VdD-Ow-Hbq"/>
<constraint firstItem="deT-ms-U3E" firstAttribute="top" secondItem="XET-LP-bGO" secondAttribute="bottom" constant="8" id="SkL-f3-Xpd"/>
<constraint firstItem="lwU-IL-uAN" firstAttribute="top" secondItem="rqF-sG-ZE7" secondAttribute="bottom" constant="10" id="WTw-4o-oN0"/>
<constraint firstItem="D5v-MR-CuQ" firstAttribute="width" secondItem="TkS-vn-sW3" secondAttribute="width" id="Wh6-R2-fsh"/>
<constraint firstAttribute="bottom" secondItem="lwU-IL-uAN" secondAttribute="bottom" constant="10" id="YQf-Cp-ypH"/>
<constraint firstItem="0jO-Rb-lcz" firstAttribute="top" secondItem="ygB-F6-Moa" secondAttribute="top" id="avA-XU-Hlb"/>
<constraint firstItem="lwU-IL-uAN" firstAttribute="leading" secondItem="ygB-F6-Moa" secondAttribute="leading" constant="10" id="dkb-zx-jFp"/>
<constraint firstItem="d7X-u9-Seq" firstAttribute="centerX" secondItem="ygB-F6-Moa" secondAttribute="centerX" id="e6Y-Fv-aMf"/>
<constraint firstItem="d8Z-vZ-agH" firstAttribute="leading" secondItem="ygB-F6-Moa" secondAttribute="leading" constant="20" id="ePh-7B-g27"/>
<constraint firstItem="d7X-u9-Seq" firstAttribute="top" secondItem="0jO-Rb-lcz" secondAttribute="bottom" constant="-35" id="f0s-Vv-mmG"/>
<constraint firstItem="rqF-sG-ZE7" firstAttribute="top" secondItem="deT-ms-U3E" secondAttribute="bottom" constant="15" id="gcq-de-l5R"/>
<constraint firstItem="TkS-vn-sW3" firstAttribute="centerX" secondItem="ygB-F6-Moa" secondAttribute="centerX" id="h25-tL-Eou"/>
<constraint firstItem="XET-LP-bGO" firstAttribute="top" secondItem="MGa-Tw-aUj" secondAttribute="bottom" constant="5" id="h2h-6e-Jzt"/>
<constraint firstAttribute="trailing" secondItem="d8Z-vZ-agH" secondAttribute="trailing" constant="20" id="iaP-Eh-O8n"/>
<constraint firstItem="lwU-IL-uAN" firstAttribute="top" secondItem="TkS-vn-sW3" secondAttribute="bottom" constant="10" id="k5W-UT-Xho"/>
<constraint firstAttribute="trailing" secondItem="rqF-sG-ZE7" secondAttribute="trailing" constant="20" id="kPD-YC-0bD"/>
<constraint firstItem="D5v-MR-CuQ" firstAttribute="top" secondItem="d8Z-vZ-agH" secondAttribute="bottom" constant="15" id="nm6-TP-Qzj"/>
<constraint firstItem="MGa-Tw-aUj" firstAttribute="top" secondItem="d7X-u9-Seq" secondAttribute="bottom" constant="15" id="o9i-Ys-iwf"/>
<constraint firstItem="D5v-MR-CuQ" firstAttribute="top" secondItem="deT-ms-U3E" secondAttribute="bottom" constant="15" id="ppC-tc-0lV"/>
<constraint firstAttribute="trailing" secondItem="0jO-Rb-lcz" secondAttribute="trailing" id="qGc-XW-65f"/>
<constraint firstItem="lwU-IL-uAN" firstAttribute="top" secondItem="D5v-MR-CuQ" secondAttribute="bottom" constant="10" id="qbc-oW-qvh"/>
<constraint firstItem="rqF-sG-ZE7" firstAttribute="top" secondItem="d8Z-vZ-agH" secondAttribute="bottom" constant="15" id="v9w-nR-6pE"/>
<constraint firstAttribute="trailing" secondItem="deT-ms-U3E" secondAttribute="trailing" id="rqS-a7-DK1"/>
<constraint firstItem="TkS-vn-sW3" firstAttribute="leading" secondItem="D5v-MR-CuQ" secondAttribute="trailing" constant="10" id="wje-Vh-Xte"/>
</constraints>
</view>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="AccountTableViewCell" id="nLQ-4Q-SwI" customClass="AccountTableViewCell" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="517" width="375" height="44"/>
<rect key="frame" x="0.0" y="552" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="nLQ-4Q-SwI" id="y0d-Ka-W2g">
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XFR-lZ-fvp" customClass="StatusView" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view>
</subviews>
@ -678,19 +723,13 @@
<refreshControl key="refreshControl" opaque="NO" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" id="fRb-ea-Rvd">
<rect key="frame" x="0.0" y="0.0" width="1000" height="1000"/>
<autoresizingMask key="autoresizingMask"/>
<attributedString key="attributedTitle">
<fragment content="Loading ...">
<attributes>
<font key="NSFont" size="13" name=".AppleSystemUIFont"/>
<paragraphStyle key="NSParagraphStyle" alignment="center" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
</attributes>
</fragment>
</attributedString>
<attributedString key="attributedTitle"/>
</refreshControl>
<connections>
<outlet property="avatarImageView" destination="d7X-u9-Seq" id="Mt2-60-lb2"/>
<outlet property="contentLabel" destination="d8Z-vZ-agH" id="e0a-ZE-IdC"/>
<outlet property="contentTextView" destination="7EZ-R5-qfQ" id="LO1-yw-OKX"/>
<outlet property="displayNameLabel" destination="MGa-Tw-aUj" id="5VX-Q3-bkt"/>
<outlet property="fieldTableView" destination="LkG-MC-taI" id="dcO-4Z-sLs"/>
<outlet property="followersLabel" destination="J8H-VZ-dwT" id="XiN-FS-Wjw"/>
<outlet property="followingLabel" destination="l3U-wO-M4g" id="N5A-sA-0O1"/>
<outlet property="headerImageView" destination="0jO-Rb-lcz" id="30G-8E-1xD"/>
@ -702,7 +741,7 @@
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dWu-5e-ce7" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1634.7826086956522" y="359.59821428571428"/>
<point key="canvasLocation" x="1634.7826086956522" y="359.51086956521743"/>
</scene>
<!--Main Tab Bar Controller-->
<scene sceneID="yl2-sM-qoP">
@ -731,7 +770,7 @@
<tabBarItem key="tabBarItem" title="Timelines" image="Timelines" id="acW-dT-cKf"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" largeTitles="YES" id="MdH-tW-gfk">
<rect key="frame" x="0.0" y="44" width="375" height="96"/>
<rect key="frame" x="0.0" y="20" width="414" height="96"/>
<autoresizingMask key="autoresizingMask"/>
<color key="tintColor" red="0.090196078430000007" green="0.047058823530000002" blue="0.28627450980000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<textAttributes key="titleTextAttributes">
@ -755,20 +794,20 @@
<objects>
<viewController id="TVm-XQ-DKr" customClass="TimelinesViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="ap7-qY-exg">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<visualEffectView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="56a-dU-Hpe">
<rect key="frame" x="0.0" y="0.0" width="375" height="729"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="687"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="1Oi-SN-Jgn">
<rect key="frame" x="0.0" y="0.0" width="375" height="729"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="687"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="ZOW-xe-PU2">
<rect key="frame" x="40" y="80" width="295" height="599"/>
<rect key="frame" x="40" y="80" width="334" height="557"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<view key="tableHeaderView" contentMode="scaleToFill" id="l7S-vH-H0D">
<rect key="frame" x="0.0" y="0.0" width="295" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="334" height="45"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Timelines" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bXM-kl-c1F">
@ -786,10 +825,10 @@
</view>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" showsReorderControl="YES" indentationWidth="0.0" reuseIdentifier="TimelinesTableViewCell" rowHeight="100" id="ac2-yP-Xjn" customClass="TimelinesTableViewCell" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="73" width="295" height="100"/>
<rect key="frame" x="0.0" y="73" width="334" height="100"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="ac2-yP-Xjn" id="FhG-qQ-SYH">
<rect key="frame" x="0.0" y="0.0" width="295" height="99.666666666666671"/>
<rect key="frame" x="0.0" y="0.0" width="334" height="99.666666666666671"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="GVK-O1-vGh">
@ -800,7 +839,7 @@
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Timeline" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oae-Lt-3g2">
<rect key="frame" x="66" y="39.333333333333336" width="214" height="21"/>
<rect key="frame" x="66" y="39.333333333333336" width="213" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" name="Text"/>
<nil key="highlightedColor"/>
@ -854,19 +893,19 @@
<objects>
<tableViewController id="9RY-uh-Cwh" customClass="TimelineTableViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" id="fgT-hp-jpg">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="TimelineTableViewCell" id="ltf-IW-WJt" customClass="TimelineTableViewCell" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="375" height="44"/>
<rect key="frame" x="0.0" y="28" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="ltf-IW-WJt" id="n6I-gD-BmS">
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7lS-OI-rcY" customClass="StatusView" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view>
</subviews>
@ -906,15 +945,15 @@
<objects>
<tableViewController storyboardIdentifier="StatusTableViewController" id="RAJ-ub-len" customClass="StatusTableViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="18" sectionFooterHeight="18" id="3Kx-zr-iiy">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="MainStatusTableViewCell" rowHeight="582" id="8ys-Fm-1Yg" customClass="MainStatusTableViewCell" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="55.333333333333314" width="375" height="582"/>
<rect key="frame" x="0.0" y="55.333333333333314" width="414" height="582"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="8ys-Fm-1Yg" id="Hj7-kC-H7L">
<rect key="frame" x="0.0" y="0.0" width="375" height="582"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="582"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7I8-6E-s1Q">
@ -1154,10 +1193,10 @@
</connections>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="StatusTableViewCell" rowHeight="120" id="cLF-Rc-b4K" customClass="StatusTableViewCell" customModule="elpha_ios" customModuleProvider="target">
<rect key="frame" x="0.0" y="637.33333333333337" width="375" height="120"/>
<rect key="frame" x="0.0" y="637.33333333333337" width="414" height="120"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="cLF-Rc-b4K" id="jhE-cB-Cj1">
<rect key="frame" x="0.0" y="0.0" width="375" height="120"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="120"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fRl-xT-b9t" customClass="StatusView" customModule="elpha_ios" customModuleProvider="target">
@ -1227,20 +1266,20 @@
<objects>
<viewController storyboardIdentifier="AttachmentViewController" definesPresentationContext="YES" providesPresentationContextTransitionStyle="YES" modalPresentationStyle="overCurrentContext" hidesBottomBarWhenPushed="YES" id="N19-H3-zNH" customClass="AttachmentViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="559-Im-GBi">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<visualEffectView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MK4-Zf-UMa">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="D1u-Lt-W0l">
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" maximumZoomScale="6" translatesAutoresizingMaskIntoConstraints="NO" id="7ll-rV-5Xs">
<rect key="frame" x="0.0" y="83" width="375" height="514"/>
<rect key="frame" x="0.0" y="83" width="414" height="438"/>
<subviews>
<imageView multipleTouchEnabled="YES" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LVW-zt-JUe">
<rect key="frame" x="0.0" y="0.0" width="375" height="514"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="438"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<gestureRecognizers/>
</imageView>
@ -1256,7 +1295,7 @@
</constraints>
</scrollView>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" text="Content" textAlignment="center" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hd1-Nu-84c">
<rect key="frame" x="8" y="612" width="359" height="100"/>
<rect key="frame" x="8" y="536" width="398" height="100"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" name="Secondary"/>
<constraints>
@ -1279,7 +1318,7 @@
</connections>
</imageView>
<imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Share" translatesAutoresizingMaskIntoConstraints="NO" id="vZ9-hY-vNA">
<rect key="frame" x="344" y="50" width="16" height="20"/>
<rect key="frame" x="383" y="50" width="16" height="20"/>
<gestureRecognizers/>
<constraints>
<constraint firstAttribute="height" constant="20" id="BTH-H7-RNW"/>
@ -1343,7 +1382,7 @@
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="SqQ-GI-iCq" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" largeTitles="YES" id="QFN-sS-62X">
<rect key="frame" x="0.0" y="44" width="375" height="96"/>
<rect key="frame" x="0.0" y="20" width="414" height="96"/>
<autoresizingMask key="autoresizingMask"/>
<color key="tintColor" red="0.090196078430000007" green="0.047058823530000002" blue="0.28627450980000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<textAttributes key="titleTextAttributes">
@ -1369,7 +1408,7 @@
<tabBarItem key="tabBarItem" title="Account" image="Account" id="cPa-gy-q4n"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" largeTitles="YES" id="5mb-Wh-DRp">
<rect key="frame" x="0.0" y="44" width="375" height="96"/>
<rect key="frame" x="0.0" y="20" width="414" height="96"/>
<autoresizingMask key="autoresizingMask"/>
<color key="tintColor" red="0.090196078430000007" green="0.047058823530000002" blue="0.28627450980000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<textAttributes key="titleTextAttributes">
@ -1404,9 +1443,6 @@
<namedColor name="Background Primary">
<color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="Background Secondary">
<color red="0.93725490196078431" green="0.93725490196078431" blue="0.93725490196078431" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="Primary">
<color red="0.54117647058823526" green="0.4823529411764706" blue="0.68235294117647061" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>

14
elpha-ios/FieldTableViewCell.swift

@ -0,0 +1,14 @@
//
// FieldTableViewCell.swift
// elpha-ios
//
// Created by Dwayne Harris on 11/10/18.
// Copyright © 2018 Elpha. All rights reserved.
//
import UIKit
class FieldTableViewCell: UITableViewCell {
@IBOutlet var nameLabel: UILabel!
@IBOutlet var valueLabel: UILabel!
}

6
elpha-ios/MastodonDataManager.swift

@ -169,10 +169,8 @@ public class MastodonDataManager {
account.followingCount = data["following_count"] as! Int32
account.statusesCount = data["statuses_count"] as! Int32
if let fields = data["fields"] as? [[String: String]] {
account.fields = fields.map { field in
return AccountField(name: field["name"]!, value: field["value"]!)
}
if let fields = data["fields"] as? [[String: Any]] {
account.fields = fields.map { AccountField(name: $0["name"] as! String, value: $0["value"] as! String) }
}
return account

2
elpha-ios/StatusTableViewController.swift

@ -215,7 +215,7 @@ extension StatusTableViewController {
}
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
switch indexPath.section {
case 0: return CellHeightManager.get(status: self.ancestors[indexPath.row])
case 2: return CellHeightManager.get(status: self.descendants[indexPath.row])

4
elpha-ios/String+HtmlAttributed.swift

@ -21,6 +21,10 @@ extension String {
color: \(color.hexString()) !important;
text-align: \(centered ? "center" : "initial") !important;
}
p {
margin: 0px !important;
padding: 0px !important;
}
</style>
\(self)
"""

2
elpha-ios/TimelineTableViewController.swift

@ -361,7 +361,7 @@ extension TimelineTableViewController {
}
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return CellHeightManager.get(status: fetchedResultsController?.object(at: indexPath))
}

2
elpha-ios/UITextViewFixed.swift

@ -12,7 +12,7 @@ import UIKit
override func layoutSubviews() {
super.layoutSubviews()
let inset = UIEdgeInsets(top: 0, left: 0, bottom: 10, right: 0)
let inset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
contentInset = inset
textContainerInset = inset

Loading…
Cancel
Save