diff --git a/FrontRowTrailersIcon.png b/Design Assets/FrontRowTrailersIcon.png
similarity index 100%
rename from FrontRowTrailersIcon.png
rename to Design Assets/FrontRowTrailersIcon.png
diff --git a/FrontRowTrailersIcon.pxd/QuickLook/Icon.tiff b/Design Assets/FrontRowTrailersIcon.pxd/QuickLook/Icon.tiff
similarity index 100%
rename from FrontRowTrailersIcon.pxd/QuickLook/Icon.tiff
rename to Design Assets/FrontRowTrailersIcon.pxd/QuickLook/Icon.tiff
diff --git a/FrontRowTrailersIcon.pxd/QuickLook/Thumbnail.tiff b/Design Assets/FrontRowTrailersIcon.pxd/QuickLook/Thumbnail.tiff
similarity index 100%
rename from FrontRowTrailersIcon.pxd/QuickLook/Thumbnail.tiff
rename to Design Assets/FrontRowTrailersIcon.pxd/QuickLook/Thumbnail.tiff
diff --git a/FrontRowTrailersIcon.pxd/data/078A6F16-62A5-49F3-8504-AF7C459F47B4 b/Design Assets/FrontRowTrailersIcon.pxd/data/078A6F16-62A5-49F3-8504-AF7C459F47B4
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/078A6F16-62A5-49F3-8504-AF7C459F47B4
rename to Design Assets/FrontRowTrailersIcon.pxd/data/078A6F16-62A5-49F3-8504-AF7C459F47B4
diff --git a/FrontRowTrailersIcon.pxd/data/181C90B3-42F6-497F-A305-F5EF9243DF99 b/Design Assets/FrontRowTrailersIcon.pxd/data/181C90B3-42F6-497F-A305-F5EF9243DF99
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/181C90B3-42F6-497F-A305-F5EF9243DF99
rename to Design Assets/FrontRowTrailersIcon.pxd/data/181C90B3-42F6-497F-A305-F5EF9243DF99
diff --git a/FrontRowTrailersIcon.pxd/data/3B49F82D-F560-4DFD-88A3-E14073B6CAA3 b/Design Assets/FrontRowTrailersIcon.pxd/data/3B49F82D-F560-4DFD-88A3-E14073B6CAA3
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/3B49F82D-F560-4DFD-88A3-E14073B6CAA3
rename to Design Assets/FrontRowTrailersIcon.pxd/data/3B49F82D-F560-4DFD-88A3-E14073B6CAA3
diff --git a/FrontRowTrailersIcon.pxd/data/57792EE9-F72F-4DB5-9B51-D94D6F91D96D b/Design Assets/FrontRowTrailersIcon.pxd/data/57792EE9-F72F-4DB5-9B51-D94D6F91D96D
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/57792EE9-F72F-4DB5-9B51-D94D6F91D96D
rename to Design Assets/FrontRowTrailersIcon.pxd/data/57792EE9-F72F-4DB5-9B51-D94D6F91D96D
diff --git a/FrontRowTrailersIcon.pxd/data/7125E196-D67B-416F-906F-3385B0191E5E b/Design Assets/FrontRowTrailersIcon.pxd/data/7125E196-D67B-416F-906F-3385B0191E5E
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/7125E196-D67B-416F-906F-3385B0191E5E
rename to Design Assets/FrontRowTrailersIcon.pxd/data/7125E196-D67B-416F-906F-3385B0191E5E
diff --git a/FrontRowTrailersIcon.pxd/data/7BC9B605-12F7-4B11-B220-72C306879F42 b/Design Assets/FrontRowTrailersIcon.pxd/data/7BC9B605-12F7-4B11-B220-72C306879F42
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/7BC9B605-12F7-4B11-B220-72C306879F42
rename to Design Assets/FrontRowTrailersIcon.pxd/data/7BC9B605-12F7-4B11-B220-72C306879F42
diff --git a/FrontRowTrailersIcon.pxd/data/95E072A3-7433-4426-988A-0D1AD6ACE0E7-PTEffectsImagesKeyPrefix.4D09E887-230F-4550-9FB7-94E65B3C5D63.inputFillImage b/Design Assets/FrontRowTrailersIcon.pxd/data/95E072A3-7433-4426-988A-0D1AD6ACE0E7-PTEffectsImagesKeyPrefix.4D09E887-230F-4550-9FB7-94E65B3C5D63.inputFillImage
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/95E072A3-7433-4426-988A-0D1AD6ACE0E7-PTEffectsImagesKeyPrefix.4D09E887-230F-4550-9FB7-94E65B3C5D63.inputFillImage
rename to Design Assets/FrontRowTrailersIcon.pxd/data/95E072A3-7433-4426-988A-0D1AD6ACE0E7-PTEffectsImagesKeyPrefix.4D09E887-230F-4550-9FB7-94E65B3C5D63.inputFillImage
diff --git a/FrontRowTrailersIcon.pxd/data/9F658B48-4405-4935-862A-714E053EAF73 b/Design Assets/FrontRowTrailersIcon.pxd/data/9F658B48-4405-4935-862A-714E053EAF73
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/9F658B48-4405-4935-862A-714E053EAF73
rename to Design Assets/FrontRowTrailersIcon.pxd/data/9F658B48-4405-4935-862A-714E053EAF73
diff --git a/FrontRowTrailersIcon.pxd/data/9FCDD43F-D492-413D-96B4-C0C3B5AFE5A1 b/Design Assets/FrontRowTrailersIcon.pxd/data/9FCDD43F-D492-413D-96B4-C0C3B5AFE5A1
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/9FCDD43F-D492-413D-96B4-C0C3B5AFE5A1
rename to Design Assets/FrontRowTrailersIcon.pxd/data/9FCDD43F-D492-413D-96B4-C0C3B5AFE5A1
diff --git a/FrontRowTrailersIcon.pxd/data/AA93C3D2-27B6-4DEE-A85A-631D701814D7 b/Design Assets/FrontRowTrailersIcon.pxd/data/AA93C3D2-27B6-4DEE-A85A-631D701814D7
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/AA93C3D2-27B6-4DEE-A85A-631D701814D7
rename to Design Assets/FrontRowTrailersIcon.pxd/data/AA93C3D2-27B6-4DEE-A85A-631D701814D7
diff --git a/FrontRowTrailersIcon.pxd/data/C9B8484E-9C56-4016-A419-82D6E1EA21D9 b/Design Assets/FrontRowTrailersIcon.pxd/data/C9B8484E-9C56-4016-A419-82D6E1EA21D9
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/C9B8484E-9C56-4016-A419-82D6E1EA21D9
rename to Design Assets/FrontRowTrailersIcon.pxd/data/C9B8484E-9C56-4016-A419-82D6E1EA21D9
diff --git a/FrontRowTrailersIcon.pxd/data/CF2AE119-0F46-408F-9ADB-4BB083E4F75F b/Design Assets/FrontRowTrailersIcon.pxd/data/CF2AE119-0F46-408F-9ADB-4BB083E4F75F
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/CF2AE119-0F46-408F-9ADB-4BB083E4F75F
rename to Design Assets/FrontRowTrailersIcon.pxd/data/CF2AE119-0F46-408F-9ADB-4BB083E4F75F
diff --git a/FrontRowTrailersIcon.pxd/data/D193F921-674C-4079-8726-47CA702C0E5D b/Design Assets/FrontRowTrailersIcon.pxd/data/D193F921-674C-4079-8726-47CA702C0E5D
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/D193F921-674C-4079-8726-47CA702C0E5D
rename to Design Assets/FrontRowTrailersIcon.pxd/data/D193F921-674C-4079-8726-47CA702C0E5D
diff --git a/FrontRowTrailersIcon.pxd/data/D8AB72EE-7618-4B64-A02B-D0F9F15EF623 b/Design Assets/FrontRowTrailersIcon.pxd/data/D8AB72EE-7618-4B64-A02B-D0F9F15EF623
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/D8AB72EE-7618-4B64-A02B-D0F9F15EF623
rename to Design Assets/FrontRowTrailersIcon.pxd/data/D8AB72EE-7618-4B64-A02B-D0F9F15EF623
diff --git a/FrontRowTrailersIcon.pxd/data/EB32C11D-121F-42E4-8348-4FD4AE5FF7F1 b/Design Assets/FrontRowTrailersIcon.pxd/data/EB32C11D-121F-42E4-8348-4FD4AE5FF7F1
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/EB32C11D-121F-42E4-8348-4FD4AE5FF7F1
rename to Design Assets/FrontRowTrailersIcon.pxd/data/EB32C11D-121F-42E4-8348-4FD4AE5FF7F1
diff --git a/FrontRowTrailersIcon.pxd/data/EEAE44AA-8F71-42A1-B647-6D158BF24E6E b/Design Assets/FrontRowTrailersIcon.pxd/data/EEAE44AA-8F71-42A1-B647-6D158BF24E6E
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/EEAE44AA-8F71-42A1-B647-6D158BF24E6E
rename to Design Assets/FrontRowTrailersIcon.pxd/data/EEAE44AA-8F71-42A1-B647-6D158BF24E6E
diff --git a/FrontRowTrailersIcon.pxd/data/F2F03FA8-C11B-4D6F-9EC5-DE0E8ADC54B7 b/Design Assets/FrontRowTrailersIcon.pxd/data/F2F03FA8-C11B-4D6F-9EC5-DE0E8ADC54B7
similarity index 100%
rename from FrontRowTrailersIcon.pxd/data/F2F03FA8-C11B-4D6F-9EC5-DE0E8ADC54B7
rename to Design Assets/FrontRowTrailersIcon.pxd/data/F2F03FA8-C11B-4D6F-9EC5-DE0E8ADC54B7
diff --git a/FrontRowTrailersIcon.pxd/metadata.info b/Design Assets/FrontRowTrailersIcon.pxd/metadata.info
similarity index 100%
rename from FrontRowTrailersIcon.pxd/metadata.info
rename to Design Assets/FrontRowTrailersIcon.pxd/metadata.info
diff --git a/FrontRowTrailersMac-new.pxd/QuickLook/Icon.tiff b/Design Assets/FrontRowTrailersMac-new.pxd/QuickLook/Icon.tiff
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/QuickLook/Icon.tiff
rename to Design Assets/FrontRowTrailersMac-new.pxd/QuickLook/Icon.tiff
diff --git a/FrontRowTrailersMac-new.pxd/QuickLook/Thumbnail.tiff b/Design Assets/FrontRowTrailersMac-new.pxd/QuickLook/Thumbnail.tiff
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/QuickLook/Thumbnail.tiff
rename to Design Assets/FrontRowTrailersMac-new.pxd/QuickLook/Thumbnail.tiff
diff --git a/FrontRowTrailersMac-new.pxd/data/0C16052B-3605-48EC-98E9-E99C3AAC9412 b/Design Assets/FrontRowTrailersMac-new.pxd/data/0C16052B-3605-48EC-98E9-E99C3AAC9412
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/0C16052B-3605-48EC-98E9-E99C3AAC9412
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/0C16052B-3605-48EC-98E9-E99C3AAC9412
diff --git a/FrontRowTrailersMac-new.pxd/data/10412498-BFE8-4BAD-83E1-60A57677C890 b/Design Assets/FrontRowTrailersMac-new.pxd/data/10412498-BFE8-4BAD-83E1-60A57677C890
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/10412498-BFE8-4BAD-83E1-60A57677C890
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/10412498-BFE8-4BAD-83E1-60A57677C890
diff --git a/FrontRowTrailersMac-new.pxd/data/155F743C-190B-4C54-ADDE-D53C443AD367 b/Design Assets/FrontRowTrailersMac-new.pxd/data/155F743C-190B-4C54-ADDE-D53C443AD367
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/155F743C-190B-4C54-ADDE-D53C443AD367
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/155F743C-190B-4C54-ADDE-D53C443AD367
diff --git a/FrontRowTrailersMac-new.pxd/data/1BCB652B-1ACC-4F27-9451-93535228CC6F b/Design Assets/FrontRowTrailersMac-new.pxd/data/1BCB652B-1ACC-4F27-9451-93535228CC6F
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/1BCB652B-1ACC-4F27-9451-93535228CC6F
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/1BCB652B-1ACC-4F27-9451-93535228CC6F
diff --git a/FrontRowTrailersMac-new.pxd/data/1C63280D-A29B-41C6-85CA-0B90517484B0 b/Design Assets/FrontRowTrailersMac-new.pxd/data/1C63280D-A29B-41C6-85CA-0B90517484B0
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/1C63280D-A29B-41C6-85CA-0B90517484B0
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/1C63280D-A29B-41C6-85CA-0B90517484B0
diff --git a/FrontRowTrailersMac-new.pxd/data/278D7451-4F5E-473C-8CC0-26A838C94714-PTEffectsImagesKeyPrefix.2371CCA2-6347-42B5-A9C6-16266B5C1619.inputFillImage b/Design Assets/FrontRowTrailersMac-new.pxd/data/278D7451-4F5E-473C-8CC0-26A838C94714-PTEffectsImagesKeyPrefix.2371CCA2-6347-42B5-A9C6-16266B5C1619.inputFillImage
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/278D7451-4F5E-473C-8CC0-26A838C94714-PTEffectsImagesKeyPrefix.2371CCA2-6347-42B5-A9C6-16266B5C1619.inputFillImage
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/278D7451-4F5E-473C-8CC0-26A838C94714-PTEffectsImagesKeyPrefix.2371CCA2-6347-42B5-A9C6-16266B5C1619.inputFillImage
diff --git a/FrontRowTrailersMac-new.pxd/data/380F561E-4579-47B8-B147-5261612F4096 b/Design Assets/FrontRowTrailersMac-new.pxd/data/380F561E-4579-47B8-B147-5261612F4096
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/380F561E-4579-47B8-B147-5261612F4096
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/380F561E-4579-47B8-B147-5261612F4096
diff --git a/FrontRowTrailersMac-new.pxd/data/40558170-7FD2-42A1-9887-D0F63942608D b/Design Assets/FrontRowTrailersMac-new.pxd/data/40558170-7FD2-42A1-9887-D0F63942608D
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/40558170-7FD2-42A1-9887-D0F63942608D
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/40558170-7FD2-42A1-9887-D0F63942608D
diff --git a/FrontRowTrailersMac-new.pxd/data/41656D3D-ACF1-4196-B277-48B6F6319274 b/Design Assets/FrontRowTrailersMac-new.pxd/data/41656D3D-ACF1-4196-B277-48B6F6319274
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/41656D3D-ACF1-4196-B277-48B6F6319274
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/41656D3D-ACF1-4196-B277-48B6F6319274
diff --git a/FrontRowTrailersMac-new.pxd/data/46B3811D-56BC-4DE8-8CD1-BF89C544C1AF b/Design Assets/FrontRowTrailersMac-new.pxd/data/46B3811D-56BC-4DE8-8CD1-BF89C544C1AF
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/46B3811D-56BC-4DE8-8CD1-BF89C544C1AF
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/46B3811D-56BC-4DE8-8CD1-BF89C544C1AF
diff --git a/FrontRowTrailersMac-new.pxd/data/593580E4-05A3-46AB-9999-4F4513A2F538 b/Design Assets/FrontRowTrailersMac-new.pxd/data/593580E4-05A3-46AB-9999-4F4513A2F538
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/593580E4-05A3-46AB-9999-4F4513A2F538
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/593580E4-05A3-46AB-9999-4F4513A2F538
diff --git a/FrontRowTrailersMac-new.pxd/data/78F3DBFB-D035-4225-ABF0-56AFD35DCBD2 b/Design Assets/FrontRowTrailersMac-new.pxd/data/78F3DBFB-D035-4225-ABF0-56AFD35DCBD2
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/78F3DBFB-D035-4225-ABF0-56AFD35DCBD2
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/78F3DBFB-D035-4225-ABF0-56AFD35DCBD2
diff --git a/FrontRowTrailersMac-new.pxd/data/83B89697-0CFD-4364-94FB-8F4625DF68C6-PTEffectsImagesKeyPrefix.580D18EB-4EA7-428D-AABF-117402A8BF78.inputFillImage b/Design Assets/FrontRowTrailersMac-new.pxd/data/83B89697-0CFD-4364-94FB-8F4625DF68C6-PTEffectsImagesKeyPrefix.580D18EB-4EA7-428D-AABF-117402A8BF78.inputFillImage
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/83B89697-0CFD-4364-94FB-8F4625DF68C6-PTEffectsImagesKeyPrefix.580D18EB-4EA7-428D-AABF-117402A8BF78.inputFillImage
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/83B89697-0CFD-4364-94FB-8F4625DF68C6-PTEffectsImagesKeyPrefix.580D18EB-4EA7-428D-AABF-117402A8BF78.inputFillImage
diff --git a/FrontRowTrailersMac-new.pxd/data/9824B0A3-9027-4268-80D7-B71C7173653A-PTEffectsImagesKeyPrefix.4D09E887-230F-4550-9FB7-94E65B3C5D63.inputFillImage b/Design Assets/FrontRowTrailersMac-new.pxd/data/9824B0A3-9027-4268-80D7-B71C7173653A-PTEffectsImagesKeyPrefix.4D09E887-230F-4550-9FB7-94E65B3C5D63.inputFillImage
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/9824B0A3-9027-4268-80D7-B71C7173653A-PTEffectsImagesKeyPrefix.4D09E887-230F-4550-9FB7-94E65B3C5D63.inputFillImage
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/9824B0A3-9027-4268-80D7-B71C7173653A-PTEffectsImagesKeyPrefix.4D09E887-230F-4550-9FB7-94E65B3C5D63.inputFillImage
diff --git a/FrontRowTrailersMac-new.pxd/data/98C9A0DB-D9A8-4017-AD2D-20998B59CCD6 b/Design Assets/FrontRowTrailersMac-new.pxd/data/98C9A0DB-D9A8-4017-AD2D-20998B59CCD6
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/98C9A0DB-D9A8-4017-AD2D-20998B59CCD6
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/98C9A0DB-D9A8-4017-AD2D-20998B59CCD6
diff --git a/FrontRowTrailersMac-new.pxd/data/B0C3816B-74DA-4F0C-923D-F1B8A8305997 b/Design Assets/FrontRowTrailersMac-new.pxd/data/B0C3816B-74DA-4F0C-923D-F1B8A8305997
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/B0C3816B-74DA-4F0C-923D-F1B8A8305997
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/B0C3816B-74DA-4F0C-923D-F1B8A8305997
diff --git a/FrontRowTrailersMac-new.pxd/data/BF712DE6-868A-4800-9D03-E248A2BEB282 b/Design Assets/FrontRowTrailersMac-new.pxd/data/BF712DE6-868A-4800-9D03-E248A2BEB282
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/BF712DE6-868A-4800-9D03-E248A2BEB282
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/BF712DE6-868A-4800-9D03-E248A2BEB282
diff --git a/FrontRowTrailersMac-new.pxd/data/C309F652-917D-47B8-9788-31C7EC95A164 b/Design Assets/FrontRowTrailersMac-new.pxd/data/C309F652-917D-47B8-9788-31C7EC95A164
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/C309F652-917D-47B8-9788-31C7EC95A164
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/C309F652-917D-47B8-9788-31C7EC95A164
diff --git a/FrontRowTrailersMac-new.pxd/data/C66F9A85-E0D4-4A5E-8E8A-02F4A958AF94 b/Design Assets/FrontRowTrailersMac-new.pxd/data/C66F9A85-E0D4-4A5E-8E8A-02F4A958AF94
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/C66F9A85-E0D4-4A5E-8E8A-02F4A958AF94
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/C66F9A85-E0D4-4A5E-8E8A-02F4A958AF94
diff --git a/FrontRowTrailersMac-new.pxd/data/CE9582FB-6813-45C1-A6B8-C497096B9553 b/Design Assets/FrontRowTrailersMac-new.pxd/data/CE9582FB-6813-45C1-A6B8-C497096B9553
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/CE9582FB-6813-45C1-A6B8-C497096B9553
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/CE9582FB-6813-45C1-A6B8-C497096B9553
diff --git a/FrontRowTrailersMac-new.pxd/data/D339FFF1-B47A-4066-93D9-08D9D75A09BB b/Design Assets/FrontRowTrailersMac-new.pxd/data/D339FFF1-B47A-4066-93D9-08D9D75A09BB
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/D339FFF1-B47A-4066-93D9-08D9D75A09BB
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/D339FFF1-B47A-4066-93D9-08D9D75A09BB
diff --git a/FrontRowTrailersMac-new.pxd/data/DFCC2063-2BAF-41F5-BF19-22FE34774BA9 b/Design Assets/FrontRowTrailersMac-new.pxd/data/DFCC2063-2BAF-41F5-BF19-22FE34774BA9
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/data/DFCC2063-2BAF-41F5-BF19-22FE34774BA9
rename to Design Assets/FrontRowTrailersMac-new.pxd/data/DFCC2063-2BAF-41F5-BF19-22FE34774BA9
diff --git a/FrontRowTrailersMac-new.pxd/metadata.info b/Design Assets/FrontRowTrailersMac-new.pxd/metadata.info
similarity index 100%
rename from FrontRowTrailersMac-new.pxd/metadata.info
rename to Design Assets/FrontRowTrailersMac-new.pxd/metadata.info
diff --git a/Design Assets/moviePosterPlaceholder.pxd/QuickLook/Icon.tiff b/Design Assets/moviePosterPlaceholder.pxd/QuickLook/Icon.tiff
new file mode 100644
index 0000000..39162c0
Binary files /dev/null and b/Design Assets/moviePosterPlaceholder.pxd/QuickLook/Icon.tiff differ
diff --git a/Design Assets/moviePosterPlaceholder.pxd/QuickLook/Thumbnail.tiff b/Design Assets/moviePosterPlaceholder.pxd/QuickLook/Thumbnail.tiff
new file mode 100644
index 0000000..0bce00b
Binary files /dev/null and b/Design Assets/moviePosterPlaceholder.pxd/QuickLook/Thumbnail.tiff differ
diff --git a/Design Assets/moviePosterPlaceholder.pxd/data/A646682E-4254-484F-BC4C-551943919ACF b/Design Assets/moviePosterPlaceholder.pxd/data/A646682E-4254-484F-BC4C-551943919ACF
new file mode 100644
index 0000000..c4e9c5f
Binary files /dev/null and b/Design Assets/moviePosterPlaceholder.pxd/data/A646682E-4254-484F-BC4C-551943919ACF differ
diff --git a/Design Assets/moviePosterPlaceholder.pxd/data/ADC5E32F-B0F4-4AAB-959F-B1EAE7A312AD b/Design Assets/moviePosterPlaceholder.pxd/data/ADC5E32F-B0F4-4AAB-959F-B1EAE7A312AD
new file mode 100644
index 0000000..81c7b0c
Binary files /dev/null and b/Design Assets/moviePosterPlaceholder.pxd/data/ADC5E32F-B0F4-4AAB-959F-B1EAE7A312AD differ
diff --git a/Design Assets/moviePosterPlaceholder.pxd/data/D544136C-18F1-4CB4-A60C-B36E90FA3784 b/Design Assets/moviePosterPlaceholder.pxd/data/D544136C-18F1-4CB4-A60C-B36E90FA3784
new file mode 100644
index 0000000..16d9eb9
Binary files /dev/null and b/Design Assets/moviePosterPlaceholder.pxd/data/D544136C-18F1-4CB4-A60C-B36E90FA3784 differ
diff --git a/Design Assets/moviePosterPlaceholder.pxd/data/originalImportedContentDocumentInfo b/Design Assets/moviePosterPlaceholder.pxd/data/originalImportedContentDocumentInfo
new file mode 100644
index 0000000..ef287f7
Binary files /dev/null and b/Design Assets/moviePosterPlaceholder.pxd/data/originalImportedContentDocumentInfo differ
diff --git a/Design Assets/moviePosterPlaceholder.pxd/metadata.info b/Design Assets/moviePosterPlaceholder.pxd/metadata.info
new file mode 100644
index 0000000..2c687c9
Binary files /dev/null and b/Design Assets/moviePosterPlaceholder.pxd/metadata.info differ
diff --git a/posterMirrorImageGradientMask.pxd/QuickLook/Icon.tiff b/Design Assets/posterMirrorImageGradientMask.pxd/QuickLook/Icon.tiff
similarity index 100%
rename from posterMirrorImageGradientMask.pxd/QuickLook/Icon.tiff
rename to Design Assets/posterMirrorImageGradientMask.pxd/QuickLook/Icon.tiff
diff --git a/posterMirrorImageGradientMask.pxd/QuickLook/Thumbnail.tiff b/Design Assets/posterMirrorImageGradientMask.pxd/QuickLook/Thumbnail.tiff
similarity index 100%
rename from posterMirrorImageGradientMask.pxd/QuickLook/Thumbnail.tiff
rename to Design Assets/posterMirrorImageGradientMask.pxd/QuickLook/Thumbnail.tiff
diff --git a/posterMirrorImageGradientMask.pxd/data/originalImportedContentDocumentInfo b/Design Assets/posterMirrorImageGradientMask.pxd/data/originalImportedContentDocumentInfo
similarity index 100%
rename from posterMirrorImageGradientMask.pxd/data/originalImportedContentDocumentInfo
rename to Design Assets/posterMirrorImageGradientMask.pxd/data/originalImportedContentDocumentInfo
diff --git a/posterMirrorImageGradientMask.pxd/metadata.info b/Design Assets/posterMirrorImageGradientMask.pxd/metadata.info
similarity index 100%
rename from posterMirrorImageGradientMask.pxd/metadata.info
rename to Design Assets/posterMirrorImageGradientMask.pxd/metadata.info
diff --git a/README.md b/README.md
index f3189e4..cb7b844 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ On TV (via AirPlay or adapter):
The latest release version of this app is [available on the App Store](https://apps.apple.com/app/id1534845010) and beta versions are sometimes available on [TestFlight](https://testflight.apple.com/join/Wnlesgzr). It appears on your homescreen as "Front Row".
-
+
To build from source, you need Xcode 12 and an Apple Developer account. Clone or download the repository, open the Xcode project and change the bunde identifier and development team. Then build and run.
diff --git a/TMT Mac/Assets.xcassets/MoviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png b/TMT Mac/Assets.xcassets/MoviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png
index 98b0ae0..4754167 100644
Binary files a/TMT Mac/Assets.xcassets/MoviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png and b/TMT Mac/Assets.xcassets/MoviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png differ
diff --git a/TMT Mac/ContentView.swift b/TMT Mac/ContentView.swift
index 3491cac..24b9dd9 100644
--- a/TMT Mac/ContentView.swift
+++ b/TMT Mac/ContentView.swift
@@ -78,6 +78,12 @@ struct ContentView: View {
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.black)
.transition(.opacity)
+ .onDisappear {
+ /// user played trailer, request review
+ DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
+ AppStoreReviewsManager.requestReviewIfAppropriate()
+ }
+ }
}
}
)
diff --git a/TMT Mac/TMT_MacApp.swift b/TMT Mac/TMT_MacApp.swift
index 53d7c10..4dcd052 100644
--- a/TMT Mac/TMT_MacApp.swift
+++ b/TMT Mac/TMT_MacApp.swift
@@ -6,6 +6,7 @@
//
import SwiftUI
+import TelemetryClient
@main
struct TMT_MacApp: App {
@@ -15,6 +16,11 @@ struct TMT_MacApp: App {
ContentView()
.environmentObject(dataStore)
.onAppear {
+ /// initialize telemetry
+ let configuration = TelemetryManagerConfiguration(appID: TelemetryAppId)
+ TelemetryManager.initialize(with: configuration)
+ TelemetryManager.send("appLaunchedRegularly")
+ /// put window into full screen
DispatchQueue.main.asyncAfter(0.1) {
if let window = NSApplication.shared.windows.last {
window.toggleFullScreen(nil)
diff --git a/TMT Mac/Utilities/AppStoreReviewsManager.swift b/TMT Mac/Utilities/AppStoreReviewsManager.swift
new file mode 100644
index 0000000..12f084e
--- /dev/null
+++ b/TMT Mac/Utilities/AppStoreReviewsManager.swift
@@ -0,0 +1,37 @@
+//
+// AppStoreReviewManager.swift
+// TheatricalMovieTrailers
+//
+// Created by Christoph Parstorfer on 20.02.22.
+//
+
+import StoreKit
+
+/**
+ Shows the App Store review prompt if appropriate.
+ Appropriate means:
+ - app launched > 1 minute ago
+ - has not been asked to review this version
+ */
+class AppStoreReviewsManager {
+ static func requestReviewIfAppropriate() {
+ let settings = Settings.instance
+ // check if app was first launched more than one minute ago
+ guard Date().timeIntervalSince(settings.firstLaunchedDate) > 1 * 60/* seconds */ else {
+ return
+ }
+
+ // check that no request for review of this app version has been made
+ let currentVersion = NSApplication.version
+ let lastVersion = settings.lastReviewRequestAppVersion
+ guard lastVersion == nil || lastVersion! != currentVersion else {
+ return
+ }
+
+ // request for the review popup to be shown
+ SKStoreReviewController.requestReview()
+
+ // update last requested version number
+ settings.lastReviewRequestAppVersion = currentVersion
+ }
+}
diff --git a/TMT Mac/Views/MovieTrailerListView.swift b/TMT Mac/Views/MovieTrailerListView.swift
index 443293d..4ad148e 100644
--- a/TMT Mac/Views/MovieTrailerListView.swift
+++ b/TMT Mac/Views/MovieTrailerListView.swift
@@ -6,6 +6,7 @@
//
import SwiftUI
+import TelemetryClient
struct MovieTrailerListView: View {
@ObservedObject private var settings = Settings.instance
@@ -162,5 +163,6 @@ struct MovieTrailerListView: View {
dataStore.selectedTrailerModel = movieInfo
dataStore.isPlaying = true
}
+ dataStore.setWatchedTrailer(movieInfo)
}
}
diff --git a/TheatricalMovieTrailers.xcodeproj/project.pbxproj b/TheatricalMovieTrailers.xcodeproj/project.pbxproj
index d9c08d3..c6c7a80 100644
--- a/TheatricalMovieTrailers.xcodeproj/project.pbxproj
+++ b/TheatricalMovieTrailers.xcodeproj/project.pbxproj
@@ -103,6 +103,8 @@
83FA29FF2748909B00445816 /* NSApplication+version+build.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83FA29FE2748909B00445816 /* NSApplication+version+build.swift */; };
83FA2A002748930100445816 /* CustomDarkAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 831CD8FA24ABEC36008EDC6F /* CustomDarkAppearance.swift */; };
83FA2A012748933F00445816 /* DispatchQueue+async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83AC6275255018F700197B0B /* DispatchQueue+async.swift */; };
+ 83FD3F3927C2ACF00083F354 /* Secrets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8300055C2541B34A0069A8D1 /* Secrets.swift */; };
+ 83FD3F3C27C2AE640083F354 /* AppStoreReviewsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83FD3F3B27C2AE640083F354 /* AppStoreReviewsManager.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -205,6 +207,7 @@
83FA29EB274889C400445816 /* Settings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = ""; };
83FA29FC2748905800445816 /* Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = ""; };
83FA29FE2748909B00445816 /* NSApplication+version+build.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSApplication+version+build.swift"; sourceTree = ""; };
+ 83FD3F3B27C2AE640083F354 /* AppStoreReviewsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStoreReviewsManager.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -361,6 +364,7 @@
837E13E527680356004B564B /* Utilities */ = {
isa = PBXGroup;
children = (
+ 83FD3F3B27C2AE640083F354 /* AppStoreReviewsManager.swift */,
837E13E627680374004B564B /* KeyEventHandling.swift */,
);
path = Utilities;
@@ -678,6 +682,7 @@
83FA29F7274889D900445816 /* MovieInfo.swift in Sources */,
83FA29FD2748905800445816 /* Settings.swift in Sources */,
83FA2A012748933F00445816 /* DispatchQueue+async.swift in Sources */,
+ 83FD3F3C27C2AE640083F354 /* AppStoreReviewsManager.swift in Sources */,
833A78AB27B72B60009A91A6 /* MacFont.swift in Sources */,
8354861827760D8E0039A29C /* MoviePosterView.swift in Sources */,
837E13E12767FD5C004B564B /* MovieTrailerListView.swift in Sources */,
@@ -685,6 +690,7 @@
83FA29FA27488F2700445816 /* MovieInfoDataStore.swift in Sources */,
83FA29F6274889D900445816 /* SortingMode.swift in Sources */,
837E13E4276800A5004B564B /* SelectionIndicator.swift in Sources */,
+ 83FD3F3927C2ACF00083F354 /* Secrets.swift in Sources */,
83FA29FF2748909B00445816 /* NSApplication+version+build.swift in Sources */,
83AB8429278CDF9800428FB4 /* MovieInfoContainerView.swift in Sources */,
);
@@ -837,7 +843,7 @@
CODE_SIGN_ENTITLEMENTS = TheatricalMovieTrailers/TheatricalMovieTrailers.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 43;
+ CURRENT_PROJECT_VERSION = 46;
DEVELOPMENT_ASSET_PATHS = "\"TheatricalMovieTrailers/Preview Content\"";
DEVELOPMENT_TEAM = U96PJYMZWW;
ENABLE_PREVIEWS = YES;
@@ -847,7 +853,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 2.0.0;
+ MARKETING_VERSION = 2.0.1;
PRODUCT_BUNDLE_IDENTIFIER = cafe.chrisp.tmt;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -865,7 +871,7 @@
CODE_SIGN_ENTITLEMENTS = TheatricalMovieTrailers/TheatricalMovieTrailers.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 43;
+ CURRENT_PROJECT_VERSION = 46;
DEVELOPMENT_ASSET_PATHS = "\"TheatricalMovieTrailers/Preview Content\"";
DEVELOPMENT_TEAM = U96PJYMZWW;
ENABLE_PREVIEWS = YES;
@@ -875,7 +881,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 2.0.0;
+ MARKETING_VERSION = 2.0.1;
PRODUCT_BUNDLE_IDENTIFIER = cafe.chrisp.tmt;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -892,7 +898,7 @@
CODE_SIGN_ENTITLEMENTS = TrailersWidget/TrailersWidgetExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 43;
+ CURRENT_PROJECT_VERSION = 46;
DEVELOPMENT_TEAM = U96PJYMZWW;
INFOPLIST_FILE = TrailersWidget/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
@@ -901,7 +907,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 2.0.0;
+ MARKETING_VERSION = 2.0.1;
PRODUCT_BUNDLE_IDENTIFIER = cafe.chrisp.tmt.TrailersWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -918,7 +924,7 @@
CODE_SIGN_ENTITLEMENTS = TrailersWidget/TrailersWidgetExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 43;
+ CURRENT_PROJECT_VERSION = 46;
DEVELOPMENT_TEAM = U96PJYMZWW;
INFOPLIST_FILE = TrailersWidget/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
@@ -927,7 +933,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 2.0.0;
+ MARKETING_VERSION = 2.0.1;
PRODUCT_BUNDLE_IDENTIFIER = cafe.chrisp.tmt.TrailersWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -947,7 +953,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 8;
+ CURRENT_PROJECT_VERSION = 10;
DEVELOPMENT_ASSET_PATHS = "\"TMT Mac/Preview Content\"";
DEVELOPMENT_TEAM = U96PJYMZWW;
ENABLE_HARDENED_RUNTIME = YES;
@@ -962,7 +968,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
- MARKETING_VERSION = 1.0;
+ MARKETING_VERSION = 1.0.1;
PRODUCT_BUNDLE_IDENTIFIER = cafe.chrisp.tmt;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
@@ -982,7 +988,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 8;
+ CURRENT_PROJECT_VERSION = 10;
DEVELOPMENT_ASSET_PATHS = "\"TMT Mac/Preview Content\"";
DEVELOPMENT_TEAM = U96PJYMZWW;
ENABLE_HARDENED_RUNTIME = YES;
@@ -997,7 +1003,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
- MARKETING_VERSION = 1.0;
+ MARKETING_VERSION = 1.0.1;
PRODUCT_BUNDLE_IDENTIFIER = cafe.chrisp.tmt;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
diff --git a/TheatricalMovieTrailers/ContentView.swift b/TheatricalMovieTrailers/ContentView.swift
index 08050ea..1022053 100644
--- a/TheatricalMovieTrailers/ContentView.swift
+++ b/TheatricalMovieTrailers/ContentView.swift
@@ -15,43 +15,43 @@ struct ContentView: View {
var body: some View {
CoverFlowScrollView(model: $dataStore.model, sortingMode: $sortingMode)
- .overlay(
- Group {
- if loading {
- ZStack {
- ProgressView("Loading Trailers…")
- .frame(width: 200, height: 44)
+ .overlay(
+ Group {
+ if loading {
+ ZStack {
+ ProgressView("Loading Trailers…")
+ .frame(width: 200, height: 44)
+ }
+ .frame(maxWidth: .infinity, maxHeight: .infinity)
+ .background(Color.init(UIColor.systemBackground))
+ .edgesIgnoringSafeArea(.all)
}
- .frame(maxWidth: .infinity, maxHeight: .infinity)
- .background(Color.init(UIColor.systemBackground))
- .edgesIgnoringSafeArea(.all)
}
+ )
+ .alert(item: $dataStore.error, content: { error -> Alert in
+ error.makeAlert()
+ })
+ .transition(.opacity)
+ .modifier(CustomDarkAppearance())
+ .statusBar(hidden: true)
+ .onChange(of: sortingMode) { sortingMode in
+ dataStore.model.sort(by: sortingMode.predicate)
}
- )
- .alert(item: $dataStore.error, content: { error -> Alert in
- error.makeAlert()
- })
- .transition(.opacity)
- .modifier(CustomDarkAppearance())
- .statusBar(hidden: true)
- .onChange(of: sortingMode) { sortingMode in
- dataStore.model.sort(by: sortingMode.predicate)
- }
- .onAppear {
- if !dataStore.moviesAvailable {
- DispatchQueue.main.asyncAfter(0.5) {
- if !dataStore.moviesAvailable {
- withAnimation {
- loading = true
+ .onAppear {
+ if !dataStore.moviesAvailable {
+ DispatchQueue.main.asyncAfter(0.5) {
+ if !dataStore.moviesAvailable {
+ withAnimation {
+ loading = true
+ }
}
}
}
}
- }
- .onChange(of: dataStore.moviesAvailable, perform: { moviesAvailable in
- withAnimation {
- loading = !moviesAvailable
- }
- })
+ .onChange(of: dataStore.moviesAvailable, perform: { moviesAvailable in
+ withAnimation {
+ loading = !moviesAvailable
+ }
+ })
}
}
diff --git a/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/RatingLogo.imageset/512x512.png b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/RatingLogo.imageset/512x512.png
deleted file mode 100644
index 715a0ba..0000000
Binary files a/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/RatingLogo.imageset/512x512.png and /dev/null differ
diff --git a/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/TheatreLogo.imageset/512x512.png b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/TheatreLogo.imageset/512x512.png
new file mode 100644
index 0000000..28cc445
Binary files /dev/null and b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/TheatreLogo.imageset/512x512.png differ
diff --git a/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/RatingLogo.imageset/Contents.json b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/TheatreLogo.imageset/Contents.json
similarity index 100%
rename from TheatricalMovieTrailers/Supporting Files/Assets.xcassets/RatingLogo.imageset/Contents.json
rename to TheatricalMovieTrailers/Supporting Files/Assets.xcassets/TheatreLogo.imageset/Contents.json
diff --git a/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/tmtGreen.colorset/Contents.json b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/frontRowTrailersBackground.colorset/Contents.json
similarity index 76%
rename from TheatricalMovieTrailers/Supporting Files/Assets.xcassets/tmtGreen.colorset/Contents.json
rename to TheatricalMovieTrailers/Supporting Files/Assets.xcassets/frontRowTrailersBackground.colorset/Contents.json
index 581160b..784f603 100644
--- a/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/tmtGreen.colorset/Contents.json
+++ b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/frontRowTrailersBackground.colorset/Contents.json
@@ -5,9 +5,9 @@
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
- "blue" : "0.059",
- "green" : "0.357",
- "red" : "0.043"
+ "blue" : "0.000",
+ "green" : "0.000",
+ "red" : "0.000"
}
},
"idiom" : "universal"
@@ -23,9 +23,9 @@
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
- "blue" : "0.059",
- "green" : "0.357",
- "red" : "0.043"
+ "blue" : "0.000",
+ "green" : "0.000",
+ "red" : "0.000"
}
},
"idiom" : "universal"
diff --git a/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/frontRowTrailersRed.colorset/Contents.json b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/frontRowTrailersRed.colorset/Contents.json
new file mode 100644
index 0000000..1d153c7
--- /dev/null
+++ b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/frontRowTrailersRed.colorset/Contents.json
@@ -0,0 +1,38 @@
+{
+ "colors" : [
+ {
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "alpha" : "1.000",
+ "blue" : "4",
+ "green" : "11",
+ "red" : "194"
+ }
+ },
+ "idiom" : "universal"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "alpha" : "1.000",
+ "blue" : "0.016",
+ "green" : "0.043",
+ "red" : "0.761"
+ }
+ },
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/moviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/moviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png
index 98b0ae0..be43b21 100644
Binary files a/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/moviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png and b/TheatricalMovieTrailers/Supporting Files/Assets.xcassets/moviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png differ
diff --git a/TheatricalMovieTrailers/Supporting Files/Base.lproj/LaunchScreen.storyboard b/TheatricalMovieTrailers/Supporting Files/Base.lproj/LaunchScreen.storyboard
index 3f8c94c..66571ec 100644
--- a/TheatricalMovieTrailers/Supporting Files/Base.lproj/LaunchScreen.storyboard
+++ b/TheatricalMovieTrailers/Supporting Files/Base.lproj/LaunchScreen.storyboard
@@ -1,8 +1,10 @@
-
+
-
+
+
+
@@ -16,20 +18,18 @@
-
-
+
+
-
+
-
-
-
-
-
-
+
+
+
+
@@ -39,7 +39,10 @@
-
+
+
+
+
diff --git a/TheatricalMovieTrailers/Views/CoverFlowListView.swift b/TheatricalMovieTrailers/Views/CoverFlowListView.swift
index c44e6f2..7a9e024 100644
--- a/TheatricalMovieTrailers/Views/CoverFlowListView.swift
+++ b/TheatricalMovieTrailers/Views/CoverFlowListView.swift
@@ -16,9 +16,9 @@ struct CoverFlowListView: View {
var body: some View {
VStack {
Spacer().frame(height: frame.size.height * 0.1)
- HStack(alignment: .center, spacing: itemWidth(frame) * -0.25) {
+ HStack(alignment: .center, spacing: 0) {
Spacer()
- .frame(width: frame.size.width * 0.15, height: 100)
+ .frame(width: itemWidth(frame) * 0.5, height: 100)
ForEach(model) { info in
CoverFlowItemView(frame: frame, model: info, onSelected: { (isCentered: Bool) in
onSelected(info, isCentered)
@@ -28,15 +28,12 @@ struct CoverFlowListView: View {
.frame(width: itemWidth(frame), height: frame.size.height * 0.8)
.id(info.id)
}
- Spacer()
- .frame(width: frame.size.width * 0.15, height: 100)
}
- .padding(.horizontal, frame.size.width * 0.25)
}
}
private func itemWidth(_ geo: GeometryProxy) -> CGFloat {
- return min(geo.size.width * 0.75, 450)
+ return min(geo.size.width * 0.5, 450)
}
private func isCenteredX(container frame: GeometryProxy, _ geo: GeometryProxy, allowance: CGFloat = 0.1) -> Bool {
diff --git a/TheatricalMovieTrailers/Views/CoverFlowScrollView.swift b/TheatricalMovieTrailers/Views/CoverFlowScrollView.swift
index fffcbe7..12a0ca3 100644
--- a/TheatricalMovieTrailers/Views/CoverFlowScrollView.swift
+++ b/TheatricalMovieTrailers/Views/CoverFlowScrollView.swift
@@ -12,11 +12,7 @@ import TelemetryClient
struct CoverFlowScrollView: View {
private var scrollAnchor: UnitPoint {
get {
- if #available(iOS 15, *) {
- return UnitPoint(x: 1.5, y: 2.0)
- } else {
- return UnitPoint(x: 0.5, y: 1.0)
- }
+ return UnitPoint(x: 0.5, y: 2.0)
}
}
diff --git a/TheatricalMovieTrailers/Views/ExternalView.swift b/TheatricalMovieTrailers/Views/ExternalView.swift
index 870a423..5755ce0 100644
--- a/TheatricalMovieTrailers/Views/ExternalView.swift
+++ b/TheatricalMovieTrailers/Views/ExternalView.swift
@@ -112,11 +112,11 @@ struct ExternalView: View {
.transition(.opacity)
} else {
/// Logo moves around the screen
- Image("RatingLogo")
+ Image("TheatreLogo")
.resizable()
.frame(width: geo.size.height / 3, height: geo.size.height / 3)
.cornerRadius(geo.size.height / 20, antialiased: true)
- .shadow(color: Color("TMTGreen"), radius: 20, x: 0, y: 0)
+ .shadow(color: Color("frontRowTrailersRed"), radius: 20, x: 0, y: 0)
.onChange(of: fps.time) { _ in
withAnimation {
updateOffset(geo)
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/100.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/100.png
new file mode 100644
index 0000000..fd8c317
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/100.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/1024.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/1024.png
new file mode 100644
index 0000000..d6f766e
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/1024.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/114.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/114.png
new file mode 100644
index 0000000..f67ffca
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/114.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/120-1.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/120-1.png
new file mode 100644
index 0000000..393e742
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/120-1.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/120.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/120.png
new file mode 100644
index 0000000..393e742
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/120.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/144.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/144.png
new file mode 100644
index 0000000..3dd56dc
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/144.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/152.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/152.png
new file mode 100644
index 0000000..221bae6
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/152.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/167.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/167.png
new file mode 100644
index 0000000..b395489
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/167.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/180.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/180.png
new file mode 100644
index 0000000..5b32834
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/180.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/20.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/20.png
new file mode 100644
index 0000000..414b2b2
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/20.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/29-1.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/29-1.png
new file mode 100644
index 0000000..5d8906b
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/29-1.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/29.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/29.png
new file mode 100644
index 0000000..5d8906b
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/29.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/40-1.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/40-1.png
new file mode 100644
index 0000000..f9fbbd7
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/40-1.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/40-2.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/40-2.png
new file mode 100644
index 0000000..f9fbbd7
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/40-2.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/40.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/40.png
new file mode 100644
index 0000000..f9fbbd7
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/40.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/50.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/50.png
new file mode 100644
index 0000000..8f9382e
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/50.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/57.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/57.png
new file mode 100644
index 0000000..e3055ea
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/57.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/58-1.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/58-1.png
new file mode 100644
index 0000000..a5fa2d9
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/58-1.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/58.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/58.png
new file mode 100644
index 0000000..a5fa2d9
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/58.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/60.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/60.png
new file mode 100644
index 0000000..226f44f
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/60.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/72.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/72.png
new file mode 100644
index 0000000..753af71
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/72.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/76.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/76.png
new file mode 100644
index 0000000..8c0b565
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/76.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/80-1.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/80-1.png
new file mode 100644
index 0000000..78b009c
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/80-1.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/80.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/80.png
new file mode 100644
index 0000000..78b009c
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/80.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/87.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/87.png
new file mode 100644
index 0000000..cd5ada8
Binary files /dev/null and b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/87.png differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Contents.json b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Contents.json
index fe55f71..cc98510 100644
--- a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,102 +1,151 @@
{
"images" : [
{
+ "filename" : "40.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
},
{
+ "filename" : "60.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
},
{
- "filename" : "Icon-Small@2x-1.png",
+ "filename" : "29-1.png",
+ "idiom" : "iphone",
+ "scale" : "1x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "58.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "29x29"
},
{
- "filename" : "Icon-Small@3x.png",
+ "filename" : "87.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
},
{
- "filename" : "Icon-Small-40@2x-1.png",
+ "filename" : "80.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
},
{
- "filename" : "Icon-60@2x-1.png",
+ "filename" : "120.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
},
{
- "filename" : "Icon-60@2x.png",
+ "filename" : "57.png",
+ "idiom" : "iphone",
+ "scale" : "1x",
+ "size" : "57x57"
+ },
+ {
+ "filename" : "114.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "57x57"
+ },
+ {
+ "filename" : "120-1.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
- "filename" : "Icon-60@3x.png",
+ "filename" : "180.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
+ "filename" : "20.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
},
{
+ "filename" : "40-1.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
},
{
+ "filename" : "29.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
},
{
- "filename" : "Icon-Small@2x.png",
+ "filename" : "58-1.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
},
{
+ "filename" : "40-2.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
},
{
- "filename" : "Icon-Small-40@2x.png",
+ "filename" : "80-1.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
},
{
+ "filename" : "50.png",
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "50x50"
+ },
+ {
+ "filename" : "100.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "50x50"
+ },
+ {
+ "filename" : "72.png",
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "72x72"
+ },
+ {
+ "filename" : "144.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "72x72"
+ },
+ {
+ "filename" : "76.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
},
{
- "filename" : "Icon-76@2x.png",
+ "filename" : "152.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
- "filename" : "Icon-83.5@2x.png",
+ "filename" : "167.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
- "filename" : "iTunesArtwork@2x.png",
+ "filename" : "1024.png",
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-60@2x-1.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-60@2x-1.png
deleted file mode 100644
index f08c679..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-60@2x-1.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644
index f08c679..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100644
index 0a0077d..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100644
index a7edefa..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
deleted file mode 100644
index a6ea63d..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png
deleted file mode 100644
index 5ce3e1c..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png
deleted file mode 100644
index 5ce3e1c..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png
deleted file mode 100644
index 69536d3..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644
index 69536d3..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
deleted file mode 100644
index 54d395c..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png b/TrailersWidget/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png
deleted file mode 100644
index 8b90037..0000000
Binary files a/TrailersWidget/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png and /dev/null differ
diff --git a/TrailersWidget/Assets.xcassets/moviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png b/TrailersWidget/Assets.xcassets/moviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png
index 98b0ae0..be43b21 100644
Binary files a/TrailersWidget/Assets.xcassets/moviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png and b/TrailersWidget/Assets.xcassets/moviePosterPlaceholder.imageset/moviePosterPlaceholder@2x.png differ