From e8f0299152b615d569888a5b11e9e4f48f5d5e6c Mon Sep 17 00:00:00 2001 From: Stephen Celis Date: Mon, 11 Sep 2023 09:12:02 -0700 Subject: [PATCH] wip --- 0248-tca-tour-pt6/README.md | 5 + .../Configuration/SampleCode.xcconfig | 13 + .../Scrumdinger-Complete/LICENSE/LICENSE.txt | 7 + .../Scrumdinger-Complete/README.md | 5 + .../.xcodesamplecode.plist | 7 + .../Scrumdinger.xcodeproj/project.pbxproj | 486 ++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcschemes/Scrumdinger.xcscheme | 90 +++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/AppIcon1024@1x.png | Bin 0 -> 47968 bytes .../AppIcon.appiconset/AppIcon20@1x.png | Bin 0 -> 1691 bytes .../AppIcon.appiconset/AppIcon20@2x-1.png | Bin 0 -> 2551 bytes .../AppIcon.appiconset/AppIcon20@2x.png | Bin 0 -> 2551 bytes .../AppIcon.appiconset/AppIcon20@3x.png | Bin 0 -> 3274 bytes .../AppIcon.appiconset/AppIcon29@1x.png | Bin 0 -> 2012 bytes .../AppIcon.appiconset/AppIcon29@2x-1.png | Bin 0 -> 3175 bytes .../AppIcon.appiconset/AppIcon29@2x.png | Bin 0 -> 3175 bytes .../AppIcon.appiconset/AppIcon29@3x.png | Bin 0 -> 4790 bytes .../AppIcon.appiconset/AppIcon40@1x.png | Bin 0 -> 2551 bytes .../AppIcon.appiconset/AppIcon40@2x-1.png | Bin 0 -> 4448 bytes .../AppIcon.appiconset/AppIcon40@2x.png | Bin 0 -> 4448 bytes .../AppIcon.appiconset/AppIcon40@3x.png | Bin 0 -> 5742 bytes .../AppIcon.appiconset/AppIcon60@2x.png | Bin 0 -> 5742 bytes .../AppIcon.appiconset/AppIcon60@3x.png | Bin 0 -> 9346 bytes .../AppIcon.appiconset/AppIcon76@1x.png | Bin 0 -> 4156 bytes .../AppIcon.appiconset/AppIcon76@2x.png | Bin 0 -> 7549 bytes .../AppIcon.appiconset/AppIcon83.5@2x.png | Bin 0 -> 8453 bytes .../AppIcon.appiconset/Contents.json | 116 ++++ .../Scrumdinger/Assets.xcassets/Contents.json | 6 + .../Assets.xcassets/Themes/Contents.json | 6 + .../Themes/bubblegum.colorset/Contents.json | 38 ++ .../Themes/buttercup.colorset/Contents.json | 38 ++ .../Themes/indigo.colorset/Contents.json | 38 ++ .../Themes/lavender.colorset/Contents.json | 38 ++ .../Themes/magenta.colorset/Contents.json | 38 ++ .../Themes/navy.colorset/Contents.json | 38 ++ .../Themes/orange.colorset/Contents.json | 38 ++ .../Themes/oxblood.colorset/Contents.json | 38 ++ .../Themes/periwinkle.colorset/Contents.json | 38 ++ .../Themes/poppy.colorset/Contents.json | 38 ++ .../Themes/purple.colorset/Contents.json | 38 ++ .../Themes/seafoam.colorset/Contents.json | 38 ++ .../Themes/sky.colorset/Contents.json | 38 ++ .../Themes/tan.colorset/Contents.json | 38 ++ .../Themes/teal.colorset/Contents.json | 38 ++ .../Themes/yellow.colorset/Contents.json | 38 ++ .../Scrumdinger/Models/AVPlayer+Ding.swift | 13 + .../Scrumdinger/Models/DailyScrum.swift | 64 ++ .../Scrumdinger/Models/ErrorWrapper.swift | 17 + .../Scrumdinger/Models/History.swift | 19 + .../Scrumdinger/Models/ScrumStore.swift | 40 ++ .../Scrumdinger/Models/ScrumTimer.swift | 145 ++++ .../Scrumdinger/Models/SpeechRecognizer.swift | 184 ++++++ .../Scrumdinger/Models/Theme.swift | 41 ++ .../Preview Assets.xcassets/Contents.json | 6 + .../Scrumdinger/Resources/ding.wav | Bin 0 -> 535904 bytes .../Scrumdinger/ScrumdingerApp.swift | 39 ++ .../Scrumdinger/Views/CardView.swift | 37 ++ .../Scrumdinger/Views/DetailEditView.swift | 56 ++ .../Scrumdinger/Views/DetailView.swift | 91 +++ .../Scrumdinger/Views/ErrorView.swift | 51 ++ .../Scrumdinger/Views/HistoryView.swift | 50 ++ .../Scrumdinger/Views/MeetingFooterView.swift | 47 ++ .../Scrumdinger/Views/MeetingHeaderView.swift | 54 ++ .../Scrumdinger/Views/MeetingTimerView.swift | 53 ++ .../Scrumdinger/Views/MeetingView.swift | 63 ++ .../Scrumdinger/Views/NewScrumSheet.swift | 36 + .../Views/ScrumProgressViewStyle.swift | 35 + .../Scrumdinger/Views/ScrumsView.swift | 44 ++ .../Scrumdinger/Views/SpeakerArc.swift | 29 + .../Scrumdinger/Views/ThemePicker.swift | 25 + .../Scrumdinger/Views/ThemeView.swift | 24 + .../Views/TrailingIconLabelStyle.swift | 18 + .../Standups.xcodeproj/project.pbxproj | 540 +++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Standups.xcscheme | 106 +++ 0248-tca-tour-pt6/Standups/Standups/App.swift | 151 +++++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../Standups/Assets.xcassets/Contents.json | 6 + .../Assets.xcassets/Themes/Contents.json | 6 + .../Themes/bubblegum.colorset/Contents.json | 38 ++ .../Themes/buttercup.colorset/Contents.json | 38 ++ .../Themes/indigo.colorset/Contents.json | 38 ++ .../Themes/lavender.colorset/Contents.json | 38 ++ .../Themes/magenta.colorset/Contents.json | 38 ++ .../Themes/navy.colorset/Contents.json | 38 ++ .../Themes/orange.colorset/Contents.json | 38 ++ .../Themes/oxblood.colorset/Contents.json | 38 ++ .../Themes/periwinkle.colorset/Contents.json | 38 ++ .../Themes/poppy.colorset/Contents.json | 38 ++ .../Themes/purple.colorset/Contents.json | 38 ++ .../Themes/seafoam.colorset/Contents.json | 38 ++ .../Themes/sky.colorset/Contents.json | 38 ++ .../Themes/tan.colorset/Contents.json | 38 ++ .../Themes/teal.colorset/Contents.json | 38 ++ .../Themes/yellow.colorset/Contents.json | 38 ++ .../Standups/Standups/Info.plist | 5 + .../Standups/Standups/Models.swift | 91 +++ .../Preview Assets.xcassets/Contents.json | 6 + .../Standups/Standups/RecordMeeting.swift | 353 ++++++++++ .../Standups/Standups/SpeechClient.swift | 105 +++ .../Standups/Standups/StandupDetail.swift | 217 ++++++ .../Standups/Standups/StandupForm.swift | 136 ++++ .../Standups/Standups/StandupsApp.swift | 28 + .../Standups/Standups/StandupsList.swift | 139 ++++ .../Standups/StandupsTests/AppTests.swift | 213 ++++++ .../StandupsTests/StandupDetailTests.swift | 22 + .../StandupsTests/StandupFormTests.swift | 34 + .../StandupsTests/Standups.xctestplan | 29 + .../StandupsTests/StandupsListTests.swift | 60 ++ .../StandupsTests/StandupsTests.swift | 36 + 0249-tca-tour-pt7/README.md | 5 + .../Configuration/SampleCode.xcconfig | 13 + .../Scrumdinger-Complete/LICENSE/LICENSE.txt | 7 + .../Scrumdinger-Complete/README.md | 5 + .../.xcodesamplecode.plist | 7 + .../Scrumdinger.xcodeproj/project.pbxproj | 618 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcschemes/Scrumdinger.xcscheme | 90 +++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/AppIcon1024@1x.png | Bin 0 -> 47968 bytes .../AppIcon.appiconset/AppIcon20@1x.png | Bin 0 -> 1691 bytes .../AppIcon.appiconset/AppIcon20@2x-1.png | Bin 0 -> 2551 bytes .../AppIcon.appiconset/AppIcon20@2x.png | Bin 0 -> 2551 bytes .../AppIcon.appiconset/AppIcon20@3x.png | Bin 0 -> 3274 bytes .../AppIcon.appiconset/AppIcon29@1x.png | Bin 0 -> 2012 bytes .../AppIcon.appiconset/AppIcon29@2x-1.png | Bin 0 -> 3175 bytes .../AppIcon.appiconset/AppIcon29@2x.png | Bin 0 -> 3175 bytes .../AppIcon.appiconset/AppIcon29@3x.png | Bin 0 -> 4790 bytes .../AppIcon.appiconset/AppIcon40@1x.png | Bin 0 -> 2551 bytes .../AppIcon.appiconset/AppIcon40@2x-1.png | Bin 0 -> 4448 bytes .../AppIcon.appiconset/AppIcon40@2x.png | Bin 0 -> 4448 bytes .../AppIcon.appiconset/AppIcon40@3x.png | Bin 0 -> 5742 bytes .../AppIcon.appiconset/AppIcon60@2x.png | Bin 0 -> 5742 bytes .../AppIcon.appiconset/AppIcon60@3x.png | Bin 0 -> 9346 bytes .../AppIcon.appiconset/AppIcon76@1x.png | Bin 0 -> 4156 bytes .../AppIcon.appiconset/AppIcon76@2x.png | Bin 0 -> 7549 bytes .../AppIcon.appiconset/AppIcon83.5@2x.png | Bin 0 -> 8453 bytes .../AppIcon.appiconset/Contents.json | 116 ++++ .../Scrumdinger/Assets.xcassets/Contents.json | 6 + .../Assets.xcassets/Themes/Contents.json | 6 + .../Themes/bubblegum.colorset/Contents.json | 38 ++ .../Themes/buttercup.colorset/Contents.json | 38 ++ .../Themes/indigo.colorset/Contents.json | 38 ++ .../Themes/lavender.colorset/Contents.json | 38 ++ .../Themes/magenta.colorset/Contents.json | 38 ++ .../Themes/navy.colorset/Contents.json | 38 ++ .../Themes/orange.colorset/Contents.json | 38 ++ .../Themes/oxblood.colorset/Contents.json | 38 ++ .../Themes/periwinkle.colorset/Contents.json | 38 ++ .../Themes/poppy.colorset/Contents.json | 38 ++ .../Themes/purple.colorset/Contents.json | 38 ++ .../Themes/seafoam.colorset/Contents.json | 38 ++ .../Themes/sky.colorset/Contents.json | 38 ++ .../Themes/tan.colorset/Contents.json | 38 ++ .../Themes/teal.colorset/Contents.json | 38 ++ .../Themes/yellow.colorset/Contents.json | 38 ++ .../Scrumdinger/Models/AVPlayer+Ding.swift | 13 + .../Scrumdinger/Models/DailyScrum.swift | 64 ++ .../Scrumdinger/Models/ErrorWrapper.swift | 17 + .../Scrumdinger/Models/History.swift | 19 + .../Scrumdinger/Models/ScrumStore.swift | 40 ++ .../Scrumdinger/Models/ScrumTimer.swift | 145 ++++ .../Scrumdinger/Models/SpeechRecognizer.swift | 184 ++++++ .../Scrumdinger/Models/Theme.swift | 41 ++ .../Preview Assets.xcassets/Contents.json | 6 + .../Scrumdinger/Resources/ding.wav | Bin 0 -> 535904 bytes .../Scrumdinger/ScrumdingerApp.swift | 39 ++ .../Scrumdinger/Views/CardView.swift | 37 ++ .../Scrumdinger/Views/DetailEditView.swift | 56 ++ .../Scrumdinger/Views/DetailView.swift | 91 +++ .../Scrumdinger/Views/ErrorView.swift | 51 ++ .../Scrumdinger/Views/HistoryView.swift | 50 ++ .../Scrumdinger/Views/MeetingFooterView.swift | 47 ++ .../Scrumdinger/Views/MeetingHeaderView.swift | 54 ++ .../Scrumdinger/Views/MeetingTimerView.swift | 53 ++ .../Scrumdinger/Views/MeetingView.swift | 63 ++ .../Scrumdinger/Views/NewScrumSheet.swift | 36 + .../Views/ScrumProgressViewStyle.swift | 35 + .../Scrumdinger/Views/ScrumsView.swift | 44 ++ .../Scrumdinger/Views/SpeakerArc.swift | 29 + .../Scrumdinger/Views/ThemePicker.swift | 25 + .../Scrumdinger/Views/ThemeView.swift | 24 + .../Views/TrailingIconLabelStyle.swift | 18 + .../ScrumdingerUITests.swift | 33 + .../ScrumdingerUITestsLaunchTests.swift | 32 + .../Standups.xcodeproj/project.pbxproj | 544 +++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Standups.xcscheme | 106 +++ 0249-tca-tour-pt7/Standups/Standups/App.swift | 179 +++++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../Standups/Assets.xcassets/Contents.json | 6 + .../Assets.xcassets/Themes/Contents.json | 6 + .../Themes/bubblegum.colorset/Contents.json | 38 ++ .../Themes/buttercup.colorset/Contents.json | 38 ++ .../Themes/indigo.colorset/Contents.json | 38 ++ .../Themes/lavender.colorset/Contents.json | 38 ++ .../Themes/magenta.colorset/Contents.json | 38 ++ .../Themes/navy.colorset/Contents.json | 38 ++ .../Themes/orange.colorset/Contents.json | 38 ++ .../Themes/oxblood.colorset/Contents.json | 38 ++ .../Themes/periwinkle.colorset/Contents.json | 38 ++ .../Themes/poppy.colorset/Contents.json | 38 ++ .../Themes/purple.colorset/Contents.json | 38 ++ .../Themes/seafoam.colorset/Contents.json | 38 ++ .../Themes/sky.colorset/Contents.json | 38 ++ .../Themes/tan.colorset/Contents.json | 38 ++ .../Themes/teal.colorset/Contents.json | 38 ++ .../Themes/yellow.colorset/Contents.json | 38 ++ .../Standups/Standups/DataManager.swift | 54 ++ .../Standups/Standups/Info.plist | 5 + .../Standups/Standups/Meeting.swift | 26 + .../Standups/Standups/Models.swift | 91 +++ .../Preview Assets.xcassets/Contents.json | 6 + .../Standups/Standups/RecordMeeting.swift | 373 +++++++++++ .../Standups/Standups/SpeechClient.swift | 105 +++ .../Standups/Standups/StandupDetail.swift | 216 ++++++ .../Standups/Standups/StandupForm.swift | 136 ++++ .../Standups/Standups/StandupsApp.swift | 30 + .../Standups/Standups/StandupsList.swift | 150 +++++ .../Standups/StandupsTests/AppTests.swift | 292 +++++++++ .../StandupsTests/StandupDetailTests.swift | 22 + .../StandupsTests/StandupFormTests.swift | 34 + .../StandupsTests/Standups.xctestplan | 29 + .../StandupsTests/StandupsListTests.swift | 62 ++ README.md | 2 + 232 files changed, 11560 insertions(+) create mode 100644 0248-tca-tour-pt6/README.md create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Configuration/SampleCode.xcconfig create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/LICENSE/LICENSE.txt create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/README.md create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/.xcodesamplecode.plist create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.pbxproj create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/xcshareddata/xcschemes/Scrumdinger.xcscheme create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon1024@1x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@1x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x-1.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@3x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@1x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x-1.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@3x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@1x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@2x-1.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@2x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@3x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@2x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@3x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon76@1x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon76@2x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon83.5@2x.png create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/bubblegum.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/buttercup.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/indigo.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/lavender.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/magenta.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/navy.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/orange.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/oxblood.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/periwinkle.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/poppy.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/purple.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/seafoam.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/sky.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/tan.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/teal.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/yellow.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/AVPlayer+Ding.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/DailyScrum.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/ErrorWrapper.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/History.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/ScrumStore.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/ScrumTimer.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/SpeechRecognizer.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/Theme.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Resources/ding.wav create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/ScrumdingerApp.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/CardView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/DetailEditView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/DetailView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ErrorView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/HistoryView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingFooterView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingHeaderView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingTimerView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/NewScrumSheet.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ScrumProgressViewStyle.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ScrumsView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/SpeakerArc.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ThemePicker.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ThemeView.swift create mode 100644 0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/TrailingIconLabelStyle.swift create mode 100644 0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.pbxproj create mode 100644 0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 0248-tca-tour-pt6/Standups/Standups.xcodeproj/xcshareddata/xcschemes/Standups.xcscheme create mode 100644 0248-tca-tour-pt6/Standups/Standups/App.swift create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/bubblegum.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/buttercup.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/indigo.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/lavender.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/magenta.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/navy.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/orange.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/oxblood.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/periwinkle.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/poppy.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/purple.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/seafoam.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/sky.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/tan.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/teal.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/yellow.colorset/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/Info.plist create mode 100644 0248-tca-tour-pt6/Standups/Standups/Models.swift create mode 100644 0248-tca-tour-pt6/Standups/Standups/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 0248-tca-tour-pt6/Standups/Standups/RecordMeeting.swift create mode 100644 0248-tca-tour-pt6/Standups/Standups/SpeechClient.swift create mode 100644 0248-tca-tour-pt6/Standups/Standups/StandupDetail.swift create mode 100644 0248-tca-tour-pt6/Standups/Standups/StandupForm.swift create mode 100644 0248-tca-tour-pt6/Standups/Standups/StandupsApp.swift create mode 100644 0248-tca-tour-pt6/Standups/Standups/StandupsList.swift create mode 100644 0248-tca-tour-pt6/Standups/StandupsTests/AppTests.swift create mode 100644 0248-tca-tour-pt6/Standups/StandupsTests/StandupDetailTests.swift create mode 100644 0248-tca-tour-pt6/Standups/StandupsTests/StandupFormTests.swift create mode 100644 0248-tca-tour-pt6/Standups/StandupsTests/Standups.xctestplan create mode 100644 0248-tca-tour-pt6/Standups/StandupsTests/StandupsListTests.swift create mode 100644 0248-tca-tour-pt6/Standups/StandupsTests/StandupsTests.swift create mode 100644 0249-tca-tour-pt7/README.md create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Configuration/SampleCode.xcconfig create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/LICENSE/LICENSE.txt create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/README.md create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/.xcodesamplecode.plist create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.pbxproj create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/xcshareddata/xcschemes/Scrumdinger.xcscheme create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon1024@1x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@1x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x-1.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@3x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@1x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x-1.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@3x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@1x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@2x-1.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@2x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@3x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@2x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@3x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon76@1x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon76@2x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon83.5@2x.png create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/bubblegum.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/buttercup.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/indigo.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/lavender.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/magenta.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/navy.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/orange.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/oxblood.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/periwinkle.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/poppy.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/purple.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/seafoam.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/sky.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/tan.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/teal.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/Themes/yellow.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/AVPlayer+Ding.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/DailyScrum.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/ErrorWrapper.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/History.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/ScrumStore.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/ScrumTimer.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/SpeechRecognizer.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/Theme.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Resources/ding.wav create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/ScrumdingerApp.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/CardView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/DetailEditView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/DetailView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ErrorView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/HistoryView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingFooterView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingHeaderView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingTimerView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/NewScrumSheet.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ScrumProgressViewStyle.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ScrumsView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/SpeakerArc.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ThemePicker.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ThemeView.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/TrailingIconLabelStyle.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/ScrumdingerUITests/ScrumdingerUITests.swift create mode 100644 0249-tca-tour-pt7/Scrumdinger-Complete/ScrumdingerUITests/ScrumdingerUITestsLaunchTests.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.pbxproj create mode 100644 0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 0249-tca-tour-pt7/Standups/Standups.xcodeproj/xcshareddata/xcschemes/Standups.xcscheme create mode 100644 0249-tca-tour-pt7/Standups/Standups/App.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/bubblegum.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/buttercup.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/indigo.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/lavender.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/magenta.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/navy.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/orange.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/oxblood.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/periwinkle.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/poppy.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/purple.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/seafoam.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/sky.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/tan.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/teal.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/yellow.colorset/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/DataManager.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups/Info.plist create mode 100644 0249-tca-tour-pt7/Standups/Standups/Meeting.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups/Models.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 0249-tca-tour-pt7/Standups/Standups/RecordMeeting.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups/SpeechClient.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups/StandupDetail.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups/StandupForm.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups/StandupsApp.swift create mode 100644 0249-tca-tour-pt7/Standups/Standups/StandupsList.swift create mode 100644 0249-tca-tour-pt7/Standups/StandupsTests/AppTests.swift create mode 100644 0249-tca-tour-pt7/Standups/StandupsTests/StandupDetailTests.swift create mode 100644 0249-tca-tour-pt7/Standups/StandupsTests/StandupFormTests.swift create mode 100644 0249-tca-tour-pt7/Standups/StandupsTests/Standups.xctestplan create mode 100644 0249-tca-tour-pt7/Standups/StandupsTests/StandupsListTests.swift diff --git a/0248-tca-tour-pt6/README.md b/0248-tca-tour-pt6/README.md new file mode 100644 index 00000000..50022351 --- /dev/null +++ b/0248-tca-tour-pt6/README.md @@ -0,0 +1,5 @@ +## [Point-Free](https://www.pointfree.co) + +> #### This directory contains code from Point-Free Episode: [Tour of the Composable Architecture 1.0: Dependencies](https://www.pointfree.co/episodes/ep248-tour-of-the-composable-architecture-1-0-dependencies) +> +> We introduce a complex dependency to the record meeting screen: speech recognition. We will begin to integrate this dependency into our app’s logic, and show how to control it for Xcode previews and tests diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Configuration/SampleCode.xcconfig b/0248-tca-tour-pt6/Scrumdinger-Complete/Configuration/SampleCode.xcconfig new file mode 100644 index 00000000..db86c069 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Configuration/SampleCode.xcconfig @@ -0,0 +1,13 @@ +// +// See LICENSE folder for this sample’s licensing information. +// +// SampleCode.xcconfig +// + +// The `SAMPLE_CODE_DISAMBIGUATOR` configuration is to make it easier to build +// and run a sample code project. Once you set your project's development team, +// you'll have a unique bundle identifier. This is because the bundle identifier +// is derived based on the 'SAMPLE_CODE_DISAMBIGUATOR' value. Do not use this +// approach in your own projects—it's only useful for sample code projects because +// they are frequently downloaded and don't have a development team set. +SAMPLE_CODE_DISAMBIGUATOR=${DEVELOPMENT_TEAM} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/LICENSE/LICENSE.txt b/0248-tca-tour-pt6/Scrumdinger-Complete/LICENSE/LICENSE.txt new file mode 100644 index 00000000..9e79b9ef --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/LICENSE/LICENSE.txt @@ -0,0 +1,7 @@ +Copyright © 2022 Apple Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/README.md b/0248-tca-tour-pt6/Scrumdinger-Complete/README.md new file mode 100644 index 00000000..03bf0dd1 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/README.md @@ -0,0 +1,5 @@ +# Transcribing Speech to Text + +## Completed Project + +Explore the completed project for [Transcribing Speech to Text](https://developer.apple.com/tutorials/app-dev-training/transcribing-speech-to-text). \ No newline at end of file diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/.xcodesamplecode.plist b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/.xcodesamplecode.plist new file mode 100644 index 00000000..4c2052dd --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/.xcodesamplecode.plist @@ -0,0 +1,7 @@ + + + + + + + diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.pbxproj b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.pbxproj new file mode 100644 index 00000000..174a4eac --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.pbxproj @@ -0,0 +1,486 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + A93E3F39294A6F3400B9708D /* ScrumProgressViewStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F38294A6F3400B9708D /* ScrumProgressViewStyle.swift */; }; + A93E3F3B294A6F4200B9708D /* ScrumTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F3A294A6F4200B9708D /* ScrumTimer.swift */; }; + A93E3F3D294A716700B9708D /* MeetingHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F3C294A715B00B9708D /* MeetingHeaderView.swift */; }; + A93E3F3F294A748B00B9708D /* MeetingFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F3E294A748B00B9708D /* MeetingFooterView.swift */; }; + A93E3F41294A912B00B9708D /* History.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F40294A912B00B9708D /* History.swift */; }; + A93E3F43294D18F700B9708D /* ErrorWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F42294D18F700B9708D /* ErrorWrapper.swift */; }; + A93E3F45294D196600B9708D /* ErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F44294D196600B9708D /* ErrorView.swift */; }; + A93E3F47294D1E5600B9708D /* MeetingTimerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F46294D1E5600B9708D /* MeetingTimerView.swift */; }; + A93E3F49294D1F8500B9708D /* SpeakerArc.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F48294D1F8500B9708D /* SpeakerArc.swift */; }; + A93E3F4B294D224A00B9708D /* SpeechRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F4A294D224A00B9708D /* SpeechRecognizer.swift */; }; + A93E3F4D294D28C400B9708D /* HistoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F4C294D28C400B9708D /* HistoryView.swift */; }; + A9789BAE2947DE5100305A2F /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9789BAD2947DE5100305A2F /* Theme.swift */; }; + A9789BB02947DF6300305A2F /* DailyScrum.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9789BAF2947DF6300305A2F /* DailyScrum.swift */; }; + A9789BB22947E08F00305A2F /* CardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9789BB12947E08F00305A2F /* CardView.swift */; }; + A9789BB52947E51500305A2F /* TrailingIconLabelStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9789BB42947E51500305A2F /* TrailingIconLabelStyle.swift */; }; + AA313BB629B69F0A00F4309A /* ding.wav in Resources */ = {isa = PBXBuildFile; fileRef = AA313BB529B69F0A00F4309A /* ding.wav */; }; + AA7F3039294A878E005E1E9F /* AVPlayer+Ding.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA7F3038294A878E005E1E9F /* AVPlayer+Ding.swift */; }; + AAA368B729957D1A00FE35E9 /* NewScrumSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAA368B629957D1A00FE35E9 /* NewScrumSheet.swift */; }; + AAAE8020294793AB0099DABC /* ScrumdingerApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAAE801F294793AB0099DABC /* ScrumdingerApp.swift */; }; + AAAE8022294793AB0099DABC /* MeetingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAAE8021294793AB0099DABC /* MeetingView.swift */; }; + AAAE8024294793AB0099DABC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AAAE8023294793AB0099DABC /* Assets.xcassets */; }; + AAAE8027294793AB0099DABC /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AAAE8026294793AB0099DABC /* Preview Assets.xcassets */; }; + AAAE8031294795050099DABC /* SampleCode.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = AAAE8030294795050099DABC /* SampleCode.xcconfig */; }; + C768FBAF294B7F8300798D32 /* ScrumStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = C768FBAE294B7F8300798D32 /* ScrumStore.swift */; }; + C76970A02948F3A4002748F5 /* ScrumsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C769709F2948F3A4002748F5 /* ScrumsView.swift */; }; + C76970A22948F9CA002748F5 /* DetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C76970A12948F9CA002748F5 /* DetailView.swift */; }; + C76970A629491AB2002748F5 /* DetailEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C76970A529491AB2002748F5 /* DetailEditView.swift */; }; + C76970A829493341002748F5 /* ThemeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C76970A729493341002748F5 /* ThemeView.swift */; }; + C76970AA29493621002748F5 /* ThemePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = C76970A929493621002748F5 /* ThemePicker.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + A93E3F38294A6F3400B9708D /* ScrumProgressViewStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScrumProgressViewStyle.swift; sourceTree = ""; }; + A93E3F3A294A6F4200B9708D /* ScrumTimer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ScrumTimer.swift; path = Scrumdinger/Models/ScrumTimer.swift; sourceTree = SOURCE_ROOT; }; + A93E3F3C294A715B00B9708D /* MeetingHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeetingHeaderView.swift; sourceTree = ""; }; + A93E3F3E294A748B00B9708D /* MeetingFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeetingFooterView.swift; sourceTree = ""; }; + A93E3F40294A912B00B9708D /* History.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = History.swift; sourceTree = ""; }; + A93E3F42294D18F700B9708D /* ErrorWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorWrapper.swift; sourceTree = ""; }; + A93E3F44294D196600B9708D /* ErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorView.swift; sourceTree = ""; }; + A93E3F46294D1E5600B9708D /* MeetingTimerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeetingTimerView.swift; sourceTree = ""; }; + A93E3F48294D1F8500B9708D /* SpeakerArc.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeakerArc.swift; sourceTree = ""; }; + A93E3F4A294D224A00B9708D /* SpeechRecognizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeechRecognizer.swift; sourceTree = ""; }; + A93E3F4C294D28C400B9708D /* HistoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryView.swift; sourceTree = ""; }; + A9789BAD2947DE5100305A2F /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = ""; }; + A9789BAF2947DF6300305A2F /* DailyScrum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DailyScrum.swift; sourceTree = ""; }; + A9789BB12947E08F00305A2F /* CardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardView.swift; sourceTree = ""; }; + A9789BB42947E51500305A2F /* TrailingIconLabelStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrailingIconLabelStyle.swift; sourceTree = ""; }; + AA313BB529B69F0A00F4309A /* ding.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = ding.wav; sourceTree = ""; }; + AA7F3038294A878E005E1E9F /* AVPlayer+Ding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AVPlayer+Ding.swift"; sourceTree = ""; }; + AAA368B629957D1A00FE35E9 /* NewScrumSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewScrumSheet.swift; sourceTree = ""; }; + AAAE801C294793AB0099DABC /* Scrumdinger.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Scrumdinger.app; sourceTree = BUILT_PRODUCTS_DIR; }; + AAAE801F294793AB0099DABC /* ScrumdingerApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrumdingerApp.swift; sourceTree = ""; }; + AAAE8021294793AB0099DABC /* MeetingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeetingView.swift; sourceTree = ""; }; + AAAE8023294793AB0099DABC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + AAAE8026294793AB0099DABC /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + AAAE802D2947945C0099DABC /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + AAAE802E2947949E0099DABC /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = folder; path = LICENSE; sourceTree = ""; }; + AAAE8030294795050099DABC /* SampleCode.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = SampleCode.xcconfig; sourceTree = ""; }; + C768FBAE294B7F8300798D32 /* ScrumStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrumStore.swift; sourceTree = ""; }; + C769709F2948F3A4002748F5 /* ScrumsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrumsView.swift; sourceTree = ""; }; + C76970A12948F9CA002748F5 /* DetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailView.swift; sourceTree = ""; }; + C76970A529491AB2002748F5 /* DetailEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailEditView.swift; sourceTree = ""; }; + C76970A729493341002748F5 /* ThemeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeView.swift; sourceTree = ""; }; + C76970A929493621002748F5 /* ThemePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemePicker.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + AAAE8019294793AB0099DABC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + A9789BAC2947DE3900305A2F /* Models */ = { + isa = PBXGroup; + children = ( + AA7F3038294A878E005E1E9F /* AVPlayer+Ding.swift */, + A9789BAF2947DF6300305A2F /* DailyScrum.swift */, + A93E3F42294D18F700B9708D /* ErrorWrapper.swift */, + A93E3F40294A912B00B9708D /* History.swift */, + C768FBAE294B7F8300798D32 /* ScrumStore.swift */, + A93E3F3A294A6F4200B9708D /* ScrumTimer.swift */, + A93E3F4A294D224A00B9708D /* SpeechRecognizer.swift */, + A9789BAD2947DE5100305A2F /* Theme.swift */, + ); + path = Models; + sourceTree = ""; + }; + A9789BB32947E4F500305A2F /* Views */ = { + isa = PBXGroup; + children = ( + A9789BB12947E08F00305A2F /* CardView.swift */, + C76970A529491AB2002748F5 /* DetailEditView.swift */, + C76970A12948F9CA002748F5 /* DetailView.swift */, + A93E3F44294D196600B9708D /* ErrorView.swift */, + A93E3F4C294D28C400B9708D /* HistoryView.swift */, + A93E3F3E294A748B00B9708D /* MeetingFooterView.swift */, + A93E3F3C294A715B00B9708D /* MeetingHeaderView.swift */, + A93E3F46294D1E5600B9708D /* MeetingTimerView.swift */, + AAAE8021294793AB0099DABC /* MeetingView.swift */, + AAA368B629957D1A00FE35E9 /* NewScrumSheet.swift */, + A93E3F38294A6F3400B9708D /* ScrumProgressViewStyle.swift */, + C769709F2948F3A4002748F5 /* ScrumsView.swift */, + A93E3F48294D1F8500B9708D /* SpeakerArc.swift */, + A9789BB42947E51500305A2F /* TrailingIconLabelStyle.swift */, + C76970A929493621002748F5 /* ThemePicker.swift */, + C76970A729493341002748F5 /* ThemeView.swift */, + ); + path = Views; + sourceTree = ""; + }; + AA313BB429B69EDC00F4309A /* Resources */ = { + isa = PBXGroup; + children = ( + AA313BB529B69F0A00F4309A /* ding.wav */, + ); + path = Resources; + sourceTree = ""; + }; + AAAE8013294793AB0099DABC = { + isa = PBXGroup; + children = ( + AAAE802D2947945C0099DABC /* README.md */, + AAAE801E294793AB0099DABC /* Scrumdinger */, + AAAE802F294794D40099DABC /* Configuration */, + AAAE802E2947949E0099DABC /* LICENSE */, + AAAE801D294793AB0099DABC /* Products */, + ); + sourceTree = ""; + }; + AAAE801D294793AB0099DABC /* Products */ = { + isa = PBXGroup; + children = ( + AAAE801C294793AB0099DABC /* Scrumdinger.app */, + ); + name = Products; + sourceTree = ""; + }; + AAAE801E294793AB0099DABC /* Scrumdinger */ = { + isa = PBXGroup; + children = ( + A9789BAC2947DE3900305A2F /* Models */, + A9789BB32947E4F500305A2F /* Views */, + AAAE801F294793AB0099DABC /* ScrumdingerApp.swift */, + AAAE8023294793AB0099DABC /* Assets.xcassets */, + AA313BB429B69EDC00F4309A /* Resources */, + AAAE8025294793AB0099DABC /* Preview Content */, + ); + path = Scrumdinger; + sourceTree = ""; + }; + AAAE8025294793AB0099DABC /* Preview Content */ = { + isa = PBXGroup; + children = ( + AAAE8026294793AB0099DABC /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + AAAE802F294794D40099DABC /* Configuration */ = { + isa = PBXGroup; + children = ( + AAAE8030294795050099DABC /* SampleCode.xcconfig */, + ); + path = Configuration; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + AAAE801B294793AB0099DABC /* Scrumdinger */ = { + isa = PBXNativeTarget; + buildConfigurationList = AAAE802A294793AB0099DABC /* Build configuration list for PBXNativeTarget "Scrumdinger" */; + buildPhases = ( + AAAE8018294793AB0099DABC /* Sources */, + AAAE8019294793AB0099DABC /* Frameworks */, + AAAE801A294793AB0099DABC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Scrumdinger; + productName = Scrumdinger; + productReference = AAAE801C294793AB0099DABC /* Scrumdinger.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + AAAE8014294793AB0099DABC /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1410; + TargetAttributes = { + AAAE801B294793AB0099DABC = { + CreatedOnToolsVersion = 14.1; + }; + }; + }; + buildConfigurationList = AAAE8017294793AB0099DABC /* Build configuration list for PBXProject "Scrumdinger" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = AAAE8013294793AB0099DABC; + productRefGroup = AAAE801D294793AB0099DABC /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + AAAE801B294793AB0099DABC /* Scrumdinger */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + AAAE801A294793AB0099DABC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AAAE8027294793AB0099DABC /* Preview Assets.xcassets in Resources */, + AAAE8031294795050099DABC /* SampleCode.xcconfig in Resources */, + AA313BB629B69F0A00F4309A /* ding.wav in Resources */, + AAAE8024294793AB0099DABC /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + AAAE8018294793AB0099DABC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A93E3F41294A912B00B9708D /* History.swift in Sources */, + A93E3F4D294D28C400B9708D /* HistoryView.swift in Sources */, + C76970AA29493621002748F5 /* ThemePicker.swift in Sources */, + A9789BB02947DF6300305A2F /* DailyScrum.swift in Sources */, + A93E3F3F294A748B00B9708D /* MeetingFooterView.swift in Sources */, + C768FBAF294B7F8300798D32 /* ScrumStore.swift in Sources */, + A93E3F39294A6F3400B9708D /* ScrumProgressViewStyle.swift in Sources */, + C76970A22948F9CA002748F5 /* DetailView.swift in Sources */, + C76970A629491AB2002748F5 /* DetailEditView.swift in Sources */, + A9789BB52947E51500305A2F /* TrailingIconLabelStyle.swift in Sources */, + A93E3F47294D1E5600B9708D /* MeetingTimerView.swift in Sources */, + A9789BAE2947DE5100305A2F /* Theme.swift in Sources */, + A93E3F43294D18F700B9708D /* ErrorWrapper.swift in Sources */, + A93E3F3D294A716700B9708D /* MeetingHeaderView.swift in Sources */, + C76970A02948F3A4002748F5 /* ScrumsView.swift in Sources */, + AAAE8022294793AB0099DABC /* MeetingView.swift in Sources */, + AA7F3039294A878E005E1E9F /* AVPlayer+Ding.swift in Sources */, + A93E3F4B294D224A00B9708D /* SpeechRecognizer.swift in Sources */, + A93E3F45294D196600B9708D /* ErrorView.swift in Sources */, + AAAE8020294793AB0099DABC /* ScrumdingerApp.swift in Sources */, + C76970A829493341002748F5 /* ThemeView.swift in Sources */, + AAA368B729957D1A00FE35E9 /* NewScrumSheet.swift in Sources */, + A9789BB22947E08F00305A2F /* CardView.swift in Sources */, + A93E3F49294D1F8500B9708D /* SpeakerArc.swift in Sources */, + A93E3F3B294A6F4200B9708D /* ScrumTimer.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + AAAE8028294793AB0099DABC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AAAE8030294795050099DABC /* SampleCode.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + AAAE8029294793AB0099DABC /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AAAE8030294795050099DABC /* SampleCode.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + AAAE802B294793AB0099DABC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AAAE8030294795050099DABC /* SampleCode.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Scrumdinger/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "Audio is recorded to transcribe the meeting. Audio recordings are discarded after transcription."; + INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "You can view a text transcription of your meeting in the app."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.example.apple-samplecode.Scrumdinger"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + AAAE802C294793AB0099DABC /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AAAE8030294795050099DABC /* SampleCode.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Scrumdinger/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "Audio is recorded to transcribe the meeting. Audio recordings are discarded after transcription."; + INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "You can view a text transcription of your meeting in the app."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.example.apple-samplecode.Scrumdinger"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + AAAE8017294793AB0099DABC /* Build configuration list for PBXProject "Scrumdinger" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AAAE8028294793AB0099DABC /* Debug */, + AAAE8029294793AB0099DABC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AAAE802A294793AB0099DABC /* Build configuration list for PBXNativeTarget "Scrumdinger" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AAAE802B294793AB0099DABC /* Debug */, + AAAE802C294793AB0099DABC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = AAAE8014294793AB0099DABC /* Project object */; +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/xcshareddata/xcschemes/Scrumdinger.xcscheme b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/xcshareddata/xcschemes/Scrumdinger.xcscheme new file mode 100644 index 00000000..f43fcddc --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger.xcodeproj/xcshareddata/xcschemes/Scrumdinger.xcscheme @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AccentColor.colorset/Contents.json b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..eb878970 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon1024@1x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..46ca82d60175b657b84a44a65931e93f3efd268d GIT binary patch literal 47968 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 W zBak|Gg(rTbf|QHFNuHm2yrASFDmq?`DJp@}ZdyO(Qbt?j)@b$GwQ*h(;A;gzGZ~TD z3kjpjKiX2U+lk9JZjNvp!8$uY0g(nvVSF9MFpsS@x`Z^_xaTqxn^}o1$CIzh4tnmN z2hiag;)JTh*3%)!>3A3K245-2bd$^M5E_l`OgaJ&JyiZh=UQW_fgMG1DNt&SZ8A?f zNsb?{j~ooyvrwO=#jV4GJ&&NM1WT#TOT$C}XkL0WvqFz_>Q*;x5IH?66oLk z0L2QD5-1~>9%ia*`>~95U~9A$tIt&P@ zc=FYyd;)3ML4dQIpC$Em0^`jY^~bGuC~;$NCf4X*y($sft9trqL4j#;Q8v62CgOxf z-9fiuVvc)%E;;lIBnS(?LeA&DiOcWx=-&x_?flj!-k~K}>y^ZiH_BtI)_fEsq&I>k=tM?tGV?fsaXsck} z{K445sfQv;552!<+{erh9Y#Yy#f|~Da-_I9%9?Gmu_=oB^6H8uu3{r>%1$M;i1BF{7F^g&N2z9sYZF_$r2J<`j4+ak9s=~sYFslnn9A_6Oyeq%|jkluW< zpK7NfJKhyKeo>eJ>bK-*TG#V#(HbnXS)pr5ry4u})XUwmQyILHJMm-%`!=%AS~uN+ zIp#+#=LQqV$|Y6cGc}((bBOJ+Kzk{*G?RSZY0>>tfHouCLwc7HxcgS?O%-u}zl*c< z%<=6C#63<1G_cb}>92*;q9mwyp?&yAUnQc0#qrX4Ii|>=4x7Aq(i=n8P4hQ_-Ke$83Wdk8CPk<^1@(B_uyoe+JaNyS zN)rPI-l4*|D0<`2#A{64!vE=6Wl^GzL9ebl|j! z5sKVi%3I4LKU{WhFZJ94F&{MOjmqKO{z^24!?=LodDo!hafX!gbCtd99+sI72@&Ea zQ?mQu)58RBprAo8Eh?KbAXd?X-BIYTP=AjEG-pBltES@5j5HG4`CTd~yq;N5iOROV zFk|Vq?oSZDO_C98+vCI6mjo=R&m6QEh3_2}2Gz68eS~B)EqQxi`gG-RJH~)qgPU|F zuh9o(r2&bY(ZXqY~WXdU@nn}u(>W#^b76t}(ZEz4WI}QCx{g=mH_>36J z)6FYuv`e1k$HvJyaev&FbVkO&Fg0VJEA{KBU?_y!^{?UA5(U=6vk|>Ag3UDOId-KZ6p}GRXTa{qkWxTc5H$9y(cacTh9<`;A!`pEbHZxCjd(X{0IE_ zwBMv@BtWD1%qH@Mji1krVZEmH3pZmJ+1(HZ+qzq7u;Z${`bT&WuG3pdQOVYzLs$iSNjb^`8+#KxQzJxVUQxbWig7v9p z$ivChl;-q!5<*k}^?0W9sZp_Vjeo6;JmKX|VC~ww@qj?u6pcJIkWR2Nxl|oo-~(rT zF{$GxwN}|`=9DN(QH#l;9oI76NxPBEM`&=szjGwhM?h`8y!q+-GJ81Lkw;LBF zZt+{`E`<%YKAK=yZ!bXX3WMl1P+z52;L|PS5&Fh6?HmPFKNrT0{jvl*3A|G#o~-ZQ z+dkedu7FeUzo;gty`j%e)@A0T(9-PNCy z9(AC$oJ>1!iey@Sw%QdG>E7RF1ojhUU;Rr9jn|Y(8sgp>Vh{ zwd9R*xHBfWuC8G0o3e=`)w8$Bde6hBKE)^sep358yZ71v7id3le_UuYY3x*7F~;-7 z?YL(QNp@=9^8;^#?_U{JWYxOEPEeNSGNYwQfIjO>&V;2(5f0@YQ(JJ+I>!zF2eSgXon?%Wf>#g^sKgDmkV~TGLyS!H|c-8_BgxS7SqY&0pMBXnZV}&0*xyOg1xSM5K zdV>75u0L17hM%@I(Jn2wH-Q`FqxCs-*72Q;_A?3^|NSAsv=3D|ptKR+7sF*Cf@qc? z5(B=pO<3=Pm@dl+4auhT1ES%;u6~}<$*!(P#F^=5c90-u6e!v*!z!MVwA77BzlI9e zUi~x(LP1}J;_4jymi7l`$qxo85*J#wm4PhYH8?tL=ZKS}CWA<`x4P8p4;Y*YOq}XG`KII-@;k`<4N=~?TpT4aHOfwcm zR`63JEvl#c{#1oQj!^Kj3kD);#PjpKMeb`j!nEx!I-?9g<(bi4H1-ar zW?$lo9g8<@?Z66Yp?|E4q(;X+r#i_N(`ISsjDTMwyTn=%-sjQ6Y2JRE7g2&@8|9D6 ze)@5Y^kcy$#C_%1N@mk?BHPlBVoBWYS(wDs7lQ=Y) zpdYG^QbEuH`#QA*H!-G9#s3YTtK3)5lI z&ft(c@A4XebT$!`{Iot+Jg-&JUq7`mav2;@($K$E$}3n@!?RQ%^DBz5ugaW5a&Y5U9_^@?CwQNbw(eUFmUzWB~}@sVwyb z?w*sgeM;W0soCGELZQHgxO4jfpJn)E<_CAKay}}wG3@bbZ@H11d=W<@dMZ*4^;g}C zkRh5?Gm)Cysmm7B!Ua}y>)wWYf3|uY z3yY6WZ1b2XTYJ=j_C`zt`I;mm5G{v%@ODL_PGZF;>2;#^`g;jZ_xz0KdykbzKXk8^ zh+`IAHy<%j#oa9MOXL=S4~_*~270pSYD{P(sMbSjC>4u285|`8L;j^rrRfc;%&x%D z4)Usx^t%iTlF8x&NsuKL7tV--rIev#m3=pPN-4eII^{u!bryWu@_KM*a+6B5UXEAF z8<*&TvA30tv+6lc!kfRE)x&Cja_WlM#&{vFj@E_yZPam7&8}XE1E zEmqaP>~i78EwVqh?Cy!24_9A(K4xTP;

qk~EB$lguEOt&2pU)vq7hnWnF9Mm3_fyiTFY=0|+cMIN&np{SmX5GIvAzMiYdz z!;gcKhz!*qPaR?L9iLiM0>U>IuC|?X5gDg+^#7E}smqeov3-C1$gI;gWuSMICAc@< zcD%_W@EMMSV1z(>U>n(4MD{G>B@{}8@FsUpnIfFgpsWoI4T7O4KAB2!yXGa8+idbv zobP@!@-2lO3%p)NTgKP=l?Ak2=gN!Y<@1Nr0$EqepHU`dC{G{vj4se4~qyX z98%+_xZCqCV)!0&`lG|wOpbSX*Kf`yt7{w$s4`oxD&4=yPhvH0Tk|4whFAK`9k-sd zND2&$j2=YnPc(nCV$!8EvD#Z_*EFH@vx3i0JbUO9#@wrkdJK_(=^#Ejf2MRM?dx|+ zkotBZD+KScq-lusNK?g1vTI6pFw5gEsY!m>lU+(}i?BCU5i@?pKZEq3S1fN#r4O)? z%|w{?s`&7yAQoFiRcE9(#|ixy;zC3HMlqK4yV7RgZi$Kwf>{u$Pe;O^Fz0ujc_-vd z$&AR|GFT6$E~;6`x~-w^o5-2`xg@;5%Y37Ygm7dBC{WfZYF)?cqy;^PN8Wer9)n&DX{)vU$t73%MWhC80A7aQmJvM zEd!ZfrH33Ylz(~NDgVbGiu9ES< zyI8rKHx4*Vhyj|T#Qx&!FnXE3!E8yPL}8Q;#jAY}pY3->*|IYlqZv!tG_8J3AjmE` zg3%Is*5Ph>V3Ag~#x=Yu0=GOWdE{HA)*Ogz6+Hbd^WN> zzVjLmkrU7Xf|wVzLh~SO-B&LH252X#M>&|fwL2}QVI=@l>VP6{MGPZw9aLcWYBB`pag%u-l} zysbY{LsoC(yo_ZaKMgALYlCgX-p#q$bl%8Y`Mp9t?bdw!-rDOqX_lJ3$11Cm4vs>9 zR=0ltWZ%9-&TJx8E6;R><-9m~uD`TaeeCEA$zUL1^|PUh(EyD`(95G*5XqfsH)kp~ zlkRe1cg2yWLOx}qR2>eO@nDI58P8i(5-2}Gz2y>m#*A3qCUX~6@Z8RNbuo8i3WZyK z>|!>BLDJ=y(%mNBD&OKRg8azD7xQcJj}qTofV*P=%`<=GH>+hn;KX{m`9 z7T4KssLZN|n{i8$y~iViYF8N9l@0juUa03R{5uCze997>KEXh7&vKy?9`K$`0qD@O z^mz0TQcXS(`g!c#TFC88_MXJv9i@%11IgWi+mH`9%dhsK^O&s{-Wj{6DlHY^>{sKK zHh^8zs*~cYft=VTmz%8(-!5$gReiBu@+z46kX`%}`aK4aJCQyG?orX4v1y2EXlv8U zRh~t{uHpzLijf|AZ(>y>00`4%5AC2lusn5dYg8U6q0LvzWJhWER4lnPetMmYdlg|L z$Ock~^`fE+uPn!EX5ksO6I}F!jttW)5{W1!WCU zC23~FrdcQA<~Y+#Gj@3~a+;-SHh7f@=1l2$3IEH%^PyPIo!eU`JA-FOFbIl2_n`^) zkzlLs9|XNgmROPA?fZUFVZn6i*!2qrF5^6-gY&EoI;Ie8w%LaRQo&6z#js z$Ea1|1375@LyQ!1fEm*N+(#{Pm3a2Jc)M;^K8UUcgs)w2(;N($s5K8dNQ;XpvT86j zq3N|q_#u~}O7>o{At{8)gvVm9;&x#>4(?8(2D2FzCLIq-EP;65<5TWiDzPtJ?l=&Z z=}RlS#Zt?6p9+4RsvXVn2Jt4B_&EJ#@PlsG;1?VBSK8{$g80%ShdLhQkEPm_kYuFG z-}*yqdr!Z0kB^Uj71ST$`Vz=M#~zIJk^M})GcuRi=3V;Dx>(e)F9%*?er9Fn>@8wM zX3vwo3nVnl^$I)b&w*+!p{D&Tl$^gPY7y49fKH&F3|W^Ru^HG)j!+KkcGcS}PKfW& zg#hW%tSv193L0%GQQ_Gc*pXr2wo2#*Nezt9H`z~ZnHkcs655LGk`j(XYk!CtS#>eH ze7)WL^zrgFneDP@uM$#3R3zkS6;o9=c#$sYVq%yka*i;$#!%(l$3p37kMHL6RN3sG zYc6A{-twn7zA2HvdM?C~7RN|A`B);?(#1Ky<8DgB50ar*P_5^CE72Ponr=nslq8Nq zv9m0Wydly%rmT>&hU~d9Tuc<-6EPMuRIZQM@!q-0XZhAApJGSI>2B|SG(#F5XwDqm zGn&5Gr6+$Wz1__5ePROq0mTF&-Lab?N|Ve4d8D2~rk55$&rr=hIGkW_P(>(<1z{J| z6Ies`n=%0xw8+h5uq4q1wi#eC_T&tqz%_%$|o`PI-U75njSnJ3HVk3a-RET z9|~bh0*x{Y;vTt%Xnv|+AvMHr4J19t4rY4TvymO{xle9%v`&V zAqh8jE-fimYJLyl=epAh)_k%Tr5e zQH8O9nyNe&8?&-u{Snh|W#mBY3{CzLa~V>(t3^zO#&~ zwndO)h}hX5_ebE<98}d(-hG|v27Vt3_WP?-H*_;Y$U_SW4Gd<&k_S(#hb8vcygc1z z(hr{9+In#4qrD!H*z-7!Yv~H;XmSdFr-_*60yTGv%-RmvL*a=}T`hZA$HQ}5zFXOF zGYa^GI)yjr+-$%L;b+7L*IvBbkBDCzw_;1&on64B-qWU*k6|575Cu~tw|(P!j8%O1 zMs~Eqe_p&6oBm_#2t(+wuJ;(R|Hpp*+v~$S%*nDPq*#L)b{tK;3~TH7EMyH0!uIn+9PX4zaV8^XUAOuNqcP=tMjbB^`z&jMxUerFSYKZd6S>S*#bl z`kt?#0F*?rFJDNlpvtc9R;7BpyJtp1pIybnhuIEYoRN*Z@#y@Z#USsjrCnK8El>tx zMsBGrewH%g2k&2t-v8WCxpOn^Y3ok5DcyyfmqAHJ!>KoY;~*#j-4t_>3ww>Y%elcI z38LengZ0N%d`e43d%hhETh;#99GUvEX{_w{v4DFhy?7%_m$qh`PE#iWyr$@p=KTgB zR}QNPTNS1%v>Cfz$Fa&&?I1qNGM;R{n_?j|ywmzBGlHHr^h0nSmGGBgZb@qV@QW|m zW!v2xy;fMh+CzDerPP;t4-8f#jXTo9MskEC`)6scQWqvTE`Rf?O z$f(ruj3h|hOlJ*8ssZ1wO#fvX;r!`k2?;s3(Y**Ckc&Gi@!VDJ%E3gE1II7F0=dZ~ zV^-j`iw6HvFv#0DYE*6a?9o~Tskd}bRkdqandfwGug&$n3po$Fl{Z=TJgtwX7h@Xw zc-PfXr{OWoNeat98wJen9d!7SziA3Qa#rWKc5a7MMQig*Db7l`o)8^8?;osOHki3k zCYxh)_}-x9r8UQ;+ghxW=QjBQ((b){DxvQBOg-hMw!FZrh;&&h0%5IIb0zKLZE4oW zz?27K|3tY0>?uv_>7Dec*cDat6m{9slNl$;dbw(?+BLV9PD^il?{@OZT{#(oKxGSc zK#yGy3C+0(OdwE+E-uki6>xx=9s3#keW%D*r&ms!?d;ru@px5ExX2xU$BFQR`IU=( z&wHJ&XuLdO5yg{D5yE9qj~0@`T5fjaH|cKs$+v?ydPgd zFL1^FBpm6*)e{SKZuFCu@Apd%$7D%=72pW)eLP%@klPsu7?bW*qb!eo^ro_;cR-); zc}JHrT=O=$+XxgI23=1{M|^u&_QvP6W@2Rw#MaHLlzj2Z`jZHI57ExBpVv|teBj$&?<04GcDPs zd|Q5i;Grc1ip0^E&ikL_we@I88PPtWJnfsLt|&Eek6wqGfAm}4jZm`X82jq44>!y^ zFdxAy7eD*PyTgRI#=}}UVb(OQ4MCao6M|GAyG~w~fBu2^^WD?9{8TBG`Ogi80_9I9 zkDGU#6?Qni=zVdz;t8y3tVU8=8WYECz}T#ffW#yD5M`76)Hji9)-M7|giZ)4{3h0dHq;8XrNw$tyo z63buf@0dnT-4+E!I4R_kHEm8DGt9d|oWjo;v*{lb#wB!Kf2)C6`b=(8JG zCiDZnfl8-R%xIq#uQMA}(^>|m$GJhW6ywZ>jqspl> zplzA>iVQw3^NnXqp}Hwh29=@Gwdzn!#>ynll*KNt9#{T7gb7~+?{xrK6na3v3T4OR z^W;{p?{i)%{T;Zohy^PI^t9HoP7<(qRAPck-%j8YU zPN2(L=7;Tn0%@0-ZDB8u{7bv}$jdL546h>-hlIK4a>`#9RhN`!4E;HfL}api^85$E z+Y|)XoI_J^9M-glE(hyJ%jCB$g2ij#=uvL!ak&<%tJADxY)s#eGeH&>02!Q~z3@ml z&Tn6=yWUZn<>}bi)cxH!JU;s>VkB&4EL`(RqXT_c<+UA|Yc<_9Ci+nRwkQ>#2dq(K z(0e!tNY1Gi(WiHnvg~duRHjWAF8fbjvEFs%e%Q&um&-u>4cP5aFB3`sOJUkWhV;8@ zn$OtY2(FYKZ*&EEP1Xlrq&Zb*CD(@Pcvtqz1B3cZ0y{A%bN@4s%4^%^OSL$M!vZEd z0zpr>LCas|qE1|Z58#%Aubu(3yf_-DUdnnNK3o@<7Cp2*##LvgLb3M@Di10+VN!uM z{`r72XgCb7NnyZverAX!vG5Hs1; z?!`emM=9Kz4a62|Deqt{>j-{2!i7lYmeV8vI@tJ9L6M9Ygao(4gj|xa%B-#CZSf>4N3KKgvKIv9?-`M0RYkl!^>Dj{5 z7!$yv8^Z5o>os-y{#}=JUw*FptHzd7;|2}AhuKZI-bQuyJEk4omhZ!Q;l75fb87xq zcBt7O5hNWHaM|HYDyqZ(Ah57h4Yly_37$m>VUzrSphYnhB}X`_OAp`kB)=9~IDhO) z)}uj8cSE^;hTl0GKvBrKY5W!4~1cCa(oKywkJ#Gx`Zz>8t@Sl2c1)F`6xugIG%m%%`5*J#8rRcaKaAI<}?Y07fqn*f5_l z8L{&$LST;WLf-Y@+vy~eFAyn$!+(bzCwT-XGOjhO(VZ(v4XfcDX?A~iYSW1+*2-nM zYW$ZGV!Qgm%s|?pZem2=@$R?jiA!Np+`V=Pua6Zu4Cw#^8~HBqhGGECE5c0a(oAU4 zLFdDS>kBR9gyyCgEZ;T)JVVs5sA-DN{dG? zaU7<0?_C8(qI%2BCk`P^R4k2pK>ILo64* zMit6DJF>go+aDk8tu%&fvxB1D7(o@`IRF(1Q~ch3hKMKPm4LC=ZKiZ>R=ZTH>to-+ z48bYtE~64Oa9bEJHdoHRB44aR$HzmsKdaX|^0Iv(U}Z=FeV_!!i*7{W?S9vMn=W#R zq=t7`J1^O*6~Jn6%I0{Zr+R5RxBIMV42p;T$lo$-avI<3JL3R~U`+JpKUeh)!$^Fe za(<2+Pm1Ggewm$Ezcay82Qby8G}y6{Yn^GGQfZhqC?6&Lt~NxzUAXI;$`r4O_Oo$E zg$^QMCceN$r1qwSP57=@geNC8Y7xKx-Xe^W6tp7~v-X zIeLV=n;Sv$^?_-uHpYG%Vn2|?)f7xJ?g#X(sN%*<=W(i!z*W=XE5rE|tTfp+ADtyh z46(@LpgXWMtA4Znvrz0q%(q(`R~eVFUl9Yzm$4SV(@6Ft;O!V8PpIu1A6YxWTpq2S z@2!!%ypIFk|=S*>yX$eEvwh*mYLAHU)~>@ zY~bxExfL>TS_R)_AzkvhU<>y^-e{D->7iGDxYWy&Ucn!MOWps_jDt&y{1h|ojN`+D zZ#CBNvD>28e#$+>$st>K0QZTWTqn178bBTYJXHdoXyQS;(Nz2F>+hj}ZC> zw=<nh2vjvT-7OTD#$=@ZT3!WU@8(eABtxuxl4GbG>_`w(^sFT@;2> zw)IuPCf%xJP?0N-+S>`3)&-m~ozka|AnKYlZfh@2R(~ZmZTV*)5EvLrSPcq6vH?ZO z0|sd?F@f5M^lHit=jvC-7iP#hIuC%8t|gaMKJL&2+(o7MGRV`X8p4&Z93%$}L+&XU zrTdl)YOkpzG5)wo@hV7Oc^jl&{$;>sw4}1-Rr#_dyphYSiS zg{-!nQyI}W8gO}A*3??MslT_;=NeL{DkpSg9kR{B7)tmJtWO3M@2nRzTpn`AKY&8g zDH5!HShKUMMAr$o`1~qHd-nZw3R$osg}@HT!-hX5-aB~t%3SAZEiR3I%sP$ufZAke;E_7aRpIHYZkZ|H=;TE7tdH4~{Q=;(+$tiqhrUiqifA+N} z=z|{Mm8>sktdh35728e}G~i4g&Iik)WhaLp+}!w>KKt{9wD3zx4!1OuCj%h|%$Y-` zFFN#TX_O5tD+yGul_i#by<;)tP{LD zeb4oP=jQ2e@a#7S=DaL+8(XjH*h)u$PJ<EdKl^^ncV^!%vV0Hjj=j5x-$EHk7;zbQ_E z3UzV(@-nue3>jNv!npjvTL$hTOK*Z4P^P~ye3;unMs!|Wj3^br6T}WsVI4T{82>K! zZf?oC2Sw92+0V+QyjN$(d(F(oaLGVi06#iWKRr@+K9(whI#A_aj%Ca(zF;mAI9#5o zfB=3ezLlc5clcRv`PfYV+H|v!t@f2$v@)gW36SR^!MWo5-az(bAoS3DT?s&ck_vaC z2-zR#=~umSr8VjCT3B)|`}0Epiqi%~rpORDJ;bhcxF)9skO{$$uTu(;$8-eji!qIN z`}(MJT8@61D+8^T=k#L1y?v|U5#4;?1}7M+uEB%2M-Y}z+J7X&`xQH4x6Ig;Y38a6zaQ@4wdfG6A+g1oYPg zTsJru?Qx)K!~-TafHDS1O7mtr%4OCwmd{squ~3~U)&;q5g+QSApwBPMU74op4*Xm? z1!@4GeObwpQDU1nfZ*kv!fXVTt}$=~fNl)J9<@X3jF%Y&2yvz%_% zojd#%3rr!o)9R;!OFpVgH;Ps4lsM;6Z&TTx45V?{hF>KHfZ2Ng%j(d;_4VFaAAes= zjitO!>dx|yjD%94c0*qh0UyXFccUvg&`f)`JD_Qqd?og8MrgXu*{AUG7&*FcZ>ay6 zgLlvMbmDqC!wH9+i}>uZv`4`AhUZ+3Ew>z`pg^j}z3nZl&n8fVbZ}G-t!?&gxm>9_Dx~(721oT zu}2UBK(ee`DxXH6QeF zmoRW>YokN#u;(e;Zy(BE=N(7L7}2jZmq4iK3)I0qw|KT>(d>~xn630NFY(5hRnzAVDR zV|-11qClk_b5wbvd*DbiIVTnwtPduGDR^(LsXB`7*^BPNNDdh)kW!fKy|_QvMV9wf zi}3hC#R#>z+o)n}FT+CF|C*g$Yr=1EV}K0kx)wRyPkOe^y76|%CWONA-h2q@L4vzy zKK_9(LLO1O8NyrxDD{^Blb&mI?18$09<7# zXL3&V_{DQeny1r6Ne?o=ez>(qOnbwoh{KW;>&n^DQ+NFvm%xF`4&<&%>R)uG91Ia> zRusF(S!S-9&>&M`f?X_ywzbZg6l;9bH=dzCroQ!vbzu z1ie;Y6X#Im6QD6`8UA>qN}54}bE-~exfYQXT@s27Drpuunb5-tuWc2iY!6yxbf5p6 zIq$)*FwM0A74c;f42GN5%UwBVeLQF7$TIFcyTO0K)%+qN1=4h&lr0GlhL^l>%*lPg^96y6p~U|vFI=cj2}qgjg?H&By~fsN1nk@r4v*pHrZT_E!Z|4t~vY zU=B09|M6oSI_gYQ|2w6wx55p&a62}N1iqk$R8bcEoL4%KnTwmnwD(;bNg)&ztI=oe76qdqc;q)r5D~tSQ((}F;E+hI ze4~adyAlSB9nk*88TbWL>B67@EP#K+UT=Q<=P$tS4PX-wa1b{*>$zfd0u@LLvW4>W z!uC!s=vS-{BolAL7ktJplOy5zoRR`cknY#2Xi& ziiu7rdL?P2(+StMs>F*eF2%$7$E#W&y?6T3o5pXF+DD64-LBB)qQ+S z3-nd(r}m4LG=7ulUvaCsZCe2+L)QR`J5ox zeYg!o3V?KuGNitMk_XtO|BeWP21Kp`MHztb^uM2C!2=C6@Z)Z%CI39|fGj7Z@Hf{J zRaG#RQXBCc+2N?~w9m3+RR43&LLhuwfb)Qn*`)OrXphbkDe`}ZmtG|d?AHINpKX!yOs3wU6TIx=Et-;Mq@U$M_MEsDPj_HK(+5 zlN-5SxYX)xbLQIjq}4Co0*KpI6OLT?Eg7P#h3( zWQNNc7c2R4kYK<|UMsf%v-h9wNZw>tevCcl{oe?{OF&OrG*CQP#f8Q~8$9gEK2n8l z1`;Mj7#`3>7rwE_6(^E+_%Q4`~v3m;vv>(vlqriU7!^fN-$ST4%QbbG~!#? z$smGlOdB7uz7MNm(S^6(INvz1hj1z~Iq6%fFK^roq0et+h96)vBAkg(v*a z6zNZ=d=9xHg{Xdpp9oVQ*J&>;6NciDvp2_88tv)brm`+v`EJflk_@?1Fv2eV_L~u9 zL+MGO-Gts)+A~hT)qK>9D{CA)Tw_(hpY8St$bIBm2` z+8mA8H8e>09A8nU|og0!!XokImDMSa{>UBs5{6ZQ8XoI9kSl?5fd zf9VI!z2|dxyl-O6mO23V;E=fI^a~pF6VlISN+X1TW69i%YyONv>^b~jfknq8{ZTeQ ztU9UZC0`w?uN~>VV8mLi#Q)t%45x6;8SB7gc6qM$I47Bze218R4%29}IP53=LIu1; z8KUm`Bv0727=3@lECd3#84Z6AyMS5JXyfFB`q}}qT`(k@`ewDk2f+-J{_5c^vaO6; z*AeQ@xy9l!y810WN*-|Ah_#4uPSn#I90%uWxXR&;U4V&2&n3^Wu@|NCPI_$2MkU^{ zG#F^-!vsfJ@(QjChH6f&_8M-iCc#VG9E0pG}a$3Qz>GmDh*3*F^h4l7x^9rPc;sfqIEUT@ahd z(=SJYT~6A$Dp_rbDef0|@2}ElHCgBUyLtVCcc%?(X4``vmw-7#&n@-8YsE4o4)WQ- zwc1A$}1iD9SLhv_r{ zgz*``|6~TQ&GU~_>8`XLYw{adalrszIszOEakcECk70JdGi8irVZ?Hr#9Q)@CTyA9 zrj1@WgJ*8$^}6|2G;wiH@K*HpK*wX>h%w^%>|VJQ-E)h^bz z|54YbpIv~`P^3(`Xz$Z@F$cu+o0=eSnMY^8Y~J=#v06Ud0-c#8B+OEwr5V@FGYWvn zM~^-whOFDvEZ+m#my%))IXfEauImP9d6xcr7>ENrr$|)o4l|@N3 z1VUncu{avOwC zjd~u-W%q6X+;B$Rd01_vtXGffoAcblSrq^{BEGSF#0P;)%eR@rR%y+i;6i>DoKh$h zqWmRJovPW8{+{W!erA2e;OiB_JDDl}dAg`gf@u>4Xj21%cQT$gPB?Jg_Vh*mSHoMC z?hjw!ZG8m>^#~v4t?_C$EoZ0ulIFqu8s|W#s5EK$1A4Ywt_B_w@3d<>Le*KrhkDKX zUA%@XPhMP>W$chfWAd&Pr2Qb-~Hn%KMuhP_?EAR&v2`l5gt=o)me$vs#X<2VFaeD31v_@oQBVFYlZ9CV9Uw;s0|f zu$i$L6;7K}hOYt}Gpp3Y>#J6N+PEL4Fs+Tsu-n+nENo@G*fPMbqLK`+c=m{ytnaxI&tw-2GHO1Ez2w6) z+O(hK1_i>~W#n9qpGU4TQNI;sE_Lc1=x&Y%gS&%%F-!@QY$tuV@b5{+1w%$k?^hdm zA{#K+wUnlzueT$Vj*u+!?hb+9ze#+QyFQ!}-WQ4Ien$W-)*ZQ4u5xkF5ivJ5V|)V7 zO#>Oxn+)B5k|~38frkR?fb-h?xOk_nqWC^>1AlHElxMB6F)+6|jzk`URKXHNTI@=d zyDp|(uTZGlLJ=QR`R~gl-_P?7`22EiNbDo8aanG_#iLI_wl_lqG9|HUo9z5K-5oD14cYq-39%vD_NKn5WxUp~J)QRcY?=iOYPtnhO(8N+YHD}I#LhMNbo+NQ&SNmUaKH@&H+k9} z;_I<)4h9T>OvDSZU6A>BGMG528z?edY%`N6N~;QdzGdH7?}DZ}lwaq^BsB)?fGn)T-?3kO_Id^XfQ3G%Bm2F1+W8A1tBq3r zSVTP)WAi<*nkwkBynpQM^A5%3-Zmnwq`P~_dpR7ij4P&z#{D$`YG(d8ZM>h|v&s7e z5dP%$gT)yM17b$19_9@>GG~MTCLz@x3viB!5^1rfU;6J?Af~uPL=PLdy2?D%I6{Ad z?>q^0c>ZQJz%Wv-`RWA)p%WRl(BIN&50(yd92FM+q#udcwyaJja(^iVOq}){T^~=) zAnBgW%=b@$!#*a6wZ7dkI+kJ`Wn5F;jy6p#8#BPtIZ%eAW@ah;&L&_hD4ZP-&2^)0 z*6mm!ot&tpEH&u>XmgqmHi})_39X{3SEmi(QAd*^Cas`lMR z0jiJg*&)bbHfK-m33F9|ox|H9>ei&0S(&`@Ow42Vf}Pz{L&BQp&B<`5i{)P9`6x(g z#Tw^}D)q%&wO1LnjTs3VNj^M=8K6}AWn|2Y9g~Y{+D8_pENh;z813B$ZB{;Wzyyf zi0bDC&ka`kn-8GWyZdrzRsf%SSBK>6&Odo+c7ra$h!h<#%I2&%%dTSlZ7DvKppOKpyM^?w3@7| zidteeYyC4R9?%{Q5uL-3|E3tvJnv#)3fytW6nzbthnFaajbg8rOw)K0I*`kGhpbsk ziKxNgc_`Nt=7g)0VKrdDj4fob{W_HmRO-O%FVD2wVQN)L7{nMjh?UYB{60>;1vwzl zcUP%7O({&>0)9766a)SEFpqieNzdBKI|P~xGeeCf;Biy>iTm2s5ChXCv=^hqu;VZUd?9Mm0S`fK)0j1@rhXcZ8T?*LV$&=PW=qCgGu|tB- z#ej&TWD$zbwAiqeq0csXduf`5{_Z**(W!Z$a{m`(KAOBmnBza8 zxr1hKHc7Yoo%thN4jfp7_@rX(qLC_8sS`tO!A6(7(~mh{ZJ1~%nLv4S_QC|^XG61t zHWUvNJOWC34|LoK~#GgHvMB92J+VSl;Id>$ur?{uQ>6UPhX%&(0)=J!2 zuWQrtb0v`+vQiNLO5n7SVcx&c5qZ+=>*utJc= z^q%_{S&Zl^%hG$I2D9j+k-e7(Af|vfXCU<4dJ0e5qXqal>$2LQI(N~nG!O-ADIFq3 zu&!1WdaLTKXWHMUIxJumRZr3|7--oI& zoDZDZRR>=?8{7a(xqu*u-To~+Tpv+~S2{>rclZD>z5&$`kfU2+@zbOIm@$i8iwO>g zUB{x?AKDX6cU$giOai%Zpi&|Qw+-*qchhE&i>Y|;1%Gz_f@Q{S&8|b<(>HEQGJyj(U@6jn&^>*NFi~bnS0XMO`T}q0MebM_jdfpR>_Mj* zNqARTO&BG}XmHZ|bUMVbpw)|I=$W-@ehi(j93Jq|U(#SQ^3yO27(n#S<|A`44`9ve z&XjuJR!{!oi+xXTHLbDVB|Pm%VMnJ&+*Z(-3nTs@KJ;1@TOaTQ{$>bl zSy}5k%paTXpX^gOTp{+OpFS9lTNuv@IcjHO>6^T} zDDvjzSYmgRi~}<1HD#wUO^BL+T+t`JOSF&2DYZ$5_Pm=X zW1k|!3ys%|_RI7n#wAgBq*{#>aw=z!I-xF-2&T$YEJodEYn)5VH}kJ5?C6VQOa$D* zOJ1|P{LF-YoBb6Yp8Jy&tJ2!2{IwixQY%jjDW}WyV$5QvtVvAtUSHz$(aOf!MW)_j z@3YzdmBXWFsH?h^wRf1#bm!YucjbOLlWw-eHayCZX62h{8kA;@*BHbk<{R_bYQ{t* ze+oOMki0K6!$-dXYD0*|dbZt-im&mrlphYKJLZpD?3-o_FN-?zIm)t9E>gKB%cq}& zMB3E})t7)=rqR4e-o5l1tlYs&EE<`$WY0Lu*-*~vuXYI)MLY9F`w**;tkI*E5Vp^a zqkad#1F3?K^)wyt?3_;Tf@=0h^bg_rS*~k4yNzx9<0WTY8LGDmqW$@2$_-T%{rHr9 zUE_{xpTBkxr+%gxml-X61)nygYGFzBJ6v-T(mvGtHY+6V^>F=oiI3La#BT6?Gj!1F zWRi>kR=RKVkO=k?*TmQ7(bM9%_$(Z|tK)fs3v)&BS^W8P%cl=5l-E9F?`-~+HJEm7 zqMH#8LgN;7iLi6KLPV^in!oTJtlp8q!1dZ$-p4r7dA_vyN47$-y1{35pRVcBH~q3l zf5e=A0FnMNlz2}ib$%hmTl#f5xA*!3ed_fpBzm{M$^Pxdp7DjN{VO0TK{Pj>ublpD z+dVU0=MA8uTD?C!4qlbXcocKIHDfLiA1Ws1b@aZ0yWgBiS|4A%$!BW;vv$|;L2K!g z=YH%H;3SJ69Plb9MATQqys@6e`@Tdl(I@azR_8bwDl7M~SK_-D;k)Or?CoS6rwEnA zvY@;$maH)+wOGSKET=KWlT`=(_=K_6KblGj!?@2igU0IfOp0(;)rQ=>&Q=@pq72lP z8Ysl;tyXU-t1BTvNvk=edHvdz;_lUO8FxH+Mh`6hQNrwIV(o|{P5-?5kL*xy<`r-%4u}yOOPwUN?|Dwr}ZxdReGZ=TaTC@FNGIn)U11@uRe6H@L`Z638 z0$yi>sUGN7Vb{=k)B{nWY^7cCTZ39}P~+`?ux^x{jFvs}e!!{O1WP-bcm3JE`{8pL zie5>JCca-$oQ)RWEy6QnoVQS_mf@4jC~dCI%*^Z-E@Ob!G!ONTWTG$3-&?HL4qgOu zlre`y>uCS1syg16XMJITKlOCyEo<_5w_>`Tdo}mkh z6dN_5_s*gZQy*^-D`|4AX}CydfUEMVqe)BPDTxyWOFa>YqQuH22~59TO!=f-PKLhC zkza7ONZE_e3HbQ%7eq1RWju)S)!+?i%Scb`wfqOiBznZJXnh;AhHV*wuT#z%&;!?z zR5J3a?xYrzG|;3x=0Y$!&xsvouvgh*W{=5jy9-J5;7^3g0{5bhP{v6(X64i zjI8B2?o1G8)Y3XC|C!*Z#&t-E@l7rN7LJbw`5mvr>FUSYgTLEsC*9`)?myv~@v(m& z<@acUaL!*De9|mLW5mVVr}4&5)8weA=1Qst_2fKD5K5&&qqlFaV7U=y18V4Fly}_7 z1Te-lcp9aj?wv098oM@R8+YL^-K`+I*YI~1yW?(Ecj)FuME5JgkxrzdMtJ^ z^eq-h;o3rK(~c4RK%N5Nf)}{CA2kob+F8Cbjfl}DByH81t#)f#VHMTfr2)AkEDW!^ z$I<0suaf;Z`B-H2ol0DOwdjmq^?!~mK--Y3;Nn7{mhAIir`!eIqSs!Y8$99a$@bX4 zz1z74b}ZcIX~aM)NOvoLXc%Qlz46`G7K_C-;fHJ=Pe5ZGwGQ*-fR)5K3ZyOfvN_(e z;Epr1mw(@By0qVX4I7%VHpUM!L4rcS1+$>2_aCosN!rnut*jkcjzx~(0Dj|3 zygg5c$awvCrULW3?#eD5KF4I7bx+HW{3$0~9F7N7k2|q3La~lUhp7hKFv^ghFL%dy zBwi9&)N%+mJmpB#xd4h86(7ouM-RKs!!18*nQL<##ws=)ZoIE&ef{)&V)1P0k+nP- zaslRfx%rrS&<{7^1qp22gde|vEMKXZpX`k*Oao+S3q}?yFpwmak9kw8Spz*W8na^0 zb)!xHh#%Yqa=t*QnV6e?q2H!CI$GNx=tKXu9=TT6+hu-c4Td1bQczbj%ET@v#3|=g z=cbrIWJC<;I~P{|IcNCbw6Dy>r}jn_xV9CrBj-c6^(4;M7E;7ypT;cPNmI;Q8$OJf z;c`Fa03{(6paQ9Y8&to~ky&ZJWQ(D%J^s#M{G6R@e^Ni<;jUmxkXA+*kl}|xC0;i6 z`!qW3e+#OmQ?i!NLY-m4fOV+lO z=$R(r_r931+lQXH{PL8BHK}MxTa4}ya31WWATd!4>T!O0sn(T7+C=3Dji)o{ zfz~I%$wU{brbtR-GFSm#&MDn+Fu(rlz^@SNRO4^1yako00pjdeJqz-tvXC%!N8Lj9 zeh#|c!s91LMqIOZLwBXVbwGUc`@yNYDpK@Wb3S#AIz23Pd;9(k+pZr5)eyrL%9L|_ zfRb$VDO}1Or+_Bmj#t?w^XMr{+}|oEHW8YgVv>e8N+%qP*>~Ve@n5WgIbymYIClV7>C5>;9oTJ}3u6p+1>Jalv8CB@^ zftsrn>*48KL08C@Aai_=|9HLahc%8sjmG?`%~Ly(Bm0L9==zh*#vHO?rWP82S@MVD zHK3oi_}d6Sx-H66%lvacY+ESCD@`q1Db@7!tq1H2zWuG#Y6@Kqk~^sFs{RzzyJ%5{ zDcM$(>}jLunC`hR4Qt(}8a}?m=R24LE{kfgBHW-^YIFtKssc62ruccN05M56pCInB zskxhZi57Cs(si@6l{T6k8j6Sx>SWYMzVJcin$X>jF7&KAMI`%1+8$O}7V!!hBT2=v zbG#*x8AYg5zQJ?JH_bo&Vm-X$e@OF9m5;dc( z6A$xb;Zi=)(Q}DP0a)mXM3Q6k-nD?LU?o89eRM3p|yb zqrl9XxM;dxDEHa3PfGFc$HS-2=|NHdIh&M$|CoEKUBWYO#sl}tyzD>MI%~3yQ>r=E zlR~7JQ543PPOx>9Yn5}Qbv$5f&xm>)d=MhTbUIHN6|W=0o_oRxWKotf7$=?^?MI_s zH;Tn4mwZ3Z4IO*yANOBYlf3TneEp5cXfBEzlPdMJ$qdsncc3P+L+#t05->1z*B6Gm zWSNkV+Uf-s6{&P z^Y*?dIlHjWZd1UVkDswzQZjJP+P$6>L-Fe}7*c%=4Kdu&rn-8z@pnr0cZgzV2hrQk zUtS)*e{wCL7{$a0`CO_kS~zlsyd}b+J^FS-C(1ulV^;VWrSlafDt8uj@jlE1DlTE28;}g*C1nq^ww`2O5m7_+NbOtf*nmXA?XaTdK|;&V zu_h?;g_7b)&Wo;5BD+2*&uP)_!*sjOD06`3YgQlx$}Yq!6d{vj9n=9|1$T(7e7XoZSOh18-Li%Yh342|L?)UE`c@buZnKv#X(-E z#TwgIuKvy17`Z4u_w2;L5P;tMb3A*@OS4j*&!YVGI3auav-9UYe=yc-{2lh?i!5swJLG5~6~hp!X{U{+j8p zi8(~`8S<1y?pGNjAD7J^L+>5!w4ZEBjUp_=A6u=SDa^>iZ}Ikco&0!wTIp?+uJ`^y zH`&{oEK@5ga6jirWIu0r0>pBZrC4cFTqjoe;uDKU-@PW`k@Hv}RP(gBR#C_}YvlD{j_EXsaa z)JabNealO{Hg_`mI{7|$YGa?l4yNdCZ6on7WS)=TqV!h|eD(s& zI>FfB)Eq;(F58;UEf)CK^{=#w)sKs8T6ZlKAj)`F6W^8z@pCk@eKi7#{y3>AaxMzz z|44?ZiK=7f3t+&F2r1Rx8|$A7E)GXWw%X0MnK@_6%$4-Z@0fgnKgOWV5z=!Wh?)8t zd<&<|U7l%-cL9;L%uoy}IrWwy%Xnme%ZQ8{-fZtdXlFeTf8e)KUG9oV&xz36Bm7k+ zzKc*2bWFSZ1>0P;^@aw>>=ycL*2sF|GS*rCN^c3ezc6W^`aG1o^d}2zU>wQ90^d@# z5C!VfW`NVNNB9-RehpUyr9vt-41&v7I{!N8m=y;T885gqMWucGJ@5!PO{GvF@*2_C zl!Xf?KW<;YIyM&Fr?A$3dME*&6`&zkOHfP9bC6XfBcEzM*4w~+*K~A7L!q^R|K8_{ z(b-C9%?tRgwA<2;a`@hJuXpfvcX)RxWQ!!7#lsmC!Cq0ItE0o($glfw;8XJ=8x<#N zlsQ3eGJsED?(j`*9wC3*OxIEwbBYbi`v_^H5=6{7-DIm|if=fpcV6Vr(duF~hH^7Mj2jrm=yej5f{72HEwPiiQ)FT#6i+4gcp!@?xOaLuS2G%C=~J zf7m%%{#lbEkSIUY^;c)Btqwiwzb)eac%wCSqx&yp_)WVXS|;gOEtjrWrp*3ZwUXlx zgH4AVg|SgE4f1M!#JVAWOz#AL&|=L07%%=-BRfZy>z&Z*#I=VOy#+sk&t2jHiOlD0 z9;8^xXFSc50)d~$QR+#~ABW!+*{uNfK^<6NE)89UO^BkeL3Exz=>FDgsdSy}CUjxR zUt-CP0N3rgvmMzZI~>2vpf@=7D%w`e;HWeaV+CeGPPDFYOs9n+$h-0fPBbSY%w%mo zZ2#R_F&AJCwoDRz-)o!vc(u~=#|do#S^V3-358{xlOavM(+XyQdmr-=-=R<{d{RhLYVQp+#$Pj3%K5Ec@eL7kc5m8)e$lV<%M-x~1p(=`?;*Vc_dSiS;N^dH z1qI)B4uv(Bq&dl9V?;uA*lbqYP9HWt${r6Jp`Vw*KeQ-Nje*Y5z zHIldfUW8sxp1%8cH{*x18t2YjleeSR#c)@ebe0vK{VgNKhfnPpxKEYE-H++66B6oe zR)pU72aFju&1%>#mno!DV2jk*U(e*Zo-;5Z38!5xnu+v%G;JEsy3cd78y8t!h0hI6 zk>aB;h_G8YJ~R_dIR$_oeU0o1MV((we!FF3l^GuBD*oN4ury*44`TB zJji3QcylWL(qsOM!XYU*9=;lLK|fL@^)_YJmAzrN^I?SsUb-h#_}? zZlD>K0V<$L{my{({US9@I@2ZL`zFmfe_hsl4N=kOWz5HRYqzepe<0p&{7Lfooa1Hn zQ1Nf=#gV}Grm8GcpQ6j=4zJd15gaGboD*U%I}|Epqjy150yX#yn?xJ_g>=k-b0^^gf|IpD{x3<_ot|8{&h2V`=!ICN7xg{L8ZFOC@yVMMxsprrL!&Hi zDZBzujno|SX}5=|36NTf1^GAB9N16b>Ggz6MRG=eu6ppW@6ehk2-2;kGoKCZ3P@XW zBssaGYxjzK&|^kjILHfNbdL$;Tk_ySn8>y~+!m4QkxeRT;U_TwI)q;#8>G zfYpf@wV`j3NX?RBL^mtl_x?h1Vd{e&HA)(sfgN<%`Kk!Hk zABup{i2AddVehb{%Y7p$6frt(*yMZ( zLd20vqJln_9UbTwhwS9Dw?eIRm7YP-K4U_U&SqW!bIz6ECrLs4P3+=qG(D7Rg4lM6e*!0fvq}ct6!T1+zpT-;fjIqmpY_#Xr@SCc;naVfVgFo#=O`GzBFjYqq%uhbO zV|hqP=MS}Mq~WKuaw8c|=Ua6Yl5rYvM6f6HfU++Z)FTEy7M=-mui zW7tagt>55dDz)46ZmncUx#YAs@^%BdBt%tV`aeb$iEHh?D+|0Dn8rHwFDC39WJeKT zgR0WE%rz+q2yJ|mV&njNmp2-A%*yG|TGpD420GsOjNL#I%(FSkC?X^bM!JQ{f9+g5 zD9?;s&HNG$3U5+#&4KE6%ZhfivzI4QtO=Ttcj$9hvr2K!9)+3h8ZuKS*?L;xcl*Mz zfCGVNv9*}q+}1!Rznw?$1QB}cp{XQ229nPME%a+$DiVIE`il{4KM@wIw|_ zEMDw@jXY3)k;LNox~YgRF~i&F_2eJ@s*)XZk&Y+)?|@aYr*C^?KYL3oc|m__%nO{} zGI85%(-$EQZQ4W`?q$olC`1Hvp_)6km!&yzw8%i{D5EG71JjAbP`&y;?S1(pRR8z? z%rzJ!V~voplf5jJn291}$(o%gqG%yy8Fv&Z+eAh5Vq{OYh(cyk%9=s4L@Lr)D*HY& zpQk>b_xt-Ne1CcQ!7}&Wr{{e>&pFR?9%rlia2l5N{6u*`ZUZsqsr<*+fBvW+vz~u! zyYJT3dSQ9Q@w#8KFJWli@q`n-vkb+x#PvOK*%1IM9{YV%}^wK z`pQF!MiN6WK~q zX5%N5_5p!$re;w01k#dY@X?CVhmO*<`FL29&&xasmP8Vi4mb}U>}_rNn=s%)+^4Nh zUX~DI)6PzMFE&xM61%7o;bw9NgdKc9Esay{j)r8?+M1okNm?Me1dUKVop#?2Y0!CW zvHp?B>r0dMFDnEOcicD>#PQ4&q(U%M>F=exei(i(%N0a*Zv_O-$%F$gp=V`qdkA_3 zq^s6wWBOt$Bn2Cdu-B0cY<}a2-xua1$yC-JIZlv1;FhN7;Vlx@ha`&;+JN$m#;UzPZ>u1NKQX-uN*=%vUi*Zm1x9?(1 za^%D7M-EBS^GVYu@vr)XzaH_Ls*QT4(>-wg#S+~wy|5_tm`%&B3b*==(TW)@?>7xs zi)Jy_qiTl>JB&o;Yi?QE{Ho{E{8{hjj)1O+Q4$lv4@tfTF+mwW6ey<8i?9m%F-$81a zzMFG`%l|7z)(q7scxum5ba-z=>Psb(74i`Oi`IvS`7Z(=>DMM+C87%QL6m<-pv2rq zK~`E1^#aBNi^)NFF5bV;{)YvC7)9WFA$jH5{Ro8IkO8g}=^TF6hMx(ycA>GDB)DmK zgdSL@5C(r1YCH~1Y3xv8(f1B05$S$isgrrrquHF#Ll)CWy?mY}czW|kq3=%6Y))HP z6BHTuGP*MxK?cgTmI>S(k0y(R>p6}wXU=LniH9pSF`W+k~ z6G6UGJM{W=iN=(Qgkx2fdKqEDd8zuGZ!aH6n8)6G@c2;@kEUi#)&X(c#R-eWpB}T! z_%N{2*2pOD<>x;Rj!Bli38~nLVV-b<6_JVrgbl+1auKzP_FVVO@mvlXj`lx5TUw>) zG>#Vnlhavm-veEa=cd#^WR$C4cEp|dR}FVRZgxk1X~2D#MD+@N-HFfqWmUGxO_$Rm zyk|t=td`kAmCN_6KMO+VbK_s}&$;70t)tAQ0D755=mkHj=d8X1zvb~Q1bM>%rSN;R zwRh+- z1_c^90jE=`fl`tpRPXsT6~h*yck7TC&rd@6H@tZ5*dRms4{(2-LAtLER7$n{e6YwX zqrc2tlv>1^TS)U)0vpB4F00WYL*vE>X|B(Vu9D|#1sCp2#p`8?Ot=~< zDHH9pv-O*tWXI0gzE`t)I2ruAYlM%vloT@$JlVzGNm!5I^g@TAU z*2WC)sUFp`bZk8CGXfXRV!OD8Cf)~>r=oK$2_K9+4S!KD9qT7gs8~mOuS`^zj!lBb zeZ?x|iu+A&8+ZCGm8Ka}4Aap@`wx{MyTIEfHNgQEC3|&zU`~kfo+KC9k`lTwqN?PI z)Fzt^7v3+4)>DitJFqt9K&ckmC9bGOdXL!9I~NPx?^fjW^AQ&1w}%rff#FE5ur_>_ z+}30e<=E7gvIw|V)&}HPlH&zFV=Gmu=L*+yNnMVI7vy=}y;?6{(yl#j33(NK zS7s6<__kDcZ5RGK1eWYCZ|R^G#JgrH#%kYPjeNA~Ls;l^SoS$pb8{R?JPmC;qpRd; z;f{VdMqRRdDvVpMcJuYA1%A3(;PRH=BhmNiD?467G-M-e`Gleq!jA`31_nB*m2Hfq=^MDwm5Z6Z<=Jl#}1RV10Kye;a=b5%#~6 zF@n}D{nYh^n*%P~3$uPGYU7ru*2nM9w_3F7+1NA1*tOjoxgH!G^_JH-!NL6&5u4!{ zoUhg8(sl9dg3=pt$2W6MkD(12`V3iv{SCuH61l{*xKyPDjY4lmgXedG2q2+WA4C#+ zCaYyArlIm7XzsEy{xaPvxoKWaHh82i$ajaJ9h6AdmOm#g8Or!c&@K4`y}s!D>znx1 zfDsCT(DA!<1$d!E0Apvx01rBUs}Jm5NWTBJLp_o?@la)~7y5blz|(xmtXmr7Hy)gn zCTNM-p<75eKgCEt<`eP%rhgf7-Z9r&6pw5#d0y+WlP!C#S)v2w@YN?B!5&iVm-m&v z;S|vDbd`l3V5$sN2|}g7tL6WkGg{il0Y3w|udj@Co!C>FiJ#sq8>>09RQFqS=(%EO z{FCK@t)7xUx((d4xBAZP#Q}>ucuQs~cvuNe>JHX2zYKteF&Hu?rMaN^D-RwP2d%?l zEpq{LH+)gS%$HTrqJpFNs$8*;cGOmU`0<;_e#B6RE3%%soMrNgwZ&OWu+0b2e}Dbz zAcha2g}3aw?@gUc&dQK+>q{Gzv9&jyO`QjXYPG zH~=<*-%d)PPJ=1L=L(nHxCO17S*#+p4-UTh&TcOknlHpQ;Z3D?1v^thUGcF+#Zzci zk4DXiLlM+tha7@x3hUz@2eOu!;>Q%`?*YoQ4T_rn@)Wjm4|n@fph1WerJ`%<9XEpC ztcdHVAMayJ%r}!kf85o|vB8>s?-E-AR*S?_yxKk7F0lix4QiUulr(M^sgo*PqJCsW z>$5EO2%n$yveBEFUQd61mJYxeZS8pH=Ch~F3L5dcG|wYbQ)Z4UswsN@e2nu!;nBKj z0W_0HpinKNuIAon z9L?MErD1ZHWe6vE^?f7Aw}}JbjTbuA7em(|jeVHZ@@B;DB|MAds?||f%2Mhye!JJ` znd?bp8NH&EnYf}n?QmIt&$5F+Vi$ig=%i#bnry(Yq)ryacibo!&&nXIw0)1LI&%aW z+PXB>nUeC%!{&&Vu8KT$*s$QmlM7E<`m|^2hMQ(V+Ugmwj_upMEBo0)!o{1s6+3P? z?vi-n7x4;PCUnnQ=xiJnuW9IJj5oD6eC^~z_%wJgWrnMA#P9Fx)&Ob%S$#?!PKXv4xox|0$Ipz>ILWslv8(B$e?+Jv> z6uI?kFDBZ3)@dLo*YG~C%4~5dvwo#J1}97(Wd9Eaf+S8u;r5z+F{O(Rqx;*B19?9C z4Nsvw&3OIm;X)uLEgx7n)C|9zR0KlgrPp0=i5 zmdJn5dW~0q{-_`%f8z{v5gWr#?%$R2;lv(G-)#626&CP~r0^vbkRld2aj)$NQT{yb zq!*x)ng9+_+@t}ODI;^h92QsnDcE5aLE3iY(zXD8v5Q6<1j1QMo*HFQV^02^$IKGj-CG8$ioTdvV2JxzQkea*tV3p170yTwM%H#Z?*HM9{HR2(2|K7faxr-6DZ=M=s*M40 z>vm=RV=hyy6w#%zMD-FG8_?*0TrU|R z14zm0f$N_2Zl@;3VCO_t+%xP@J2dS-O#!FOUUqi2@bW8HuV6uQu=|0(x|7%E_JnTi z@_dOe8q2vl<(yg-#i={Gin+mz_&%oq1p!7G*+|oeUa^O?H~x-_&M$J*k|@?AN&T68 z4gcOTA!{{!7oOa4@e0*maB3gr5aSntQsQe?bP^fI&~CT*4kQs4Q5+14hiS`$E(?Xe zS!Q}t38_V8=h(Q}7WCQPvK2Hst*rI`@xwCSk@qLQ9!4KH1x4&T>WHDW|8FYHp! z_N)g;(%$%e>AK1XF|Bcok?u+<&IRAwz@rDjwr=MWVK(CV1GG)CofG&k=O3v2;Zypt zC2~YJfvj`aYt+A%MjDbZIAMwAPFnc3IfU4&J{K`~+##Xn@T{Ly%39gpRs#AINGYp~ zw{%2*#Lz-@3`~A5I2pd5#_I?f3_CbA=^H`9>M7jMyudVb@Ak}&<>q48ZfqGfmDBmU zy3RVS_D>a6{ORfOYf`Frdbw_#Ln~8TG)t3#(AvOvN<-{5lc6QTR^g+?s ztTv*(B+tZ2B6sfctp1(eJv!Q3nPaWE08Wk>1>G54qxUOaj1rYq;89*&T1;;8=w{8} zX2v29TVHWbdzJ%@hkdE=#t|MQ*-FEBYh*TR1b6`W=Ulvgca}I&*7fT1r$d#MB|yy} zb@GcE9sH%RS>XZ#`mF*07hDr;bB>}O6c!1wbuyQ3-Ts&!AOpj}P+r~0lP{Dw=BA@& zJ4h=D+>X*Rd&_}dQz3)yG;jJ=otGb{h2vwo! z&8)Zj1SdO!PYGrjk97x|8uB?i(^LWArRgt)G0u6mlBh<0S}d!}ZEdyipb{F=0kj;j zU0;g8<@Uo7_T)7>he3N_DRY#&JgnDsa>Dqpp!qpfhsQ%2a|=-iefKvFAi{hQcs^HH zi4A%Oo=;3m#X=tFiz?KFvt$e!r9zEmd1WQX$X3>ZM~6+$6Y*pyQ}C%X@~{e)Hkmhw zJ|ILB$k{z#AxiZYYXxagnSubb2kkWY=Zx@3Dv+G6U#nhw)NsV&LG?ji*SZV!Ea^{c ztFQi1k^(0z8Zo^NsyIob>5i}nS3jAI;kFP1L5vUKvl{`q*6LgOfrx!3)CUM8tafhU z2=zI2OQYN4;Ff60jw_=(CsN=PD08-9ie~%r4sbH6~*G z0scz%_DVISIw65JyYYKKjDI3<(?%VYDNM`AxgEwVXI{`1w*`ii23WYp^CH}_up04U zn@@$|dd6?A!FEz4Fng=u@>S0;ma)&~&I9V4L$WZe4{+zOm5D@B~i7Z5rPKTHSQ)?)@w?NWU}=pAZ~WrB2^fD6DA7L}2LTnv z#Q}qr8+4nk0oVTOGDvWZmz*jGnE`-VuBX#pfT(~%vt`=IgD?OzZCT^-+rPnYVAr<| zW*9GxY=(_aoWBW6gD2y#W*o$Pu+OPMguN-SGO`(AmzsYAj|0~jzS{JPur{{%j`h-+icp60NOitM78u+UOuk7w5^Q5X>RRNfzxs|b zY#JU4&nW^D2D-l{2(1ODu=4iySYupYT+3Z#W11j{L`b|gsBf|H-HN2d3*o=@bA`dY z_BL0EZ`)oO`d7@osUsGOJVD)O(fO*H3mXR08!5BH|LlW80Tx>b?#&cY0BCM2YQedA zKQ1bJ3Mqj>hw%87lKrO95f7{paec}7&pTutsaXhf=y7*6}U9D zl|HN_6*>;ZWN+>as7diSYNxz61_7M}10NlFYR^qPz#gK4ACC!fh0UN#x)(E^+lJv> zX;;RMxUcb5bKC<&n+ind@$$A3O^6?@BtWBKvsEOH*u}ZVZVkQKJ#9?EjhN(5pydFv zLOS1PcL|tWV7CJ%KQ4|4#^fq@GY2m-FpHt4pLAytA8yg0B4XY_t$wjy_ zBQqfUwtG#Uv=RV?mNeKWJr0$4dHpW1TcjKqKZ8`h7eNF{Wl|%d?hpgmnd42`_qHp| z_=7O!ZOj&w?CC~5`wSIj4~R;~qMpi6JC7ewN(M@1Lj}KK=En}>1_^D%w$zga^kh2c z3(T!@b|Hj6Oo~CiL%$5-E?xgA8~Jf+04v3ga9mW_znu`r2kylU6Kw%?+aY;*dlAwx z$f6{g*W@oN3dg#CvGt9EceO#T76w#*$D_-RZXZRDfg1RC)H2z(kB|v-an-h_o))Wg zbMVB)f-z0?HXtIu0+B}4!?pkpQ()Kj!!{heIC(FQYl^*;OXs$`-Uatbry@_DH9Eh0 z`0EU2J$W_-0nG!_c>B5bBS`u^!9$;fn_&Rz$?ws$bd`T~H6{8@VAzxQ-DjA4<7a{5 zVFqrN8=AETWO4#sGmbpQ?(B6DgkIa5b8qR&G9te%<$5)3|M_*qEsw^`DHHEM?fPe7f$)|xRya}x{ zh+E0TCq=kr7ma3azJ;By%D)FTHgV^8_H$2bz?a!EtE1&cUNQdz)&WlR literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@1x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..f35a2253e5c70c4568694483d3802db67b0052dd GIT binary patch literal 1691 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1SFYWcSQlIS*a18X}-P;T0k}j0~@0d12d4t z2!srbQVgtMHUmQ#qcofy$EX2S12l%wkO5?vC=jQ$XELxr)z<)N5bywEph*xqAhRMh zCpWPqzepjVC||)y&rr_df|JWHB*npjeA%XB5lEw&J8j&QBGy=V44x+*jSe1XxOl30@Hl30=obgq%1uAzahfnkWDxs|b@m7#GI!~_&& zNJfCd!YU#twKzYg6cmGY=0*lUpl=8wZS*mu(X}FUhUR6K*cm~!pb4YvibTj`vk+Mt zU8{dlW-2fpg57EewGCMes@_H)loXMYCM4a1MS%(5jtdwpuuNpfb>tzFAuy|&c)B=- zSP0Gyip>^w6q$Q-?#p%A&Z{OaN$T**6_sjs%}N$@)f6$|*!Oc)y~Bt0AL73PG`^l~ z-`Al~w}8b}L0I+DEq(*?;H7&v<^~k@nALf{qRo*6!S7cjEV@_8V7HgY+&u*=1p z`&dZJa^F)ce>~fk_W9rI_7@&651)Ln<&V?6qTnmp8=@vWUAo}ApqNY7ZvC8Twr}*G zech;iWy?RHqN2Sl^Ny>nYrHMAx?91KwfE((aQ>Ez9(nnv qCxy8}J@YpnoUpu literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x-1.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..cd71898e29070f59d7c8b24bb3f60de1c89af70f GIT binary patch literal 2551 zcmZ`*3pkYN7ykyuj%3^K-y9gMMaG1Hn|t=!|!rb1{& zNLahNV6aKi)h$|9g-W?}VY@0R{@-BB+Iqj|eb4#cbAG>b&ikJ4dA>vscPA~V0TciL zEoU;(6O$X@0YMxJRY-Mn#W8tYI3ti3z=BJ-;Yt*M zm*7B^%MvnR5^iXi04K3GnfAbex^f#~0-JUbhS-}>-8^89JU$C%2S>t@CIl!92E+3M z**H()wplp%W^eMHP#BIwAjD!ZTxbNUXyIrZXh} z@DN!7CZ7{7EcR1= z|3XO^;a>#_Iqa{*Qd(wU(}yvWBVL&SZu$~wL=Kk~CIIUpV37Ff)c#}mT-+QW^=rU6 zhB-j6ESw{srED1rj~7b#QU~D?^S$N~xPjLl$PhA!3?YkvMxs&HD5NzKML})A*`RPX zw%#)g|8ko{p*#y5)srRQg^H9nNZ5czf&+n4u6V?M%=4k2k-NhX@+c&IS(f1TNF}}U9E%PuvnX_^u)9gMx*0e73AAcH} z7|i~ArDdU6TR?fx>Jp4>GeaOMc5h4X_H}S+iavB@xid*2t=tXW(UW!|>UUPr`M=Y< z;3J2+6gY-RMd}V|rj*`i`s5)uLj3hAv;_Z7btaz&2Fn+dH%-G zQkOcB`sn?`Z+~kF2^#1|-hB(;69qskuRxcEi@FK;r4u_~Es$AyZ})V}xX?>}xZ~_QP0i5{@5?f?wrImV@+X#P#o;rXS&0wS z`WDewEyILLB3vJxAWvlqF3Ens zj5~(f-7UCXiCf=OiyiXxZneIC?cBA=iuzzg(wI?POP7``q5A3TsN%o^-B(jd?_z>! z4vL|u@8cIXKGS{HS8v$b6RN&=x1nKKw3;uoyLNq{hgnQ5&i6!WW~z^NF&0Q(?zeSU zf5zmJUkp1$(4T`76G*@M9tlLUFnjJqZqhh|=aWtjhHtPFA9aw%T#eUWV(Xe;rs>RX zq32$FIP6vU&dJK|^joL0(E}LWZE|U-KK9|m25-iXC6_;bUs2nxS5cuKv1PZ8cc)86 zGdqE`K7nDmF#<}dd0?88>=@mJIaNmLTKcvyo$id8qPV+bhjv2YiR3GynmhJam~6eR zjt7n;x#p(DU;9IEZ*YtNvOr;3k6#8IK<(%?Djm|jA-YZP-*^=9EVox>C8Zv|Yu`&8 z<4OT1ugUcM_MalkKP0r%G%YGNd0ala`~oK9$eT#l(qMU`aX?Y0f2Szc87pq92Gl#x zbeUfGf#FqUH2&Zgvm~V1JSW>xGEkaaCeiNisoQ^C)!zud>`2&fY>HNy#G>^lb*e|VXInlo9pcndpXl~XK8*0 z6>=f-w3>Ql|5I}+W%OxK96|t z&AM3a?cw_kZLJJS;JRzbTMBQP*U1Rz?Bi2UYzQ{aZtKfmac%DS)aNq~K3XJ8!J6)2 zoVKeltVpr)TwE1>ATkO+A>Q1R{Ql(gcv;7mSTCwE$_JuxUKFF|c&UXoxgwmIf6Atl z=qhEDRaHLoe^8T77`fK7Bjs&t8_2u_8uci)$`K7sgHF+ZYO`G~UXrkx&YXiFv zWSIZ@M`!!7=H8mLYH8f&Ok(g<(U#S}hd}G@FsmX?$X)K98KU9W(G?nIdd3d)ft+Y_lh{NnK~jm@nuC{r>@=MEATK0K~7xmeL2lu7>X`YGj4k2A@g_?v@&^#1`> CD)Gwz literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cd71898e29070f59d7c8b24bb3f60de1c89af70f GIT binary patch literal 2551 zcmZ`*3pkYN7ykyuj%3^K-y9gMMaG1Hn|t=!|!rb1{& zNLahNV6aKi)h$|9g-W?}VY@0R{@-BB+Iqj|eb4#cbAG>b&ikJ4dA>vscPA~V0TciL zEoU;(6O$X@0YMxJRY-Mn#W8tYI3ti3z=BJ-;Yt*M zm*7B^%MvnR5^iXi04K3GnfAbex^f#~0-JUbhS-}>-8^89JU$C%2S>t@CIl!92E+3M z**H()wplp%W^eMHP#BIwAjD!ZTxbNUXyIrZXh} z@DN!7CZ7{7EcR1= z|3XO^;a>#_Iqa{*Qd(wU(}yvWBVL&SZu$~wL=Kk~CIIUpV37Ff)c#}mT-+QW^=rU6 zhB-j6ESw{srED1rj~7b#QU~D?^S$N~xPjLl$PhA!3?YkvMxs&HD5NzKML})A*`RPX zw%#)g|8ko{p*#y5)srRQg^H9nNZ5czf&+n4u6V?M%=4k2k-NhX@+c&IS(f1TNF}}U9E%PuvnX_^u)9gMx*0e73AAcH} z7|i~ArDdU6TR?fx>Jp4>GeaOMc5h4X_H}S+iavB@xid*2t=tXW(UW!|>UUPr`M=Y< z;3J2+6gY-RMd}V|rj*`i`s5)uLj3hAv;_Z7btaz&2Fn+dH%-G zQkOcB`sn?`Z+~kF2^#1|-hB(;69qskuRxcEi@FK;r4u_~Es$AyZ})V}xX?>}xZ~_QP0i5{@5?f?wrImV@+X#P#o;rXS&0wS z`WDewEyILLB3vJxAWvlqF3Ens zj5~(f-7UCXiCf=OiyiXxZneIC?cBA=iuzzg(wI?POP7``q5A3TsN%o^-B(jd?_z>! z4vL|u@8cIXKGS{HS8v$b6RN&=x1nKKw3;uoyLNq{hgnQ5&i6!WW~z^NF&0Q(?zeSU zf5zmJUkp1$(4T`76G*@M9tlLUFnjJqZqhh|=aWtjhHtPFA9aw%T#eUWV(Xe;rs>RX zq32$FIP6vU&dJK|^joL0(E}LWZE|U-KK9|m25-iXC6_;bUs2nxS5cuKv1PZ8cc)86 zGdqE`K7nDmF#<}dd0?88>=@mJIaNmLTKcvyo$id8qPV+bhjv2YiR3GynmhJam~6eR zjt7n;x#p(DU;9IEZ*YtNvOr;3k6#8IK<(%?Djm|jA-YZP-*^=9EVox>C8Zv|Yu`&8 z<4OT1ugUcM_MalkKP0r%G%YGNd0ala`~oK9$eT#l(qMU`aX?Y0f2Szc87pq92Gl#x zbeUfGf#FqUH2&Zgvm~V1JSW>xGEkaaCeiNisoQ^C)!zud>`2&fY>HNy#G>^lb*e|VXInlo9pcndpXl~XK8*0 z6>=f-w3>Ql|5I}+W%OxK96|t z&AM3a?cw_kZLJJS;JRzbTMBQP*U1Rz?Bi2UYzQ{aZtKfmac%DS)aNq~K3XJ8!J6)2 zoVKeltVpr)TwE1>ATkO+A>Q1R{Ql(gcv;7mSTCwE$_JuxUKFF|c&UXoxgwmIf6Atl z=qhEDRaHLoe^8T77`fK7Bjs&t8_2u_8uci)$`K7sgHF+ZYO`G~UXrkx&YXiFv zWSIZ@M`!!7=H8mLYH8f&Ok(g<(U#S}hd}G@FsmX?$X)K98KU9W(G?nIdd3d)ft+Y_lh{NnK~jm@nuC{r>@=MEATK0K~7xmeL2lu7>X`YGj4k2A@g_?v@&^#1`> CD)Gwz literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@3x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8ad93eefeb78fa3ff5d07ad60295eb1001381c GIT binary patch literal 3274 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 literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@1x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..2849afdb91038c3643a1951bb90e7c6123bd4b13 GIT binary patch literal 2012 zcmeAS@N?(olHy`uVBq!ia0vp^vLMXC1SD^M{15@8W~D}Wruq6ZXaU(A3~Y=-49q|l zBM>q$N-?m4*$fO}jM8v+9HRzQ4bT`yLk5sxqClM1p2@%hRbK<7LBIoufhIxdfXs^2 zoZQ5c{33;bqI?A-JwrVcpd8ZzCb&M?1vz1-eDb(;wxV%QuQiw3qZOUY$~jP%-qzHM1_jnoV;SI3R@+x3M(KR zB&@Hb09I0xZL1XF8=&BvUzDm~re~mMpk&9TprBw=l#*r@P?Wt5Z@Sn2DR zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)QswftllyTAW;zSx}OhpQiva zH!&%{w8U0P31kr*K-`&Hk%_P=uNdkrpa=CqGWv#k2Kv~v0X++MABwJu!~&d}N;1=M z*aeb-XaffZ#Emu}7g&KKG14V7H#M&q=pQ>HOB=A$FeDJ3L(&+5OCyp5l18AntelHd zK}jYgKR?F~TMDw#M^}YrfG;q*QxZ!OT@p)D?TieJ40R0+bPWtc49%^KjjRmKqaY@r zC_^#=6c$zyL8-<0Ii;W&v@8 z(&$?Ki!xJz=@9HzL#S=YVo>!q`k_;y^tV1Z>KJ1(`uXMyDcbE&6` zV~7Xu*3f8wVMmd9Gw;6r#>28@8ggNT%4cPQ-8>%_RG;9{3eEN z8u}8xK6|ox;*zTcD;;Y~d-C-2H0Q{_odMXo(n{+ppS$8pQ<5C2~;I#4!c#v|qa z3+wY&>|y(TO=-1l^6VJDho6te*~dL{pLE2s+5Cop;nIxvp8q~M>P3FJUYs!H-s`6a zkE<2`3Z28x6YbWYFg4-6ROaEhCj}SV#W^3P{H$`6ef~QBpXG{p%T@{JO-Uc2V_J1s}6co__LW^|U>bhOt4ax4&Ik z+1_`4-MO0XpO?y=b$&@ZJI2|i$j2v#v(|ohdN4ui=C0dQ_gJkgtMq7<{cvE?9_{Cc zU1IA6t#jrLw9-=Uoake@(cW7I}RsukC`z^I7o|MJNNjhN*t6X!_Y-&SGYmGn{$IL5M|XB)l2*}A zlfQotzfe{3-Wum2c`w14<2?X9}s^^p5ZZ>*I&8N1YEjgo3! z2G4}#i4(r1O=vszVAAINJE_szoljgTDW2mj#XeVl@3pnPeM^)xog<$VZ U^xvOzopr0KqNk_y7O^ literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x-1.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..72064904e4220f040cd33ad11dfb548764107caa GIT binary patch literal 3175 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 E6X2~9T>t<8 literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..72064904e4220f040cd33ad11dfb548764107caa GIT binary patch literal 3175 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 E6X2~9T>t<8 literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@3x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..44d767081d0204f880b98499c0d51637c889b34b GIT binary patch literal 4790 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 Y*3)!uekmT6)BkLg6*Uw}pF literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@1x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..6a8f8bedd5f7cbf47f3bab8c9bc1395057fcbe4a GIT binary patch literal 2551 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 literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@2x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4e9810e8e14411fd576a4671d13e44c6f3964860 GIT binary patch literal 4448 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 literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@3x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..0d3d57426280e57e700229bbb171bb2a43a36315 GIT binary patch literal 5742 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 OfTpUB%5x>F(EkHgcmYTN literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@2x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9724b1cc9459747c95d007dde853505575551cd8 GIT binary patch literal 5742 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 literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@3x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..4a25e378035c326d93ec79ed2c77404d499d8d37 GIT binary patch literal 9346 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

iTI3E0+?6lU1OU3R6qa( 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 Lnd;uuIUn^O^X39q literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon76@2x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon76@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3391e7a0c8d4418fd2986406ae2d141f93cb1942 GIT binary patch literal 7549 zcmbVxbyOVNvNs-_;1*yqxWk|!xVsECXpk9T7~Gu<2?PQJcL@Xw1ef3zToc?OxO)Nw zLiorz=iPhWdH4SF?Owa9x~hI9d)MyOYjuRSrV;@z4K4}_3W18UJouib{+`%q_xF^X zdarwu4uh!JXlS5t-1FEdSg0f@==U7z{e^-`gM#@7kAh-=O8YO~9F^@an|n8?{3ySj zk>5|7S8x=Jzw86<>F=R@Kkq&LNwwiVFb79V4`(-kwwp5m#KX@cc&|gtLHidjH3$9Q z{Jjpv%ml)APjFn6joeXC@JN48RFw2gDijoSI9w0n0ntzwvvzjmv4lEX!FYTeU4Elb z#C^o>Sx1oY5s=1FHB6%4feZf^qid?B>z(niSz!`>K_g??l&B2 z>0v2v=>d}j@qzfc`T4l{`1SZj!~}%JKqAI}diY;ve{=DBHN+rbn7gxs=kGm~6an$w z4_^M?cX8hTqy8uK-$;EYxQFEZdi??Uhxnf;qkrrFQ^3Eg{|VJ{gTwAS@sC{j|BCi^ z*zSZ+%JJ`(^o`Vl`_sG2gfrdu!??(@Mf6?xY?*8 z<;=;UVg?a_B$$0jyFm4#bFt{9C;=K%eq+$=jZqSie>4By5sxaK`WR0 z-hs#d6*vWY9L-i)+-}?uSD#=!kOD7-C#$+_Wy)K6qKQm{X@rRhT)y&GJ{ zya}n$aoFnnk;={wHwnxmxik?ti%?b6;e4w-~_%TCjry9S3diXi?c^V<}~SJ6s3j-d5Cl;RV*D<<>?DZ(nJyZoQNbL+JRX( z$$&5Vdw9zabiZBv7;&(a(cDRjFtsl=E&)S}^!SDKmhJHu#5S`#io4n@IBSOpYHVPa zo^Pz9_I9+LV!2hA*W4cwbpXB2knPR^OUR(=^|(5zyec8^WNyK;KhiP>cB|=!25y=d7in zvo|mW-?atk2IK}3BfB*EQKDqDm}-Jg>rlk|r!2^`D4)J>LR5o3W|ftlsU-&_*d9+% z@I-^GBE{9dy=9Nx&qt&w&`_T3^~wk_6u*#yy0swqghV13RM+jr3>1loXSJ$2;2+oE zAps7~YBv<9((hiIrI0sn%D8`SHsS;ds_MAg*M4w9Ore`HcPl$_pGs1!XCFc9FTa=BnX-ye~>^T+;hy2!0#lF{^ zo{V!e8doLDRn+bt|57&lUaM#1{xmaBx^nAm`k5GDU1ES+Dwnd#Xmv17nLO>IbhhY_ z{$88BgENWLab^&UQ!OhH@yasEDr;hVn$beZzk;D=Y_<9`(bl1<0oh@ECd+DB$Q3`03)Q& z(qDN!1#2iq8z$efsC-7D6L2B9nx*0vvJ$2Zyb1GVL{yNK}>SHz#wfK11;UI7&Im9DpQPd=@uDkVzu2|lb z94WuwEhse9)SLCNP338Yk#$*6DbV7HMJ@C9b$&a8G9ApDT+0fd_Y^m*yCjJ{h^c0J zO{wc`cC6TMy&@5Yzcf_4F&tvYNGG?1FyGmwqu}4B`tEYQ;M2l`0ZJI6bCKyYHN8(z z>q6K(zOD)hQ6u8DnZ7Lq%Z0^IKu?(lg8>8*Rl9HPW;{_Fp|fn?j|f6A7TLZf7=EUG zAW72Bym&B2e7)=QbKNN-+5_Ef{?lu1_ul14Lq%VD+j&puJT=0PImFh7W&HNT!s!pb zb2VrscJL5Ri`(p5lCthJInVb{k`!tZL17~H4u7~irE z1&OTza6#toSN19ITX42$!j&&q_cK8Bi)Op}$|qnPIFp@jpP;InO6eUb1@y+uTF0Auj?<*KB}do67>l<&lU zh~J3Lja?pp@ovqgtjf*XagieI_{{@C2H@{Q4%lNlENiU6%Hl`N8`_W7phC@%~< zInELwt^EL15-|%YtW%Xw0Vn+9HVqmQB93@5hxucwjz##6l7fED6PCTfPdb(SAgB2q z-?>EN%1a#RQSKwzjWN=V0eAjpWHn1dqrBvKHT{a0T1W}x@m^`A7^^ym?g&b<`#Uc#aTO{rVLDS>q;yI455cn!?vs(UhF*Z zPBWb6;(yWeAu6MA^chdC((2P*i+mDe?ggfYgc%R}2@&KAEg{kwl&Z1w8i`{;nZ4I0 zsRaUqqRGkDB-w8czoR(7{M_3+WX}3awO+D;#P~I8vfGAO=sqFCtGmQ~&QSZU{V{Lf ziQBi(mPAi?g~+N>!7@GD7zpq|!i`xUpwjZ@Pb-k}?S3*)_e@ZPy9FAl)B%?m6NirA z!dW)~nWpA&A!^OR;%2gL+L})cGXINdr9bWAilWz7tXKJ&nW#0)bf2nu^Sf6Yme|_2G05&fc0uAzo$ycrUJgC^$v@3{xke-yg-a$5OJg3v@ieB zX(@T6U-|}Lgc^v3<=mzQ{tnJ%--}gSk-;;_s>K_cKlm#<#-ku=4!!w6|Iq*w2CP{m zb~L-9Z=C{u(kDEk3rEv}=^z*7&oD#Hy~-T&_)TS=s97Khg&B*rMfn0bDQ+|gxz1-T z`yMRT!izY@PqWb?JgvUFERQyjZF5XaOjhCqO7|*n*F9)J8+zo`qF?)tL#x?4anKrkiR3b7jQqNr7l0`wSQI`)8a!^Q?mQ2A9MQX}XsubfM4(CetO5pSGMJlxoh15Q4rY*O<+NUU3G1!^MkMnxx zddH7Oua4^Hbh0}Sr7hPcyj{!z9y5OCL<3H%TQTn*#$~8Dn_HbUD7??Nt76^w z$dwQ7*qS^Od~a2qy>YQRZJq_(-Jz|1(@OtbbIDCohe+6Fxd`ZBlyjDl4V%ik9!4REfcxHvrEGA@hCu=g_4qW_gS_tUmsl&ZPct2H-@ zhSIo}2LB?mE*@hQ!q9ql<8Ec7<#D_1&F5QH6z^DnQKE3&H>uot z^X95gt3#6|e9eYxb&9T#cz_qnW{9w_vIH?kaWUAq#tCVaeDp(6AmBB5Hkh%iA59$F zoblG!PT?pxzKnVC2{wk6Yl`r(URzXLPRNMaX%br%hmyhMscz@Op^@pGfnNr7fK!px z_k^k#kqm`rR)bSrjF;lWZI@kn+%J#kx%)U%ML(v%ajpJr^czv)04R_daHxD^)cd= z9X99zs(eJx*{u%dI?U9ZIh@2^+^U>EgZ{z2#Qep%&Zr66N+G4sF z*pJk@6G4kD;2!UjMN?V?`^>>nRM3h0;N3Sud{)HUn{4sw<@f>rieu?_+fhdW5*Gst zX!A*N-^n@YHI@>XlwqWpWc-He*%A(>t*OnzbpsZp@`*aubp!5+VJb&6YH3#Zj7|H7 zim!G`TKboW^cQd5TQEM>okt1yg`Ng1KWAOBu5oXBA3awi z1~1m?SoG>W_r(7cLQZHGTD5c>{tBywp)UBujI&tsMdOOXr{eGyGVM$g799F{{o6O5;SZ1a;8EFBg)X%Pw)R}l{qA~?lpX)<-WzgiO zelDMXRm<#6m<6KZ7+W{5L?8L+tJjLb4f0{pqR}^y)?4U74fpQ1xPpDXzVo%+NzLq8 z%7sUhbn$vsdnR$sL0!d6&TF?>b;fY~`qD6ZrCMn6N$x4*!&VC$DEF7F6|p3blrDDi ze)KqpNI5>OB(_w{AgX^9fPs0>x4sAKd%=1wKn>yOjR7 zqY8;}o0~Q=6?4}JdHd!~!d}Ex8(r0%|HO3DK;5HK#}&`QgO~Rw`#DwY#+SSy5Cr}H z3z}@b7(+UwOnYLj#FLh8ff-C=`1#UdiA?IsRVAH;Lt*M3Aex8#*xdq~`M$KLJ;&KgOi1KKNC?%%) zH6ul9-Y`yMpdLK%93#QPq`Yk3?+{a@i3(frqjz&{uq||q!}DN6b`pNHfot_G($;!5 zdG&+VO%jHcefAZe<6cY9YEJ+cbL>~r;Tg&EfSJ#COC=%1r$lA5*_U%u+l>2i?#Ue4 zPFgfG6-Xa#O-LLN|jl-0!2e1ifz_O z0z#4FJ85E*YsZw+UA}i=!sy&_T&VRiT0iv+4^_%S5AEw+a4EgxcxlP^&$6}%0`hy9o;l^|97$XU{y4a^cIOaurtVdsZRWap^ec>z2GGeey7*RN{QKS|e={}PM8l7K zZNIihmYY_Mo$E)GtiQs0%JrzKr$r1T8g#mRvpTo2 z*kjeT!%&wzX7;5#n&Z!P8!G2YeGjyRQnhP7OAsiEgd^1>BH`$o2a!P^^`(MKn9g+j zv_3$trR@|2dVAs@eytwwB!s3D?3CusVu}aTyq!>gaJ`LG;1nj~OfKg<1g%KCK%#otBKx1MheF+i*ix&k7aRX zF$?Bm@I#+zYiK&W`U=+t~2J{!r%4HXuPRTuyriz;Rj6e~V}!PSBf z?Lb+NGr@{yO?w`ig2bn?5O*7rK4T)SJORa`qDLt?Q7dOd(J0KZKo-wW`?=8v64X0B o4M}6+^U*iL0KV}!kgGfN-b?DqLMG7C?_ZB93YzlevKAr#4+(61>;M1& literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon83.5@2x.png b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5cbcab7ffe252c5b5dd04f736ed2fde3d082476c GIT binary patch literal 8453 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 z URL { + try FileManager.default.url(for: .documentDirectory, + in: .userDomainMask, + appropriateFor: nil, + create: false) + .appendingPathComponent("scrums.data") + } + + func load() async throws { + let task = Task<[DailyScrum], Error> { + let fileURL = try Self.fileURL() + guard let data = try? Data(contentsOf: fileURL) else { + return [] + } + let dailyScrums = try JSONDecoder().decode([DailyScrum].self, from: data) + return dailyScrums + } + let scrums = try await task.value + self.scrums = scrums + } + + func save(scrums: [DailyScrum]) async throws { + let task = Task { + let data = try JSONEncoder().encode(scrums) + let outfile = try Self.fileURL() + try data.write(to: outfile) + } + _ = try await task.value + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/ScrumTimer.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/ScrumTimer.swift new file mode 100644 index 00000000..c78cb0bd --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/ScrumTimer.swift @@ -0,0 +1,145 @@ +/* +See LICENSE folder for this sample’s licensing information. +*/ + +import Foundation + +/// Keeps time for a daily scrum meeting. Keep track of the total meeting time, the time for each speaker, and the name of the current speaker. + +@MainActor +final class ScrumTimer: ObservableObject { + /// A struct to keep track of meeting attendees during a meeting. + struct Speaker: Identifiable { + /// The attendee name. + let name: String + /// True if the attendee has completed their turn to speak. + var isCompleted: Bool + /// Id for Identifiable conformance. + let id = UUID() + } + + /// The name of the meeting attendee who is speaking. + @Published var activeSpeaker = "" + /// The number of seconds since the beginning of the meeting. + @Published var secondsElapsed = 0 + /// The number of seconds until all attendees have had a turn to speak. + @Published var secondsRemaining = 0 + /// All meeting attendees, listed in the order they will speak. + private(set) var speakers: [Speaker] = [] + + /// The scrum meeting length. + private(set) var lengthInMinutes: Int + /// A closure that is executed when a new attendee begins speaking. + var speakerChangedAction: (() -> Void)? + + private weak var timer: Timer? + private var timerStopped = false + private var frequency: TimeInterval { 1.0 / 60.0 } + private var lengthInSeconds: Int { lengthInMinutes * 60 } + private var secondsPerSpeaker: Int { + (lengthInMinutes * 60) / speakers.count + } + private var secondsElapsedForSpeaker: Int = 0 + private var speakerIndex: Int = 0 + private var speakerText: String { + return "Speaker \(speakerIndex + 1): " + speakers[speakerIndex].name + } + private var startDate: Date? + + /** + Initialize a new timer. Initializing a time with no arguments creates a ScrumTimer with no attendees and zero length. + Use `startScrum()` to start the timer. + + - Parameters: + - lengthInMinutes: The meeting length. + - attendees: A list of attendees for the meeting. + */ + init(lengthInMinutes: Int = 0, attendees: [DailyScrum.Attendee] = []) { + self.lengthInMinutes = lengthInMinutes + self.speakers = attendees.speakers + secondsRemaining = lengthInSeconds + activeSpeaker = speakerText + } + + /// Start the timer. + func startScrum() { + timer = Timer.scheduledTimer(withTimeInterval: frequency, repeats: true) { [weak self] timer in + self?.update() + } + timer?.tolerance = 0.1 + changeToSpeaker(at: 0) + } + + /// Stop the timer. + func stopScrum() { + timer?.invalidate() + timerStopped = true + } + + /// Advance the timer to the next speaker. + nonisolated func skipSpeaker() { + Task { @MainActor in + changeToSpeaker(at: speakerIndex + 1) + } + } + + private func changeToSpeaker(at index: Int) { + if index > 0 { + let previousSpeakerIndex = index - 1 + speakers[previousSpeakerIndex].isCompleted = true + } + secondsElapsedForSpeaker = 0 + guard index < speakers.count else { return } + speakerIndex = index + activeSpeaker = speakerText + + secondsElapsed = index * secondsPerSpeaker + secondsRemaining = lengthInSeconds - secondsElapsed + startDate = Date() + } + + nonisolated private func update() { + + Task { @MainActor in + guard let startDate, + !timerStopped else { return } + let secondsElapsed = Int(Date().timeIntervalSince1970 - startDate.timeIntervalSince1970) + secondsElapsedForSpeaker = secondsElapsed + self.secondsElapsed = secondsPerSpeaker * speakerIndex + secondsElapsedForSpeaker + guard secondsElapsed <= secondsPerSpeaker else { + return + } + secondsRemaining = max(lengthInSeconds - self.secondsElapsed, 0) + + if secondsElapsedForSpeaker >= secondsPerSpeaker { + changeToSpeaker(at: speakerIndex + 1) + speakerChangedAction?() + } + } + } + + /** + Reset the timer with a new meeting length and new attendees. + + - Parameters: + - lengthInMinutes: The meeting length. + - attendees: The name of each attendee. + */ + func reset(lengthInMinutes: Int, attendees: [DailyScrum.Attendee]) { + self.lengthInMinutes = lengthInMinutes + self.speakers = attendees.speakers + secondsRemaining = lengthInSeconds + activeSpeaker = speakerText + } +} + + +extension Array { + var speakers: [ScrumTimer.Speaker] { + if isEmpty { + return [ScrumTimer.Speaker(name: "Speaker 1", isCompleted: false)] + } else { + return map { ScrumTimer.Speaker(name: $0.name, isCompleted: false) } + } + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/SpeechRecognizer.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/SpeechRecognizer.swift new file mode 100644 index 00000000..6e1da515 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/SpeechRecognizer.swift @@ -0,0 +1,184 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import Foundation +import AVFoundation +import Speech +import SwiftUI + +/// A helper for transcribing speech to text using SFSpeechRecognizer and AVAudioEngine. +actor SpeechRecognizer: ObservableObject { + enum RecognizerError: Error { + case nilRecognizer + case notAuthorizedToRecognize + case notPermittedToRecord + case recognizerIsUnavailable + + var message: String { + switch self { + case .nilRecognizer: return "Can't initialize speech recognizer" + case .notAuthorizedToRecognize: return "Not authorized to recognize speech" + case .notPermittedToRecord: return "Not permitted to record audio" + case .recognizerIsUnavailable: return "Recognizer is unavailable" + } + } + } + + @MainActor var transcript: String = "" + + private var audioEngine: AVAudioEngine? + private var request: SFSpeechAudioBufferRecognitionRequest? + private var task: SFSpeechRecognitionTask? + private let recognizer: SFSpeechRecognizer? + + /** + Initializes a new speech recognizer. If this is the first time you've used the class, it + requests access to the speech recognizer and the microphone. + */ + init() { + recognizer = SFSpeechRecognizer() + guard recognizer != nil else { + transcribe(RecognizerError.nilRecognizer) + return + } + + Task { + do { + guard await SFSpeechRecognizer.hasAuthorizationToRecognize() else { + throw RecognizerError.notAuthorizedToRecognize + } + guard await AVAudioSession.sharedInstance().hasPermissionToRecord() else { + throw RecognizerError.notPermittedToRecord + } + } catch { + transcribe(error) + } + } + } + + @MainActor func startTranscribing() { + Task { + await transcribe() + } + } + + @MainActor func resetTranscript() { + Task { + await reset() + } + } + + @MainActor func stopTranscribing() { + Task { + await reset() + } + } + + /** + Begin transcribing audio. + + Creates a `SFSpeechRecognitionTask` that transcribes speech to text until you call `stopTranscribing()`. + The resulting transcription is continuously written to the published `transcript` property. + */ + private func transcribe() { + guard let recognizer, recognizer.isAvailable else { + self.transcribe(RecognizerError.recognizerIsUnavailable) + return + } + + do { + let (audioEngine, request) = try Self.prepareEngine() + self.audioEngine = audioEngine + self.request = request + self.task = recognizer.recognitionTask(with: request, resultHandler: { [weak self] result, error in + self?.recognitionHandler(audioEngine: audioEngine, result: result, error: error) + }) + } catch { + self.reset() + self.transcribe(error) + } + } + + /// Reset the speech recognizer. + private func reset() { + task?.cancel() + audioEngine?.stop() + audioEngine = nil + request = nil + task = nil + } + + private static func prepareEngine() throws -> (AVAudioEngine, SFSpeechAudioBufferRecognitionRequest) { + let audioEngine = AVAudioEngine() + + let request = SFSpeechAudioBufferRecognitionRequest() + request.shouldReportPartialResults = true + + let audioSession = AVAudioSession.sharedInstance() + try audioSession.setCategory(.playAndRecord, mode: .measurement, options: .duckOthers) + try audioSession.setActive(true, options: .notifyOthersOnDeactivation) + let inputNode = audioEngine.inputNode + + let recordingFormat = inputNode.outputFormat(forBus: 0) + inputNode.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { (buffer: AVAudioPCMBuffer, when: AVAudioTime) in + request.append(buffer) + } + audioEngine.prepare() + try audioEngine.start() + + return (audioEngine, request) + } + + nonisolated private func recognitionHandler(audioEngine: AVAudioEngine, result: SFSpeechRecognitionResult?, error: Error?) { + let receivedFinalResult = result?.isFinal ?? false + let receivedError = error != nil + + if receivedFinalResult || receivedError { + audioEngine.stop() + audioEngine.inputNode.removeTap(onBus: 0) + } + + if let result { + transcribe(result.bestTranscription.formattedString) + } + } + + + nonisolated private func transcribe(_ message: String) { + Task { @MainActor in + transcript = message + } + } + nonisolated private func transcribe(_ error: Error) { + var errorMessage = "" + if let error = error as? RecognizerError { + errorMessage += error.message + } else { + errorMessage += error.localizedDescription + } + Task { @MainActor [errorMessage] in + transcript = "<< \(errorMessage) >>" + } + } +} + +extension SFSpeechRecognizer { + static func hasAuthorizationToRecognize() async -> Bool { + await withCheckedContinuation { continuation in + requestAuthorization { status in + continuation.resume(returning: status == .authorized) + } + } + } +} + +extension AVAudioSession { + func hasPermissionToRecord() async -> Bool { + await withCheckedContinuation { continuation in + requestRecordPermission { authorized in + continuation.resume(returning: authorized) + } + } + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/Theme.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/Theme.swift new file mode 100644 index 00000000..400dd844 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Models/Theme.swift @@ -0,0 +1,41 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +enum Theme: String, CaseIterable, Identifiable, Codable { + + case bubblegum + case buttercup + case indigo + case lavender + case magenta + case navy + case orange + case oxblood + case periwinkle + case poppy + case purple + case seafoam + case sky + case tan + case teal + case yellow + + var accentColor: Color { + switch self { + case .bubblegum, .buttercup, .lavender, .orange, .periwinkle, .poppy, .seafoam, .sky, .tan, .teal, .yellow: return .black + case .indigo, .magenta, .navy, .oxblood, .purple: return .white + } + } + var mainColor: Color { + Color(rawValue) + } + var name: String { + rawValue.capitalized + } + var id: String { + name + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Preview Content/Preview Assets.xcassets/Contents.json b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Resources/ding.wav b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Resources/ding.wav new file mode 100644 index 0000000000000000000000000000000000000000..5831df269dda704add693c6ff8468400559e22de GIT binary patch literal 535904 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

7{1zAqfq$7$2 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 literal 0 HcmV?d00001 diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/ScrumdingerApp.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/ScrumdingerApp.swift new file mode 100644 index 00000000..101f8ae2 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/ScrumdingerApp.swift @@ -0,0 +1,39 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +@main +struct ScrumdingerApp: App { + @StateObject private var store = ScrumStore() + @State private var errorWrapper: ErrorWrapper? + + var body: some Scene { + WindowGroup { + ScrumsView(scrums: $store.scrums) { + Task { + do { + try await store.save(scrums: store.scrums) + } catch { + errorWrapper = ErrorWrapper(error: error, + guidance: "Try again later.") + } + } + } + .task { + do { + try await store.load() + } catch { + errorWrapper = ErrorWrapper(error: error, + guidance: "Scrumdinger will load sample data and continue.") + } + } + .sheet(item: $errorWrapper) { + store.scrums = DailyScrum.sampleData + } content: { wrapper in + ErrorView(errorWrapper: wrapper) + } + } + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/CardView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/CardView.swift new file mode 100644 index 00000000..9dadd168 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/CardView.swift @@ -0,0 +1,37 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct CardView: View { + let scrum: DailyScrum + var body: some View { + VStack(alignment: .leading) { + Text(scrum.title) + .font(.headline) + .accessibilityAddTraits(.isHeader) + Spacer() + HStack { + Label("\(scrum.attendees.count)", systemImage: "person.3") + .accessibilityLabel("\(scrum.attendees.count) attendees") + Spacer() + Label("\(scrum.lengthInMinutes)", systemImage: "clock") + .accessibilityLabel("\(scrum.lengthInMinutes) minute meeting") + .labelStyle(.trailingIcon) + } + .font(.caption) + } + .padding() + .foregroundColor(scrum.theme.accentColor) + } +} + +struct CardView_Previews: PreviewProvider { + static var scrum = DailyScrum.sampleData[0] + static var previews: some View { + CardView(scrum: scrum) + .background(scrum.theme.mainColor) + .previewLayout(.fixed(width: 400, height: 60)) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/DetailEditView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/DetailEditView.swift new file mode 100644 index 00000000..34461c11 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/DetailEditView.swift @@ -0,0 +1,56 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct DetailEditView: View { + @Binding var scrum: DailyScrum + @State private var newAttendeeName = "" + + var body: some View { + Form { + Section(header: Text("Meeting Info")) { + TextField("Title", text: $scrum.title) + HStack { + Slider(value: $scrum.lengthInMinutesAsDouble, in: 2...30, step: 1) { + Text("Length") + } + .accessibilityValue("\(scrum.lengthInMinutes) minutes") + Spacer() + Text("\(scrum.lengthInMinutes) minutes") + .accessibilityHidden(true) + } + ThemePicker(selection: $scrum.theme) + } + Section(header: Text("Attendees")) { + ForEach(scrum.attendees) { attendee in + Text(attendee.name) + } + .onDelete { indices in + scrum.attendees.remove(atOffsets: indices) + } + HStack { + TextField("New Attendee", text: $newAttendeeName) + Button(action: { + withAnimation { + let attendee = DailyScrum.Attendee(name: newAttendeeName) + scrum.attendees.append(attendee) + newAttendeeName = "" + } + }) { + Image(systemName: "plus.circle.fill") + .accessibilityLabel("Add attendee") + } + .disabled(newAttendeeName.isEmpty) + } + } + } + } +} + +struct DetailEditView_Previews: PreviewProvider { + static var previews: some View { + DetailEditView(scrum: .constant(DailyScrum.sampleData[0])) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/DetailView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/DetailView.swift new file mode 100644 index 00000000..c8117930 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/DetailView.swift @@ -0,0 +1,91 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct DetailView: View { + @Binding var scrum: DailyScrum + @State private var editingScrum = DailyScrum.emptyScrum + @State private var isPresentingEditView = false + + var body: some View { + List { + Section(header: Text("Meeting Info")) { + NavigationLink(destination: MeetingView(scrum: $scrum)) { + Label("Start Meeting", systemImage: "timer") + .font(.headline) + .foregroundColor(.accentColor) + } + HStack { + Label("Length", systemImage: "clock") + Spacer() + Text("\(scrum.lengthInMinutes) minutes") + } + .accessibilityElement(children: .combine) + HStack { + Label("Theme", systemImage: "paintpalette") + Spacer() + Text(scrum.theme.name) + .padding(4) + .foregroundColor(scrum.theme.accentColor) + .background(scrum.theme.mainColor) + .cornerRadius(4) + } + .accessibilityElement(children: .combine) + } + Section(header: Text("Attendees")) { + ForEach(scrum.attendees) { attendee in + Label(attendee.name, systemImage: "person") + } + } + Section(header: Text("History")) { + if scrum.history.isEmpty { + Label("No meetings yet", systemImage: "calendar.badge.exclamationmark") + } + ForEach(scrum.history) { history in + NavigationLink(destination: HistoryView(history: history)) { + HStack { + Image(systemName: "calendar") + Text(history.date, style: .date) + } + } + } + } + } + .navigationTitle(scrum.title) + .toolbar { + Button("Edit") { + isPresentingEditView = true + editingScrum = scrum + } + } + .sheet(isPresented: $isPresentingEditView) { + NavigationStack { + DetailEditView(scrum: $editingScrum) + .navigationTitle(scrum.title) + .toolbar { + ToolbarItem(placement: .cancellationAction) { + Button("Cancel") { + isPresentingEditView = false + } + } + ToolbarItem(placement: .confirmationAction) { + Button("Done") { + isPresentingEditView = false + scrum = editingScrum + } + } + } + } + } + } +} + +struct DetailView_Previews: PreviewProvider { + static var previews: some View { + NavigationStack { + DetailView(scrum: .constant(DailyScrum.sampleData[0])) + } + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ErrorView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ErrorView.swift new file mode 100644 index 00000000..7af03401 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ErrorView.swift @@ -0,0 +1,51 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct ErrorView: View { + let errorWrapper: ErrorWrapper + @Environment(\.dismiss) private var dismiss + + var body: some View { + NavigationStack { + VStack { + Text("An error has occurred!") + .font(.title) + .padding(.bottom) + Text(errorWrapper.error.localizedDescription) + .font(.headline) + Text(errorWrapper.guidance) + .font(.caption) + .padding(.top) + Spacer() + } + .padding() + .background(.ultraThinMaterial) + .cornerRadius(16) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button("Dismiss") { + dismiss() + } + } + } + } + } +} + +struct ErrorView_Previews: PreviewProvider { + enum SampleError: Error { + case errorRequired + } + + static var wrapper: ErrorWrapper { + ErrorWrapper(error: SampleError.errorRequired, + guidance: "You can safely ignore this error.") + } + + static var previews: some View { + ErrorView(errorWrapper: wrapper) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/HistoryView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/HistoryView.swift new file mode 100644 index 00000000..887c050b --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/HistoryView.swift @@ -0,0 +1,50 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct HistoryView: View { + let history: History + + var body: some View { + ScrollView { + VStack(alignment: .leading) { + Divider() + .padding(.bottom) + Text("Attendees") + .font(.headline) + Text(history.attendeeString) + if let transcript = history.transcript { + Text("Transcript") + .font(.headline) + .padding(.top) + Text(transcript) + } + } + } + .navigationTitle(Text(history.date, style: .date)) + .padding() + } +} + +extension History { + var attendeeString: String { + ListFormatter.localizedString(byJoining: attendees.map { $0.name }) + } +} + +struct HistoryView_Previews: PreviewProvider { + static var history: History { + History(attendees: [ + DailyScrum.Attendee(name: "Jon"), + DailyScrum.Attendee(name: "Darla"), + DailyScrum.Attendee(name: "Luis") + ], + transcript: "Darla, would you like to start today? Sure, yesterday I reviewed Luis' PR and met with the design team to finalize the UI...") + } + + static var previews: some View { + HistoryView(history: history) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingFooterView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingFooterView.swift new file mode 100644 index 00000000..9bbbce82 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingFooterView.swift @@ -0,0 +1,47 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct MeetingFooterView: View { + let speakers: [ScrumTimer.Speaker] + var skipAction: ()->Void + + private var speakerNumber: Int? { + guard let index = speakers.firstIndex(where: { !$0.isCompleted }) else { return nil } + return index + 1 + } + private var isLastSpeaker: Bool { + return speakers.dropLast().allSatisfy { $0.isCompleted } + } + private var speakerText: String { + guard let speakerNumber = speakerNumber else { return "No more speakers" } + return "Speaker \(speakerNumber) of \(speakers.count)" + } + + var body: some View { + VStack { + HStack { + if isLastSpeaker { + Text("Last Speaker") + } else { + Text(speakerText) + Spacer() + Button(action: skipAction) { + Image(systemName: "forward.fill") + } + .accessibilityLabel("Next speaker") + } + } + } + .padding([.bottom, .horizontal]) + } +} + +struct MeetingFooterView_Previews: PreviewProvider { + static var previews: some View { + MeetingFooterView(speakers: DailyScrum.sampleData[0].attendees.speakers, skipAction: {}) + .previewLayout(.sizeThatFits) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingHeaderView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingHeaderView.swift new file mode 100644 index 00000000..21feb176 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingHeaderView.swift @@ -0,0 +1,54 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct MeetingHeaderView: View { + let secondsElapsed: Int + let secondsRemaining: Int + let theme: Theme + + private var totalSeconds: Int { + secondsElapsed + secondsRemaining + } + private var progress: Double { + guard totalSeconds > 0 else { return 1 } + return Double(secondsElapsed) / Double(totalSeconds) + } + private var minutesRemaining: Int { + secondsRemaining / 60 + } + + var body: some View { + VStack { + ProgressView(value: progress) + .progressViewStyle(ScrumProgressViewStyle(theme: theme)) + HStack { + VStack(alignment: .leading) { + Text("Seconds Elapsed") + .font(.caption) + Label("\(secondsElapsed)", systemImage: "hourglass.tophalf.fill") + } + Spacer() + VStack(alignment: .trailing) { + Text("Seconds Remaining") + .font(.caption) + Label("\(secondsRemaining)", systemImage: "hourglass.bottomhalf.fill") + .labelStyle(.trailingIcon) + } + } + } + .accessibilityElement(children: .ignore) + .accessibilityLabel("Time remaining") + .accessibilityValue("\(minutesRemaining) minutes") + .padding([.top, .horizontal]) + } +} + +struct MeetingHeaderView_Previews: PreviewProvider { + static var previews: some View { + MeetingHeaderView(secondsElapsed: 60, secondsRemaining: 180, theme: .bubblegum) + .previewLayout(.sizeThatFits) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingTimerView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingTimerView.swift new file mode 100644 index 00000000..ad3df6ed --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingTimerView.swift @@ -0,0 +1,53 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct MeetingTimerView: View { + let speakers: [ScrumTimer.Speaker] + let isRecording: Bool + let theme: Theme + + private var currentSpeaker: String { + speakers.first(where: { !$0.isCompleted })?.name ?? "Someone" + } + + var body: some View { + Circle() + .strokeBorder(lineWidth: 24) + .overlay { + VStack { + Text(currentSpeaker) + .font(.title) + Text("is speaking") + Image(systemName: isRecording ? "mic" : "mic.slash") + .font(.title) + .padding(.top) + .accessibilityLabel(isRecording ? "with transcription" : "without transcription") + } + .accessibilityElement(children: .combine) + .foregroundStyle(theme.accentColor) + } + .overlay { + ForEach(speakers) { speaker in + if speaker.isCompleted, let index = speakers.firstIndex(where: { $0.id == speaker.id }) { + SpeakerArc(speakerIndex: index, totalSpeakers: speakers.count) + .rotation(Angle(degrees: -90)) + .stroke(theme.mainColor, lineWidth: 12) + } + } + } + .padding(.horizontal) + } +} + +struct MeetingTimerView_Previews: PreviewProvider { + static var speakers: [ScrumTimer.Speaker] { + [ScrumTimer.Speaker(name: "Bill", isCompleted: true), ScrumTimer.Speaker(name: "Cathy", isCompleted: false)] + } + + static var previews: some View { + MeetingTimerView(speakers: speakers, isRecording: true, theme: .yellow) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingView.swift new file mode 100644 index 00000000..7c2b7625 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/MeetingView.swift @@ -0,0 +1,63 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI +import AVFoundation + +struct MeetingView: View { + @Binding var scrum: DailyScrum + @StateObject var scrumTimer = ScrumTimer() + @StateObject var speechRecognizer = SpeechRecognizer() + @State private var isRecording = false + + private var player: AVPlayer { AVPlayer.sharedDingPlayer } + + var body: some View { + ZStack { + RoundedRectangle(cornerRadius: 16.0) + .fill(scrum.theme.mainColor) + VStack { + MeetingHeaderView(secondsElapsed: scrumTimer.secondsElapsed, secondsRemaining: scrumTimer.secondsRemaining, theme: scrum.theme) + MeetingTimerView(speakers: scrumTimer.speakers, isRecording: isRecording, theme: scrum.theme) + MeetingFooterView(speakers: scrumTimer.speakers, skipAction: scrumTimer.skipSpeaker) + } + } + .padding() + .foregroundColor(scrum.theme.accentColor) + .onAppear { + startScrum() + } + .onDisappear { + endScrum() + } + .navigationBarTitleDisplayMode(.inline) + } + + private func startScrum() { + scrumTimer.reset(lengthInMinutes: scrum.lengthInMinutes, attendees: scrum.attendees) + scrumTimer.speakerChangedAction = { + player.seek(to: .zero) + player.play() + } + speechRecognizer.resetTranscript() + speechRecognizer.startTranscribing() + isRecording = true + scrumTimer.startScrum() + } + + private func endScrum() { + scrumTimer.stopScrum() + speechRecognizer.stopTranscribing() + isRecording = false + let newHistory = History(attendees: scrum.attendees, + transcript: speechRecognizer.transcript) + scrum.history.insert(newHistory, at: 0) + } +} + +struct MeetingView_Previews: PreviewProvider { + static var previews: some View { + MeetingView(scrum: .constant(DailyScrum.sampleData[0])) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/NewScrumSheet.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/NewScrumSheet.swift new file mode 100644 index 00000000..e8b87362 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/NewScrumSheet.swift @@ -0,0 +1,36 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct NewScrumSheet: View { + @State private var newScrum = DailyScrum.emptyScrum + @Binding var scrums: [DailyScrum] + @Binding var isPresentingNewScrumView: Bool + + var body: some View { + NavigationStack { + DetailEditView(scrum: $newScrum) + .toolbar { + ToolbarItem(placement: .cancellationAction) { + Button("Dismiss") { + isPresentingNewScrumView = false + } + } + ToolbarItem(placement: .confirmationAction) { + Button("Add") { + scrums.append(newScrum) + isPresentingNewScrumView = false + } + } + } + } + } +} + +struct NewScrumSheet_Previews: PreviewProvider { + static var previews: some View { + NewScrumSheet(scrums: .constant(DailyScrum.sampleData), isPresentingNewScrumView: .constant(true)) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ScrumProgressViewStyle.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ScrumProgressViewStyle.swift new file mode 100644 index 00000000..01820571 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ScrumProgressViewStyle.swift @@ -0,0 +1,35 @@ +/* +See LICENSE folder for this sample’s licensing information. +*/ + +import SwiftUI + +struct ScrumProgressViewStyle: ProgressViewStyle { + var theme: Theme + + func makeBody(configuration: Configuration) -> some View { + ZStack { + RoundedRectangle(cornerRadius: 10.0) + .fill(theme.accentColor) + .frame(height: 20.0) + if #available(iOS 15.0, *) { + ProgressView(configuration) + .tint(theme.mainColor) + .frame(height: 12.0) + .padding(.horizontal) + } else { + ProgressView(configuration) + .frame(height: 12.0) + .padding(.horizontal) + } + } + } +} + +struct ScrumProgressViewStyle_Previews: PreviewProvider { + static var previews: some View { + ProgressView(value: 0.4) + .progressViewStyle(ScrumProgressViewStyle(theme: .buttercup)) + .previewLayout(.sizeThatFits) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ScrumsView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ScrumsView.swift new file mode 100644 index 00000000..88f25be9 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ScrumsView.swift @@ -0,0 +1,44 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct ScrumsView: View { + @Binding var scrums: [DailyScrum] + @Environment(\.scenePhase) private var scenePhase + @State private var isPresentingNewScrumView = false + let saveAction: ()->Void + + var body: some View { + NavigationStack { + List($scrums) { $scrum in + NavigationLink(destination: DetailView(scrum: $scrum)) { + CardView(scrum: scrum) + } + .listRowBackground(scrum.theme.mainColor) + } + .navigationTitle("Daily Scrums") + .toolbar { + Button(action: { + isPresentingNewScrumView = true + }) { + Image(systemName: "plus") + } + .accessibilityLabel("New Scrum") + } + } + .sheet(isPresented: $isPresentingNewScrumView) { + NewScrumSheet(scrums: $scrums, isPresentingNewScrumView: $isPresentingNewScrumView) + } + .onChange(of: scenePhase) { phase in + if phase == .inactive { saveAction() } + } + } +} + +struct ScrumsView_Previews: PreviewProvider { + static var previews: some View { + ScrumsView(scrums: .constant(DailyScrum.sampleData), saveAction: {}) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/SpeakerArc.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/SpeakerArc.swift new file mode 100644 index 00000000..2ea429ab --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/SpeakerArc.swift @@ -0,0 +1,29 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct SpeakerArc: Shape { + let speakerIndex: Int + let totalSpeakers: Int + + private var degreesPerSpeaker: Double { + 360.0 / Double(totalSpeakers) + } + private var startAngle: Angle { + Angle(degrees: degreesPerSpeaker * Double(speakerIndex) + 1.0) + } + private var endAngle: Angle { + Angle(degrees: startAngle.degrees + degreesPerSpeaker - 1.0) + } + + func path(in rect: CGRect) -> Path { + let diameter = min(rect.size.width, rect.size.height) - 24.0 + let radius = diameter / 2.0 + let center = CGPoint(x: rect.midX, y: rect.midY) + return Path { path in + path.addArc(center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, clockwise: false) + } + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ThemePicker.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ThemePicker.swift new file mode 100644 index 00000000..2e1ecfa9 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ThemePicker.swift @@ -0,0 +1,25 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct ThemePicker: View { + @Binding var selection: Theme + + var body: some View { + Picker("Theme", selection: $selection) { + ForEach(Theme.allCases) { theme in + ThemeView(theme: theme) + .tag(theme) + } + } + .pickerStyle(.navigationLink) + } +} + +struct ThemePicker_Previews: PreviewProvider { + static var previews: some View { + ThemePicker(selection: .constant(.periwinkle)) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ThemeView.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ThemeView.swift new file mode 100644 index 00000000..5283d462 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/ThemeView.swift @@ -0,0 +1,24 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct ThemeView: View { + let theme: Theme + + var body: some View { + Text(theme.name) + .padding(4) + .frame(maxWidth: .infinity) + .background(theme.mainColor) + .foregroundColor(theme.accentColor) + .clipShape(RoundedRectangle(cornerRadius: 4)) + } +} + +struct ThemeView_Previews: PreviewProvider { + static var previews: some View { + ThemeView(theme: .buttercup) + } +} diff --git a/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/TrailingIconLabelStyle.swift b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/TrailingIconLabelStyle.swift new file mode 100644 index 00000000..e4b5e110 --- /dev/null +++ b/0248-tca-tour-pt6/Scrumdinger-Complete/Scrumdinger/Views/TrailingIconLabelStyle.swift @@ -0,0 +1,18 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct TrailingIconLabelStyle: LabelStyle { + func makeBody(configuration: Configuration) -> some View { + HStack { + configuration.title + configuration.icon + } + } +} + +extension LabelStyle where Self == TrailingIconLabelStyle { + static var trailingIcon: Self { Self() } +} diff --git a/0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.pbxproj b/0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.pbxproj new file mode 100644 index 00000000..171b822a --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.pbxproj @@ -0,0 +1,540 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 2A2E56FA2A6B25AF00F9FC64 /* SpeechClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A2E56F92A6B25AF00F9FC64 /* SpeechClient.swift */; }; + 2A4D5DCB2A69E97E0098984B /* StandupsListTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A4D5DCA2A69E97E0098984B /* StandupsListTests.swift */; }; + 2AB309192A6AF37C00FCC600 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AB309182A6AF37C00FCC600 /* App.swift */; }; + 2AED4B442A69D0280099BFE2 /* StandupForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AED4B432A69D0280099BFE2 /* StandupForm.swift */; }; + 4B2536EB2A69CB1600C012CC /* StandupsList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B2536EA2A69CB1600C012CC /* StandupsList.swift */; }; + 4B2536ED2A69CBB500C012CC /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B2536EC2A69CBB500C012CC /* Models.swift */; }; + 4B2536EF2A69DB6400C012CC /* StandupFormTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B2536EE2A69DB6400C012CC /* StandupFormTests.swift */; }; + 4B600A412A6AEB97002B665B /* StandupDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B600A402A6AEB97002B665B /* StandupDetail.swift */; }; + 4B600A432A6AF0D2002B665B /* StandupDetailTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B600A422A6AF0D2002B665B /* StandupDetailTests.swift */; }; + 4BBA95892A6AFEC100301693 /* AppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBA95882A6AFEC100301693 /* AppTests.swift */; }; + 4BBA958B2A6B129400301693 /* RecordMeeting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBA958A2A6B129400301693 /* RecordMeeting.swift */; }; + CA6D66522A68263900B2A77A /* ComposableArchitecture in Frameworks */ = {isa = PBXBuildFile; productRef = CA6D66512A68263900B2A77A /* ComposableArchitecture */; }; + CA9CB7282A411ECD003BDB3B /* StandupsApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA9CB7272A411ECD003BDB3B /* StandupsApp.swift */; }; + CA9CB72C2A411ECD003BDB3B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CA9CB72B2A411ECD003BDB3B /* Assets.xcassets */; }; + CA9CB72F2A411ECD003BDB3B /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CA9CB72E2A411ECD003BDB3B /* Preview Assets.xcassets */; }; + CA9CB7392A411ECD003BDB3B /* StandupsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA9CB7382A411ECD003BDB3B /* StandupsTests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + CA9CB7352A411ECD003BDB3B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CA9CB71C2A411ECC003BDB3B /* Project object */; + proxyType = 1; + remoteGlobalIDString = CA9CB7232A411ECD003BDB3B; + remoteInfo = Standups; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 2A2E56F92A6B25AF00F9FC64 /* SpeechClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeechClient.swift; sourceTree = ""; }; + 2A4D5DCA2A69E97E0098984B /* StandupsListTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupsListTests.swift; sourceTree = ""; }; + 2AB309182A6AF37C00FCC600 /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; + 2AED4B432A69D0280099BFE2 /* StandupForm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupForm.swift; sourceTree = ""; }; + 4B2536EA2A69CB1600C012CC /* StandupsList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupsList.swift; sourceTree = ""; }; + 4B2536EC2A69CBB500C012CC /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Models.swift; sourceTree = ""; }; + 4B2536EE2A69DB6400C012CC /* StandupFormTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupFormTests.swift; sourceTree = ""; }; + 4B600A402A6AEB97002B665B /* StandupDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupDetail.swift; sourceTree = ""; }; + 4B600A422A6AF0D2002B665B /* StandupDetailTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupDetailTests.swift; sourceTree = ""; }; + 4BBA95882A6AFEC100301693 /* AppTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppTests.swift; sourceTree = ""; }; + 4BBA958A2A6B129400301693 /* RecordMeeting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordMeeting.swift; sourceTree = ""; }; + 4BBA958C2A6B189200301693 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + CA9CB7242A411ECD003BDB3B /* Standups.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Standups.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CA9CB7272A411ECD003BDB3B /* StandupsApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupsApp.swift; sourceTree = ""; }; + CA9CB72B2A411ECD003BDB3B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + CA9CB72E2A411ECD003BDB3B /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + CA9CB7342A411ECD003BDB3B /* StandupsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StandupsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + CA9CB7382A411ECD003BDB3B /* StandupsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupsTests.swift; sourceTree = ""; }; + CA9CB7512A411EF4003BDB3B /* Standups.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Standups.xctestplan; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CA9CB7212A411ECD003BDB3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CA6D66522A68263900B2A77A /* ComposableArchitecture in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CA9CB7312A411ECD003BDB3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CA9CB71B2A411ECC003BDB3B = { + isa = PBXGroup; + children = ( + CA9CB7262A411ECD003BDB3B /* Standups */, + CA9CB7372A411ECD003BDB3B /* StandupsTests */, + CA9CB7252A411ECD003BDB3B /* Products */, + ); + sourceTree = ""; + }; + CA9CB7252A411ECD003BDB3B /* Products */ = { + isa = PBXGroup; + children = ( + CA9CB7242A411ECD003BDB3B /* Standups.app */, + CA9CB7342A411ECD003BDB3B /* StandupsTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + CA9CB7262A411ECD003BDB3B /* Standups */ = { + isa = PBXGroup; + children = ( + 4BBA958C2A6B189200301693 /* Info.plist */, + 2AB309182A6AF37C00FCC600 /* App.swift */, + 4B2536EC2A69CBB500C012CC /* Models.swift */, + 4BBA958A2A6B129400301693 /* RecordMeeting.swift */, + 2A2E56F92A6B25AF00F9FC64 /* SpeechClient.swift */, + 4B600A402A6AEB97002B665B /* StandupDetail.swift */, + 2AED4B432A69D0280099BFE2 /* StandupForm.swift */, + CA9CB7272A411ECD003BDB3B /* StandupsApp.swift */, + 4B2536EA2A69CB1600C012CC /* StandupsList.swift */, + CA9CB72B2A411ECD003BDB3B /* Assets.xcassets */, + CA9CB72D2A411ECD003BDB3B /* Preview Content */, + ); + path = Standups; + sourceTree = ""; + }; + CA9CB72D2A411ECD003BDB3B /* Preview Content */ = { + isa = PBXGroup; + children = ( + CA9CB72E2A411ECD003BDB3B /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + CA9CB7372A411ECD003BDB3B /* StandupsTests */ = { + isa = PBXGroup; + children = ( + 4BBA95882A6AFEC100301693 /* AppTests.swift */, + 4B600A422A6AF0D2002B665B /* StandupDetailTests.swift */, + 4B2536EE2A69DB6400C012CC /* StandupFormTests.swift */, + 2A4D5DCA2A69E97E0098984B /* StandupsListTests.swift */, + CA9CB7382A411ECD003BDB3B /* StandupsTests.swift */, + CA9CB7512A411EF4003BDB3B /* Standups.xctestplan */, + ); + path = StandupsTests; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CA9CB7232A411ECD003BDB3B /* Standups */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA9CB7482A411ECD003BDB3B /* Build configuration list for PBXNativeTarget "Standups" */; + buildPhases = ( + CA9CB7202A411ECD003BDB3B /* Sources */, + CA9CB7212A411ECD003BDB3B /* Frameworks */, + CA9CB7222A411ECD003BDB3B /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Standups; + packageProductDependencies = ( + CA6D66512A68263900B2A77A /* ComposableArchitecture */, + ); + productName = Standups; + productReference = CA9CB7242A411ECD003BDB3B /* Standups.app */; + productType = "com.apple.product-type.application"; + }; + CA9CB7332A411ECD003BDB3B /* StandupsTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA9CB74B2A411ECD003BDB3B /* Build configuration list for PBXNativeTarget "StandupsTests" */; + buildPhases = ( + CA9CB7302A411ECD003BDB3B /* Sources */, + CA9CB7312A411ECD003BDB3B /* Frameworks */, + CA9CB7322A411ECD003BDB3B /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + CA9CB7362A411ECD003BDB3B /* PBXTargetDependency */, + ); + name = StandupsTests; + productName = StandupsTests; + productReference = CA9CB7342A411ECD003BDB3B /* StandupsTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CA9CB71C2A411ECC003BDB3B /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1430; + LastUpgradeCheck = 1430; + TargetAttributes = { + CA9CB7232A411ECD003BDB3B = { + CreatedOnToolsVersion = 14.3.1; + }; + CA9CB7332A411ECD003BDB3B = { + CreatedOnToolsVersion = 14.3.1; + TestTargetID = CA9CB7232A411ECD003BDB3B; + }; + }; + }; + buildConfigurationList = CA9CB71F2A411ECC003BDB3B /* Build configuration list for PBXProject "Standups" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CA9CB71B2A411ECC003BDB3B; + packageReferences = ( + CA6D66502A68263900B2A77A /* XCRemoteSwiftPackageReference "swift-composable-architecture" */, + ); + productRefGroup = CA9CB7252A411ECD003BDB3B /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CA9CB7232A411ECD003BDB3B /* Standups */, + CA9CB7332A411ECD003BDB3B /* StandupsTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CA9CB7222A411ECD003BDB3B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CA9CB72F2A411ECD003BDB3B /* Preview Assets.xcassets in Resources */, + CA9CB72C2A411ECD003BDB3B /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CA9CB7322A411ECD003BDB3B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CA9CB7202A411ECD003BDB3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2AED4B442A69D0280099BFE2 /* StandupForm.swift in Sources */, + 4B600A412A6AEB97002B665B /* StandupDetail.swift in Sources */, + 4B2536EB2A69CB1600C012CC /* StandupsList.swift in Sources */, + 2AB309192A6AF37C00FCC600 /* App.swift in Sources */, + 2A2E56FA2A6B25AF00F9FC64 /* SpeechClient.swift in Sources */, + 4BBA958B2A6B129400301693 /* RecordMeeting.swift in Sources */, + CA9CB7282A411ECD003BDB3B /* StandupsApp.swift in Sources */, + 4B2536ED2A69CBB500C012CC /* Models.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CA9CB7302A411ECD003BDB3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CA9CB7392A411ECD003BDB3B /* StandupsTests.swift in Sources */, + 2A4D5DCB2A69E97E0098984B /* StandupsListTests.swift in Sources */, + 4B2536EF2A69DB6400C012CC /* StandupFormTests.swift in Sources */, + 4BBA95892A6AFEC100301693 /* AppTests.swift in Sources */, + 4B600A432A6AF0D2002B665B /* StandupDetailTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + CA9CB7362A411ECD003BDB3B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = CA9CB7232A411ECD003BDB3B /* Standups */; + targetProxy = CA9CB7352A411ECD003BDB3B /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + CA9CB7462A411ECD003BDB3B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_STRICT_CONCURRENCY = complete; + }; + name = Debug; + }; + CA9CB7472A411ECD003BDB3B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_STRICT_CONCURRENCY = complete; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CA9CB7492A411ECD003BDB3B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Standups/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = Standups/Info.plist; + INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "To record meetings"; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.Standups; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + CA9CB74A2A411ECD003BDB3B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Standups/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = Standups/Info.plist; + INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "To record meetings"; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.Standups; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + CA9CB74C2A411ECD003BDB3B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.StandupsTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Standups.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Standups"; + }; + name = Debug; + }; + CA9CB74D2A411ECD003BDB3B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.StandupsTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Standups.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Standups"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CA9CB71F2A411ECC003BDB3B /* Build configuration list for PBXProject "Standups" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA9CB7462A411ECD003BDB3B /* Debug */, + CA9CB7472A411ECD003BDB3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA9CB7482A411ECD003BDB3B /* Build configuration list for PBXNativeTarget "Standups" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA9CB7492A411ECD003BDB3B /* Debug */, + CA9CB74A2A411ECD003BDB3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA9CB74B2A411ECD003BDB3B /* Build configuration list for PBXNativeTarget "StandupsTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA9CB74C2A411ECD003BDB3B /* Debug */, + CA9CB74D2A411ECD003BDB3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + CA6D66502A68263900B2A77A /* XCRemoteSwiftPackageReference "swift-composable-architecture" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/pointfreeco/swift-composable-architecture.git"; + requirement = { + branch = 1.0.0; + kind = branch; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + CA6D66512A68263900B2A77A /* ComposableArchitecture */ = { + isa = XCSwiftPackageProductDependency; + package = CA6D66502A68263900B2A77A /* XCRemoteSwiftPackageReference "swift-composable-architecture" */; + productName = ComposableArchitecture; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = CA9CB71C2A411ECC003BDB3B /* Project object */; +} diff --git a/0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/0248-tca-tour-pt6/Standups/Standups.xcodeproj/xcshareddata/xcschemes/Standups.xcscheme b/0248-tca-tour-pt6/Standups/Standups.xcodeproj/xcshareddata/xcschemes/Standups.xcscheme new file mode 100644 index 00000000..63832754 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups.xcodeproj/xcshareddata/xcschemes/Standups.xcscheme @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/0248-tca-tour-pt6/Standups/Standups/App.swift b/0248-tca-tour-pt6/Standups/Standups/App.swift new file mode 100644 index 00000000..068f4777 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/App.swift @@ -0,0 +1,151 @@ +import ComposableArchitecture +import SwiftUI + +struct AppFeature: Reducer { + struct State: Equatable { + var path = StackState() + var standupsList = StandupsListFeature.State() + } + enum Action: Equatable { + case path(StackAction) + case standupsList(StandupsListFeature.Action) + } + @Dependency(\.date.now) var now + @Dependency(\.uuid) var uuid + + struct Path: Reducer { + enum State: Equatable { + case detail(StandupDetailFeature.State) + case recordMeeting(RecordMeetingFeature.State) + } + enum Action: Equatable { + case detail(StandupDetailFeature.Action) + case recordMeeting(RecordMeetingFeature.Action) + } + var body: some ReducerOf { + Scope(state: /State.detail, action: /Action.detail) { + StandupDetailFeature() + } + Scope(state: /State.recordMeeting, action: /Action.recordMeeting) { + RecordMeetingFeature() + } + } + } + + var body: some ReducerOf { + Scope(state: \.standupsList, action: /Action.standupsList) { + StandupsListFeature() + } + + Reduce { state, action in + switch action { + case let .path(.element(id: _, action: .detail(.delegate(action)))): + switch action { + case let .deleteStandup(id: id): + state.standupsList.standups.remove(id: id) + return .none + + case let .standupUpdated(standup): + state.standupsList.standups[id: standup.id] = standup + return .none + } + + case let .path(.element(id: id, action: .recordMeeting(.delegate(action)))): + switch action { + case .saveMeeting: + guard let detailID = state.path.ids.dropLast().last + else { + XCTFail("Record meeting is the last element in the stack. A detail feature should proceed it.") + return .none + } + state.path[id: detailID, case: /Path.State.detail]?.standup.meetings.insert( + Meeting( + id: self.uuid(), + date: self.now, + transcript: "N/A" + ), + at: 0 + ) + guard let standup = state.path[id: detailID, case: /Path.State.detail]?.standup + else { return .none } + state.standupsList.standups[id: standup.id] = standup + return .none + } + + case .path: + return .none + + case .standupsList: + return .none + } + } + .forEach(\.path, action: /Action.path) { + Path() + } + } +} + +struct AppView: View { + let store: StoreOf + + var body: some View { + NavigationStackStore( + self.store.scope(state: \.path, action: { .path($0) }) + ) { + StandupsListView( + store: self.store.scope( + state: \.standupsList, + action: { .standupsList($0) } + ) + ) + } destination: { state in + switch state { + case .detail: + CaseLet( + /AppFeature.Path.State.detail, + action: AppFeature.Path.Action.detail, + then: StandupDetailView.init(store:) + ) + case .recordMeeting: + CaseLet( + /AppFeature.Path.State.recordMeeting, + action: AppFeature.Path.Action.recordMeeting, + then: RecordMeetingView.init(store:) + ) + } + } + } +} + +#Preview { + AppView( + store: Store( + initialState: AppFeature.State( + standupsList: StandupsListFeature.State(standups: [.mock]) + ) + ) { + AppFeature() + ._printChanges() + } + ) +} + +#Preview("Quick finish meeting") { + var standup = Standup.mock + standup.duration = .seconds(6) + + return AppView( + store: Store( + initialState: AppFeature.State( + path: StackState([ + .detail(StandupDetailFeature.State(standup: standup)), + .recordMeeting(RecordMeetingFeature.State(standup: standup)) + ]), + standupsList: StandupsListFeature.State(standups: [standup]) + ) + ) { + AppFeature() + ._printChanges() + } + ) +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/AccentColor.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..eb878970 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/AppIcon.appiconset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..13613e3e --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/bubblegum.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/bubblegum.colorset/Contents.json new file mode 100644 index 00000000..849c4cbf --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/bubblegum.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.820", + "green" : "0.502", + "red" : "0.933" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.820", + "green" : "0.502", + "red" : "0.933" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/buttercup.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/buttercup.colorset/Contents.json new file mode 100644 index 00000000..92c0b5a8 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/buttercup.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.588", + "green" : "0.945", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.588", + "green" : "0.945", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/indigo.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/indigo.colorset/Contents.json new file mode 100644 index 00000000..d9daea3e --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/indigo.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.443", + "green" : "0.000", + "red" : "0.212" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.443", + "green" : "0.000", + "red" : "0.212" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/lavender.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/lavender.colorset/Contents.json new file mode 100644 index 00000000..f95edce0 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/lavender.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.808", + "red" : "0.812" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.808", + "red" : "0.812" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/magenta.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/magenta.colorset/Contents.json new file mode 100644 index 00000000..b20bdf59 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/magenta.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.467", + "green" : "0.075", + "red" : "0.647" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.467", + "green" : "0.075", + "red" : "0.647" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/navy.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/navy.colorset/Contents.json new file mode 100644 index 00000000..821f22f7 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/navy.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.255", + "green" : "0.078", + "red" : "0.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.255", + "green" : "0.078", + "red" : "0.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/orange.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/orange.colorset/Contents.json new file mode 100644 index 00000000..863c8c72 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/orange.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.259", + "green" : "0.545", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.259", + "green" : "0.545", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/oxblood.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/oxblood.colorset/Contents.json new file mode 100644 index 00000000..0821af29 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/oxblood.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.043", + "green" : "0.027", + "red" : "0.290" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.043", + "green" : "0.027", + "red" : "0.290" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/periwinkle.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/periwinkle.colorset/Contents.json new file mode 100644 index 00000000..8d29c91c --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/periwinkle.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.510", + "red" : "0.525" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.510", + "red" : "0.525" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/poppy.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/poppy.colorset/Contents.json new file mode 100644 index 00000000..d6a984fc --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/poppy.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.369", + "green" : "0.369", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.369", + "green" : "0.369", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/purple.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/purple.colorset/Contents.json new file mode 100644 index 00000000..b19089a1 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/purple.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.949", + "green" : "0.294", + "red" : "0.569" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.949", + "green" : "0.294", + "red" : "0.569" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/seafoam.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/seafoam.colorset/Contents.json new file mode 100644 index 00000000..39065d2a --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/seafoam.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.898", + "green" : "0.918", + "red" : "0.796" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.898", + "green" : "0.918", + "red" : "0.796" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/sky.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/sky.colorset/Contents.json new file mode 100644 index 00000000..91e82482 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/sky.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.573", + "red" : "0.431" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.573", + "red" : "0.431" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/tan.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/tan.colorset/Contents.json new file mode 100644 index 00000000..e42a6726 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/tan.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.494", + "green" : "0.608", + "red" : "0.761" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.494", + "green" : "0.608", + "red" : "0.761" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/teal.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/teal.colorset/Contents.json new file mode 100644 index 00000000..a43d6577 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/teal.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.620", + "green" : "0.561", + "red" : "0.133" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.620", + "green" : "0.561", + "red" : "0.133" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/yellow.colorset/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/yellow.colorset/Contents.json new file mode 100644 index 00000000..ce3b3be8 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Assets.xcassets/Themes/yellow.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.302", + "green" : "0.875", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.302", + "green" : "0.875", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Info.plist b/0248-tca-tour-pt6/Standups/Standups/Info.plist new file mode 100644 index 00000000..0c67376e --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Info.plist @@ -0,0 +1,5 @@ + + + + + diff --git a/0248-tca-tour-pt6/Standups/Standups/Models.swift b/0248-tca-tour-pt6/Standups/Standups/Models.swift new file mode 100644 index 00000000..5ebc6a59 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Models.swift @@ -0,0 +1,91 @@ +import SwiftUI + +struct Standup: Equatable, Identifiable, Codable { + let id: UUID + var attendees: [Attendee] = [] + var duration = Duration.seconds(60 * 5) + var meetings: [Meeting] = [] + var theme: Theme = .bubblegum + var title = "" + + var durationPerAttendee: Duration { + self.duration / self.attendees.count + } +} + +struct Attendee: Equatable, Identifiable, Codable { + let id: UUID + var name = "" +} + +struct Meeting: Equatable, Identifiable, Codable { + let id: UUID + let date: Date + var transcript: String +} + +enum Theme: String, CaseIterable, Equatable, Hashable, Identifiable, Codable { + case bubblegum + case buttercup + case indigo + case lavender + case magenta + case navy + case orange + case oxblood + case periwinkle + case poppy + case purple + case seafoam + case sky + case tan + case teal + case yellow + + var id: Self { self } + + var accentColor: Color { + switch self { + case .bubblegum, .buttercup, .lavender, .orange, .periwinkle, .poppy, .seafoam, .sky, .tan, + .teal, .yellow: + return .black + case .indigo, .magenta, .navy, .oxblood, .purple: + return .white + } + } + + var mainColor: Color { Color(self.rawValue) } + + var name: String { self.rawValue.capitalized } +} + +extension Standup { + static let mock = Self( + id: Standup.ID(), + attendees: [ + Attendee(id: Attendee.ID(), name: "Blob"), + Attendee(id: Attendee.ID(), name: "Blob Jr"), + Attendee(id: Attendee.ID(), name: "Blob Sr"), + Attendee(id: Attendee.ID(), name: "Blob Esq"), + Attendee(id: Attendee.ID(), name: "Blob III"), + Attendee(id: Attendee.ID(), name: "Blob I"), + ], + duration: .seconds(60), + meetings: [ + Meeting( + id: Meeting.ID(), + date: Date().addingTimeInterval(-60 * 60 * 24 * 7), + transcript: """ + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor \ + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud \ + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure \ + dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. \ + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt \ + mollit anim id est laborum. + """ + ) + ], + theme: .orange, + title: "Design" + ) +} diff --git a/0248-tca-tour-pt6/Standups/Standups/Preview Content/Preview Assets.xcassets/Contents.json b/0248-tca-tour-pt6/Standups/Standups/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/RecordMeeting.swift b/0248-tca-tour-pt6/Standups/Standups/RecordMeeting.swift new file mode 100644 index 00000000..ebe417af --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/RecordMeeting.swift @@ -0,0 +1,353 @@ +import ComposableArchitecture +import Speech +import SwiftUI + +struct RecordMeetingFeature: Reducer { + struct State: Equatable { + @PresentationState var alert: AlertState? + var secondsElapsed = 0 + var speakerIndex = 0 + let standup: Standup + var transcript = "" + + var durationRemaining: Duration { + self.standup.duration - .seconds(self.secondsElapsed) + } + } + enum Action: Equatable { + case alert(PresentationAction) + case delegate(Delegate) + case endMeetingButtonTapped + case nextButtonTapped + case onTask + case speechResult(String) + case timerTicked + enum Alert { + case confirmDiscard + case confirmSave + } + enum Delegate { + case saveMeeting + } + } + @Dependency(\.continuousClock) var clock + @Dependency(\.dismiss) var dismiss + @Dependency(\.speechClient) var speechClient + var body: some ReducerOf { + Reduce { state, action in + switch action { + case .alert(.presented(.confirmDiscard)): + return .run { send in + //await send(.delegate(.saveMeeting)) + await self.dismiss() + } + + case .alert(.presented(.confirmSave)): + return .run { send in + await send(.delegate(.saveMeeting)) + await self.dismiss() + } + + case .alert(.dismiss): + return .none + + case .delegate: + return .none + + case .endMeetingButtonTapped: + state.alert = .endMeeting(isDiscardable: true) + return .none + + case .nextButtonTapped: + guard state.speakerIndex < state.standup.attendees.count - 1 + else { + state.alert = .endMeeting(isDiscardable: false) + return .none + } + state.speakerIndex += 1 + state.secondsElapsed = + state.speakerIndex * Int(state.standup.durationPerAttendee.components.seconds) + return .none + + case .onTask: + return .run { send in + await self.onTask(send: send) + } + + case let .speechResult(transcript): + state.transcript = transcript + return .none + + case .timerTicked: + guard state.alert == nil + else { return .none } + + state.secondsElapsed += 1 + let secondsPerAttendee = Int(state.standup.durationPerAttendee.components.seconds) + if state.secondsElapsed.isMultiple(of: secondsPerAttendee) { + if state.speakerIndex == state.standup.attendees.count - 1 { + return .run { send in + await send(.delegate(.saveMeeting)) + await self.dismiss() + } + } + state.speakerIndex += 1 + } + return .none + } + } + .ifLet(\.$alert, action: /Action.alert) + } + + private func onTask(send: Send) async { + await withTaskGroup(of: Void.self) { group in + group.addTask { + let status = await self.speechClient.requestAuthorization() + + if status == .authorized { + do { + for try await transcript in self.speechClient.start() { + await send(.speechResult(transcript)) + } + } catch { + // TODO: Handle error + } + } + } + + group.addTask { + for await _ in self.clock.timer(interval: .seconds(1)) { + await send(.timerTicked) + } + } + } + } +} + +extension AlertState where Action == RecordMeetingFeature.Action.Alert { + static func endMeeting(isDiscardable: Bool) -> Self { + Self { + TextState("End meeting?") + } actions: { + ButtonState(action: .confirmSave) { + TextState("Save and end") + } + if isDiscardable { + ButtonState(role: .destructive, action: .confirmDiscard) { + TextState("Discard") + } + } + ButtonState(role: .cancel) { + TextState("Resume") + } + } message: { + TextState("You are ending the meeting early. What would you like to do?") + } + } +} + +struct RecordMeetingView: View { + let store: StoreOf + + var body: some View { + WithViewStore(self.store, observe: { $0 }) { viewStore in + ZStack { + RoundedRectangle(cornerRadius: 16) + .fill(viewStore.standup.theme.mainColor) + + VStack { + MeetingHeaderView( + secondsElapsed: viewStore.secondsElapsed, + durationRemaining: viewStore.durationRemaining, + theme: viewStore.standup.theme + ) + MeetingTimerView( + standup: viewStore.standup, + speakerIndex: viewStore.speakerIndex + ) + MeetingFooterView( + standup: viewStore.standup, + nextButtonTapped: { + viewStore.send(.nextButtonTapped) + }, + speakerIndex: viewStore.speakerIndex + ) + } + } + .padding() + .foregroundColor(viewStore.standup.theme.accentColor) + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .cancellationAction) { + Button("End meeting") { + viewStore.send(.endMeetingButtonTapped) + } + } + } + .navigationBarBackButtonHidden(true) + .task { await viewStore.send(.onTask).finish() } + .alert(store: self.store.scope(state: \.$alert, action: { .alert($0) })) + } + } +} + +struct MeetingHeaderView: View { + let secondsElapsed: Int + let durationRemaining: Duration + let theme: Theme + + var body: some View { + VStack { + ProgressView(value: self.progress) + .progressViewStyle(MeetingProgressViewStyle(theme: self.theme)) + HStack { + VStack(alignment: .leading) { + Text("Time Elapsed") + .font(.caption) + Label( + Duration.seconds(self.secondsElapsed).formatted(.units()), + systemImage: "hourglass.bottomhalf.fill" + ) + } + Spacer() + VStack(alignment: .trailing) { + Text("Time Remaining") + .font(.caption) + Label(self.durationRemaining.formatted(.units()), systemImage: "hourglass.tophalf.fill") + .font(.body.monospacedDigit()) + .labelStyle(.trailingIcon) + } + } + } + .padding([.top, .horizontal]) + } + + private var totalDuration: Duration { + .seconds(self.secondsElapsed) + self.durationRemaining + } + + private var progress: Double { + guard self.totalDuration > .seconds(0) else { return 0 } + return Double(self.secondsElapsed) / Double(self.totalDuration.components.seconds) + } +} + +struct MeetingProgressViewStyle: ProgressViewStyle { + var theme: Theme + + func makeBody(configuration: Configuration) -> some View { + ZStack { + RoundedRectangle(cornerRadius: 10) + .fill(self.theme.accentColor) + .frame(height: 20) + + ProgressView(configuration) + .tint(self.theme.mainColor) + .frame(height: 12) + .padding(.horizontal) + } + } +} + +struct MeetingTimerView: View { + let standup: Standup + let speakerIndex: Int + + var body: some View { + Circle() + .strokeBorder(lineWidth: 24) + .overlay { + VStack { + Group { + if self.speakerIndex < self.standup.attendees.count { + Text(self.standup.attendees[self.speakerIndex].name) + } else { + Text("Someone") + } + } + .font(.title) + Text("is speaking") + Image(systemName: "mic.fill") + .font(.largeTitle) + .padding(.top) + } + .foregroundStyle(self.standup.theme.accentColor) + } + .overlay { + ForEach(Array(self.standup.attendees.enumerated()), id: \.element.id) { index, attendee in + if index < self.speakerIndex + 1 { + SpeakerArc(totalSpeakers: self.standup.attendees.count, speakerIndex: index) + .rotation(Angle(degrees: -90)) + .stroke(self.standup.theme.mainColor, lineWidth: 12) + } + } + } + .padding(.horizontal) + } +} + +struct SpeakerArc: Shape { + let totalSpeakers: Int + let speakerIndex: Int + + func path(in rect: CGRect) -> Path { + let diameter = min(rect.size.width, rect.size.height) - 24 + let radius = diameter / 2 + let center = CGPoint(x: rect.midX, y: rect.midY) + return Path { path in + path.addArc( + center: center, + radius: radius, + startAngle: self.startAngle, + endAngle: self.endAngle, + clockwise: false + ) + } + } + + private var degreesPerSpeaker: Double { + 360 / Double(self.totalSpeakers) + } + private var startAngle: Angle { + Angle(degrees: self.degreesPerSpeaker * Double(self.speakerIndex) + 1) + } + private var endAngle: Angle { + Angle(degrees: self.startAngle.degrees + self.degreesPerSpeaker - 1) + } +} + +struct MeetingFooterView: View { + let standup: Standup + var nextButtonTapped: () -> Void + let speakerIndex: Int + + var body: some View { + VStack { + HStack { + if self.speakerIndex < self.standup.attendees.count - 1 { + Text("Speaker \(self.speakerIndex + 1) of \(self.standup.attendees.count)") + } else { + Text("No more speakers.") + } + Spacer() + Button(action: self.nextButtonTapped) { + Image(systemName: "forward.fill") + } + } + } + .padding([.bottom, .horizontal]) + } +} + +#Preview { + MainActor.assumeIsolated { + NavigationStack { + RecordMeetingView( + store: Store(initialState: RecordMeetingFeature.State(standup: .mock)) { + RecordMeetingFeature() + } + ) + } + } +} + diff --git a/0248-tca-tour-pt6/Standups/Standups/SpeechClient.swift b/0248-tca-tour-pt6/Standups/Standups/SpeechClient.swift new file mode 100644 index 00000000..ba9ab947 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/SpeechClient.swift @@ -0,0 +1,105 @@ +@preconcurrency import Speech + +struct SpeechClient { + var requestAuthorization: @Sendable () async -> SFSpeechRecognizerAuthorizationStatus + var start: @Sendable () -> AsyncThrowingStream +} + +import Dependencies + +extension SpeechClient: DependencyKey { + static let liveValue = Self( + requestAuthorization: { + await withUnsafeContinuation { continuation in + SFSpeechRecognizer.requestAuthorization { status in + continuation.resume(with: .success(status)) + } + } + }, + start: { + AsyncThrowingStream { continuation in + let audioSession = AVAudioSession.sharedInstance() + do { + try audioSession.setCategory(.record, mode: .measurement, options: .duckOthers) + try audioSession.setActive(true, options: .notifyOthersOnDeactivation) + } catch { + continuation.finish(throwing: error) + return + } + + let audioEngine = AVAudioEngine() + let speechRecognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))! + let request = SFSpeechAudioBufferRecognitionRequest() + let recognitionTask = speechRecognizer.recognitionTask(with: request) { result, error in + switch (result, error) { + case let (.some(result), _): + continuation.yield(result.bestTranscription.formattedString) + case (_, .some): + continuation.finish(throwing: error) + case (.none, .none): + fatalError("It should not be possible to have both a nil result and nil error.") + } + } + + continuation.onTermination = { [audioEngine, recognitionTask] _ in + _ = speechRecognizer + audioEngine.stop() + audioEngine.inputNode.removeTap(onBus: 0) + recognitionTask.finish() + } + + audioEngine.inputNode.installTap( + onBus: 0, + bufferSize: 1024, + format: audioEngine.inputNode.outputFormat(forBus: 0) + ) { buffer, when in + request.append(buffer) + } + + audioEngine.prepare() + do { + try audioEngine.start() + } catch { + continuation.finish(throwing: error) + return + } + } + } + ) + + static let previewValue = SpeechClient( + requestAuthorization: { .authorized }, + start: { + AsyncThrowingStream { continuation in + Task { @MainActor in + var finalText = """ + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor \ + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud \ + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute \ + irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla \ + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui \ + officia deserunt mollit anim id est laborum. + """ + var text = "" + while true { + let word = finalText.prefix { $0 != " " } + try await Task.sleep(for: .milliseconds(word.count * 50 + .random(in: 0...200))) + finalText.removeFirst(word.count) + if finalText.first == " " { + finalText.removeFirst() + } + text += word + " " + continuation.yield(text) + } + } + } + } + ) +} + +extension DependencyValues { + var speechClient: SpeechClient { + get { self[SpeechClient.self] } + set { self[SpeechClient.self] = newValue } + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/StandupDetail.swift b/0248-tca-tour-pt6/Standups/Standups/StandupDetail.swift new file mode 100644 index 00000000..df2faf5b --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/StandupDetail.swift @@ -0,0 +1,217 @@ +import ComposableArchitecture +import SwiftUI + +struct StandupDetailFeature: Reducer { + struct State: Equatable { + @PresentationState var destination: Destination.State? + var standup: Standup + } + enum Action: Equatable { + case cancelEditStandupButtonTapped + case delegate(Delegate) + case deleteButtonTapped + case deleteMeetings(atOffsets: IndexSet) + case destination(PresentationAction) + case editButtonTapped + case saveStandupButtonTapped + enum Delegate: Equatable { + case deleteStandup(id: Standup.ID) + case standupUpdated(Standup) + } + } + @Dependency(\.dismiss) var dismiss + + // @Environment(\.dismiss) var dismiss + + struct Destination: Reducer { + enum State: Equatable { + case alert(AlertState) + case editStandup(StandupFormFeature.State) + } + enum Action: Equatable { + case alert(Alert) + case editStandup(StandupFormFeature.Action) + enum Alert { + case confirmDeletion + } + } + var body: some ReducerOf { + Scope(state: /State.editStandup, action: /Action.editStandup) { + StandupFormFeature() + } + } + } + + var body: some ReducerOf { + Reduce { state, action in + switch action { + case .cancelEditStandupButtonTapped: + state.destination = nil + return .none + + case .delegate: + return .none + + case .deleteButtonTapped: + state.destination = .alert( + AlertState { + TextState("Are you sure you want to delete?") + } actions: { + ButtonState(role: .destructive, action: .confirmDeletion) { + TextState("Delete") + } + } + ) + return .none + + case .deleteMeetings(atOffsets: let indices): + state.standup.meetings.remove(atOffsets: indices) + return .none + + case .destination(.presented(.alert(.confirmDeletion))): + // TODO: Delete this standup + return .run { [id = state.standup.id] send in + await send(.delegate(.deleteStandup(id: id))) + await self.dismiss() + } + + case .destination: + return .none + + case .editButtonTapped: + state.destination = .editStandup(StandupFormFeature.State(standup: state.standup)) + return .none + case .saveStandupButtonTapped: + guard case let .editStandup(standupForm) = state.destination + else { return .none } + state.standup = standupForm.standup + state.destination = nil + return .none + } + } + .ifLet(\.$destination, action: /Action.destination) { + Destination() + } + .onChange(of: \.standup) { oldValue, newValue in + Reduce { state, action in + .send(.delegate(.standupUpdated(newValue))) + } + } + } +} + +struct StandupDetailView: View { + let store: StoreOf + + var body: some View { + WithViewStore(self.store, observe: { $0 }) { viewStore in + List { + Section { + NavigationLink( + state: AppFeature.Path.State.recordMeeting(RecordMeetingFeature.State(standup: viewStore.standup)) + ) { + Label("Start Meeting", systemImage: "timer") + .font(.headline) + .foregroundColor(.accentColor) + } + HStack { + Label("Length", systemImage: "clock") + Spacer() + Text(viewStore.standup.duration.formatted(.units())) + } + + HStack { + Label("Theme", systemImage: "paintpalette") + Spacer() + Text(viewStore.standup.theme.name) + .padding(4) + .foregroundColor(viewStore.standup.theme.accentColor) + .background(viewStore.standup.theme.mainColor) + .cornerRadius(4) + } + } header: { + Text("Standup Info") + } + + if !viewStore.standup.meetings.isEmpty { + Section { + ForEach(viewStore.standup.meetings) { meeting in + NavigationLink { + /*@START_MENU_TOKEN@*//*@PLACEHOLDER=Do something@*//*@END_MENU_TOKEN@*/ + } label: { + HStack { + Image(systemName: "calendar") + Text(meeting.date, style: .date) + Text(meeting.date, style: .time) + } + } + } + .onDelete { indices in + viewStore.send(.deleteMeetings(atOffsets: indices)) + } + } header: { + Text("Past meetings") + } + } + + Section { + ForEach(viewStore.standup.attendees) { attendee in + Label(attendee.name, systemImage: "person") + } + } header: { + Text("Attendees") + } + + Section { + Button("Delete") { + viewStore.send(.deleteButtonTapped) + } + .foregroundColor(.red) + .frame(maxWidth: .infinity) + } + } + .navigationTitle(viewStore.standup.title) + .toolbar { + Button("Edit") { + viewStore.send(.editButtonTapped) + } + } + .alert( + store: self.store.scope(state: \.$destination, action: { .destination($0) }), + state: /StandupDetailFeature.Destination.State.alert, + action: StandupDetailFeature.Destination.Action.alert + ) + .sheet( + store: self.store.scope(state: \.$destination, action: { .destination($0) }), + state: /StandupDetailFeature.Destination.State.editStandup, + action: StandupDetailFeature.Destination.Action.editStandup + ) { store in + NavigationStack { + StandupFormView(store: store) + .navigationTitle("Edit standup") + .toolbar { + ToolbarItem { + Button("Save") { viewStore.send(.saveStandupButtonTapped) } + } + ToolbarItem(placement: .cancellationAction) { + Button("Cancel") { viewStore.send(.cancelEditStandupButtonTapped) } + } + } + } + } + } + } +} + +#Preview { + MainActor.assumeIsolated { + NavigationStack { + StandupDetailView( + store: Store(initialState: StandupDetailFeature.State(standup: .mock)) { + StandupDetailFeature() + ._printChanges() + } + ) + } + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/StandupForm.swift b/0248-tca-tour-pt6/Standups/Standups/StandupForm.swift new file mode 100644 index 00000000..4a71505d --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/StandupForm.swift @@ -0,0 +1,136 @@ +import ComposableArchitecture +import SwiftUI + +struct StandupFormFeature: Reducer { + struct State: Equatable { + @BindingState var focus: Field? + @BindingState var standup: Standup + + enum Field: Hashable { + case attendee(Attendee.ID) + case title + } + + init(focus: Field? = .title, standup: Standup) { + self.focus = focus + self.standup = standup + if self.standup.attendees.isEmpty { + @Dependency(\.uuid) var uuid + self.standup.attendees.append(Attendee(id: uuid())) + } + } + } + enum Action: BindableAction, Equatable { + case addAttendeeButtonTapped + case binding(BindingAction) + case deleteAttendees(atOffsets: IndexSet) + } + @Dependency(\.uuid) var uuid + var body: some ReducerOf { + BindingReducer() + Reduce { state, action in + switch action { + case .addAttendeeButtonTapped: + let id = self.uuid() + state.standup.attendees.append(Attendee(id: id)) + state.focus = .attendee(id) + return .none + + case .binding(_): + return .none + + case let .deleteAttendees(atOffsets: indices): + state.standup.attendees.remove(atOffsets: indices) + if state.standup.attendees.isEmpty { + state.standup.attendees.append(Attendee(id: self.uuid())) + } + guard let firstIndex = indices.first + else { return .none } + let index = min(firstIndex, state.standup.attendees.count - 1) + state.focus = .attendee(state.standup.attendees[index].id) + return .none + } + } + } +} + +struct StandupFormView: View { + let store: StoreOf + @FocusState var focus: StandupFormFeature.State.Field? + + var body: some View { + WithViewStore(self.store, observe: { $0 }) { viewStore in + Form { + Section { + TextField("Title", text: viewStore.$standup.title) + .focused(self.$focus, equals: .title) + HStack { + Slider(value: viewStore.$standup.duration.minutes, in: 5...30, step: 1) { + Text("Length") + } + Spacer() + Text(viewStore.standup.duration.formatted(.units())) + } + ThemePicker(selection: viewStore.$standup.theme) + } header: { + Text("Standup Info") + } + Section { + ForEach(viewStore.$standup.attendees) { $attendee in + TextField("Name", text: $attendee.name) + .focused(self.$focus, equals: .attendee(attendee.id)) + } + .onDelete { indices in + viewStore.send(.deleteAttendees(atOffsets: indices)) + } + + Button("Add attendee") { + viewStore.send(.addAttendeeButtonTapped) + } + } header: { + Text("Attendees") + } + } + .bind(viewStore.$focus, to: self.$focus) + } + } +} + +extension Duration { + fileprivate var minutes: Double { + get { Double(self.components.seconds / 60) } + set { self = .seconds(newValue * 60) } + } +} + +struct ThemePicker: View { + @Binding var selection: Theme + + var body: some View { + Picker("Theme", selection: self.$selection) { + ForEach(Theme.allCases) { theme in + ZStack { + RoundedRectangle(cornerRadius: 4) + .fill(theme.mainColor) + Label(theme.name, systemImage: "paintpalette") + .padding(4) + } + .foregroundColor(theme.accentColor) + .fixedSize(horizontal: false, vertical: true) + .tag(theme) + } + } + } +} + +#Preview { + MainActor.assumeIsolated { + NavigationStack { + StandupFormView( + store: Store(initialState: StandupFormFeature.State(standup: .mock)) { + StandupFormFeature() + } + ) + } + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/StandupsApp.swift b/0248-tca-tour-pt6/Standups/Standups/StandupsApp.swift new file mode 100644 index 00000000..2f7b0d93 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/StandupsApp.swift @@ -0,0 +1,28 @@ +import ComposableArchitecture +import SwiftUI + +@main +struct StandupsApp: App { + var body: some Scene { + WindowGroup { + var standup = Standup.mock + let _ = standup.duration = .seconds(6) + + AppView( + store: Store( + initialState: AppFeature.State( + path: StackState([ +// .detail(StandupDetailFeature.State(standup: .mock)), +// .recordMeeting(RecordMeetingFeature.State(standup: standup)), +// .recordMeeting(RecordMeetingFeature.State(standup: standup)), + ]), + standupsList: StandupsListFeature.State(standups: [standup]) + ) + ) { + AppFeature() + ._printChanges() + } + ) + } + } +} diff --git a/0248-tca-tour-pt6/Standups/Standups/StandupsList.swift b/0248-tca-tour-pt6/Standups/Standups/StandupsList.swift new file mode 100644 index 00000000..ccff4968 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/Standups/StandupsList.swift @@ -0,0 +1,139 @@ +import ComposableArchitecture +import SwiftUI + +struct StandupsListFeature: Reducer { + struct State: Equatable { + @PresentationState var addStandup: StandupFormFeature.State? + var standups: IdentifiedArrayOf = [] + } + enum Action: Equatable { + case addButtonTapped + case addStandup(PresentationAction) + case cancelStandupButtonTapped + case saveStandupButtonTapped + } + @Dependency(\.uuid) var uuid + var body: some ReducerOf { + Reduce { state, action in + switch action { + case .addButtonTapped: + state.addStandup = StandupFormFeature.State(standup: Standup(id: self.uuid())) + return .none + + case .addStandup: + return .none + + case .cancelStandupButtonTapped: + state.addStandup = nil + return .none + + case .saveStandupButtonTapped: + guard let standup = state.addStandup?.standup + else { return .none } + state.standups.append(standup) + state.addStandup = nil + return .none + } + } + .ifLet(\.$addStandup, action: /Action.addStandup) { + StandupFormFeature() + } + } +} + +struct StandupsListView: View { + let store: StoreOf + + var body: some View { + WithViewStore(self.store, observe: \.standups) { viewStore in + List { + ForEach(viewStore.state) { standup in + NavigationLink( + state: AppFeature.Path.State.detail(StandupDetailFeature.State(standup: standup)) + ) { + CardView(standup: standup) + } + .listRowBackground(standup.theme.mainColor) + } + } + .navigationTitle("Daily Standups") + .toolbar { + ToolbarItem { + Button("Add") { + viewStore.send(.addButtonTapped) + } + } + } + .sheet( + store: self.store.scope( + state: \.$addStandup, + action: { .addStandup($0) } + ) + ) { store in + NavigationStack { + StandupFormView(store: store) + .navigationTitle("New standup") + .toolbar { + ToolbarItem { + Button("Save") { viewStore.send(.saveStandupButtonTapped) } + } + ToolbarItem(placement: .cancellationAction) { + Button("Cancel") { viewStore.send(.cancelStandupButtonTapped) } + } + } + } + } + } + } +} + +struct CardView: View { + let standup: Standup + + var body: some View { + VStack(alignment: .leading) { + Text(self.standup.title) + .font(.headline) + Spacer() + HStack { + Label("\(self.standup.attendees.count)", systemImage: "person.3") + Spacer() + Label(self.standup.duration.formatted(.units()), systemImage: "clock") + .labelStyle(.trailingIcon) + } + .font(.caption) + } + .padding() + .foregroundColor(self.standup.theme.accentColor) + } +} + +struct TrailingIconLabelStyle: LabelStyle { + func makeBody(configuration: Configuration) -> some View { + HStack { + configuration.title + configuration.icon + } + } +} + +extension LabelStyle where Self == TrailingIconLabelStyle { + static var trailingIcon: Self { Self() } +} + +#Preview { + MainActor.assumeIsolated { + NavigationStack { + StandupsListView( + store: Store( + initialState: StandupsListFeature.State( + standups: [.mock] + ) + ) { + StandupsListFeature() + ._printChanges() + } + ) + } + } +} diff --git a/0248-tca-tour-pt6/Standups/StandupsTests/AppTests.swift b/0248-tca-tour-pt6/Standups/StandupsTests/AppTests.swift new file mode 100644 index 00000000..050c1c3a --- /dev/null +++ b/0248-tca-tour-pt6/Standups/StandupsTests/AppTests.swift @@ -0,0 +1,213 @@ +import ComposableArchitecture +import XCTest +@testable import Standups + +@MainActor +final class AppTests: XCTestCase { + func testEdit() async { + let standup = Standup.mock + let store = TestStore( + initialState: AppFeature.State( + standupsList: StandupsListFeature.State( + standups: [standup] + ) + ) + ) { + AppFeature() + } + await store.send(.path(.push(id: 0, state: .detail(StandupDetailFeature.State(standup: standup))))) { + $0.path[id: 0] = .detail(StandupDetailFeature.State(standup: standup)) + } + await store.send(.path(.element(id: 0, action: .detail(.editButtonTapped)))) { + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.destination = .editStandup(StandupFormFeature.State(standup: standup)) + } + var editedStandup = standup + editedStandup.title = "Point-Free Morning Sync" + await store.send(.path(.element(id: 0, action: .detail(.destination(.presented(.editStandup(.set(\.$standup, editedStandup)))))))) { + $0.path[id: 0, case: /AppFeature.Path.State.detail]? + .$destination[case: /StandupDetailFeature.Destination.State.editStandup]? + .standup.title = "Point-Free Morning Sync" + } + await store.send(.path(.element(id: 0, action: .detail(.saveStandupButtonTapped)))) { + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.destination = nil + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.standup.title = "Point-Free Morning Sync" + } + await store.receive(.path(.element(id: 0, action: .detail(.delegate(.standupUpdated(editedStandup)))))) { + $0.standupsList.standups[0].title = "Point-Free Morning Sync" + } + } + + func testEdit_NonExhaustive() async { + let standup = Standup.mock + let store = TestStore( + initialState: AppFeature.State( + standupsList: StandupsListFeature.State( + standups: [standup] + ) + ) + ) { + AppFeature() + } + store.exhaustivity = .off + await store.send(.path(.push(id: 0, state: .detail(StandupDetailFeature.State(standup: standup))))) + await store.send(.path(.element(id: 0, action: .detail(.editButtonTapped)))) + var editedStandup = standup + editedStandup.title = "Point-Free Morning Sync" + await store.send(.path(.element(id: 0, action: .detail(.destination(.presented(.editStandup(.set(\.$standup, editedStandup)))))))) + await store.send(.path(.element(id: 0, action: .detail(.saveStandupButtonTapped)))) + await store.skipReceivedActions() + store.assert { + $0.standupsList.standups[0].title = "Point-Free Morning Sync" + } + } + + + func testDeletion_NonExhaustive() async { + let standup = Standup.mock + let store = TestStore( + initialState: AppFeature.State( + path: StackState([ + .detail(StandupDetailFeature.State(standup: standup)) + ]), + standupsList: StandupsListFeature.State( + standups: [standup] + ) + ) + ) { + AppFeature() + } + store.exhaustivity = .off + + await store.send(.path(.element(id: 0, action: .detail(.deleteButtonTapped)))) + await store.send(.path(.element(id: 0, action: .detail(.destination(.presented(.alert(.confirmDeletion))))))) + await store.skipReceivedActions() + store.assert { + $0.path = StackState([]) + $0.standupsList.standups = [] + } + } + + func testTimerRunOutEndMeeting() async { + let standup = Standup( + id: UUID(), + attendees: [Attendee(id: UUID())], + duration: .seconds(1), + meetings: [], + theme: .bubblegum, + title: "Point-Free" + ) + let store = TestStore( + initialState: AppFeature.State( + path: StackState([ + .detail(StandupDetailFeature.State(standup: standup)), + .recordMeeting(RecordMeetingFeature.State(standup: standup)), + ]), + standupsList: StandupsListFeature.State( + standups: [standup] + ) + ) + ) { + AppFeature() + } withDependencies: { + $0.continuousClock = ImmediateClock() + $0.date.now = Date(timeIntervalSince1970: 1234567890) + $0.speechClient.requestAuthorization = { .denied } + $0.uuid = .incrementing + } + store.exhaustivity = .off + await store.send(.path(.element(id: 1, action: .recordMeeting(.onTask)))) + await store.receive(.path(.element(id: 1, action: .recordMeeting(.delegate(.saveMeeting))))) + await store.receive(.path(.popFrom(id: 1))) + store.assert { + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.standup.meetings = [ + Meeting( + id: UUID(0), + date: Date(timeIntervalSince1970: 1234567890), + transcript: "N/A" + ) + ] + XCTAssertEqual($0.path.count, 1) + } + } + + func testEndMeetingEarlyDiscard() async { + let standup = Standup( + id: UUID(), + attendees: [Attendee(id: UUID())], + duration: .seconds(1), + meetings: [], + theme: .bubblegum, + title: "Point-Free" + ) + let store = TestStore( + initialState: AppFeature.State( + path: StackState([ + .detail(StandupDetailFeature.State(standup: standup)), + .recordMeeting(RecordMeetingFeature.State(standup: standup)), + ]), + standupsList: StandupsListFeature.State( + standups: [standup] + ) + ) + ) { + AppFeature() + } withDependencies: { + $0.continuousClock = ImmediateClock() + $0.speechClient.requestAuthorization = { .denied } + } + store.exhaustivity = .off + await store.send(.path(.element(id: 1, action: .recordMeeting(.onTask)))) + await store.send(.path(.element(id: 1, action: .recordMeeting(.endMeetingButtonTapped)))) + await store.send(.path(.element(id: 1, action: .recordMeeting(.alert(.presented(.confirmDiscard)))))) + await store.skipReceivedActions() + + store.assert { + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.standup.meetings = [] + XCTAssertEqual($0.path.count, 1) + } + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/0248-tca-tour-pt6/Standups/StandupsTests/StandupDetailTests.swift b/0248-tca-tour-pt6/Standups/StandupsTests/StandupDetailTests.swift new file mode 100644 index 00000000..b5bb464a --- /dev/null +++ b/0248-tca-tour-pt6/Standups/StandupsTests/StandupDetailTests.swift @@ -0,0 +1,22 @@ +import ComposableArchitecture +import XCTest +@testable import Standups + +@MainActor +final class StandupDetailTests: XCTestCase { + func testEdit() async throws { + var standup = Standup.mock + let store = TestStore(initialState: StandupDetailFeature.State(standup: standup)) { + StandupDetailFeature() + } + store.exhaustivity = .off + + await store.send(.editButtonTapped) + standup.title = "Point-Free Morning Sync" + await store.send(.destination(.presented(.editStandup(.set(\.$standup, standup))))) + await store.send(.saveStandupButtonTapped) { + $0.standup.title = "Point-Free Morning Sync" + } + } +} + diff --git a/0248-tca-tour-pt6/Standups/StandupsTests/StandupFormTests.swift b/0248-tca-tour-pt6/Standups/StandupsTests/StandupFormTests.swift new file mode 100644 index 00000000..5f957ef4 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/StandupsTests/StandupFormTests.swift @@ -0,0 +1,34 @@ +import ComposableArchitecture +import XCTest +@testable import Standups + +@MainActor +final class StandupFormTests: XCTestCase { + func testAddDeleteAttendee() async { + let store = TestStore( + initialState: StandupFormFeature.State( + standup: Standup( + id: UUID(), + attendees: [ + Attendee(id: UUID()) + ] + ) + ) + ) { + StandupFormFeature() + } withDependencies: { + $0.uuid = .incrementing + } + + await store.send(.addAttendeeButtonTapped) { + $0.focus = .attendee(UUID(0)) + $0.standup.attendees.append( + Attendee(id: UUID(0)) + ) + } + await store.send(.deleteAttendees(atOffsets: [1])) { + $0.focus = .attendee($0.standup.attendees[0].id) + $0.standup.attendees.remove(at: 1) + } + } +} diff --git a/0248-tca-tour-pt6/Standups/StandupsTests/Standups.xctestplan b/0248-tca-tour-pt6/Standups/StandupsTests/Standups.xctestplan new file mode 100644 index 00000000..1580b9aa --- /dev/null +++ b/0248-tca-tour-pt6/Standups/StandupsTests/Standups.xctestplan @@ -0,0 +1,29 @@ +{ + "configurations" : [ + { + "id" : "8AE6BE17-2A32-484D-BD5F-B660D0044BF9", + "name" : "Test Scheme Action", + "options" : { + + } + } + ], + "defaultOptions" : { + "codeCoverage" : false, + "targetForVariableExpansion" : { + "containerPath" : "container:Standups.xcodeproj", + "identifier" : "CA9CB7232A411ECD003BDB3B", + "name" : "Standups" + } + }, + "testTargets" : [ + { + "target" : { + "containerPath" : "container:Standups.xcodeproj", + "identifier" : "CA9CB7332A411ECD003BDB3B", + "name" : "StandupsTests" + } + } + ], + "version" : 1 +} diff --git a/0248-tca-tour-pt6/Standups/StandupsTests/StandupsListTests.swift b/0248-tca-tour-pt6/Standups/StandupsTests/StandupsListTests.swift new file mode 100644 index 00000000..f07b87c3 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/StandupsTests/StandupsListTests.swift @@ -0,0 +1,60 @@ +import ComposableArchitecture +import XCTest +@testable import Standups + +@MainActor +final class StandupsListTests: XCTestCase { + func testAddStandup() async { + let store = TestStore(initialState: StandupsListFeature.State()) { + StandupsListFeature() + } withDependencies: { + $0.uuid = .incrementing + } + + var standup = Standup( + id: UUID(0), + attendees: [Attendee(id: UUID(1))] + ) + await store.send(.addButtonTapped) { + $0.addStandup = StandupFormFeature.State( + standup: standup + ) + } + standup.title = "Point-Free Morning Sync" + await store.send(.addStandup(.presented(.set(\.$standup, standup)))) { + $0.addStandup?.standup.title = "Point-Free Morning Sync" + } + await store.send(.saveStandupButtonTapped) { + $0.addStandup = nil + $0.standups[0] = Standup( + id: UUID(0), + attendees: [Attendee(id: UUID(1))], + title: "Point-Free Morning Sync" + ) + } + } + + func testAddStandup_NonExhaustive() async { + let store = TestStore(initialState: StandupsListFeature.State()) { + StandupsListFeature() + } withDependencies: { + $0.uuid = .incrementing + } + store.exhaustivity = .off(showSkippedAssertions: true) + + var standup = Standup( + id: UUID(0), + attendees: [Attendee(id: UUID(1))] + ) + await store.send(.addButtonTapped) + standup.title = "Point-Free Morning Sync" + await store.send(.addStandup(.presented(.set(\.$standup, standup)))) + await store.send(.saveStandupButtonTapped) { + $0.standups[0] = Standup( + id: UUID(0), + attendees: [Attendee(id: UUID(1))], + title: "Point-Free Morning Sync" + ) + } + } +} diff --git a/0248-tca-tour-pt6/Standups/StandupsTests/StandupsTests.swift b/0248-tca-tour-pt6/Standups/StandupsTests/StandupsTests.swift new file mode 100644 index 00000000..2e7f9792 --- /dev/null +++ b/0248-tca-tour-pt6/Standups/StandupsTests/StandupsTests.swift @@ -0,0 +1,36 @@ +// +// StandupsTests.swift +// StandupsTests +// +// Created by Brandon Williams on 6/19/23. +// + +import XCTest +@testable import Standups + +final class StandupsTests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + // Any test you write for XCTest can be annotated as throws and async. + // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. + // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. + } + + func testPerformanceExample() throws { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/0249-tca-tour-pt7/README.md b/0249-tca-tour-pt7/README.md new file mode 100644 index 00000000..0d16b415 --- /dev/null +++ b/0249-tca-tour-pt7/README.md @@ -0,0 +1,5 @@ +## [Point-Free](https://www.pointfree.co) + +> #### This directory contains code from Point-Free Episode: [Tour of the Composable Architecture 1.0: Persistence](https://www.pointfree.co/episodes/ep249-tour-of-the-composable-architecture-1-0-persistence) +> +> We conclude the series by adding the final bit of functionality to our application: persistence. We’ll see how adding a dependency on persistence can wreak havoc on previews and tests, and all the benefits of controlling it. diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Configuration/SampleCode.xcconfig b/0249-tca-tour-pt7/Scrumdinger-Complete/Configuration/SampleCode.xcconfig new file mode 100644 index 00000000..db86c069 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Configuration/SampleCode.xcconfig @@ -0,0 +1,13 @@ +// +// See LICENSE folder for this sample’s licensing information. +// +// SampleCode.xcconfig +// + +// The `SAMPLE_CODE_DISAMBIGUATOR` configuration is to make it easier to build +// and run a sample code project. Once you set your project's development team, +// you'll have a unique bundle identifier. This is because the bundle identifier +// is derived based on the 'SAMPLE_CODE_DISAMBIGUATOR' value. Do not use this +// approach in your own projects—it's only useful for sample code projects because +// they are frequently downloaded and don't have a development team set. +SAMPLE_CODE_DISAMBIGUATOR=${DEVELOPMENT_TEAM} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/LICENSE/LICENSE.txt b/0249-tca-tour-pt7/Scrumdinger-Complete/LICENSE/LICENSE.txt new file mode 100644 index 00000000..9e79b9ef --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/LICENSE/LICENSE.txt @@ -0,0 +1,7 @@ +Copyright © 2022 Apple Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/README.md b/0249-tca-tour-pt7/Scrumdinger-Complete/README.md new file mode 100644 index 00000000..03bf0dd1 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/README.md @@ -0,0 +1,5 @@ +# Transcribing Speech to Text + +## Completed Project + +Explore the completed project for [Transcribing Speech to Text](https://developer.apple.com/tutorials/app-dev-training/transcribing-speech-to-text). \ No newline at end of file diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/.xcodesamplecode.plist b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/.xcodesamplecode.plist new file mode 100644 index 00000000..4c2052dd --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/.xcodesamplecode.plist @@ -0,0 +1,7 @@ + + + + + + + diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.pbxproj b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.pbxproj new file mode 100644 index 00000000..34da1ddf --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.pbxproj @@ -0,0 +1,618 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 2AD85DB12A7C3E5100DEA8D2 /* ScrumdingerUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD85DB02A7C3E5100DEA8D2 /* ScrumdingerUITests.swift */; }; + 2AD85DB32A7C3E5100DEA8D2 /* ScrumdingerUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AD85DB22A7C3E5100DEA8D2 /* ScrumdingerUITestsLaunchTests.swift */; }; + A93E3F39294A6F3400B9708D /* ScrumProgressViewStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F38294A6F3400B9708D /* ScrumProgressViewStyle.swift */; }; + A93E3F3B294A6F4200B9708D /* ScrumTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F3A294A6F4200B9708D /* ScrumTimer.swift */; }; + A93E3F3D294A716700B9708D /* MeetingHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F3C294A715B00B9708D /* MeetingHeaderView.swift */; }; + A93E3F3F294A748B00B9708D /* MeetingFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F3E294A748B00B9708D /* MeetingFooterView.swift */; }; + A93E3F41294A912B00B9708D /* History.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F40294A912B00B9708D /* History.swift */; }; + A93E3F43294D18F700B9708D /* ErrorWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F42294D18F700B9708D /* ErrorWrapper.swift */; }; + A93E3F45294D196600B9708D /* ErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F44294D196600B9708D /* ErrorView.swift */; }; + A93E3F47294D1E5600B9708D /* MeetingTimerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F46294D1E5600B9708D /* MeetingTimerView.swift */; }; + A93E3F49294D1F8500B9708D /* SpeakerArc.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F48294D1F8500B9708D /* SpeakerArc.swift */; }; + A93E3F4B294D224A00B9708D /* SpeechRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F4A294D224A00B9708D /* SpeechRecognizer.swift */; }; + A93E3F4D294D28C400B9708D /* HistoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93E3F4C294D28C400B9708D /* HistoryView.swift */; }; + A9789BAE2947DE5100305A2F /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9789BAD2947DE5100305A2F /* Theme.swift */; }; + A9789BB02947DF6300305A2F /* DailyScrum.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9789BAF2947DF6300305A2F /* DailyScrum.swift */; }; + A9789BB22947E08F00305A2F /* CardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9789BB12947E08F00305A2F /* CardView.swift */; }; + A9789BB52947E51500305A2F /* TrailingIconLabelStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9789BB42947E51500305A2F /* TrailingIconLabelStyle.swift */; }; + AA313BB629B69F0A00F4309A /* ding.wav in Resources */ = {isa = PBXBuildFile; fileRef = AA313BB529B69F0A00F4309A /* ding.wav */; }; + AA7F3039294A878E005E1E9F /* AVPlayer+Ding.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA7F3038294A878E005E1E9F /* AVPlayer+Ding.swift */; }; + AAA368B729957D1A00FE35E9 /* NewScrumSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAA368B629957D1A00FE35E9 /* NewScrumSheet.swift */; }; + AAAE8020294793AB0099DABC /* ScrumdingerApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAAE801F294793AB0099DABC /* ScrumdingerApp.swift */; }; + AAAE8022294793AB0099DABC /* MeetingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAAE8021294793AB0099DABC /* MeetingView.swift */; }; + AAAE8024294793AB0099DABC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AAAE8023294793AB0099DABC /* Assets.xcassets */; }; + AAAE8027294793AB0099DABC /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AAAE8026294793AB0099DABC /* Preview Assets.xcassets */; }; + AAAE8031294795050099DABC /* SampleCode.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = AAAE8030294795050099DABC /* SampleCode.xcconfig */; }; + C768FBAF294B7F8300798D32 /* ScrumStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = C768FBAE294B7F8300798D32 /* ScrumStore.swift */; }; + C76970A02948F3A4002748F5 /* ScrumsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C769709F2948F3A4002748F5 /* ScrumsView.swift */; }; + C76970A22948F9CA002748F5 /* DetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C76970A12948F9CA002748F5 /* DetailView.swift */; }; + C76970A629491AB2002748F5 /* DetailEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C76970A529491AB2002748F5 /* DetailEditView.swift */; }; + C76970A829493341002748F5 /* ThemeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C76970A729493341002748F5 /* ThemeView.swift */; }; + C76970AA29493621002748F5 /* ThemePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = C76970A929493621002748F5 /* ThemePicker.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 2AD85DB42A7C3E5100DEA8D2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = AAAE8014294793AB0099DABC /* Project object */; + proxyType = 1; + remoteGlobalIDString = AAAE801B294793AB0099DABC; + remoteInfo = Scrumdinger; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 2AD85DAE2A7C3E5100DEA8D2 /* ScrumdingerUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ScrumdingerUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 2AD85DB02A7C3E5100DEA8D2 /* ScrumdingerUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrumdingerUITests.swift; sourceTree = ""; }; + 2AD85DB22A7C3E5100DEA8D2 /* ScrumdingerUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrumdingerUITestsLaunchTests.swift; sourceTree = ""; }; + A93E3F38294A6F3400B9708D /* ScrumProgressViewStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScrumProgressViewStyle.swift; sourceTree = ""; }; + A93E3F3A294A6F4200B9708D /* ScrumTimer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ScrumTimer.swift; path = Scrumdinger/Models/ScrumTimer.swift; sourceTree = SOURCE_ROOT; }; + A93E3F3C294A715B00B9708D /* MeetingHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeetingHeaderView.swift; sourceTree = ""; }; + A93E3F3E294A748B00B9708D /* MeetingFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeetingFooterView.swift; sourceTree = ""; }; + A93E3F40294A912B00B9708D /* History.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = History.swift; sourceTree = ""; }; + A93E3F42294D18F700B9708D /* ErrorWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorWrapper.swift; sourceTree = ""; }; + A93E3F44294D196600B9708D /* ErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorView.swift; sourceTree = ""; }; + A93E3F46294D1E5600B9708D /* MeetingTimerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeetingTimerView.swift; sourceTree = ""; }; + A93E3F48294D1F8500B9708D /* SpeakerArc.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeakerArc.swift; sourceTree = ""; }; + A93E3F4A294D224A00B9708D /* SpeechRecognizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeechRecognizer.swift; sourceTree = ""; }; + A93E3F4C294D28C400B9708D /* HistoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryView.swift; sourceTree = ""; }; + A9789BAD2947DE5100305A2F /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = ""; }; + A9789BAF2947DF6300305A2F /* DailyScrum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DailyScrum.swift; sourceTree = ""; }; + A9789BB12947E08F00305A2F /* CardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardView.swift; sourceTree = ""; }; + A9789BB42947E51500305A2F /* TrailingIconLabelStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrailingIconLabelStyle.swift; sourceTree = ""; }; + AA313BB529B69F0A00F4309A /* ding.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = ding.wav; sourceTree = ""; }; + AA7F3038294A878E005E1E9F /* AVPlayer+Ding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AVPlayer+Ding.swift"; sourceTree = ""; }; + AAA368B629957D1A00FE35E9 /* NewScrumSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewScrumSheet.swift; sourceTree = ""; }; + AAAE801C294793AB0099DABC /* Scrumdinger.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Scrumdinger.app; sourceTree = BUILT_PRODUCTS_DIR; }; + AAAE801F294793AB0099DABC /* ScrumdingerApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrumdingerApp.swift; sourceTree = ""; }; + AAAE8021294793AB0099DABC /* MeetingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeetingView.swift; sourceTree = ""; }; + AAAE8023294793AB0099DABC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + AAAE8026294793AB0099DABC /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + AAAE802D2947945C0099DABC /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + AAAE802E2947949E0099DABC /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = folder; path = LICENSE; sourceTree = ""; }; + AAAE8030294795050099DABC /* SampleCode.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = SampleCode.xcconfig; sourceTree = ""; }; + C768FBAE294B7F8300798D32 /* ScrumStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrumStore.swift; sourceTree = ""; }; + C769709F2948F3A4002748F5 /* ScrumsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrumsView.swift; sourceTree = ""; }; + C76970A12948F9CA002748F5 /* DetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailView.swift; sourceTree = ""; }; + C76970A529491AB2002748F5 /* DetailEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailEditView.swift; sourceTree = ""; }; + C76970A729493341002748F5 /* ThemeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeView.swift; sourceTree = ""; }; + C76970A929493621002748F5 /* ThemePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemePicker.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 2AD85DAB2A7C3E5100DEA8D2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AAAE8019294793AB0099DABC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 2AD85DAF2A7C3E5100DEA8D2 /* ScrumdingerUITests */ = { + isa = PBXGroup; + children = ( + 2AD85DB02A7C3E5100DEA8D2 /* ScrumdingerUITests.swift */, + 2AD85DB22A7C3E5100DEA8D2 /* ScrumdingerUITestsLaunchTests.swift */, + ); + path = ScrumdingerUITests; + sourceTree = ""; + }; + A9789BAC2947DE3900305A2F /* Models */ = { + isa = PBXGroup; + children = ( + AA7F3038294A878E005E1E9F /* AVPlayer+Ding.swift */, + A9789BAF2947DF6300305A2F /* DailyScrum.swift */, + A93E3F42294D18F700B9708D /* ErrorWrapper.swift */, + A93E3F40294A912B00B9708D /* History.swift */, + C768FBAE294B7F8300798D32 /* ScrumStore.swift */, + A93E3F3A294A6F4200B9708D /* ScrumTimer.swift */, + A93E3F4A294D224A00B9708D /* SpeechRecognizer.swift */, + A9789BAD2947DE5100305A2F /* Theme.swift */, + ); + path = Models; + sourceTree = ""; + }; + A9789BB32947E4F500305A2F /* Views */ = { + isa = PBXGroup; + children = ( + A9789BB12947E08F00305A2F /* CardView.swift */, + C76970A529491AB2002748F5 /* DetailEditView.swift */, + C76970A12948F9CA002748F5 /* DetailView.swift */, + A93E3F44294D196600B9708D /* ErrorView.swift */, + A93E3F4C294D28C400B9708D /* HistoryView.swift */, + A93E3F3E294A748B00B9708D /* MeetingFooterView.swift */, + A93E3F3C294A715B00B9708D /* MeetingHeaderView.swift */, + A93E3F46294D1E5600B9708D /* MeetingTimerView.swift */, + AAAE8021294793AB0099DABC /* MeetingView.swift */, + AAA368B629957D1A00FE35E9 /* NewScrumSheet.swift */, + A93E3F38294A6F3400B9708D /* ScrumProgressViewStyle.swift */, + C769709F2948F3A4002748F5 /* ScrumsView.swift */, + A93E3F48294D1F8500B9708D /* SpeakerArc.swift */, + A9789BB42947E51500305A2F /* TrailingIconLabelStyle.swift */, + C76970A929493621002748F5 /* ThemePicker.swift */, + C76970A729493341002748F5 /* ThemeView.swift */, + ); + path = Views; + sourceTree = ""; + }; + AA313BB429B69EDC00F4309A /* Resources */ = { + isa = PBXGroup; + children = ( + AA313BB529B69F0A00F4309A /* ding.wav */, + ); + path = Resources; + sourceTree = ""; + }; + AAAE8013294793AB0099DABC = { + isa = PBXGroup; + children = ( + AAAE802D2947945C0099DABC /* README.md */, + AAAE801E294793AB0099DABC /* Scrumdinger */, + AAAE802F294794D40099DABC /* Configuration */, + AAAE802E2947949E0099DABC /* LICENSE */, + 2AD85DAF2A7C3E5100DEA8D2 /* ScrumdingerUITests */, + AAAE801D294793AB0099DABC /* Products */, + ); + sourceTree = ""; + }; + AAAE801D294793AB0099DABC /* Products */ = { + isa = PBXGroup; + children = ( + AAAE801C294793AB0099DABC /* Scrumdinger.app */, + 2AD85DAE2A7C3E5100DEA8D2 /* ScrumdingerUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + AAAE801E294793AB0099DABC /* Scrumdinger */ = { + isa = PBXGroup; + children = ( + A9789BAC2947DE3900305A2F /* Models */, + A9789BB32947E4F500305A2F /* Views */, + AAAE801F294793AB0099DABC /* ScrumdingerApp.swift */, + AAAE8023294793AB0099DABC /* Assets.xcassets */, + AA313BB429B69EDC00F4309A /* Resources */, + AAAE8025294793AB0099DABC /* Preview Content */, + ); + path = Scrumdinger; + sourceTree = ""; + }; + AAAE8025294793AB0099DABC /* Preview Content */ = { + isa = PBXGroup; + children = ( + AAAE8026294793AB0099DABC /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + AAAE802F294794D40099DABC /* Configuration */ = { + isa = PBXGroup; + children = ( + AAAE8030294795050099DABC /* SampleCode.xcconfig */, + ); + path = Configuration; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 2AD85DAD2A7C3E5100DEA8D2 /* ScrumdingerUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2AD85DB82A7C3E5100DEA8D2 /* Build configuration list for PBXNativeTarget "ScrumdingerUITests" */; + buildPhases = ( + 2AD85DAA2A7C3E5100DEA8D2 /* Sources */, + 2AD85DAB2A7C3E5100DEA8D2 /* Frameworks */, + 2AD85DAC2A7C3E5100DEA8D2 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 2AD85DB52A7C3E5100DEA8D2 /* PBXTargetDependency */, + ); + name = ScrumdingerUITests; + productName = ScrumdingerUITests; + productReference = 2AD85DAE2A7C3E5100DEA8D2 /* ScrumdingerUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; + AAAE801B294793AB0099DABC /* Scrumdinger */ = { + isa = PBXNativeTarget; + buildConfigurationList = AAAE802A294793AB0099DABC /* Build configuration list for PBXNativeTarget "Scrumdinger" */; + buildPhases = ( + AAAE8018294793AB0099DABC /* Sources */, + AAAE8019294793AB0099DABC /* Frameworks */, + AAAE801A294793AB0099DABC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Scrumdinger; + productName = Scrumdinger; + productReference = AAAE801C294793AB0099DABC /* Scrumdinger.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + AAAE8014294793AB0099DABC /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1410; + TargetAttributes = { + 2AD85DAD2A7C3E5100DEA8D2 = { + CreatedOnToolsVersion = 15.0; + TestTargetID = AAAE801B294793AB0099DABC; + }; + AAAE801B294793AB0099DABC = { + CreatedOnToolsVersion = 14.1; + }; + }; + }; + buildConfigurationList = AAAE8017294793AB0099DABC /* Build configuration list for PBXProject "Scrumdinger" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = AAAE8013294793AB0099DABC; + productRefGroup = AAAE801D294793AB0099DABC /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + AAAE801B294793AB0099DABC /* Scrumdinger */, + 2AD85DAD2A7C3E5100DEA8D2 /* ScrumdingerUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 2AD85DAC2A7C3E5100DEA8D2 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AAAE801A294793AB0099DABC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AAAE8027294793AB0099DABC /* Preview Assets.xcassets in Resources */, + AAAE8031294795050099DABC /* SampleCode.xcconfig in Resources */, + AA313BB629B69F0A00F4309A /* ding.wav in Resources */, + AAAE8024294793AB0099DABC /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 2AD85DAA2A7C3E5100DEA8D2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2AD85DB32A7C3E5100DEA8D2 /* ScrumdingerUITestsLaunchTests.swift in Sources */, + 2AD85DB12A7C3E5100DEA8D2 /* ScrumdingerUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AAAE8018294793AB0099DABC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A93E3F41294A912B00B9708D /* History.swift in Sources */, + A93E3F4D294D28C400B9708D /* HistoryView.swift in Sources */, + C76970AA29493621002748F5 /* ThemePicker.swift in Sources */, + A9789BB02947DF6300305A2F /* DailyScrum.swift in Sources */, + A93E3F3F294A748B00B9708D /* MeetingFooterView.swift in Sources */, + C768FBAF294B7F8300798D32 /* ScrumStore.swift in Sources */, + A93E3F39294A6F3400B9708D /* ScrumProgressViewStyle.swift in Sources */, + C76970A22948F9CA002748F5 /* DetailView.swift in Sources */, + C76970A629491AB2002748F5 /* DetailEditView.swift in Sources */, + A9789BB52947E51500305A2F /* TrailingIconLabelStyle.swift in Sources */, + A93E3F47294D1E5600B9708D /* MeetingTimerView.swift in Sources */, + A9789BAE2947DE5100305A2F /* Theme.swift in Sources */, + A93E3F43294D18F700B9708D /* ErrorWrapper.swift in Sources */, + A93E3F3D294A716700B9708D /* MeetingHeaderView.swift in Sources */, + C76970A02948F3A4002748F5 /* ScrumsView.swift in Sources */, + AAAE8022294793AB0099DABC /* MeetingView.swift in Sources */, + AA7F3039294A878E005E1E9F /* AVPlayer+Ding.swift in Sources */, + A93E3F4B294D224A00B9708D /* SpeechRecognizer.swift in Sources */, + A93E3F45294D196600B9708D /* ErrorView.swift in Sources */, + AAAE8020294793AB0099DABC /* ScrumdingerApp.swift in Sources */, + C76970A829493341002748F5 /* ThemeView.swift in Sources */, + AAA368B729957D1A00FE35E9 /* NewScrumSheet.swift in Sources */, + A9789BB22947E08F00305A2F /* CardView.swift in Sources */, + A93E3F49294D1F8500B9708D /* SpeakerArc.swift in Sources */, + A93E3F3B294A6F4200B9708D /* ScrumTimer.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 2AD85DB52A7C3E5100DEA8D2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AAAE801B294793AB0099DABC /* Scrumdinger */; + targetProxy = 2AD85DB42A7C3E5100DEA8D2 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 2AD85DB62A7C3E5100DEA8D2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.ScrumdingerUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = Scrumdinger; + }; + name = Debug; + }; + 2AD85DB72A7C3E5100DEA8D2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.ScrumdingerUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = Scrumdinger; + }; + name = Release; + }; + AAAE8028294793AB0099DABC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AAAE8030294795050099DABC /* SampleCode.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + AAAE8029294793AB0099DABC /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AAAE8030294795050099DABC /* SampleCode.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + AAAE802B294793AB0099DABC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AAAE8030294795050099DABC /* SampleCode.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Scrumdinger/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "Audio is recorded to transcribe the meeting. Audio recordings are discarded after transcription."; + INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "You can view a text transcription of your meeting in the app."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.example.apple-samplecode.Scrumdinger"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + AAAE802C294793AB0099DABC /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AAAE8030294795050099DABC /* SampleCode.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Scrumdinger/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "Audio is recorded to transcribe the meeting. Audio recordings are discarded after transcription."; + INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "You can view a text transcription of your meeting in the app."; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.example.apple-samplecode.Scrumdinger"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 2AD85DB82A7C3E5100DEA8D2 /* Build configuration list for PBXNativeTarget "ScrumdingerUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2AD85DB62A7C3E5100DEA8D2 /* Debug */, + 2AD85DB72A7C3E5100DEA8D2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AAAE8017294793AB0099DABC /* Build configuration list for PBXProject "Scrumdinger" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AAAE8028294793AB0099DABC /* Debug */, + AAAE8029294793AB0099DABC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AAAE802A294793AB0099DABC /* Build configuration list for PBXNativeTarget "Scrumdinger" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AAAE802B294793AB0099DABC /* Debug */, + AAAE802C294793AB0099DABC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = AAAE8014294793AB0099DABC /* Project object */; +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/xcshareddata/xcschemes/Scrumdinger.xcscheme b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/xcshareddata/xcschemes/Scrumdinger.xcscheme new file mode 100644 index 00000000..f43fcddc --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger.xcodeproj/xcshareddata/xcschemes/Scrumdinger.xcscheme @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AccentColor.colorset/Contents.json b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..eb878970 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon1024@1x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..46ca82d60175b657b84a44a65931e93f3efd268d GIT binary patch literal 47968 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 W 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

iTI3E0+?6lU1OU3R6qa( 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 Lnd;uuIUn^O^X39q literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon76@2x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon76@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3391e7a0c8d4418fd2986406ae2d141f93cb1942 GIT binary patch literal 7549 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 literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon83.5@2x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5cbcab7ffe252c5b5dd04f736ed2fde3d082476c GIT binary patch literal 8453 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 z URL { + try FileManager.default.url(for: .documentDirectory, + in: .userDomainMask, + appropriateFor: nil, + create: false) + .appendingPathComponent("scrums.data") + } + + func load() async throws { + let task = Task<[DailyScrum], Error> { + let fileURL = try Self.fileURL() + guard let data = try? Data(contentsOf: fileURL) else { + return [] + } + let dailyScrums = try JSONDecoder().decode([DailyScrum].self, from: data) + return dailyScrums + } + let scrums = try await task.value + self.scrums = scrums + } + + func save(scrums: [DailyScrum]) async throws { + let task = Task { + let data = try JSONEncoder().encode(scrums) + let outfile = try Self.fileURL() + try data.write(to: outfile) + } + _ = try await task.value + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/ScrumTimer.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/ScrumTimer.swift new file mode 100644 index 00000000..c78cb0bd --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/ScrumTimer.swift @@ -0,0 +1,145 @@ +/* +See LICENSE folder for this sample’s licensing information. +*/ + +import Foundation + +/// Keeps time for a daily scrum meeting. Keep track of the total meeting time, the time for each speaker, and the name of the current speaker. + +@MainActor +final class ScrumTimer: ObservableObject { + /// A struct to keep track of meeting attendees during a meeting. + struct Speaker: Identifiable { + /// The attendee name. + let name: String + /// True if the attendee has completed their turn to speak. + var isCompleted: Bool + /// Id for Identifiable conformance. + let id = UUID() + } + + /// The name of the meeting attendee who is speaking. + @Published var activeSpeaker = "" + /// The number of seconds since the beginning of the meeting. + @Published var secondsElapsed = 0 + /// The number of seconds until all attendees have had a turn to speak. + @Published var secondsRemaining = 0 + /// All meeting attendees, listed in the order they will speak. + private(set) var speakers: [Speaker] = [] + + /// The scrum meeting length. + private(set) var lengthInMinutes: Int + /// A closure that is executed when a new attendee begins speaking. + var speakerChangedAction: (() -> Void)? + + private weak var timer: Timer? + private var timerStopped = false + private var frequency: TimeInterval { 1.0 / 60.0 } + private var lengthInSeconds: Int { lengthInMinutes * 60 } + private var secondsPerSpeaker: Int { + (lengthInMinutes * 60) / speakers.count + } + private var secondsElapsedForSpeaker: Int = 0 + private var speakerIndex: Int = 0 + private var speakerText: String { + return "Speaker \(speakerIndex + 1): " + speakers[speakerIndex].name + } + private var startDate: Date? + + /** + Initialize a new timer. Initializing a time with no arguments creates a ScrumTimer with no attendees and zero length. + Use `startScrum()` to start the timer. + + - Parameters: + - lengthInMinutes: The meeting length. + - attendees: A list of attendees for the meeting. + */ + init(lengthInMinutes: Int = 0, attendees: [DailyScrum.Attendee] = []) { + self.lengthInMinutes = lengthInMinutes + self.speakers = attendees.speakers + secondsRemaining = lengthInSeconds + activeSpeaker = speakerText + } + + /// Start the timer. + func startScrum() { + timer = Timer.scheduledTimer(withTimeInterval: frequency, repeats: true) { [weak self] timer in + self?.update() + } + timer?.tolerance = 0.1 + changeToSpeaker(at: 0) + } + + /// Stop the timer. + func stopScrum() { + timer?.invalidate() + timerStopped = true + } + + /// Advance the timer to the next speaker. + nonisolated func skipSpeaker() { + Task { @MainActor in + changeToSpeaker(at: speakerIndex + 1) + } + } + + private func changeToSpeaker(at index: Int) { + if index > 0 { + let previousSpeakerIndex = index - 1 + speakers[previousSpeakerIndex].isCompleted = true + } + secondsElapsedForSpeaker = 0 + guard index < speakers.count else { return } + speakerIndex = index + activeSpeaker = speakerText + + secondsElapsed = index * secondsPerSpeaker + secondsRemaining = lengthInSeconds - secondsElapsed + startDate = Date() + } + + nonisolated private func update() { + + Task { @MainActor in + guard let startDate, + !timerStopped else { return } + let secondsElapsed = Int(Date().timeIntervalSince1970 - startDate.timeIntervalSince1970) + secondsElapsedForSpeaker = secondsElapsed + self.secondsElapsed = secondsPerSpeaker * speakerIndex + secondsElapsedForSpeaker + guard secondsElapsed <= secondsPerSpeaker else { + return + } + secondsRemaining = max(lengthInSeconds - self.secondsElapsed, 0) + + if secondsElapsedForSpeaker >= secondsPerSpeaker { + changeToSpeaker(at: speakerIndex + 1) + speakerChangedAction?() + } + } + } + + /** + Reset the timer with a new meeting length and new attendees. + + - Parameters: + - lengthInMinutes: The meeting length. + - attendees: The name of each attendee. + */ + func reset(lengthInMinutes: Int, attendees: [DailyScrum.Attendee]) { + self.lengthInMinutes = lengthInMinutes + self.speakers = attendees.speakers + secondsRemaining = lengthInSeconds + activeSpeaker = speakerText + } +} + + +extension Array { + var speakers: [ScrumTimer.Speaker] { + if isEmpty { + return [ScrumTimer.Speaker(name: "Speaker 1", isCompleted: false)] + } else { + return map { ScrumTimer.Speaker(name: $0.name, isCompleted: false) } + } + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/SpeechRecognizer.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/SpeechRecognizer.swift new file mode 100644 index 00000000..6e1da515 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/SpeechRecognizer.swift @@ -0,0 +1,184 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import Foundation +import AVFoundation +import Speech +import SwiftUI + +/// A helper for transcribing speech to text using SFSpeechRecognizer and AVAudioEngine. +actor SpeechRecognizer: ObservableObject { + enum RecognizerError: Error { + case nilRecognizer + case notAuthorizedToRecognize + case notPermittedToRecord + case recognizerIsUnavailable + + var message: String { + switch self { + case .nilRecognizer: return "Can't initialize speech recognizer" + case .notAuthorizedToRecognize: return "Not authorized to recognize speech" + case .notPermittedToRecord: return "Not permitted to record audio" + case .recognizerIsUnavailable: return "Recognizer is unavailable" + } + } + } + + @MainActor var transcript: String = "" + + private var audioEngine: AVAudioEngine? + private var request: SFSpeechAudioBufferRecognitionRequest? + private var task: SFSpeechRecognitionTask? + private let recognizer: SFSpeechRecognizer? + + /** + Initializes a new speech recognizer. If this is the first time you've used the class, it + requests access to the speech recognizer and the microphone. + */ + init() { + recognizer = SFSpeechRecognizer() + guard recognizer != nil else { + transcribe(RecognizerError.nilRecognizer) + return + } + + Task { + do { + guard await SFSpeechRecognizer.hasAuthorizationToRecognize() else { + throw RecognizerError.notAuthorizedToRecognize + } + guard await AVAudioSession.sharedInstance().hasPermissionToRecord() else { + throw RecognizerError.notPermittedToRecord + } + } catch { + transcribe(error) + } + } + } + + @MainActor func startTranscribing() { + Task { + await transcribe() + } + } + + @MainActor func resetTranscript() { + Task { + await reset() + } + } + + @MainActor func stopTranscribing() { + Task { + await reset() + } + } + + /** + Begin transcribing audio. + + Creates a `SFSpeechRecognitionTask` that transcribes speech to text until you call `stopTranscribing()`. + The resulting transcription is continuously written to the published `transcript` property. + */ + private func transcribe() { + guard let recognizer, recognizer.isAvailable else { + self.transcribe(RecognizerError.recognizerIsUnavailable) + return + } + + do { + let (audioEngine, request) = try Self.prepareEngine() + self.audioEngine = audioEngine + self.request = request + self.task = recognizer.recognitionTask(with: request, resultHandler: { [weak self] result, error in + self?.recognitionHandler(audioEngine: audioEngine, result: result, error: error) + }) + } catch { + self.reset() + self.transcribe(error) + } + } + + /// Reset the speech recognizer. + private func reset() { + task?.cancel() + audioEngine?.stop() + audioEngine = nil + request = nil + task = nil + } + + private static func prepareEngine() throws -> (AVAudioEngine, SFSpeechAudioBufferRecognitionRequest) { + let audioEngine = AVAudioEngine() + + let request = SFSpeechAudioBufferRecognitionRequest() + request.shouldReportPartialResults = true + + let audioSession = AVAudioSession.sharedInstance() + try audioSession.setCategory(.playAndRecord, mode: .measurement, options: .duckOthers) + try audioSession.setActive(true, options: .notifyOthersOnDeactivation) + let inputNode = audioEngine.inputNode + + let recordingFormat = inputNode.outputFormat(forBus: 0) + inputNode.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { (buffer: AVAudioPCMBuffer, when: AVAudioTime) in + request.append(buffer) + } + audioEngine.prepare() + try audioEngine.start() + + return (audioEngine, request) + } + + nonisolated private func recognitionHandler(audioEngine: AVAudioEngine, result: SFSpeechRecognitionResult?, error: Error?) { + let receivedFinalResult = result?.isFinal ?? false + let receivedError = error != nil + + if receivedFinalResult || receivedError { + audioEngine.stop() + audioEngine.inputNode.removeTap(onBus: 0) + } + + if let result { + transcribe(result.bestTranscription.formattedString) + } + } + + + nonisolated private func transcribe(_ message: String) { + Task { @MainActor in + transcript = message + } + } + nonisolated private func transcribe(_ error: Error) { + var errorMessage = "" + if let error = error as? RecognizerError { + errorMessage += error.message + } else { + errorMessage += error.localizedDescription + } + Task { @MainActor [errorMessage] in + transcript = "<< \(errorMessage) >>" + } + } +} + +extension SFSpeechRecognizer { + static func hasAuthorizationToRecognize() async -> Bool { + await withCheckedContinuation { continuation in + requestAuthorization { status in + continuation.resume(returning: status == .authorized) + } + } + } +} + +extension AVAudioSession { + func hasPermissionToRecord() async -> Bool { + await withCheckedContinuation { continuation in + requestRecordPermission { authorized in + continuation.resume(returning: authorized) + } + } + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/Theme.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/Theme.swift new file mode 100644 index 00000000..400dd844 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Models/Theme.swift @@ -0,0 +1,41 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +enum Theme: String, CaseIterable, Identifiable, Codable { + + case bubblegum + case buttercup + case indigo + case lavender + case magenta + case navy + case orange + case oxblood + case periwinkle + case poppy + case purple + case seafoam + case sky + case tan + case teal + case yellow + + var accentColor: Color { + switch self { + case .bubblegum, .buttercup, .lavender, .orange, .periwinkle, .poppy, .seafoam, .sky, .tan, .teal, .yellow: return .black + case .indigo, .magenta, .navy, .oxblood, .purple: return .white + } + } + var mainColor: Color { + Color(rawValue) + } + var name: String { + rawValue.capitalized + } + var id: String { + name + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Preview Content/Preview Assets.xcassets/Contents.json b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Resources/ding.wav b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Resources/ding.wav new file mode 100644 index 0000000000000000000000000000000000000000..5831df269dda704add693c6ff8468400559e22de GIT binary patch literal 535904 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

7{1zAqfq$7$2 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 literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/ScrumdingerApp.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/ScrumdingerApp.swift new file mode 100644 index 00000000..101f8ae2 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/ScrumdingerApp.swift @@ -0,0 +1,39 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +@main +struct ScrumdingerApp: App { + @StateObject private var store = ScrumStore() + @State private var errorWrapper: ErrorWrapper? + + var body: some Scene { + WindowGroup { + ScrumsView(scrums: $store.scrums) { + Task { + do { + try await store.save(scrums: store.scrums) + } catch { + errorWrapper = ErrorWrapper(error: error, + guidance: "Try again later.") + } + } + } + .task { + do { + try await store.load() + } catch { + errorWrapper = ErrorWrapper(error: error, + guidance: "Scrumdinger will load sample data and continue.") + } + } + .sheet(item: $errorWrapper) { + store.scrums = DailyScrum.sampleData + } content: { wrapper in + ErrorView(errorWrapper: wrapper) + } + } + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/CardView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/CardView.swift new file mode 100644 index 00000000..9dadd168 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/CardView.swift @@ -0,0 +1,37 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct CardView: View { + let scrum: DailyScrum + var body: some View { + VStack(alignment: .leading) { + Text(scrum.title) + .font(.headline) + .accessibilityAddTraits(.isHeader) + Spacer() + HStack { + Label("\(scrum.attendees.count)", systemImage: "person.3") + .accessibilityLabel("\(scrum.attendees.count) attendees") + Spacer() + Label("\(scrum.lengthInMinutes)", systemImage: "clock") + .accessibilityLabel("\(scrum.lengthInMinutes) minute meeting") + .labelStyle(.trailingIcon) + } + .font(.caption) + } + .padding() + .foregroundColor(scrum.theme.accentColor) + } +} + +struct CardView_Previews: PreviewProvider { + static var scrum = DailyScrum.sampleData[0] + static var previews: some View { + CardView(scrum: scrum) + .background(scrum.theme.mainColor) + .previewLayout(.fixed(width: 400, height: 60)) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/DetailEditView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/DetailEditView.swift new file mode 100644 index 00000000..34461c11 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/DetailEditView.swift @@ -0,0 +1,56 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct DetailEditView: View { + @Binding var scrum: DailyScrum + @State private var newAttendeeName = "" + + var body: some View { + Form { + Section(header: Text("Meeting Info")) { + TextField("Title", text: $scrum.title) + HStack { + Slider(value: $scrum.lengthInMinutesAsDouble, in: 2...30, step: 1) { + Text("Length") + } + .accessibilityValue("\(scrum.lengthInMinutes) minutes") + Spacer() + Text("\(scrum.lengthInMinutes) minutes") + .accessibilityHidden(true) + } + ThemePicker(selection: $scrum.theme) + } + Section(header: Text("Attendees")) { + ForEach(scrum.attendees) { attendee in + Text(attendee.name) + } + .onDelete { indices in + scrum.attendees.remove(atOffsets: indices) + } + HStack { + TextField("New Attendee", text: $newAttendeeName) + Button(action: { + withAnimation { + let attendee = DailyScrum.Attendee(name: newAttendeeName) + scrum.attendees.append(attendee) + newAttendeeName = "" + } + }) { + Image(systemName: "plus.circle.fill") + .accessibilityLabel("Add attendee") + } + .disabled(newAttendeeName.isEmpty) + } + } + } + } +} + +struct DetailEditView_Previews: PreviewProvider { + static var previews: some View { + DetailEditView(scrum: .constant(DailyScrum.sampleData[0])) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/DetailView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/DetailView.swift new file mode 100644 index 00000000..c8117930 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/DetailView.swift @@ -0,0 +1,91 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct DetailView: View { + @Binding var scrum: DailyScrum + @State private var editingScrum = DailyScrum.emptyScrum + @State private var isPresentingEditView = false + + var body: some View { + List { + Section(header: Text("Meeting Info")) { + NavigationLink(destination: MeetingView(scrum: $scrum)) { + Label("Start Meeting", systemImage: "timer") + .font(.headline) + .foregroundColor(.accentColor) + } + HStack { + Label("Length", systemImage: "clock") + Spacer() + Text("\(scrum.lengthInMinutes) minutes") + } + .accessibilityElement(children: .combine) + HStack { + Label("Theme", systemImage: "paintpalette") + Spacer() + Text(scrum.theme.name) + .padding(4) + .foregroundColor(scrum.theme.accentColor) + .background(scrum.theme.mainColor) + .cornerRadius(4) + } + .accessibilityElement(children: .combine) + } + Section(header: Text("Attendees")) { + ForEach(scrum.attendees) { attendee in + Label(attendee.name, systemImage: "person") + } + } + Section(header: Text("History")) { + if scrum.history.isEmpty { + Label("No meetings yet", systemImage: "calendar.badge.exclamationmark") + } + ForEach(scrum.history) { history in + NavigationLink(destination: HistoryView(history: history)) { + HStack { + Image(systemName: "calendar") + Text(history.date, style: .date) + } + } + } + } + } + .navigationTitle(scrum.title) + .toolbar { + Button("Edit") { + isPresentingEditView = true + editingScrum = scrum + } + } + .sheet(isPresented: $isPresentingEditView) { + NavigationStack { + DetailEditView(scrum: $editingScrum) + .navigationTitle(scrum.title) + .toolbar { + ToolbarItem(placement: .cancellationAction) { + Button("Cancel") { + isPresentingEditView = false + } + } + ToolbarItem(placement: .confirmationAction) { + Button("Done") { + isPresentingEditView = false + scrum = editingScrum + } + } + } + } + } + } +} + +struct DetailView_Previews: PreviewProvider { + static var previews: some View { + NavigationStack { + DetailView(scrum: .constant(DailyScrum.sampleData[0])) + } + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ErrorView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ErrorView.swift new file mode 100644 index 00000000..7af03401 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ErrorView.swift @@ -0,0 +1,51 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct ErrorView: View { + let errorWrapper: ErrorWrapper + @Environment(\.dismiss) private var dismiss + + var body: some View { + NavigationStack { + VStack { + Text("An error has occurred!") + .font(.title) + .padding(.bottom) + Text(errorWrapper.error.localizedDescription) + .font(.headline) + Text(errorWrapper.guidance) + .font(.caption) + .padding(.top) + Spacer() + } + .padding() + .background(.ultraThinMaterial) + .cornerRadius(16) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button("Dismiss") { + dismiss() + } + } + } + } + } +} + +struct ErrorView_Previews: PreviewProvider { + enum SampleError: Error { + case errorRequired + } + + static var wrapper: ErrorWrapper { + ErrorWrapper(error: SampleError.errorRequired, + guidance: "You can safely ignore this error.") + } + + static var previews: some View { + ErrorView(errorWrapper: wrapper) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/HistoryView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/HistoryView.swift new file mode 100644 index 00000000..887c050b --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/HistoryView.swift @@ -0,0 +1,50 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct HistoryView: View { + let history: History + + var body: some View { + ScrollView { + VStack(alignment: .leading) { + Divider() + .padding(.bottom) + Text("Attendees") + .font(.headline) + Text(history.attendeeString) + if let transcript = history.transcript { + Text("Transcript") + .font(.headline) + .padding(.top) + Text(transcript) + } + } + } + .navigationTitle(Text(history.date, style: .date)) + .padding() + } +} + +extension History { + var attendeeString: String { + ListFormatter.localizedString(byJoining: attendees.map { $0.name }) + } +} + +struct HistoryView_Previews: PreviewProvider { + static var history: History { + History(attendees: [ + DailyScrum.Attendee(name: "Jon"), + DailyScrum.Attendee(name: "Darla"), + DailyScrum.Attendee(name: "Luis") + ], + transcript: "Darla, would you like to start today? Sure, yesterday I reviewed Luis' PR and met with the design team to finalize the UI...") + } + + static var previews: some View { + HistoryView(history: history) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingFooterView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingFooterView.swift new file mode 100644 index 00000000..9bbbce82 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingFooterView.swift @@ -0,0 +1,47 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct MeetingFooterView: View { + let speakers: [ScrumTimer.Speaker] + var skipAction: ()->Void + + private var speakerNumber: Int? { + guard let index = speakers.firstIndex(where: { !$0.isCompleted }) else { return nil } + return index + 1 + } + private var isLastSpeaker: Bool { + return speakers.dropLast().allSatisfy { $0.isCompleted } + } + private var speakerText: String { + guard let speakerNumber = speakerNumber else { return "No more speakers" } + return "Speaker \(speakerNumber) of \(speakers.count)" + } + + var body: some View { + VStack { + HStack { + if isLastSpeaker { + Text("Last Speaker") + } else { + Text(speakerText) + Spacer() + Button(action: skipAction) { + Image(systemName: "forward.fill") + } + .accessibilityLabel("Next speaker") + } + } + } + .padding([.bottom, .horizontal]) + } +} + +struct MeetingFooterView_Previews: PreviewProvider { + static var previews: some View { + MeetingFooterView(speakers: DailyScrum.sampleData[0].attendees.speakers, skipAction: {}) + .previewLayout(.sizeThatFits) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingHeaderView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingHeaderView.swift new file mode 100644 index 00000000..21feb176 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingHeaderView.swift @@ -0,0 +1,54 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct MeetingHeaderView: View { + let secondsElapsed: Int + let secondsRemaining: Int + let theme: Theme + + private var totalSeconds: Int { + secondsElapsed + secondsRemaining + } + private var progress: Double { + guard totalSeconds > 0 else { return 1 } + return Double(secondsElapsed) / Double(totalSeconds) + } + private var minutesRemaining: Int { + secondsRemaining / 60 + } + + var body: some View { + VStack { + ProgressView(value: progress) + .progressViewStyle(ScrumProgressViewStyle(theme: theme)) + HStack { + VStack(alignment: .leading) { + Text("Seconds Elapsed") + .font(.caption) + Label("\(secondsElapsed)", systemImage: "hourglass.tophalf.fill") + } + Spacer() + VStack(alignment: .trailing) { + Text("Seconds Remaining") + .font(.caption) + Label("\(secondsRemaining)", systemImage: "hourglass.bottomhalf.fill") + .labelStyle(.trailingIcon) + } + } + } + .accessibilityElement(children: .ignore) + .accessibilityLabel("Time remaining") + .accessibilityValue("\(minutesRemaining) minutes") + .padding([.top, .horizontal]) + } +} + +struct MeetingHeaderView_Previews: PreviewProvider { + static var previews: some View { + MeetingHeaderView(secondsElapsed: 60, secondsRemaining: 180, theme: .bubblegum) + .previewLayout(.sizeThatFits) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingTimerView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingTimerView.swift new file mode 100644 index 00000000..ad3df6ed --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingTimerView.swift @@ -0,0 +1,53 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct MeetingTimerView: View { + let speakers: [ScrumTimer.Speaker] + let isRecording: Bool + let theme: Theme + + private var currentSpeaker: String { + speakers.first(where: { !$0.isCompleted })?.name ?? "Someone" + } + + var body: some View { + Circle() + .strokeBorder(lineWidth: 24) + .overlay { + VStack { + Text(currentSpeaker) + .font(.title) + Text("is speaking") + Image(systemName: isRecording ? "mic" : "mic.slash") + .font(.title) + .padding(.top) + .accessibilityLabel(isRecording ? "with transcription" : "without transcription") + } + .accessibilityElement(children: .combine) + .foregroundStyle(theme.accentColor) + } + .overlay { + ForEach(speakers) { speaker in + if speaker.isCompleted, let index = speakers.firstIndex(where: { $0.id == speaker.id }) { + SpeakerArc(speakerIndex: index, totalSpeakers: speakers.count) + .rotation(Angle(degrees: -90)) + .stroke(theme.mainColor, lineWidth: 12) + } + } + } + .padding(.horizontal) + } +} + +struct MeetingTimerView_Previews: PreviewProvider { + static var speakers: [ScrumTimer.Speaker] { + [ScrumTimer.Speaker(name: "Bill", isCompleted: true), ScrumTimer.Speaker(name: "Cathy", isCompleted: false)] + } + + static var previews: some View { + MeetingTimerView(speakers: speakers, isRecording: true, theme: .yellow) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingView.swift new file mode 100644 index 00000000..7c2b7625 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/MeetingView.swift @@ -0,0 +1,63 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI +import AVFoundation + +struct MeetingView: View { + @Binding var scrum: DailyScrum + @StateObject var scrumTimer = ScrumTimer() + @StateObject var speechRecognizer = SpeechRecognizer() + @State private var isRecording = false + + private var player: AVPlayer { AVPlayer.sharedDingPlayer } + + var body: some View { + ZStack { + RoundedRectangle(cornerRadius: 16.0) + .fill(scrum.theme.mainColor) + VStack { + MeetingHeaderView(secondsElapsed: scrumTimer.secondsElapsed, secondsRemaining: scrumTimer.secondsRemaining, theme: scrum.theme) + MeetingTimerView(speakers: scrumTimer.speakers, isRecording: isRecording, theme: scrum.theme) + MeetingFooterView(speakers: scrumTimer.speakers, skipAction: scrumTimer.skipSpeaker) + } + } + .padding() + .foregroundColor(scrum.theme.accentColor) + .onAppear { + startScrum() + } + .onDisappear { + endScrum() + } + .navigationBarTitleDisplayMode(.inline) + } + + private func startScrum() { + scrumTimer.reset(lengthInMinutes: scrum.lengthInMinutes, attendees: scrum.attendees) + scrumTimer.speakerChangedAction = { + player.seek(to: .zero) + player.play() + } + speechRecognizer.resetTranscript() + speechRecognizer.startTranscribing() + isRecording = true + scrumTimer.startScrum() + } + + private func endScrum() { + scrumTimer.stopScrum() + speechRecognizer.stopTranscribing() + isRecording = false + let newHistory = History(attendees: scrum.attendees, + transcript: speechRecognizer.transcript) + scrum.history.insert(newHistory, at: 0) + } +} + +struct MeetingView_Previews: PreviewProvider { + static var previews: some View { + MeetingView(scrum: .constant(DailyScrum.sampleData[0])) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/NewScrumSheet.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/NewScrumSheet.swift new file mode 100644 index 00000000..e8b87362 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/NewScrumSheet.swift @@ -0,0 +1,36 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct NewScrumSheet: View { + @State private var newScrum = DailyScrum.emptyScrum + @Binding var scrums: [DailyScrum] + @Binding var isPresentingNewScrumView: Bool + + var body: some View { + NavigationStack { + DetailEditView(scrum: $newScrum) + .toolbar { + ToolbarItem(placement: .cancellationAction) { + Button("Dismiss") { + isPresentingNewScrumView = false + } + } + ToolbarItem(placement: .confirmationAction) { + Button("Add") { + scrums.append(newScrum) + isPresentingNewScrumView = false + } + } + } + } + } +} + +struct NewScrumSheet_Previews: PreviewProvider { + static var previews: some View { + NewScrumSheet(scrums: .constant(DailyScrum.sampleData), isPresentingNewScrumView: .constant(true)) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ScrumProgressViewStyle.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ScrumProgressViewStyle.swift new file mode 100644 index 00000000..01820571 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ScrumProgressViewStyle.swift @@ -0,0 +1,35 @@ +/* +See LICENSE folder for this sample’s licensing information. +*/ + +import SwiftUI + +struct ScrumProgressViewStyle: ProgressViewStyle { + var theme: Theme + + func makeBody(configuration: Configuration) -> some View { + ZStack { + RoundedRectangle(cornerRadius: 10.0) + .fill(theme.accentColor) + .frame(height: 20.0) + if #available(iOS 15.0, *) { + ProgressView(configuration) + .tint(theme.mainColor) + .frame(height: 12.0) + .padding(.horizontal) + } else { + ProgressView(configuration) + .frame(height: 12.0) + .padding(.horizontal) + } + } + } +} + +struct ScrumProgressViewStyle_Previews: PreviewProvider { + static var previews: some View { + ProgressView(value: 0.4) + .progressViewStyle(ScrumProgressViewStyle(theme: .buttercup)) + .previewLayout(.sizeThatFits) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ScrumsView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ScrumsView.swift new file mode 100644 index 00000000..88f25be9 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ScrumsView.swift @@ -0,0 +1,44 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct ScrumsView: View { + @Binding var scrums: [DailyScrum] + @Environment(\.scenePhase) private var scenePhase + @State private var isPresentingNewScrumView = false + let saveAction: ()->Void + + var body: some View { + NavigationStack { + List($scrums) { $scrum in + NavigationLink(destination: DetailView(scrum: $scrum)) { + CardView(scrum: scrum) + } + .listRowBackground(scrum.theme.mainColor) + } + .navigationTitle("Daily Scrums") + .toolbar { + Button(action: { + isPresentingNewScrumView = true + }) { + Image(systemName: "plus") + } + .accessibilityLabel("New Scrum") + } + } + .sheet(isPresented: $isPresentingNewScrumView) { + NewScrumSheet(scrums: $scrums, isPresentingNewScrumView: $isPresentingNewScrumView) + } + .onChange(of: scenePhase) { phase in + if phase == .inactive { saveAction() } + } + } +} + +struct ScrumsView_Previews: PreviewProvider { + static var previews: some View { + ScrumsView(scrums: .constant(DailyScrum.sampleData), saveAction: {}) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/SpeakerArc.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/SpeakerArc.swift new file mode 100644 index 00000000..2ea429ab --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/SpeakerArc.swift @@ -0,0 +1,29 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct SpeakerArc: Shape { + let speakerIndex: Int + let totalSpeakers: Int + + private var degreesPerSpeaker: Double { + 360.0 / Double(totalSpeakers) + } + private var startAngle: Angle { + Angle(degrees: degreesPerSpeaker * Double(speakerIndex) + 1.0) + } + private var endAngle: Angle { + Angle(degrees: startAngle.degrees + degreesPerSpeaker - 1.0) + } + + func path(in rect: CGRect) -> Path { + let diameter = min(rect.size.width, rect.size.height) - 24.0 + let radius = diameter / 2.0 + let center = CGPoint(x: rect.midX, y: rect.midY) + return Path { path in + path.addArc(center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, clockwise: false) + } + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ThemePicker.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ThemePicker.swift new file mode 100644 index 00000000..2e1ecfa9 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ThemePicker.swift @@ -0,0 +1,25 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct ThemePicker: View { + @Binding var selection: Theme + + var body: some View { + Picker("Theme", selection: $selection) { + ForEach(Theme.allCases) { theme in + ThemeView(theme: theme) + .tag(theme) + } + } + .pickerStyle(.navigationLink) + } +} + +struct ThemePicker_Previews: PreviewProvider { + static var previews: some View { + ThemePicker(selection: .constant(.periwinkle)) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ThemeView.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ThemeView.swift new file mode 100644 index 00000000..5283d462 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/ThemeView.swift @@ -0,0 +1,24 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct ThemeView: View { + let theme: Theme + + var body: some View { + Text(theme.name) + .padding(4) + .frame(maxWidth: .infinity) + .background(theme.mainColor) + .foregroundColor(theme.accentColor) + .clipShape(RoundedRectangle(cornerRadius: 4)) + } +} + +struct ThemeView_Previews: PreviewProvider { + static var previews: some View { + ThemeView(theme: .buttercup) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/TrailingIconLabelStyle.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/TrailingIconLabelStyle.swift new file mode 100644 index 00000000..e4b5e110 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Views/TrailingIconLabelStyle.swift @@ -0,0 +1,18 @@ +/* + See LICENSE folder for this sample’s licensing information. + */ + +import SwiftUI + +struct TrailingIconLabelStyle: LabelStyle { + func makeBody(configuration: Configuration) -> some View { + HStack { + configuration.title + configuration.icon + } + } +} + +extension LabelStyle where Self == TrailingIconLabelStyle { + static var trailingIcon: Self { Self() } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/ScrumdingerUITests/ScrumdingerUITests.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/ScrumdingerUITests/ScrumdingerUITests.swift new file mode 100644 index 00000000..f4e0968f --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/ScrumdingerUITests/ScrumdingerUITests.swift @@ -0,0 +1,33 @@ +import XCTest + +@MainActor +final class ScrumdingerUITests: XCTestCase { + let app = XCUIApplication() + + override func setUpWithError() throws { + self.continueAfterFailure = false + } + + func testBasics() async throws { + self.app.launch() + + self.app.buttons["New Scrum"].tap() + + self.app.textFields["Title"].tap() + self.app.typeText("Design") + self.app.textFields["New Attendee"].tap() + self.app.typeText("Blob") + self.app.buttons["Add attendee"].tap() + self.app.textFields["New Attendee"].tap() + self.app.typeText("Blob Jr.") + self.app.buttons["Add attendee"].tap() + self.app.buttons["Add"].tap() + + XCTAssertTrue(self.app.cells.count >= 1) + XCTAssertEqual(self.app.staticTexts["Engineering"].exists, true) + + XCUIDevice.shared.press(.home) + self.app.launch() + XCTAssertEqual(self.app.staticTexts["Engineering"].exists, true) + } +} diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/ScrumdingerUITests/ScrumdingerUITestsLaunchTests.swift b/0249-tca-tour-pt7/Scrumdinger-Complete/ScrumdingerUITests/ScrumdingerUITestsLaunchTests.swift new file mode 100644 index 00000000..5f3a6327 --- /dev/null +++ b/0249-tca-tour-pt7/Scrumdinger-Complete/ScrumdingerUITests/ScrumdingerUITestsLaunchTests.swift @@ -0,0 +1,32 @@ +// +// ScrumdingerUITestsLaunchTests.swift +// ScrumdingerUITests +// +// Created by Point-Free on 8/3/23. +// + +import XCTest + +final class ScrumdingerUITestsLaunchTests: XCTestCase { + + override class var runsForEachTargetApplicationUIConfiguration: Bool { + true + } + + override func setUpWithError() throws { + continueAfterFailure = false + } + + func testLaunch() throws { + let app = XCUIApplication() + app.launch() + + // Insert steps here to perform after app launch but before taking a screenshot, + // such as logging into a test account or navigating somewhere in the app + + let attachment = XCTAttachment(screenshot: app.screenshot()) + attachment.name = "Launch Screen" + attachment.lifetime = .keepAlways + add(attachment) + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.pbxproj b/0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.pbxproj new file mode 100644 index 00000000..e73a8e1c --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.pbxproj @@ -0,0 +1,544 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 2A2E56FA2A6B25AF00F9FC64 /* SpeechClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A2E56F92A6B25AF00F9FC64 /* SpeechClient.swift */; }; + 2A4D5DCB2A69E97E0098984B /* StandupsListTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A4D5DCA2A69E97E0098984B /* StandupsListTests.swift */; }; + 2AB309192A6AF37C00FCC600 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AB309182A6AF37C00FCC600 /* App.swift */; }; + 2ACFFB4E2A7C292F00EDEB7F /* Meeting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ACFFB4D2A7C292F00EDEB7F /* Meeting.swift */; }; + 2ACFFB502A7C384E00EDEB7F /* DataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ACFFB4F2A7C384E00EDEB7F /* DataManager.swift */; }; + 2AED4B442A69D0280099BFE2 /* StandupForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AED4B432A69D0280099BFE2 /* StandupForm.swift */; }; + 4B2536EB2A69CB1600C012CC /* StandupsList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B2536EA2A69CB1600C012CC /* StandupsList.swift */; }; + 4B2536ED2A69CBB500C012CC /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B2536EC2A69CBB500C012CC /* Models.swift */; }; + 4B2536EF2A69DB6400C012CC /* StandupFormTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B2536EE2A69DB6400C012CC /* StandupFormTests.swift */; }; + 4B600A412A6AEB97002B665B /* StandupDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B600A402A6AEB97002B665B /* StandupDetail.swift */; }; + 4B600A432A6AF0D2002B665B /* StandupDetailTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B600A422A6AF0D2002B665B /* StandupDetailTests.swift */; }; + 4BBA95892A6AFEC100301693 /* AppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBA95882A6AFEC100301693 /* AppTests.swift */; }; + 4BBA958B2A6B129400301693 /* RecordMeeting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBA958A2A6B129400301693 /* RecordMeeting.swift */; }; + CA6D66522A68263900B2A77A /* ComposableArchitecture in Frameworks */ = {isa = PBXBuildFile; productRef = CA6D66512A68263900B2A77A /* ComposableArchitecture */; }; + CA9CB7282A411ECD003BDB3B /* StandupsApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA9CB7272A411ECD003BDB3B /* StandupsApp.swift */; }; + CA9CB72C2A411ECD003BDB3B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CA9CB72B2A411ECD003BDB3B /* Assets.xcassets */; }; + CA9CB72F2A411ECD003BDB3B /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CA9CB72E2A411ECD003BDB3B /* Preview Assets.xcassets */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + CA9CB7352A411ECD003BDB3B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CA9CB71C2A411ECC003BDB3B /* Project object */; + proxyType = 1; + remoteGlobalIDString = CA9CB7232A411ECD003BDB3B; + remoteInfo = Standups; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 2A2E56F92A6B25AF00F9FC64 /* SpeechClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeechClient.swift; sourceTree = ""; }; + 2A4D5DCA2A69E97E0098984B /* StandupsListTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupsListTests.swift; sourceTree = ""; }; + 2AB309182A6AF37C00FCC600 /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; + 2ACFFB4D2A7C292F00EDEB7F /* Meeting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Meeting.swift; sourceTree = ""; }; + 2ACFFB4F2A7C384E00EDEB7F /* DataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataManager.swift; sourceTree = ""; }; + 2AED4B432A69D0280099BFE2 /* StandupForm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupForm.swift; sourceTree = ""; }; + 4B2536EA2A69CB1600C012CC /* StandupsList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupsList.swift; sourceTree = ""; }; + 4B2536EC2A69CBB500C012CC /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Models.swift; sourceTree = ""; }; + 4B2536EE2A69DB6400C012CC /* StandupFormTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupFormTests.swift; sourceTree = ""; }; + 4B600A402A6AEB97002B665B /* StandupDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupDetail.swift; sourceTree = ""; }; + 4B600A422A6AF0D2002B665B /* StandupDetailTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupDetailTests.swift; sourceTree = ""; }; + 4BBA95882A6AFEC100301693 /* AppTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppTests.swift; sourceTree = ""; }; + 4BBA958A2A6B129400301693 /* RecordMeeting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordMeeting.swift; sourceTree = ""; }; + 4BBA958C2A6B189200301693 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + CA9CB7242A411ECD003BDB3B /* Standups.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Standups.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CA9CB7272A411ECD003BDB3B /* StandupsApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandupsApp.swift; sourceTree = ""; }; + CA9CB72B2A411ECD003BDB3B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + CA9CB72E2A411ECD003BDB3B /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + CA9CB7342A411ECD003BDB3B /* StandupsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StandupsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + CA9CB7512A411EF4003BDB3B /* Standups.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Standups.xctestplan; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CA9CB7212A411ECD003BDB3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CA6D66522A68263900B2A77A /* ComposableArchitecture in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CA9CB7312A411ECD003BDB3B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CA9CB71B2A411ECC003BDB3B = { + isa = PBXGroup; + children = ( + CA9CB7262A411ECD003BDB3B /* Standups */, + CA9CB7372A411ECD003BDB3B /* StandupsTests */, + CA9CB7252A411ECD003BDB3B /* Products */, + ); + sourceTree = ""; + }; + CA9CB7252A411ECD003BDB3B /* Products */ = { + isa = PBXGroup; + children = ( + CA9CB7242A411ECD003BDB3B /* Standups.app */, + CA9CB7342A411ECD003BDB3B /* StandupsTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + CA9CB7262A411ECD003BDB3B /* Standups */ = { + isa = PBXGroup; + children = ( + 4BBA958C2A6B189200301693 /* Info.plist */, + 2AB309182A6AF37C00FCC600 /* App.swift */, + 2ACFFB4F2A7C384E00EDEB7F /* DataManager.swift */, + 2ACFFB4D2A7C292F00EDEB7F /* Meeting.swift */, + 4B2536EC2A69CBB500C012CC /* Models.swift */, + 4BBA958A2A6B129400301693 /* RecordMeeting.swift */, + 2A2E56F92A6B25AF00F9FC64 /* SpeechClient.swift */, + 4B600A402A6AEB97002B665B /* StandupDetail.swift */, + 2AED4B432A69D0280099BFE2 /* StandupForm.swift */, + CA9CB7272A411ECD003BDB3B /* StandupsApp.swift */, + 4B2536EA2A69CB1600C012CC /* StandupsList.swift */, + CA9CB72B2A411ECD003BDB3B /* Assets.xcassets */, + CA9CB72D2A411ECD003BDB3B /* Preview Content */, + ); + path = Standups; + sourceTree = ""; + }; + CA9CB72D2A411ECD003BDB3B /* Preview Content */ = { + isa = PBXGroup; + children = ( + CA9CB72E2A411ECD003BDB3B /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + CA9CB7372A411ECD003BDB3B /* StandupsTests */ = { + isa = PBXGroup; + children = ( + 4BBA95882A6AFEC100301693 /* AppTests.swift */, + 4B600A422A6AF0D2002B665B /* StandupDetailTests.swift */, + 4B2536EE2A69DB6400C012CC /* StandupFormTests.swift */, + 2A4D5DCA2A69E97E0098984B /* StandupsListTests.swift */, + CA9CB7512A411EF4003BDB3B /* Standups.xctestplan */, + ); + path = StandupsTests; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CA9CB7232A411ECD003BDB3B /* Standups */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA9CB7482A411ECD003BDB3B /* Build configuration list for PBXNativeTarget "Standups" */; + buildPhases = ( + CA9CB7202A411ECD003BDB3B /* Sources */, + CA9CB7212A411ECD003BDB3B /* Frameworks */, + CA9CB7222A411ECD003BDB3B /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Standups; + packageProductDependencies = ( + CA6D66512A68263900B2A77A /* ComposableArchitecture */, + ); + productName = Standups; + productReference = CA9CB7242A411ECD003BDB3B /* Standups.app */; + productType = "com.apple.product-type.application"; + }; + CA9CB7332A411ECD003BDB3B /* StandupsTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA9CB74B2A411ECD003BDB3B /* Build configuration list for PBXNativeTarget "StandupsTests" */; + buildPhases = ( + CA9CB7302A411ECD003BDB3B /* Sources */, + CA9CB7312A411ECD003BDB3B /* Frameworks */, + CA9CB7322A411ECD003BDB3B /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + CA9CB7362A411ECD003BDB3B /* PBXTargetDependency */, + ); + name = StandupsTests; + productName = StandupsTests; + productReference = CA9CB7342A411ECD003BDB3B /* StandupsTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CA9CB71C2A411ECC003BDB3B /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1430; + LastUpgradeCheck = 1430; + TargetAttributes = { + CA9CB7232A411ECD003BDB3B = { + CreatedOnToolsVersion = 14.3.1; + }; + CA9CB7332A411ECD003BDB3B = { + CreatedOnToolsVersion = 14.3.1; + TestTargetID = CA9CB7232A411ECD003BDB3B; + }; + }; + }; + buildConfigurationList = CA9CB71F2A411ECC003BDB3B /* Build configuration list for PBXProject "Standups" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CA9CB71B2A411ECC003BDB3B; + packageReferences = ( + CA6D66502A68263900B2A77A /* XCRemoteSwiftPackageReference "swift-composable-architecture" */, + ); + productRefGroup = CA9CB7252A411ECD003BDB3B /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CA9CB7232A411ECD003BDB3B /* Standups */, + CA9CB7332A411ECD003BDB3B /* StandupsTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CA9CB7222A411ECD003BDB3B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CA9CB72F2A411ECD003BDB3B /* Preview Assets.xcassets in Resources */, + CA9CB72C2A411ECD003BDB3B /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CA9CB7322A411ECD003BDB3B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CA9CB7202A411ECD003BDB3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2AED4B442A69D0280099BFE2 /* StandupForm.swift in Sources */, + 2ACFFB502A7C384E00EDEB7F /* DataManager.swift in Sources */, + 2ACFFB4E2A7C292F00EDEB7F /* Meeting.swift in Sources */, + 4B600A412A6AEB97002B665B /* StandupDetail.swift in Sources */, + 4B2536EB2A69CB1600C012CC /* StandupsList.swift in Sources */, + 2AB309192A6AF37C00FCC600 /* App.swift in Sources */, + 2A2E56FA2A6B25AF00F9FC64 /* SpeechClient.swift in Sources */, + 4BBA958B2A6B129400301693 /* RecordMeeting.swift in Sources */, + CA9CB7282A411ECD003BDB3B /* StandupsApp.swift in Sources */, + 4B2536ED2A69CBB500C012CC /* Models.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CA9CB7302A411ECD003BDB3B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2A4D5DCB2A69E97E0098984B /* StandupsListTests.swift in Sources */, + 4B2536EF2A69DB6400C012CC /* StandupFormTests.swift in Sources */, + 4BBA95892A6AFEC100301693 /* AppTests.swift in Sources */, + 4B600A432A6AF0D2002B665B /* StandupDetailTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + CA9CB7362A411ECD003BDB3B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = CA9CB7232A411ECD003BDB3B /* Standups */; + targetProxy = CA9CB7352A411ECD003BDB3B /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + CA9CB7462A411ECD003BDB3B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_STRICT_CONCURRENCY = complete; + }; + name = Debug; + }; + CA9CB7472A411ECD003BDB3B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_STRICT_CONCURRENCY = complete; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + CA9CB7492A411ECD003BDB3B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Standups/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = Standups/Info.plist; + INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "To record meetings"; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.Standups; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + CA9CB74A2A411ECD003BDB3B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Standups/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = Standups/Info.plist; + INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "To record meetings"; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.Standups; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + CA9CB74C2A411ECD003BDB3B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.StandupsTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Standups.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Standups"; + }; + name = Debug; + }; + CA9CB74D2A411ECD003BDB3B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = co.pointfree.StandupsTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Standups.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Standups"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CA9CB71F2A411ECC003BDB3B /* Build configuration list for PBXProject "Standups" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA9CB7462A411ECD003BDB3B /* Debug */, + CA9CB7472A411ECD003BDB3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA9CB7482A411ECD003BDB3B /* Build configuration list for PBXNativeTarget "Standups" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA9CB7492A411ECD003BDB3B /* Debug */, + CA9CB74A2A411ECD003BDB3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA9CB74B2A411ECD003BDB3B /* Build configuration list for PBXNativeTarget "StandupsTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA9CB74C2A411ECD003BDB3B /* Debug */, + CA9CB74D2A411ECD003BDB3B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + CA6D66502A68263900B2A77A /* XCRemoteSwiftPackageReference "swift-composable-architecture" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/pointfreeco/swift-composable-architecture.git"; + requirement = { + branch = 1.0.0; + kind = branch; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + CA6D66512A68263900B2A77A /* ComposableArchitecture */ = { + isa = XCSwiftPackageProductDependency; + package = CA6D66502A68263900B2A77A /* XCRemoteSwiftPackageReference "swift-composable-architecture" */; + productName = ComposableArchitecture; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = CA9CB71C2A411ECC003BDB3B /* Project object */; +} diff --git a/0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/0249-tca-tour-pt7/Standups/Standups.xcodeproj/xcshareddata/xcschemes/Standups.xcscheme b/0249-tca-tour-pt7/Standups/Standups.xcodeproj/xcshareddata/xcschemes/Standups.xcscheme new file mode 100644 index 00000000..63832754 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups.xcodeproj/xcshareddata/xcschemes/Standups.xcscheme @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/0249-tca-tour-pt7/Standups/Standups/App.swift b/0249-tca-tour-pt7/Standups/Standups/App.swift new file mode 100644 index 00000000..c635289f --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/App.swift @@ -0,0 +1,179 @@ +import ComposableArchitecture +import SwiftUI + +struct AppFeature: Reducer { + struct State: Equatable { + var path = StackState() + var standupsList = StandupsListFeature.State() + } + enum Action: Equatable { + case path(StackAction) + case standupsList(StandupsListFeature.Action) + } + @Dependency(\.date.now) var now + @Dependency(\.uuid) var uuid + + struct Path: Reducer { + enum State: Equatable { + case detail(StandupDetailFeature.State) + case meeting(Meeting, standup: Standup) + case recordMeeting(RecordMeetingFeature.State) + } + enum Action: Equatable { + case detail(StandupDetailFeature.Action) + case meeting(Never) + case recordMeeting(RecordMeetingFeature.Action) + } + var body: some ReducerOf { + Scope(state: /State.detail, action: /Action.detail) { + StandupDetailFeature() + } + Scope(state: /State.recordMeeting, action: /Action.recordMeeting) { + RecordMeetingFeature() + } + } + } + + @Dependency(\.continuousClock) var clock + @Dependency(\.dataManager.save) var saveData + + var body: some ReducerOf { + Scope(state: \.standupsList, action: /Action.standupsList) { + StandupsListFeature() + } + + Reduce { state, action in + switch action { + case let .path(.element(id: _, action: .detail(.delegate(action)))): + switch action { + case let .deleteStandup(id: id): + state.standupsList.standups.remove(id: id) + return .none + + case let .standupUpdated(standup): + state.standupsList.standups[id: standup.id] = standup + return .none + } + + case let .path(.element(id: id, action: .recordMeeting(.delegate(action)))): + switch action { + case let .saveMeeting(transcript: transcript): + guard let detailID = state.path.ids.dropLast().last + else { + XCTFail("Record meeting is the last element in the stack. A detail feature should proceed it.") + return .none + } + state.path[id: detailID, case: /Path.State.detail]?.standup.meetings.insert( + Meeting( + id: self.uuid(), + date: self.now, + transcript: transcript + ), + at: 0 + ) + guard let standup = state.path[id: detailID, case: /Path.State.detail]?.standup + else { return .none } + state.standupsList.standups[id: standup.id] = standup + return .none + } + + case .path: + return .none + + case .standupsList: + return .none + } + } + .forEach(\.path, action: /Action.path) { + Path() + } + + Reduce { state, _ in + .run { [standups = state.standupsList.standups] _ in + enum CancelID { case saveDebounce } + try await withTaskCancellation(id: CancelID.saveDebounce, cancelInFlight: true) { + try await self.clock.sleep(for: .seconds(1)) + try self.saveData( + JSONEncoder().encode(standups), + .standups + ) + } + } + } + } +} + +struct AppView: View { + let store: StoreOf + + var body: some View { + NavigationStackStore( + self.store.scope(state: \.path, action: { .path($0) }) + ) { + StandupsListView( + store: self.store.scope( + state: \.standupsList, + action: { .standupsList($0) } + ) + ) + } destination: { state in + switch state { + case .detail: + CaseLet( + /AppFeature.Path.State.detail, + action: AppFeature.Path.Action.detail, + then: StandupDetailView.init(store:) + ) + case let .meeting(meeting, standup: standup): + MeetingView(meeting: meeting, standup: standup) + case .recordMeeting: + CaseLet( + /AppFeature.Path.State.recordMeeting, + action: AppFeature.Path.Action.recordMeeting, + then: RecordMeetingView.init(store:) + ) + } + } + } +} + +extension URL { + static let standups = Self.documentsDirectory.appending(component: "standups.json") +} + +#Preview { + AppView( + store: Store( + initialState: AppFeature.State( + standupsList: StandupsListFeature.State() + ) + ) { + AppFeature() + ._printChanges() + } withDependencies: { + $0.dataManager = .mock(initialData: try? JSONEncoder().encode([Standup.mock])) + } + ) +} + +#Preview("Quick finish meeting") { + var standup = Standup.mock + standup.duration = .seconds(6) + + return AppView( + store: Store( + initialState: AppFeature.State( + path: StackState([ + .detail(StandupDetailFeature.State(standup: standup)), + .recordMeeting(RecordMeetingFeature.State(standup: standup)) + ]), + standupsList: StandupsListFeature.State( +// standups: [standup] + ) + ) + ) { + AppFeature() + ._printChanges() + } + ) +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/AccentColor.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..eb878970 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/AppIcon.appiconset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..13613e3e --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/bubblegum.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/bubblegum.colorset/Contents.json new file mode 100644 index 00000000..849c4cbf --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/bubblegum.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.820", + "green" : "0.502", + "red" : "0.933" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.820", + "green" : "0.502", + "red" : "0.933" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/buttercup.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/buttercup.colorset/Contents.json new file mode 100644 index 00000000..92c0b5a8 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/buttercup.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.588", + "green" : "0.945", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.588", + "green" : "0.945", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/indigo.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/indigo.colorset/Contents.json new file mode 100644 index 00000000..d9daea3e --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/indigo.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.443", + "green" : "0.000", + "red" : "0.212" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.443", + "green" : "0.000", + "red" : "0.212" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/lavender.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/lavender.colorset/Contents.json new file mode 100644 index 00000000..f95edce0 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/lavender.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.808", + "red" : "0.812" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.808", + "red" : "0.812" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/magenta.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/magenta.colorset/Contents.json new file mode 100644 index 00000000..b20bdf59 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/magenta.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.467", + "green" : "0.075", + "red" : "0.647" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.467", + "green" : "0.075", + "red" : "0.647" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/navy.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/navy.colorset/Contents.json new file mode 100644 index 00000000..821f22f7 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/navy.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.255", + "green" : "0.078", + "red" : "0.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.255", + "green" : "0.078", + "red" : "0.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/orange.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/orange.colorset/Contents.json new file mode 100644 index 00000000..863c8c72 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/orange.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.259", + "green" : "0.545", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.259", + "green" : "0.545", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/oxblood.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/oxblood.colorset/Contents.json new file mode 100644 index 00000000..0821af29 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/oxblood.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.043", + "green" : "0.027", + "red" : "0.290" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.043", + "green" : "0.027", + "red" : "0.290" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/periwinkle.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/periwinkle.colorset/Contents.json new file mode 100644 index 00000000..8d29c91c --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/periwinkle.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.510", + "red" : "0.525" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.510", + "red" : "0.525" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/poppy.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/poppy.colorset/Contents.json new file mode 100644 index 00000000..d6a984fc --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/poppy.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.369", + "green" : "0.369", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.369", + "green" : "0.369", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/purple.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/purple.colorset/Contents.json new file mode 100644 index 00000000..b19089a1 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/purple.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.949", + "green" : "0.294", + "red" : "0.569" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.949", + "green" : "0.294", + "red" : "0.569" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/seafoam.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/seafoam.colorset/Contents.json new file mode 100644 index 00000000..39065d2a --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/seafoam.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.898", + "green" : "0.918", + "red" : "0.796" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.898", + "green" : "0.918", + "red" : "0.796" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/sky.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/sky.colorset/Contents.json new file mode 100644 index 00000000..91e82482 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/sky.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.573", + "red" : "0.431" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "0.573", + "red" : "0.431" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/tan.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/tan.colorset/Contents.json new file mode 100644 index 00000000..e42a6726 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/tan.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.494", + "green" : "0.608", + "red" : "0.761" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.494", + "green" : "0.608", + "red" : "0.761" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/teal.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/teal.colorset/Contents.json new file mode 100644 index 00000000..a43d6577 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/teal.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.620", + "green" : "0.561", + "red" : "0.133" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.620", + "green" : "0.561", + "red" : "0.133" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/yellow.colorset/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/yellow.colorset/Contents.json new file mode 100644 index 00000000..ce3b3be8 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Assets.xcassets/Themes/yellow.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.302", + "green" : "0.875", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.302", + "green" : "0.875", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/DataManager.swift b/0249-tca-tour-pt7/Standups/Standups/DataManager.swift new file mode 100644 index 00000000..89ce30b9 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/DataManager.swift @@ -0,0 +1,54 @@ +import ComposableArchitecture +import Foundation + +struct DataManager { + var load: @Sendable (URL) throws -> Data + var save: @Sendable (Data, URL) throws -> Void +} + +extension DataManager: DependencyKey { + static let liveValue = Self( + load: { url in try Data(contentsOf: url) }, + save: { data, url in try data.write(to: url) } + ) + + static let previewValue = Self.mock() + + static let failToWrite = Self( + load: { _ in Data() }, + save: { _, _ in + struct SomeError: Error {} + throw SomeError() + } + ) + + static let failToLoad = Self( + load: { _ in + struct SomeError: Error {} + throw SomeError() + }, + save: { _, _ in } + ) + + static func mock(initialData: Data? = nil) -> Self { + let data = LockIsolated(initialData) + return Self( + load: { _ in + guard let data = data.value + else { + struct FileNotFound: Error {} + throw FileNotFound() + } + return data + }, + save: { newData, _ in data.setValue(newData) } + ) + } +} + +extension DependencyValues { + var dataManager: DataManager { + get { self[DataManager.self] } + set { self[DataManager.self] = newValue } + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Info.plist b/0249-tca-tour-pt7/Standups/Standups/Info.plist new file mode 100644 index 00000000..0c67376e --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Info.plist @@ -0,0 +1,5 @@ + + + + + diff --git a/0249-tca-tour-pt7/Standups/Standups/Meeting.swift b/0249-tca-tour-pt7/Standups/Standups/Meeting.swift new file mode 100644 index 00000000..32e8b8a5 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Meeting.swift @@ -0,0 +1,26 @@ +import SwiftUI + +struct MeetingView: View { + let meeting: Meeting + let standup: Standup + + var body: some View { + ScrollView { + VStack(alignment: .leading) { + Divider() + .padding(.bottom) + Text("Attendees") + .font(.headline) + ForEach(self.standup.attendees) { attendee in + Text(attendee.name) + } + Text("Transcript") + .font(.headline) + .padding(.top) + Text(self.meeting.transcript) + } + } + .navigationTitle(Text(self.meeting.date, style: .date)) + .padding() + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Models.swift b/0249-tca-tour-pt7/Standups/Standups/Models.swift new file mode 100644 index 00000000..5ebc6a59 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Models.swift @@ -0,0 +1,91 @@ +import SwiftUI + +struct Standup: Equatable, Identifiable, Codable { + let id: UUID + var attendees: [Attendee] = [] + var duration = Duration.seconds(60 * 5) + var meetings: [Meeting] = [] + var theme: Theme = .bubblegum + var title = "" + + var durationPerAttendee: Duration { + self.duration / self.attendees.count + } +} + +struct Attendee: Equatable, Identifiable, Codable { + let id: UUID + var name = "" +} + +struct Meeting: Equatable, Identifiable, Codable { + let id: UUID + let date: Date + var transcript: String +} + +enum Theme: String, CaseIterable, Equatable, Hashable, Identifiable, Codable { + case bubblegum + case buttercup + case indigo + case lavender + case magenta + case navy + case orange + case oxblood + case periwinkle + case poppy + case purple + case seafoam + case sky + case tan + case teal + case yellow + + var id: Self { self } + + var accentColor: Color { + switch self { + case .bubblegum, .buttercup, .lavender, .orange, .periwinkle, .poppy, .seafoam, .sky, .tan, + .teal, .yellow: + return .black + case .indigo, .magenta, .navy, .oxblood, .purple: + return .white + } + } + + var mainColor: Color { Color(self.rawValue) } + + var name: String { self.rawValue.capitalized } +} + +extension Standup { + static let mock = Self( + id: Standup.ID(), + attendees: [ + Attendee(id: Attendee.ID(), name: "Blob"), + Attendee(id: Attendee.ID(), name: "Blob Jr"), + Attendee(id: Attendee.ID(), name: "Blob Sr"), + Attendee(id: Attendee.ID(), name: "Blob Esq"), + Attendee(id: Attendee.ID(), name: "Blob III"), + Attendee(id: Attendee.ID(), name: "Blob I"), + ], + duration: .seconds(60), + meetings: [ + Meeting( + id: Meeting.ID(), + date: Date().addingTimeInterval(-60 * 60 * 24 * 7), + transcript: """ + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor \ + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud \ + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure \ + dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. \ + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt \ + mollit anim id est laborum. + """ + ) + ], + theme: .orange, + title: "Design" + ) +} diff --git a/0249-tca-tour-pt7/Standups/Standups/Preview Content/Preview Assets.xcassets/Contents.json b/0249-tca-tour-pt7/Standups/Standups/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/RecordMeeting.swift b/0249-tca-tour-pt7/Standups/Standups/RecordMeeting.swift new file mode 100644 index 00000000..1869d238 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/RecordMeeting.swift @@ -0,0 +1,373 @@ +import ComposableArchitecture +import Speech +import SwiftUI + +struct RecordMeetingFeature: Reducer { + struct State: Equatable { + @PresentationState var alert: AlertState? + var secondsElapsed = 0 + var speakerIndex = 0 + let standup: Standup + var transcript = "" + + var durationRemaining: Duration { + self.standup.duration - .seconds(self.secondsElapsed) + } + } + enum Action: Equatable { + case alert(PresentationAction) + case delegate(Delegate) + case endMeetingButtonTapped + case nextButtonTapped + case onTask + case speechResult(String) + case timerTicked + enum Alert { + case confirmDiscard + case confirmSave + } + enum Delegate: Equatable { + case saveMeeting(transcript: String) + } + } + @Dependency(\.continuousClock) var clock + @Dependency(\.dismiss) var dismiss + @Dependency(\.speechClient) var speechClient + var body: some ReducerOf { + Reduce { state, action in + switch action { + case .alert(.presented(.confirmDiscard)): + return .run { send in + //await send(.delegate(.saveMeeting)) + await self.dismiss() + } + + case .alert(.presented(.confirmSave)): + return .run { [transcript = state.transcript] send in + await send(.delegate(.saveMeeting(transcript: transcript))) + await self.dismiss() + } + + case .alert(.dismiss): + return .none + + case .delegate: + return .none + + case .endMeetingButtonTapped: + state.alert = .endMeeting(isDiscardable: true) + return .none + + case .nextButtonTapped: + guard state.speakerIndex < state.standup.attendees.count - 1 + else { + state.alert = .endMeeting(isDiscardable: false) + return .none + } + state.speakerIndex += 1 + state.secondsElapsed = + state.speakerIndex * Int(state.standup.durationPerAttendee.components.seconds) + return .none + + case .onTask: + return .run { send in + await self.onTask(send: send) + } + + case let .speechResult(transcript): + state.transcript = transcript + return .none + + case .timerTicked: + guard state.alert == nil + else { return .none } + + state.secondsElapsed += 1 + let secondsPerAttendee = Int(state.standup.durationPerAttendee.components.seconds) + if state.secondsElapsed.isMultiple(of: secondsPerAttendee) { + if state.speakerIndex == state.standup.attendees.count - 1 { + return .run { [transcript = state.transcript] send in + await send(.delegate(.saveMeeting(transcript: transcript))) + await self.dismiss() + } + } + state.speakerIndex += 1 + } + return .none + } + } + .ifLet(\.$alert, action: /Action.alert) + } + + private func onTask(send: Send) async { + await withTaskGroup(of: Void.self) { group in + group.addTask { + let status = await self.speechClient.requestAuthorization() + + if status == .authorized { + do { + for try await transcript in self.speechClient.start() { + await send(.speechResult(transcript)) + } + } catch { + // TODO: Handle error + } + } + } + + group.addTask { + for await _ in self.clock.timer(interval: .seconds(1)) { + await send(.timerTicked) + } + } + } + } +} + +extension AlertState where Action == RecordMeetingFeature.Action.Alert { + static func endMeeting(isDiscardable: Bool) -> Self { + Self { + TextState("End meeting?") + } actions: { + ButtonState(action: .confirmSave) { + TextState("Save and end") + } + if isDiscardable { + ButtonState(role: .destructive, action: .confirmDiscard) { + TextState("Discard") + } + } + ButtonState(role: .cancel) { + TextState("Resume") + } + } message: { + TextState("You are ending the meeting early. What would you like to do?") + } + } +} + +struct RecordMeetingView: View { + let store: StoreOf + + var body: some View { + WithViewStore(self.store, observe: { $0 }) { viewStore in + ZStack { + RoundedRectangle(cornerRadius: 16) + .fill(viewStore.standup.theme.mainColor) + + VStack { + MeetingHeaderView( + secondsElapsed: viewStore.secondsElapsed, + durationRemaining: viewStore.durationRemaining, + theme: viewStore.standup.theme + ) + MeetingTimerView( + standup: viewStore.standup, + speakerIndex: viewStore.speakerIndex + ) + MeetingFooterView( + standup: viewStore.standup, + nextButtonTapped: { + viewStore.send(.nextButtonTapped) + }, + speakerIndex: viewStore.speakerIndex + ) + } + } + .padding() + .foregroundColor(viewStore.standup.theme.accentColor) + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .cancellationAction) { + Button("End meeting") { + viewStore.send(.endMeetingButtonTapped) + } + } + } + .navigationBarBackButtonHidden(true) + .task { await viewStore.send(.onTask).finish() } + .alert(store: self.store.scope(state: \.$alert, action: { .alert($0) })) + } + } +} + +struct MeetingHeaderView: View { + let secondsElapsed: Int + let durationRemaining: Duration + let theme: Theme + + var body: some View { + VStack { + ProgressView(value: self.progress) + .progressViewStyle(MeetingProgressViewStyle(theme: self.theme)) + HStack { + VStack(alignment: .leading) { + Text("Time Elapsed") + .font(.caption) + Label( + Duration.seconds(self.secondsElapsed).formatted(.units()), + systemImage: "hourglass.bottomhalf.fill" + ) + } + Spacer() + VStack(alignment: .trailing) { + Text("Time Remaining") + .font(.caption) + Label(self.durationRemaining.formatted(.units()), systemImage: "hourglass.tophalf.fill") + .font(.body.monospacedDigit()) + .labelStyle(.trailingIcon) + } + } + } + .padding([.top, .horizontal]) + } + + private var totalDuration: Duration { + .seconds(self.secondsElapsed) + self.durationRemaining + } + + private var progress: Double { + guard self.totalDuration > .seconds(0) else { return 0 } + return Double(self.secondsElapsed) / Double(self.totalDuration.components.seconds) + } +} + +struct MeetingProgressViewStyle: ProgressViewStyle { + var theme: Theme + + func makeBody(configuration: Configuration) -> some View { + ZStack { + RoundedRectangle(cornerRadius: 10) + .fill(self.theme.accentColor) + .frame(height: 20) + + ProgressView(configuration) + .tint(self.theme.mainColor) + .frame(height: 12) + .padding(.horizontal) + } + } +} + +struct MeetingTimerView: View { + let standup: Standup + let speakerIndex: Int + + var body: some View { + Circle() + .strokeBorder(lineWidth: 24) + .overlay { + VStack { + Group { + if self.speakerIndex < self.standup.attendees.count { + Text(self.standup.attendees[self.speakerIndex].name) + } else { + Text("Someone") + } + } + .font(.title) + Text("is speaking") + Image(systemName: "mic.fill") + .font(.largeTitle) + .padding(.top) + } + .foregroundStyle(self.standup.theme.accentColor) + } + .overlay { + ForEach(Array(self.standup.attendees.enumerated()), id: \.element.id) { index, attendee in + if index < self.speakerIndex + 1 { + SpeakerArc(totalSpeakers: self.standup.attendees.count, speakerIndex: index) + .rotation(Angle(degrees: -90)) + .stroke(self.standup.theme.mainColor, lineWidth: 12) + } + } + } + .padding(.horizontal) + } +} + +struct SpeakerArc: Shape { + let totalSpeakers: Int + let speakerIndex: Int + + func path(in rect: CGRect) -> Path { + let diameter = min(rect.size.width, rect.size.height) - 24 + let radius = diameter / 2 + let center = CGPoint(x: rect.midX, y: rect.midY) + return Path { path in + path.addArc( + center: center, + radius: radius, + startAngle: self.startAngle, + endAngle: self.endAngle, + clockwise: false + ) + } + } + + private var degreesPerSpeaker: Double { + 360 / Double(self.totalSpeakers) + } + private var startAngle: Angle { + Angle(degrees: self.degreesPerSpeaker * Double(self.speakerIndex) + 1) + } + private var endAngle: Angle { + Angle(degrees: self.startAngle.degrees + self.degreesPerSpeaker - 1) + } +} + +struct MeetingFooterView: View { + let standup: Standup + var nextButtonTapped: () -> Void + let speakerIndex: Int + + var body: some View { + VStack { + HStack { + if self.speakerIndex < self.standup.attendees.count - 1 { + Text("Speaker \(self.speakerIndex + 1) of \(self.standup.attendees.count)") + } else { + Text("No more speakers.") + } + Spacer() + Button(action: self.nextButtonTapped) { + Image(systemName: "forward.fill") + } + } + } + .padding([.bottom, .horizontal]) + } +} + +//struct MyContainerView: View { +// @State var … +// @Binding var … +// @ObservedObject var … +// var body: some View { +// MyCoreView(…, …, …) +// } +//} +//struct MyCoreView: View { +// let … +// let … +// let … +// var body: some View { +// … +// } +//} + +#Preview { + MainActor.assumeIsolated { + NavigationStack { + RecordMeetingView( + store: Store(initialState: RecordMeetingFeature.State( + secondsElapsed: 9, + standup: .mock) + ) { +// RecordMeetingFeature() + } + ) + } + } +} + diff --git a/0249-tca-tour-pt7/Standups/Standups/SpeechClient.swift b/0249-tca-tour-pt7/Standups/Standups/SpeechClient.swift new file mode 100644 index 00000000..ba9ab947 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/SpeechClient.swift @@ -0,0 +1,105 @@ +@preconcurrency import Speech + +struct SpeechClient { + var requestAuthorization: @Sendable () async -> SFSpeechRecognizerAuthorizationStatus + var start: @Sendable () -> AsyncThrowingStream +} + +import Dependencies + +extension SpeechClient: DependencyKey { + static let liveValue = Self( + requestAuthorization: { + await withUnsafeContinuation { continuation in + SFSpeechRecognizer.requestAuthorization { status in + continuation.resume(with: .success(status)) + } + } + }, + start: { + AsyncThrowingStream { continuation in + let audioSession = AVAudioSession.sharedInstance() + do { + try audioSession.setCategory(.record, mode: .measurement, options: .duckOthers) + try audioSession.setActive(true, options: .notifyOthersOnDeactivation) + } catch { + continuation.finish(throwing: error) + return + } + + let audioEngine = AVAudioEngine() + let speechRecognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))! + let request = SFSpeechAudioBufferRecognitionRequest() + let recognitionTask = speechRecognizer.recognitionTask(with: request) { result, error in + switch (result, error) { + case let (.some(result), _): + continuation.yield(result.bestTranscription.formattedString) + case (_, .some): + continuation.finish(throwing: error) + case (.none, .none): + fatalError("It should not be possible to have both a nil result and nil error.") + } + } + + continuation.onTermination = { [audioEngine, recognitionTask] _ in + _ = speechRecognizer + audioEngine.stop() + audioEngine.inputNode.removeTap(onBus: 0) + recognitionTask.finish() + } + + audioEngine.inputNode.installTap( + onBus: 0, + bufferSize: 1024, + format: audioEngine.inputNode.outputFormat(forBus: 0) + ) { buffer, when in + request.append(buffer) + } + + audioEngine.prepare() + do { + try audioEngine.start() + } catch { + continuation.finish(throwing: error) + return + } + } + } + ) + + static let previewValue = SpeechClient( + requestAuthorization: { .authorized }, + start: { + AsyncThrowingStream { continuation in + Task { @MainActor in + var finalText = """ + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor \ + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud \ + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute \ + irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla \ + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui \ + officia deserunt mollit anim id est laborum. + """ + var text = "" + while true { + let word = finalText.prefix { $0 != " " } + try await Task.sleep(for: .milliseconds(word.count * 50 + .random(in: 0...200))) + finalText.removeFirst(word.count) + if finalText.first == " " { + finalText.removeFirst() + } + text += word + " " + continuation.yield(text) + } + } + } + } + ) +} + +extension DependencyValues { + var speechClient: SpeechClient { + get { self[SpeechClient.self] } + set { self[SpeechClient.self] = newValue } + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/StandupDetail.swift b/0249-tca-tour-pt7/Standups/Standups/StandupDetail.swift new file mode 100644 index 00000000..67c16354 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/StandupDetail.swift @@ -0,0 +1,216 @@ +import ComposableArchitecture +import SwiftUI + +struct StandupDetailFeature: Reducer { + struct State: Equatable { + @PresentationState var destination: Destination.State? + var standup: Standup + } + enum Action: Equatable { + case cancelEditStandupButtonTapped + case delegate(Delegate) + case deleteButtonTapped + case deleteMeetings(atOffsets: IndexSet) + case destination(PresentationAction) + case editButtonTapped + case saveStandupButtonTapped + enum Delegate: Equatable { + case deleteStandup(id: Standup.ID) + case standupUpdated(Standup) + } + } + @Dependency(\.dismiss) var dismiss + + // @Environment(\.dismiss) var dismiss + + struct Destination: Reducer { + enum State: Equatable { + case alert(AlertState) + case editStandup(StandupFormFeature.State) + } + enum Action: Equatable { + case alert(Alert) + case editStandup(StandupFormFeature.Action) + enum Alert { + case confirmDeletion + } + } + var body: some ReducerOf { + Scope(state: /State.editStandup, action: /Action.editStandup) { + StandupFormFeature() + } + } + } + + var body: some ReducerOf { + Reduce { state, action in + switch action { + case .cancelEditStandupButtonTapped: + state.destination = nil + return .none + + case .delegate: + return .none + + case .deleteButtonTapped: + state.destination = .alert( + AlertState { + TextState("Are you sure you want to delete?") + } actions: { + ButtonState(role: .destructive, action: .confirmDeletion) { + TextState("Delete") + } + } + ) + return .none + + case .deleteMeetings(atOffsets: let indices): + state.standup.meetings.remove(atOffsets: indices) + return .none + + case .destination(.presented(.alert(.confirmDeletion))): + // TODO: Delete this standup + return .run { [id = state.standup.id] send in + await send(.delegate(.deleteStandup(id: id))) + await self.dismiss() + } + + case .destination: + return .none + + case .editButtonTapped: + state.destination = .editStandup(StandupFormFeature.State(standup: state.standup)) + return .none + case .saveStandupButtonTapped: + guard case let .editStandup(standupForm) = state.destination + else { return .none } + state.standup = standupForm.standup + state.destination = nil + return .none + } + } + .ifLet(\.$destination, action: /Action.destination) { + Destination() + } + .onChange(of: \.standup) { oldValue, newValue in + Reduce { state, action in + .send(.delegate(.standupUpdated(newValue))) + } + } + } +} + +struct StandupDetailView: View { + let store: StoreOf + + var body: some View { + WithViewStore(self.store, observe: { $0 }) { viewStore in + List { + Section { + NavigationLink( + state: AppFeature.Path.State.recordMeeting(RecordMeetingFeature.State(standup: viewStore.standup)) + ) { + Label("Start Meeting", systemImage: "timer") + .font(.headline) + .foregroundColor(.accentColor) + } + HStack { + Label("Length", systemImage: "clock") + Spacer() + Text(viewStore.standup.duration.formatted(.units())) + } + + HStack { + Label("Theme", systemImage: "paintpalette") + Spacer() + Text(viewStore.standup.theme.name) + .padding(4) + .foregroundColor(viewStore.standup.theme.accentColor) + .background(viewStore.standup.theme.mainColor) + .cornerRadius(4) + } + } header: { + Text("Standup Info") + } + + if !viewStore.standup.meetings.isEmpty { + Section { + ForEach(viewStore.standup.meetings) { meeting in + NavigationLink(state: AppFeature.Path.State.meeting(meeting, standup: viewStore.standup)) { + HStack { + Image(systemName: "calendar") + Text(meeting.date, style: .date) + Text(meeting.date, style: .time) + } + } + } + .onDelete { indices in + viewStore.send(.deleteMeetings(atOffsets: indices)) + } + } header: { + Text("Past meetings") + } + } + + Section { + ForEach(viewStore.standup.attendees) { attendee in + Label(attendee.name, systemImage: "person") + } + } header: { + Text("Attendees") + } + + Section { + Button("Delete") { + viewStore.send(.deleteButtonTapped) + } + .foregroundColor(.red) + .frame(maxWidth: .infinity) + } + } + .navigationTitle(viewStore.standup.title) + .toolbar { + Button("Edit") { + viewStore.send(.editButtonTapped) + } + } + .alert( + store: self.store.scope(state: \.$destination, action: { .destination($0) }), + state: /StandupDetailFeature.Destination.State.alert, + action: StandupDetailFeature.Destination.Action.alert + ) + .sheet( + store: self.store.scope(state: \.$destination, action: { .destination($0) }), + state: /StandupDetailFeature.Destination.State.editStandup, + action: StandupDetailFeature.Destination.Action.editStandup + ) { store in + NavigationStack { + StandupFormView(store: store) + .navigationTitle("Edit standup") + .toolbar { + ToolbarItem { + Button("Save") { viewStore.send(.saveStandupButtonTapped) } + } + ToolbarItem(placement: .cancellationAction) { + Button("Cancel") { viewStore.send(.cancelEditStandupButtonTapped) } + } + } + } + } + } + } +} + +#Preview { + MainActor.assumeIsolated { + NavigationStack { + StandupDetailView( + store: Store(initialState: StandupDetailFeature.State( + standup: .mock)) { + StandupDetailFeature() + ._printChanges() + } + ) + } + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/StandupForm.swift b/0249-tca-tour-pt7/Standups/Standups/StandupForm.swift new file mode 100644 index 00000000..4a71505d --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/StandupForm.swift @@ -0,0 +1,136 @@ +import ComposableArchitecture +import SwiftUI + +struct StandupFormFeature: Reducer { + struct State: Equatable { + @BindingState var focus: Field? + @BindingState var standup: Standup + + enum Field: Hashable { + case attendee(Attendee.ID) + case title + } + + init(focus: Field? = .title, standup: Standup) { + self.focus = focus + self.standup = standup + if self.standup.attendees.isEmpty { + @Dependency(\.uuid) var uuid + self.standup.attendees.append(Attendee(id: uuid())) + } + } + } + enum Action: BindableAction, Equatable { + case addAttendeeButtonTapped + case binding(BindingAction) + case deleteAttendees(atOffsets: IndexSet) + } + @Dependency(\.uuid) var uuid + var body: some ReducerOf { + BindingReducer() + Reduce { state, action in + switch action { + case .addAttendeeButtonTapped: + let id = self.uuid() + state.standup.attendees.append(Attendee(id: id)) + state.focus = .attendee(id) + return .none + + case .binding(_): + return .none + + case let .deleteAttendees(atOffsets: indices): + state.standup.attendees.remove(atOffsets: indices) + if state.standup.attendees.isEmpty { + state.standup.attendees.append(Attendee(id: self.uuid())) + } + guard let firstIndex = indices.first + else { return .none } + let index = min(firstIndex, state.standup.attendees.count - 1) + state.focus = .attendee(state.standup.attendees[index].id) + return .none + } + } + } +} + +struct StandupFormView: View { + let store: StoreOf + @FocusState var focus: StandupFormFeature.State.Field? + + var body: some View { + WithViewStore(self.store, observe: { $0 }) { viewStore in + Form { + Section { + TextField("Title", text: viewStore.$standup.title) + .focused(self.$focus, equals: .title) + HStack { + Slider(value: viewStore.$standup.duration.minutes, in: 5...30, step: 1) { + Text("Length") + } + Spacer() + Text(viewStore.standup.duration.formatted(.units())) + } + ThemePicker(selection: viewStore.$standup.theme) + } header: { + Text("Standup Info") + } + Section { + ForEach(viewStore.$standup.attendees) { $attendee in + TextField("Name", text: $attendee.name) + .focused(self.$focus, equals: .attendee(attendee.id)) + } + .onDelete { indices in + viewStore.send(.deleteAttendees(atOffsets: indices)) + } + + Button("Add attendee") { + viewStore.send(.addAttendeeButtonTapped) + } + } header: { + Text("Attendees") + } + } + .bind(viewStore.$focus, to: self.$focus) + } + } +} + +extension Duration { + fileprivate var minutes: Double { + get { Double(self.components.seconds / 60) } + set { self = .seconds(newValue * 60) } + } +} + +struct ThemePicker: View { + @Binding var selection: Theme + + var body: some View { + Picker("Theme", selection: self.$selection) { + ForEach(Theme.allCases) { theme in + ZStack { + RoundedRectangle(cornerRadius: 4) + .fill(theme.mainColor) + Label(theme.name, systemImage: "paintpalette") + .padding(4) + } + .foregroundColor(theme.accentColor) + .fixedSize(horizontal: false, vertical: true) + .tag(theme) + } + } + } +} + +#Preview { + MainActor.assumeIsolated { + NavigationStack { + StandupFormView( + store: Store(initialState: StandupFormFeature.State(standup: .mock)) { + StandupFormFeature() + } + ) + } + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/StandupsApp.swift b/0249-tca-tour-pt7/Standups/Standups/StandupsApp.swift new file mode 100644 index 00000000..e8b3776a --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/StandupsApp.swift @@ -0,0 +1,30 @@ +import ComposableArchitecture +import SwiftUI + +@main +struct StandupsApp: App { + var body: some Scene { + WindowGroup { + var standup = Standup.mock + let _ = standup.duration = .seconds(6) + + AppView( + store: Store( + initialState: AppFeature.State( + path: StackState([ +// .detail(StandupDetailFeature.State(standup: .mock)), +// .recordMeeting(RecordMeetingFeature.State(standup: standup)), +// .recordMeeting(RecordMeetingFeature.State(standup: standup)), + ]), + standupsList: StandupsListFeature.State( +// standups: [standup] + ) + ) + ) { + AppFeature() + ._printChanges() + } + ) + } + } +} diff --git a/0249-tca-tour-pt7/Standups/Standups/StandupsList.swift b/0249-tca-tour-pt7/Standups/Standups/StandupsList.swift new file mode 100644 index 00000000..c57107de --- /dev/null +++ b/0249-tca-tour-pt7/Standups/Standups/StandupsList.swift @@ -0,0 +1,150 @@ +import ComposableArchitecture +import SwiftUI + +struct StandupsListFeature: Reducer { + struct State: Equatable { + @PresentationState var addStandup: StandupFormFeature.State? + var standups: IdentifiedArrayOf = [] + init( + addStandup: StandupFormFeature.State? = nil + ) { + self.addStandup = addStandup + do { + @Dependency(\.dataManager.load) var loadData + self.standups = try JSONDecoder().decode(IdentifiedArrayOf.self, from: loadData(.standups)) + } catch { + self.standups = [] + } + } + } + enum Action: Equatable { + case addButtonTapped + case addStandup(PresentationAction) + case cancelStandupButtonTapped + case saveStandupButtonTapped + } + @Dependency(\.uuid) var uuid + var body: some ReducerOf { + Reduce { state, action in + switch action { + case .addButtonTapped: + state.addStandup = StandupFormFeature.State(standup: Standup(id: self.uuid())) + return .none + + case .addStandup: + return .none + + case .cancelStandupButtonTapped: + state.addStandup = nil + return .none + + case .saveStandupButtonTapped: + guard let standup = state.addStandup?.standup + else { return .none } + state.standups.append(standup) + state.addStandup = nil + return .none + } + } + .ifLet(\.$addStandup, action: /Action.addStandup) { + StandupFormFeature() + } + } +} + +struct StandupsListView: View { + let store: StoreOf + + var body: some View { + WithViewStore(self.store, observe: \.standups) { viewStore in + List { + ForEach(viewStore.state) { standup in + NavigationLink( + state: AppFeature.Path.State.detail(StandupDetailFeature.State(standup: standup)) + ) { + CardView(standup: standup) + } + .listRowBackground(standup.theme.mainColor) + } + } + .navigationTitle("Daily Standups") + .toolbar { + ToolbarItem { + Button("Add") { + viewStore.send(.addButtonTapped) + } + } + } + .sheet( + store: self.store.scope( + state: \.$addStandup, + action: { .addStandup($0) } + ) + ) { store in + NavigationStack { + StandupFormView(store: store) + .navigationTitle("New standup") + .toolbar { + ToolbarItem { + Button("Save") { viewStore.send(.saveStandupButtonTapped) } + } + ToolbarItem(placement: .cancellationAction) { + Button("Cancel") { viewStore.send(.cancelStandupButtonTapped) } + } + } + } + } + } + } +} + +struct CardView: View { + let standup: Standup + + var body: some View { + VStack(alignment: .leading) { + Text(self.standup.title) + .font(.headline) + Spacer() + HStack { + Label("\(self.standup.attendees.count)", systemImage: "person.3") + Spacer() + Label(self.standup.duration.formatted(.units()), systemImage: "clock") + .labelStyle(.trailingIcon) + } + .font(.caption) + } + .padding() + .foregroundColor(self.standup.theme.accentColor) + } +} + +struct TrailingIconLabelStyle: LabelStyle { + func makeBody(configuration: Configuration) -> some View { + HStack { + configuration.title + configuration.icon + } + } +} + +extension LabelStyle where Self == TrailingIconLabelStyle { + static var trailingIcon: Self { Self() } +} + +#Preview { + MainActor.assumeIsolated { + NavigationStack { + StandupsListView( + store: Store( + initialState: StandupsListFeature.State( +// standups: [.mock] + ) + ) { + StandupsListFeature() + ._printChanges() + } + ) + } + } +} diff --git a/0249-tca-tour-pt7/Standups/StandupsTests/AppTests.swift b/0249-tca-tour-pt7/Standups/StandupsTests/AppTests.swift new file mode 100644 index 00000000..7b013b3c --- /dev/null +++ b/0249-tca-tour-pt7/Standups/StandupsTests/AppTests.swift @@ -0,0 +1,292 @@ +import ComposableArchitecture +import XCTest +@testable import Standups + +@MainActor +final class AppTests: XCTestCase { + func testEdit() async { + let standup = Standup.mock + let store = TestStore( + initialState: AppFeature.State( + standupsList: StandupsListFeature.State() + ) + ) { + AppFeature() + } withDependencies: { + $0.continuousClock = ImmediateClock() + $0.dataManager = .mock(initialData: try? JSONEncoder().encode([standup])) + } + await store.send(.path(.push(id: 0, state: .detail(StandupDetailFeature.State(standup: standup))))) { + $0.path[id: 0] = .detail(StandupDetailFeature.State(standup: standup)) + } + await store.send(.path(.element(id: 0, action: .detail(.editButtonTapped)))) { + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.destination = .editStandup(StandupFormFeature.State(standup: standup)) + } + var editedStandup = standup + editedStandup.title = "Point-Free Morning Sync" + await store.send(.path(.element(id: 0, action: .detail(.destination(.presented(.editStandup(.set(\.$standup, editedStandup)))))))) { + $0.path[id: 0, case: /AppFeature.Path.State.detail]? + .$destination[case: /StandupDetailFeature.Destination.State.editStandup]? + .standup.title = "Point-Free Morning Sync" + } + await store.send(.path(.element(id: 0, action: .detail(.saveStandupButtonTapped)))) { + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.destination = nil + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.standup.title = "Point-Free Morning Sync" + } + await store.receive(.path(.element(id: 0, action: .detail(.delegate(.standupUpdated(editedStandup)))))) { + $0.standupsList.standups[0].title = "Point-Free Morning Sync" + } + } + + func testEdit_NonExhaustive() async { + let standup = Standup.mock + let store = TestStore( + initialState: AppFeature.State( + standupsList: StandupsListFeature.State() + ) + ) { + AppFeature() + } withDependencies: { + $0.continuousClock = ImmediateClock() + $0.dataManager = .mock(initialData: try? JSONEncoder().encode([standup])) + } + store.exhaustivity = .off + await store.send(.path(.push(id: 0, state: .detail(StandupDetailFeature.State(standup: standup))))) + await store.send(.path(.element(id: 0, action: .detail(.editButtonTapped)))) + var editedStandup = standup + editedStandup.title = "Point-Free Morning Sync" + await store.send(.path(.element(id: 0, action: .detail(.destination(.presented(.editStandup(.set(\.$standup, editedStandup)))))))) + await store.send(.path(.element(id: 0, action: .detail(.saveStandupButtonTapped)))) + await store.skipReceivedActions() + store.assert { + $0.standupsList.standups[0].title = "Point-Free Morning Sync" + } + } + + + func testDeletion_NonExhaustive() async { + let standup = Standup.mock + let store = TestStore( + initialState: AppFeature.State( + path: StackState([ + .detail(StandupDetailFeature.State(standup: standup)) + ]), + standupsList: StandupsListFeature.State() + ) + ) { + AppFeature() + } withDependencies: { + $0.continuousClock = ImmediateClock() + $0.dataManager = .mock(initialData: try? JSONEncoder().encode([standup])) + } + store.exhaustivity = .off + + await store.send(.path(.element(id: 0, action: .detail(.deleteButtonTapped)))) + await store.send(.path(.element(id: 0, action: .detail(.destination(.presented(.alert(.confirmDeletion))))))) + await store.skipReceivedActions() + store.assert { + $0.path = StackState([]) + $0.standupsList.standups = [] + } + } + + func testTimerRunOutEndMeeting() async { + let standup = Standup( + id: UUID(), + attendees: [Attendee(id: UUID())], + duration: .seconds(1), + meetings: [], + theme: .bubblegum, + title: "Point-Free" + ) + let store = TestStore( + initialState: AppFeature.State( + path: StackState([ + .detail(StandupDetailFeature.State(standup: standup)), + .recordMeeting(RecordMeetingFeature.State(standup: standup)), + ]), + standupsList: StandupsListFeature.State() + ) + ) { + AppFeature() + } withDependencies: { + $0.continuousClock = ImmediateClock() + $0.date.now = Date(timeIntervalSince1970: 1234567890) + $0.speechClient.requestAuthorization = { .denied } + $0.uuid = .incrementing + $0.dataManager = .mock(initialData: try? JSONEncoder().encode([standup])) + } + store.exhaustivity = .off + await store.send(.path(.element(id: 1, action: .recordMeeting(.onTask)))) + await store.receive(.path(.element(id: 1, action: .recordMeeting(.delegate(.saveMeeting(transcript: "")))))) + await store.receive(.path(.popFrom(id: 1))) + store.assert { + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.standup.meetings = [ + Meeting( + id: UUID(0), + date: Date(timeIntervalSince1970: 1234567890), + transcript: "" + ) + ] + XCTAssertEqual($0.path.count, 1) + } + } + + func testTimerRunOutEndMeeting_WithSpeechRecognizer() async { + let standup = Standup( + id: UUID(), + attendees: [Attendee(id: UUID())], + duration: .seconds(1), + meetings: [], + theme: .bubblegum, + title: "Point-Free" + ) + let store = TestStore( + initialState: AppFeature.State( + path: StackState([ + .detail(StandupDetailFeature.State(standup: standup)), + .recordMeeting(RecordMeetingFeature.State(standup: standup)), + ]), + standupsList: StandupsListFeature.State() + ) + ) { + AppFeature() + } withDependencies: { + $0.continuousClock = ImmediateClock() + $0.date.now = Date(timeIntervalSince1970: 1234567890) + $0.speechClient.requestAuthorization = { .authorized } + $0.speechClient.start = { + AsyncThrowingStream { + // $0.yield("This") + // $0.yield("This was a") + // $0.yield("This was a really good ") + $0.yield("This was a really good meeting!") + // struct SomeError: Error {} + // $0.finish(throwing: SomeError()) + } + } + $0.dataManager = .mock(initialData: try? JSONEncoder().encode([standup])) + $0.uuid = .incrementing + } + store.exhaustivity = .off + await store.send(.path(.element(id: 1, action: .recordMeeting(.onTask)))) + await store.receive(.path(.element(id: 1, action: .recordMeeting(.delegate(.saveMeeting(transcript: "This was a really good meeting!")))))) + await store.receive(.path(.popFrom(id: 1))) + store.assert { + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.standup.meetings = [ + Meeting( + id: UUID(0), + date: Date(timeIntervalSince1970: 1234567890), + transcript: "This was a really good meeting!" + ) + ] + XCTAssertEqual($0.path.count, 1) + } + } + + func testEndMeetingEarlyDiscard() async { + let standup = Standup( + id: UUID(), + attendees: [Attendee(id: UUID())], + duration: .seconds(1), + meetings: [], + theme: .bubblegum, + title: "Point-Free" + ) + let store = TestStore( + initialState: AppFeature.State( + path: StackState([ + .detail(StandupDetailFeature.State(standup: standup)), + .recordMeeting(RecordMeetingFeature.State(standup: standup)), + ]), + standupsList: StandupsListFeature.State() + ) + ) { + AppFeature() + } withDependencies: { + $0.continuousClock = ImmediateClock() + $0.speechClient.requestAuthorization = { .denied } + $0.dataManager = .mock(initialData: try? JSONEncoder().encode([standup])) + } + store.exhaustivity = .off + await store.send(.path(.element(id: 1, action: .recordMeeting(.onTask)))) + await store.send(.path(.element(id: 1, action: .recordMeeting(.endMeetingButtonTapped)))) + await store.send(.path(.element(id: 1, action: .recordMeeting(.alert(.presented(.confirmDiscard)))))) + await store.skipReceivedActions() + + store.assert { + $0.path[id: 0, case: /AppFeature.Path.State.detail]?.standup.meetings = [] + XCTAssertEqual($0.path.count, 1) + } + } + + func testAdd() async { + let store = TestStore( + initialState: AppFeature.State( + standupsList: StandupsListFeature.State() + ) + ) { + AppFeature() + } withDependencies: { + $0.continuousClock = ImmediateClock() + $0.dataManager = .mock() + $0.uuid = .incrementing + } + store.exhaustivity = .off + + await store.send(.standupsList(.addButtonTapped)) + await store.send(.standupsList(.saveStandupButtonTapped)) + store.assert { + $0.standupsList.standups = [ + Standup( + id: UUID(0), + attendees: [Attendee(id: UUID(1))] + ) + ] + } + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/0249-tca-tour-pt7/Standups/StandupsTests/StandupDetailTests.swift b/0249-tca-tour-pt7/Standups/StandupsTests/StandupDetailTests.swift new file mode 100644 index 00000000..b5bb464a --- /dev/null +++ b/0249-tca-tour-pt7/Standups/StandupsTests/StandupDetailTests.swift @@ -0,0 +1,22 @@ +import ComposableArchitecture +import XCTest +@testable import Standups + +@MainActor +final class StandupDetailTests: XCTestCase { + func testEdit() async throws { + var standup = Standup.mock + let store = TestStore(initialState: StandupDetailFeature.State(standup: standup)) { + StandupDetailFeature() + } + store.exhaustivity = .off + + await store.send(.editButtonTapped) + standup.title = "Point-Free Morning Sync" + await store.send(.destination(.presented(.editStandup(.set(\.$standup, standup))))) + await store.send(.saveStandupButtonTapped) { + $0.standup.title = "Point-Free Morning Sync" + } + } +} + diff --git a/0249-tca-tour-pt7/Standups/StandupsTests/StandupFormTests.swift b/0249-tca-tour-pt7/Standups/StandupsTests/StandupFormTests.swift new file mode 100644 index 00000000..5f957ef4 --- /dev/null +++ b/0249-tca-tour-pt7/Standups/StandupsTests/StandupFormTests.swift @@ -0,0 +1,34 @@ +import ComposableArchitecture +import XCTest +@testable import Standups + +@MainActor +final class StandupFormTests: XCTestCase { + func testAddDeleteAttendee() async { + let store = TestStore( + initialState: StandupFormFeature.State( + standup: Standup( + id: UUID(), + attendees: [ + Attendee(id: UUID()) + ] + ) + ) + ) { + StandupFormFeature() + } withDependencies: { + $0.uuid = .incrementing + } + + await store.send(.addAttendeeButtonTapped) { + $0.focus = .attendee(UUID(0)) + $0.standup.attendees.append( + Attendee(id: UUID(0)) + ) + } + await store.send(.deleteAttendees(atOffsets: [1])) { + $0.focus = .attendee($0.standup.attendees[0].id) + $0.standup.attendees.remove(at: 1) + } + } +} diff --git a/0249-tca-tour-pt7/Standups/StandupsTests/Standups.xctestplan b/0249-tca-tour-pt7/Standups/StandupsTests/Standups.xctestplan new file mode 100644 index 00000000..1580b9aa --- /dev/null +++ b/0249-tca-tour-pt7/Standups/StandupsTests/Standups.xctestplan @@ -0,0 +1,29 @@ +{ + "configurations" : [ + { + "id" : "8AE6BE17-2A32-484D-BD5F-B660D0044BF9", + "name" : "Test Scheme Action", + "options" : { + + } + } + ], + "defaultOptions" : { + "codeCoverage" : false, + "targetForVariableExpansion" : { + "containerPath" : "container:Standups.xcodeproj", + "identifier" : "CA9CB7232A411ECD003BDB3B", + "name" : "Standups" + } + }, + "testTargets" : [ + { + "target" : { + "containerPath" : "container:Standups.xcodeproj", + "identifier" : "CA9CB7332A411ECD003BDB3B", + "name" : "StandupsTests" + } + } + ], + "version" : 1 +} diff --git a/0249-tca-tour-pt7/Standups/StandupsTests/StandupsListTests.swift b/0249-tca-tour-pt7/Standups/StandupsTests/StandupsListTests.swift new file mode 100644 index 00000000..a43abd5c --- /dev/null +++ b/0249-tca-tour-pt7/Standups/StandupsTests/StandupsListTests.swift @@ -0,0 +1,62 @@ +import ComposableArchitecture +import XCTest +@testable import Standups + +@MainActor +final class StandupsListTests: XCTestCase { + func testAddStandup() async { + let store = TestStore(initialState: StandupsListFeature.State()) { + StandupsListFeature() + } withDependencies: { + $0.dataManager = .mock() + $0.uuid = .incrementing + } + + var standup = Standup( + id: UUID(0), + attendees: [Attendee(id: UUID(1))] + ) + await store.send(.addButtonTapped) { + $0.addStandup = StandupFormFeature.State( + standup: standup + ) + } + standup.title = "Point-Free Morning Sync" + await store.send(.addStandup(.presented(.set(\.$standup, standup)))) { + $0.addStandup?.standup.title = "Point-Free Morning Sync" + } + await store.send(.saveStandupButtonTapped) { + $0.addStandup = nil + $0.standups[0] = Standup( + id: UUID(0), + attendees: [Attendee(id: UUID(1))], + title: "Point-Free Morning Sync" + ) + } + } + + func testAddStandup_NonExhaustive() async { + let store = TestStore(initialState: StandupsListFeature.State()) { + StandupsListFeature() + } withDependencies: { + $0.dataManager = .mock() + $0.uuid = .incrementing + } + store.exhaustivity = .off(showSkippedAssertions: true) + + var standup = Standup( + id: UUID(0), + attendees: [Attendee(id: UUID(1))] + ) + await store.send(.addButtonTapped) + standup.title = "Point-Free Morning Sync" + await store.send(.addStandup(.presented(.set(\.$standup, standup)))) + await store.send(.saveStandupButtonTapped) { + $0.standups[0] = Standup( + id: UUID(0), + attendees: [Attendee(id: UUID(1))], + title: "Point-Free Morning Sync" + ) + } + } +} diff --git a/README.md b/README.md index 9d68def8..b1099a97 100644 --- a/README.md +++ b/README.md @@ -249,3 +249,5 @@ This repository is the home of code written on episodes of [Point-Free](https:// 1. [Tour of the Composable Architecture 1.0: Navigation](0245-tca-tour-pt3) 1. [Tour of the Composable Architecture 1.0: Stacks](0246-tca-tour-pt4) 1. [Tour of the Composable Architecture 1.0: Correctness](0247-tca-tour-pt5) +1. [Tour of the Composable Architecture 1.0: Dependencies](0248-tca-tour-pt6) +1. [Tour of the Composable Architecture 1.0: Persistence](0249-tca-tour-pt7)

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 literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@1x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..f35a2253e5c70c4568694483d3802db67b0052dd GIT binary patch literal 1691 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1SFYWcSQlIS*a18X}-P;T0k}j0~@0d12d4t z2!srbQVgtMHUmQ#qcofy$EX2S12l%wkO5?vC=jQ$XELxr)z<)N5bywEph*xqAhRMh zCpWPqzepjVC||)y&rr_df|JWHB*npjeA%XB5lEw&J8j&QBGy=V44x+*jSe1XxOl30@Hl30=obgq%1uAzahfnkWDxs|b@m7#GI!~_&& zNJfCd!YU#twKzYg6cmGY=0*lUpl=8wZS*mu(X}FUhUR6K*cm~!pb4YvibTj`vk+Mt zU8{dlW-2fpg57EewGCMes@_H)loXMYCM4a1MS%(5jtdwpuuNpfb>tzFAuy|&c)B=- zSP0Gyip>^w6q$Q-?#p%A&Z{OaN$T**6_sjs%}N$@)f6$|*!Oc)y~Bt0AL73PG`^l~ z-`Al~w}8b}L0I+DEq(*?;H7&v<^~k@nALf{qRo*6!S7cjEV@_8V7HgY+&u*=1p z`&dZJa^F)ce>~fk_W9rI_7@&651)Ln<&V?6qTnmp8=@vWUAo}ApqNY7ZvC8Twr}*G zech;iWy?RHqN2Sl^Ny>nYrHMAx?91KwfE((aQ>Ez9(nnv qCxy8}J@YpnoUpu literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x-1.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..cd71898e29070f59d7c8b24bb3f60de1c89af70f GIT binary patch literal 2551 zcmZ`*3pkYN7ykyuj%3^K-y9gMMaG1Hn|t=!|!rb1{& zNLahNV6aKi)h$|9g-W?}VY@0R{@-BB+Iqj|eb4#cbAG>b&ikJ4dA>vscPA~V0TciL zEoU;(6O$X@0YMxJRY-Mn#W8tYI3ti3z=BJ-;Yt*M zm*7B^%MvnR5^iXi04K3GnfAbex^f#~0-JUbhS-}>-8^89JU$C%2S>t@CIl!92E+3M z**H()wplp%W^eMHP#BIwAjD!ZTxbNUXyIrZXh} z@DN!7CZ7{7EcR1= z|3XO^;a>#_Iqa{*Qd(wU(}yvWBVL&SZu$~wL=Kk~CIIUpV37Ff)c#}mT-+QW^=rU6 zhB-j6ESw{srED1rj~7b#QU~D?^S$N~xPjLl$PhA!3?YkvMxs&HD5NzKML})A*`RPX zw%#)g|8ko{p*#y5)srRQg^H9nNZ5czf&+n4u6V?M%=4k2k-NhX@+c&IS(f1TNF}}U9E%PuvnX_^u)9gMx*0e73AAcH} z7|i~ArDdU6TR?fx>Jp4>GeaOMc5h4X_H}S+iavB@xid*2t=tXW(UW!|>UUPr`M=Y< z;3J2+6gY-RMd}V|rj*`i`s5)uLj3hAv;_Z7btaz&2Fn+dH%-G zQkOcB`sn?`Z+~kF2^#1|-hB(;69qskuRxcEi@FK;r4u_~Es$AyZ})V}xX?>}xZ~_QP0i5{@5?f?wrImV@+X#P#o;rXS&0wS z`WDewEyILLB3vJxAWvlqF3Ens zj5~(f-7UCXiCf=OiyiXxZneIC?cBA=iuzzg(wI?POP7``q5A3TsN%o^-B(jd?_z>! z4vL|u@8cIXKGS{HS8v$b6RN&=x1nKKw3;uoyLNq{hgnQ5&i6!WW~z^NF&0Q(?zeSU zf5zmJUkp1$(4T`76G*@M9tlLUFnjJqZqhh|=aWtjhHtPFA9aw%T#eUWV(Xe;rs>RX zq32$FIP6vU&dJK|^joL0(E}LWZE|U-KK9|m25-iXC6_;bUs2nxS5cuKv1PZ8cc)86 zGdqE`K7nDmF#<}dd0?88>=@mJIaNmLTKcvyo$id8qPV+bhjv2YiR3GynmhJam~6eR zjt7n;x#p(DU;9IEZ*YtNvOr;3k6#8IK<(%?Djm|jA-YZP-*^=9EVox>C8Zv|Yu`&8 z<4OT1ugUcM_MalkKP0r%G%YGNd0ala`~oK9$eT#l(qMU`aX?Y0f2Szc87pq92Gl#x zbeUfGf#FqUH2&Zgvm~V1JSW>xGEkaaCeiNisoQ^C)!zud>`2&fY>HNy#G>^lb*e|VXInlo9pcndpXl~XK8*0 z6>=f-w3>Ql|5I}+W%OxK96|t z&AM3a?cw_kZLJJS;JRzbTMBQP*U1Rz?Bi2UYzQ{aZtKfmac%DS)aNq~K3XJ8!J6)2 zoVKeltVpr)TwE1>ATkO+A>Q1R{Ql(gcv;7mSTCwE$_JuxUKFF|c&UXoxgwmIf6Atl z=qhEDRaHLoe^8T77`fK7Bjs&t8_2u_8uci)$`K7sgHF+ZYO`G~UXrkx&YXiFv zWSIZ@M`!!7=H8mLYH8f&Ok(g<(U#S}hd}G@FsmX?$X)K98KU9W(G?nIdd3d)ft+Y_lh{NnK~jm@nuC{r>@=MEATK0K~7xmeL2lu7>X`YGj4k2A@g_?v@&^#1`> CD)Gwz literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cd71898e29070f59d7c8b24bb3f60de1c89af70f GIT binary patch literal 2551 zcmZ`*3pkYN7ykyuj%3^K-y9gMMaG1Hn|t=!|!rb1{& zNLahNV6aKi)h$|9g-W?}VY@0R{@-BB+Iqj|eb4#cbAG>b&ikJ4dA>vscPA~V0TciL zEoU;(6O$X@0YMxJRY-Mn#W8tYI3ti3z=BJ-;Yt*M zm*7B^%MvnR5^iXi04K3GnfAbex^f#~0-JUbhS-}>-8^89JU$C%2S>t@CIl!92E+3M z**H()wplp%W^eMHP#BIwAjD!ZTxbNUXyIrZXh} z@DN!7CZ7{7EcR1= z|3XO^;a>#_Iqa{*Qd(wU(}yvWBVL&SZu$~wL=Kk~CIIUpV37Ff)c#}mT-+QW^=rU6 zhB-j6ESw{srED1rj~7b#QU~D?^S$N~xPjLl$PhA!3?YkvMxs&HD5NzKML})A*`RPX zw%#)g|8ko{p*#y5)srRQg^H9nNZ5czf&+n4u6V?M%=4k2k-NhX@+c&IS(f1TNF}}U9E%PuvnX_^u)9gMx*0e73AAcH} z7|i~ArDdU6TR?fx>Jp4>GeaOMc5h4X_H}S+iavB@xid*2t=tXW(UW!|>UUPr`M=Y< z;3J2+6gY-RMd}V|rj*`i`s5)uLj3hAv;_Z7btaz&2Fn+dH%-G zQkOcB`sn?`Z+~kF2^#1|-hB(;69qskuRxcEi@FK;r4u_~Es$AyZ})V}xX?>}xZ~_QP0i5{@5?f?wrImV@+X#P#o;rXS&0wS z`WDewEyILLB3vJxAWvlqF3Ens zj5~(f-7UCXiCf=OiyiXxZneIC?cBA=iuzzg(wI?POP7``q5A3TsN%o^-B(jd?_z>! z4vL|u@8cIXKGS{HS8v$b6RN&=x1nKKw3;uoyLNq{hgnQ5&i6!WW~z^NF&0Q(?zeSU zf5zmJUkp1$(4T`76G*@M9tlLUFnjJqZqhh|=aWtjhHtPFA9aw%T#eUWV(Xe;rs>RX zq32$FIP6vU&dJK|^joL0(E}LWZE|U-KK9|m25-iXC6_;bUs2nxS5cuKv1PZ8cc)86 zGdqE`K7nDmF#<}dd0?88>=@mJIaNmLTKcvyo$id8qPV+bhjv2YiR3GynmhJam~6eR zjt7n;x#p(DU;9IEZ*YtNvOr;3k6#8IK<(%?Djm|jA-YZP-*^=9EVox>C8Zv|Yu`&8 z<4OT1ugUcM_MalkKP0r%G%YGNd0ala`~oK9$eT#l(qMU`aX?Y0f2Szc87pq92Gl#x zbeUfGf#FqUH2&Zgvm~V1JSW>xGEkaaCeiNisoQ^C)!zud>`2&fY>HNy#G>^lb*e|VXInlo9pcndpXl~XK8*0 z6>=f-w3>Ql|5I}+W%OxK96|t z&AM3a?cw_kZLJJS;JRzbTMBQP*U1Rz?Bi2UYzQ{aZtKfmac%DS)aNq~K3XJ8!J6)2 zoVKeltVpr)TwE1>ATkO+A>Q1R{Ql(gcv;7mSTCwE$_JuxUKFF|c&UXoxgwmIf6Atl z=qhEDRaHLoe^8T77`fK7Bjs&t8_2u_8uci)$`K7sgHF+ZYO`G~UXrkx&YXiFv zWSIZ@M`!!7=H8mLYH8f&Ok(g<(U#S}hd}G@FsmX?$X)K98KU9W(G?nIdd3d)ft+Y_lh{NnK~jm@nuC{r>@=MEATK0K~7xmeL2lu7>X`YGj4k2A@g_?v@&^#1`> CD)Gwz literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@3x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8ad93eefeb78fa3ff5d07ad60295eb1001381c GIT binary patch literal 3274 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 literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@1x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..2849afdb91038c3643a1951bb90e7c6123bd4b13 GIT binary patch literal 2012 zcmeAS@N?(olHy`uVBq!ia0vp^vLMXC1SD^M{15@8W~D}Wruq6ZXaU(A3~Y=-49q|l zBM>q$N-?m4*$fO}jM8v+9HRzQ4bT`yLk5sxqClM1p2@%hRbK<7LBIoufhIxdfXs^2 zoZQ5c{33;bqI?A-JwrVcpd8ZzCb&M?1vz1-eDb(;wxV%QuQiw3qZOUY$~jP%-qzHM1_jnoV;SI3R@+x3M(KR zB&@Hb09I0xZL1XF8=&BvUzDm~re~mMpk&9TprBw=l#*r@P?Wt5Z@Sn2DR zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)QswftllyTAW;zSx}OhpQiva zH!&%{w8U0P31kr*K-`&Hk%_P=uNdkrpa=CqGWv#k2Kv~v0X++MABwJu!~&d}N;1=M z*aeb-XaffZ#Emu}7g&KKG14V7H#M&q=pQ>HOB=A$FeDJ3L(&+5OCyp5l18AntelHd zK}jYgKR?F~TMDw#M^}YrfG;q*QxZ!OT@p)D?TieJ40R0+bPWtc49%^KjjRmKqaY@r zC_^#=6c$zyL8-<0Ii;W&v@8 z(&$?Ki!xJz=@9HzL#S=YVo>!q`k_;y^tV1Z>KJ1(`uXMyDcbE&6` zV~7Xu*3f8wVMmd9Gw;6r#>28@8ggNT%4cPQ-8>%_RG;9{3eEN z8u}8xK6|ox;*zTcD;;Y~d-C-2H0Q{_odMXo(n{+ppS$8pQ<5C2~;I#4!c#v|qa z3+wY&>|y(TO=-1l^6VJDho6te*~dL{pLE2s+5Cop;nIxvp8q~M>P3FJUYs!H-s`6a zkE<2`3Z28x6YbWYFg4-6ROaEhCj}SV#W^3P{H$`6ef~QBpXG{p%T@{JO-Uc2V_J1s}6co__LW^|U>bhOt4ax4&Ik z+1_`4-MO0XpO?y=b$&@ZJI2|i$j2v#v(|ohdN4ui=C0dQ_gJkgtMq7<{cvE?9_{Cc zU1IA6t#jrLw9-=Uoake@(cW7I}RsukC`z^I7o|MJNNjhN*t6X!_Y-&SGYmGn{$IL5M|XB)l2*}A zlfQotzfe{3-Wum2c`w14<2?X9}s^^p5ZZ>*I&8N1YEjgo3! z2G4}#i4(r1O=vszVAAINJE_szoljgTDW2mj#XeVl@3pnPeM^)xog<$VZ U^xvOzopr0KqNk_y7O^ literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x-1.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..72064904e4220f040cd33ad11dfb548764107caa GIT binary patch literal 3175 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 E6X2~9T>t<8 literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..72064904e4220f040cd33ad11dfb548764107caa GIT binary patch literal 3175 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 E6X2~9T>t<8 literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@3x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..44d767081d0204f880b98499c0d51637c889b34b GIT binary patch literal 4790 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 Y*3)!uekmT6)BkLg6*Uw}pF literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@1x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..6a8f8bedd5f7cbf47f3bab8c9bc1395057fcbe4a GIT binary patch literal 2551 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 literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@2x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4e9810e8e14411fd576a4671d13e44c6f3964860 GIT binary patch literal 4448 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 literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@3x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..0d3d57426280e57e700229bbb171bb2a43a36315 GIT binary patch literal 5742 zcma)A1yoes_8)3Mx=Tush8a4>89GI}2SsXNh8BhnkuE_(r3EAf1VK7SN(li$kPZm} zkrX79|De9_^L_8Vwf<+;xqHv~?ca`b_PuM}8>6SAPDad33;+PgG&NKVu+sNp65(R6 zb-=s`tjIu^Y1(UR0|c--5dero4Zy={IM^QmhZ#WdQwIP{a4!F)TjKEjw!yl=5d~a0 zqr*=7C=>wyw|yX1UJMQF#CrNA^-#VDXBTU%(91rh;?aLN&LaBx69 z?Cc>1Dr&#!*ncoiBpU4w0fT*fd_X?pAU6*Ou&Au8ELcPgEG8z5wGj67b46SG3cGr8 z{c`dzKPm`MTMv{w8s+B7apBk6#?1>26C&Cx?cO+NO-(_J71YaOvQIH7u zztOP8{*~Xqv3#xF|0fBJvi~2kE|6cepPTV3N9aWcke`QWu7YwwxO!sikrNdYf&R?x zKajtx`-5rrKbe0Ze=xCyL6kiZ7foa2=H@K--+BlN{-@PH9B5+?+|C+ptzwNv$cc%F zi3*E~2#bgsiAqDnB_LuF@LwMO&Fl{s7rOy5GeCH{IeT54p`5gs2zG!)FRoDVf588w z{>?OYMWN-yepCLj{7;to-}rwE_$T~Ns;&nLf$hYfxr+Xd_UGDfdnov#8UJX`U!DJR z72Eo9#Mo{5*KH(6{CGW^0sx>U&{R=0^2OP@<@bR0J=6A4)7ppG$w|CNP7IHf$<0-7 zXi)0Ms6>?PMw`Wy?mag$;I~aUH!xXwR&DT5UZSvZAg^mCrbIuQ@roJ&0Ud&18LnXU zxSQb6#=*zF>9jQvrmlN*5CDUX!eA-S{Az1Y=Z@NrSlfTB&cfpO3YCN(vg6zgrjsON z#+A$siVb5P#tNklUdh_%=Qvw5xN@bXs%SFg6UrS;ZQ*<;h12j5T}MZ%TX<8v_<;t7 zamXhjj{@I)R3W?as^`fihtsSb`qlIq(9E}xkTUM%XWisv4Te!LWu^iQ9^O6UlxG6@ z#%|KRRQhGWwJE96+ll!ZP2}x?&!cl3Hy{f)2B$r19U%o}sxNhSZ)sEAV%U|!*T2=p zOUqhP%9C3>pwvH399CRmKbm+*{LH4%iB?~!25e(gt3y*XU^6VJqBQrmq;HwvxbrB& zH(nSz6S94FrTJM#Nv+&eak0MkEy8((i`c8pc0Y8RL~A7ZVaggC4IgG=E&|ew_Lmhq z2UBIMWgIor+I?y?wCm&w&7h4|vJ8%8n>UT6?R9y^h*YJw;X*Iq&wgiD)NzL;({uow zJA@QyqWIakhUAD}WFd-|S9sT7z$WvL?v}ZV6ezQk6em0gyA~ndTG%i>evbjfU_YQN zZ0M3P>KU}0u3k?1t*Ln=i`%3r;Cd}UTYYFmc{@31y0IqCCMaT3V`2q~5u?o>aK2s# zD=V$J`T}ZZ%7&Z@c+gTGamc=s=))uOxsNsXgZ!{CR2@yQ} zrMQ!I_rkumBHwnK1WTu0$JIV1S2jZhsfudCvg2E23hEUU@uNSQ@VhITIZ|BGs1!xy z@?uN_acYO84c=?F7x7Xs^7~uf43N**T7ecQDfHTI>?e*c;>?P!G1ba5O{d{ajp?a0 z;1GhJQ-GdJkJJ#1K~-B;E-N+Q5J~YBPZm~+LUzjw^3P2G$i3D5<**4>Z(5V6)L_3X z!k2IF`Tp9nhV*CR$ulCCnw^K6JMZ2{ z=;>U#V|$fqX}YIJI+4i>czT@1Iv`8(IhBfJ)2X=2tFFHgv6BQV+houwWm1lb%P zF9YA>d^5 zS;{umt&l=2()Nas#*v-nvB(BVN)@Fg4P7z9M54h~ap4gmalJrf=SM#Y**hUoVqMX` zlWTDb>D1q7Qw-G?>=KWTU;D=5-?66*wu(+U>Ro}+sCH_HcRku)%*?dnqO?n%Qx=h0 zN{@?GtOiu}Qe}VZuE%d!b=Iy5aDVTjv*w;!a_aNIP<>0Ms$8I&Hlx7fD7?joQ_KB? zL2~KDB9lN=QqGp;|MHlQ>_2NZcze1|8pZ zn>kN(+)&z+Su4+pxjW&8gRpl6QF&XZ*(T5SY&o73C;8{G;zBON63<7MHy zMii}rC5`JYIV@|cw2EGv8HL?CKEhp0_fDGO-Q=H>m!&UIY;H}v;}@~!1^*@B1W z1fb1YH@~42Z@6@)o3A$puWa4*`;-QE|6@;SPdbKe}7< z9&sGU6SFuZoiQ%MncVbhaXRykL&&RpuV%Qd1eEKu^t@g8iSlWHZcPc_w(lyazlDF* z6m;#X7)1u&oZSa9$)xv&6c6@@GYD+AWT}GR{6?I zjT8A$_Exhmq^@*fWn9Br3vV(e+#@-K8;RY=4h(Q^sFDp%Rlm;akaQnjOnoymX0(^P zsb{?({jiG!gyVC-JOhDMZFsLI8`EI}^3XB&xtrB~p6Z~hx7T}{7Ht6BJX{rn5_+@b*@En^nBGC=3g(K76UGV9qE;43`|ng3BT}*oXg=}{ zG*0!4&t*?O4=EzvykXRQ{AMf3>e5>>FZK~aabJb7UD}&fffIx>n>`Aq3Z2|=HD0R# z<1n7d*87*)uOl9m%z~Osjk-xx^suN#pX!S>gfG|MNQ@4+sQPaD5a!EfqP+@gB#+yXJ0)Fd46g z)_n;%N|1?hfG)}OQ>EyxZuC3YJxn@$W$C{l@||bxB<(%wl2eldtTDWXIIa_)9dM`?Zr+4&+vWvP5?L#i)sW-fZVtfJI! z8b@g|?^bqnNxnjDUn^-Weq;e@Nr5%@N!Ot=$d=q> zd(dJ1^mDue0`Se8nXl|+HjTxXO@Oi9{!TZD-mAYVa}B$7-CgL%hJ3siVlb+*ja9ln z>4V0Sr0>SZCXj!y?^)w*ApOnjGFo)*dJZ7jk2u3Nr%;w`6}6!iro68{tKmvs7_H~D z(_oDhj7zC!k_U8KGi}<}2v;?iJbW>-sA+Tio-2H=9uM-M+*g3zW?mLJ(SZ@NSid{# z!F|!K7@FGm=DmnUD!6Bqf<~)0T~bEyXwH6_#;irQ3H1akPCWU=&WT{SxE*?&VHj=7ZNiJ}2*v zET5hm6Z)seTBU$b7M|t|oV3OuMN~5g4Y@ZJlxo@hj^S*53v3Dig=j--Dh%>VGLemo z9&oEc?wKfZEsAt&A(fZUDK<^F8sFyo*CVm*mzedelif=J_n5~8T}g#*+7FpH3lrhL zXfYcvyyy4144<)0=#ypkAfiV+*V1^=+fN{thba-go@6P7cFO64tDb{o!tl1!Yr)O=PEa6R?%>CV$li1ljZudv)0vKP8|sHC zQ7Pif5+9J7dYs#o$EV#zTD^#+cTgYHrM&1fzep%|;WHOgXwMY~f+Vda0pl!W8lNhFWa! zNu@!fZ3kBSV>oL04LkpiFfaB!BAfol^7|@Y)S7VM%24E!bsJ{4fQ}p{Z`Y5_md57i zis}rwOsJljqSH2qf>f?;!eOhU4R7Ov@=b^Ym+`7vv9~Vqx*V$t#Q|u z!>HlaVjiQW#Az$4wY?~){v zCThM_>X`el4k-iCv>!TcvKiLQMrFg9$LHvNEN=w*`}N7GqNjYl7M4HVX1nrqhdgc+ z-$|YYrABt&#+F0~_v7|*+t`(}Qm2;{iVYl;*K~U#{VeEjXv<77w|=~K$N)_v)8aWH zmN2`dj{idVZd`kFtzF!#G%5Jhxl{7?f#cK3JXkPZwiJo~P#!N^b-;^vdB>{Nc}6|7*s~wz2{c&%z zFWBJ=j^AzA8J3Xs=!7Y56;vdb?kN-?PA`fen`1Z3E% zU`n1+jRdU~8JLs)xJw7en=0lt#cKk-)Ft{>P((lS|N54)MKgSkH|uuApXAXS2kfU- OfTpUB%5x>F(EkHgcmYTN literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@2x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9724b1cc9459747c95d007dde853505575551cd8 GIT binary patch literal 5742 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 literal 0 HcmV?d00001 diff --git a/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@3x.png b/0249-tca-tour-pt7/Scrumdinger-Complete/Scrumdinger/Assets.xcassets/AppIcon.appiconset/AppIcon60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..4a25e378035c326d93ec79ed2c77404d499d8d37 GIT binary patch literal 9346 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