8000 wip · Matejkob/pointfreeco@02dc3fb · GitHub
[go: up one dir, main page]

Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
stephencelis committed Jun 16, 2024
1 parent eec0e49 commit 02dc3fb
Show file tree
Hide file tree
Showing 5 changed files with 120 additions and 1 deletion.
40 changes: 40 additions & 0 deletions Sources/Transcripts/Episodes/0283-ModernUIKit.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import Foundation

extension Episode {
public static let ep283_modernUIKit = Episode(
blurb: """
It's time to build modern tools for UIKit from scratch, heavily inspired by SwiftUI and using
the Observation framework. Surprisingly, Swift 5.9's observation tools _can_ be used in UIKit,
and in fact they work _great_, despite being specifically tuned for SwiftUI.
""",
codeSampleDirectory: "0283-modern-uikit-pt3",
exercises: _exercises,
id: 283,
length: 41 * 60 + 13,
permission: .subscriberOnly,
publishedAt: yearMonthDayFormatter.date(from: "2024-06-17")!,
references: [
.modernSwiftUI(),
.swiftUINav,
.swiftUINavigation,
.swiftCasePaths,
.swiftPerception,
],
sequence: 283,
subtitle: "Observation",
title: "Modern UIKit",
trailerVideo: .init(
bytesLength: 72_200_000,
downloadUrls: .s3(
hd1080: "0283-trailer-1080p-4052b6e1ca2e430f98dd42c5b1216a65",
hd720: "0283-trailer-720p-ad8d257ccd424cb58ee2abec6458adba",
sd540: "0283-trailer-540p-421dae9650e2467bafc25421f669deab"
),
vimeoId: 953948840
)
)
}

private let _exercises: [Episode.Exercise] = [
// TODO
]
38 changes: 38 additions & 0 deletions Sources/Transcripts/Episodes/0284-ModernUIKit.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import Foundation

extension Episode {
public static let ep284_modernUIKit = Episode(
blurb: """
TODO
""",
codeSampleDirectory: "0284-modern-uikit-pt4",
exercises: _exercises,
id: 284,
length: 0 * 60 + 0, // TODO
permission: .subscriberOnly,
publishedAt: yearMonthDayFormatter.date(from: "2024-06-24")!,
references: [
.modernSwiftUI(),
.swiftUINav,
.swiftUINavigation,
.swiftCasePaths,
.swiftPerception,
],
sequence: 284,
subtitle: "Basics of Navigation",
title: "Modern UIKit",
trailerVideo: .init(
bytesLength: 0, // TODO
downloadUrls: .s3(
hd1080: "0284-trailer-1080p-TODO",
hd720: "0284-trailer-720p-TODO",
sd540: "0284-trailer-540p-TODO"
),
vimeoId: 0 // TODO
)
)
}

private let _exercises: [Episode.Exercise] = [
// TODO
]
38 changes: 38 additions & 0 deletions Sources/Transcripts/Episodes/0285-ModernUIKit.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import Foundation

extension Episode {
public static let ep285_modernUIKit = Episode(
blurb: """
TODO
""",
codeSampleDirectory: "0285-modern-uikit-pt5",
exercises: _exercises,
id: 285,
length: 0 * 60 + 0, // TODO
permission: .subscriberOnly,
publishedAt: yearMonthDayFormatter.date(from: "2024-07-01")!,
references: [
.modernSwiftUI(),
.swiftUINav,
.swiftUINavigation,
.swiftCasePaths,
.swiftPerception,
],
sequence: 285,
subtitle: "Unified Navigation",
title: "Modern UIKit",
trailerVideo: .init(
bytesLength: 0, // TODO
downloadUrls: .s3(
hd1080: "0285-trailer-1080p-TODO",
hd720: "0285-trailer-720p-TODO",
sd540: "0285-trailer-540p-TODO"
),
vimeoId: 0 // TODO
)
)
}

private let _exercises: [Episode.Exercise] = [
// TODO
]
3 changes: 3 additions & 0 deletions Sources/Transcripts/Episodes/AllEpisodes.swift
Original file line number Diff line number Diff line change
Expand Up @@ -285,5 +285,8 @@ extension Episode {
.ep280_sharedStateInPractice,
.ep281_modernUIKit,
.ep282_modernUIKit,
.ep283_modernUIKit,
.ep284_modernUIKit,
.ep285_modernUIKit,
]
}
2 changes: 1 addition & 1 deletion Sources/Transcripts/PrivateTranscripts

0 comments on commit 02dc3fb

Please sign in to comment.
0