Skip to content

Commit 5c561a1

Browse files
committed
Fix SwiftLint function body length violation
1 parent ad78d19 commit 5c561a1

File tree

1 file changed

+29
-21
lines changed

1 file changed

+29
-21
lines changed

Cryptomator/VaultDetail/ShareVault/ShareVaultViewController.swift

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,16 @@ class ShareVaultViewController: UIViewController {
223223
let contentLayoutGuide = scrollView.contentLayoutGuide
224224
let frameLayoutGuide = scrollView.frameLayoutGuide
225225

226-
var constraints: [NSLayoutConstraint] = [
226+
var constraints = createBaseConstraints(contentLayoutGuide: contentLayoutGuide, frameLayoutGuide: frameLayoutGuide)
227+
let topAnchor = addOptionalSubtitleConstraints(to: &constraints)
228+
let lastContentView = addContentConstraints(to: &constraints, topAnchor: topAnchor)
229+
addFooterConstraints(to: &constraints, lastContentView: lastContentView)
230+
231+
NSLayoutConstraint.activate(constraints)
232+
}
233+
234+
private func createBaseConstraints(contentLayoutGuide: UILayoutGuide, frameLayoutGuide: UILayoutGuide) -> [NSLayoutConstraint] {
235+
return [
227236
scrollView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
228237
scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
229238
scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
@@ -255,39 +264,40 @@ class ShareVaultViewController: UIViewController {
255264
visitHubButton.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -LayoutConstants.standardSpacing),
256265
visitHubButton.heightAnchor.constraint(equalToConstant: LayoutConstants.buttonHeight)
257266
]
267+
}
258268

259-
// Add subtitle constraints if it exists
260-
let topAnchorForContent: NSLayoutYAxisAnchor
261-
if viewModel.headerSubtitle != nil {
262-
constraints.append(contentsOf: [
263-
subtitleLabel.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: LayoutConstants.titleToSubtitleSpacing),
264-
subtitleLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: LayoutConstants.horizontalPadding),
265-
subtitleLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -LayoutConstants.horizontalPadding)
266-
])
267-
topAnchorForContent = subtitleLabel.bottomAnchor
268-
} else {
269-
topAnchorForContent = titleLabel.bottomAnchor
269+
private func addOptionalSubtitleConstraints(to constraints: inout [NSLayoutConstraint]) -> NSLayoutYAxisAnchor {
270+
guard viewModel.headerSubtitle != nil else {
271+
return titleLabel.bottomAnchor
270272
}
271273

272-
// Determine the last content view (features or hub steps)
273-
let lastContentView: UIView
274+
constraints.append(contentsOf: [
275+
subtitleLabel.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: LayoutConstants.titleToSubtitleSpacing),
276+
subtitleLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: LayoutConstants.horizontalPadding),
277+
subtitleLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -LayoutConstants.horizontalPadding)
278+
])
279+
return subtitleLabel.bottomAnchor
280+
}
281+
282+
private func addContentConstraints(to constraints: inout [NSLayoutConstraint], topAnchor: NSLayoutYAxisAnchor) -> UIView {
274283
if viewModel.hubSteps != nil {
275284
constraints.append(contentsOf: [
276-
hubStepsStackView.topAnchor.constraint(equalTo: topAnchorForContent, constant: LayoutConstants.subtitleToStepsSpacing),
285+
hubStepsStackView.topAnchor.constraint(equalTo: topAnchor, constant: LayoutConstants.subtitleToStepsSpacing),
277286
hubStepsStackView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: LayoutConstants.horizontalPadding),
278287
hubStepsStackView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -LayoutConstants.horizontalPadding)
279288
])
280-
lastContentView = hubStepsStackView
289+
return hubStepsStackView
281290
} else {
282291
constraints.append(contentsOf: [
283-
featuresLabel.topAnchor.constraint(equalTo: topAnchorForContent, constant: LayoutConstants.titleToFeaturesSpacing),
292+
featuresLabel.topAnchor.constraint(equalTo: topAnchor, constant: LayoutConstants.titleToFeaturesSpacing),
284293
featuresLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: LayoutConstants.horizontalPadding),
285294
featuresLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -LayoutConstants.horizontalPadding)
286295
])
287-
lastContentView = featuresLabel
296+
return featuresLabel
288297
}
298+
}
289299

290-
// Add footer constraints only if footer exists
300+
private func addFooterConstraints(to constraints: inout [NSLayoutConstraint], lastContentView: UIView) {
291301
if viewModel.footerText != nil {
292302
constraints.append(contentsOf: [
293303
footerTextView.topAnchor.constraint(equalTo: lastContentView.bottomAnchor, constant: LayoutConstants.largeSpacing),
@@ -300,8 +310,6 @@ class ShareVaultViewController: UIViewController {
300310
lastContentView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -LayoutConstants.titleSpacing)
301311
)
302312
}
303-
304-
NSLayoutConstraint.activate(constraints)
305313
}
306314

307315
private func createFooterAttributedText() -> NSAttributedString {

0 commit comments

Comments
 (0)