diff --git a/HNReader.xcodeproj/project.pbxproj b/HNReader.xcodeproj/project.pbxproj index 5b47b55..74d1add 100644 --- a/HNReader.xcodeproj/project.pbxproj +++ b/HNReader.xcodeproj/project.pbxproj @@ -16,6 +16,10 @@ 330719203034BDB177F28C41 /* +DateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33071B0E5439D8D207CB68F4 /* +DateTests.swift */; }; 33071F1C64D4742E1F947FAA /* ItemDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33071D0E5913DB91DDDBDADB /* ItemDownloader.swift */; }; 5F109D592AF6F50D00AE6AF3 /* ConditionalRedactedModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F109D582AF6F50D00AE6AF3 /* ConditionalRedactedModifier.swift */; }; + 5F109D5F2AF704F700AE6AF3 /* IBMPlexSerif-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5F109D5B2AF704F700AE6AF3 /* IBMPlexSerif-Light.ttf */; }; + 5F109D602AF704F700AE6AF3 /* IBMPlexSerif-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5F109D5C2AF704F700AE6AF3 /* IBMPlexSerif-Bold.ttf */; }; + 5F109D612AF704F700AE6AF3 /* IBMPlexSerif-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5F109D5D2AF704F700AE6AF3 /* IBMPlexSerif-Regular.ttf */; }; + 5F109D622AF704F700AE6AF3 /* IBMPlexSerif-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5F109D5E2AF704F700AE6AF3 /* IBMPlexSerif-SemiBold.ttf */; }; C93F99B6267554F00046F870 /* ItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93F99B5267554F00046F870 /* ItemCell.swift */; }; C93F99B8267557FC0046F870 /* ItemList.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93F99B7267557FC0046F870 /* ItemList.swift */; }; C93F99BA267580CE0046F870 /* HTMLText.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93F99B9267580CE0046F870 /* HTMLText.swift */; }; @@ -51,6 +55,10 @@ 33071E538EC434DF1A245518 /* HackerNewsClientTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HackerNewsClientTests.swift; sourceTree = ""; }; 33071EEBE46634E658582AE3 /* ItemTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemTests.swift; sourceTree = ""; }; 5F109D582AF6F50D00AE6AF3 /* ConditionalRedactedModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConditionalRedactedModifier.swift; sourceTree = ""; }; + 5F109D5B2AF704F700AE6AF3 /* IBMPlexSerif-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "IBMPlexSerif-Light.ttf"; sourceTree = ""; }; + 5F109D5C2AF704F700AE6AF3 /* IBMPlexSerif-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "IBMPlexSerif-Bold.ttf"; sourceTree = ""; }; + 5F109D5D2AF704F700AE6AF3 /* IBMPlexSerif-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "IBMPlexSerif-Regular.ttf"; sourceTree = ""; }; + 5F109D5E2AF704F700AE6AF3 /* IBMPlexSerif-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "IBMPlexSerif-SemiBold.ttf"; sourceTree = ""; }; C93F99B5267554F00046F870 /* ItemCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemCell.swift; sourceTree = ""; }; C93F99B7267557FC0046F870 /* ItemList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemList.swift; sourceTree = ""; }; C93F99B9267580CE0046F870 /* HTMLText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTMLText.swift; sourceTree = ""; }; @@ -122,6 +130,17 @@ path = ModelTests; sourceTree = ""; }; + 5F96E4AB2AF70C2C00593AD6 /* fonts */ = { + isa = PBXGroup; + children = ( + 5F109D5C2AF704F700AE6AF3 /* IBMPlexSerif-Bold.ttf */, + 5F109D5B2AF704F700AE6AF3 /* IBMPlexSerif-Light.ttf */, + 5F109D5D2AF704F700AE6AF3 /* IBMPlexSerif-Regular.ttf */, + 5F109D5E2AF704F700AE6AF3 /* IBMPlexSerif-SemiBold.ttf */, + ); + path = fonts; + sourceTree = ""; + }; C9926691267588B80035A88F /* Components */ = { isa = PBXGroup; children = ( @@ -151,6 +170,7 @@ C9D0937526741BBE002CC786 /* HNReader */ = { isa = PBXGroup; children = ( + 5F96E4AB2AF70C2C00593AD6 /* fonts */, C9D093AA26741BFD002CC786 /* HNClient */, C9D093A926741BF6002CC786 /* ViewModel */, C9D093A826741BF0002CC786 /* Model */, @@ -312,7 +332,11 @@ buildActionMask = 2147483647; files = ( C9D0937E26741BBF002CC786 /* Preview Assets.xcassets in Resources */, + 5F109D612AF704F700AE6AF3 /* IBMPlexSerif-Regular.ttf in Resources */, + 5F109D602AF704F700AE6AF3 /* IBMPlexSerif-Bold.ttf in Resources */, + 5F109D622AF704F700AE6AF3 /* IBMPlexSerif-SemiBold.ttf in Resources */, C9D0937B26741BBF002CC786 /* Assets.xcassets in Resources */, + 5F109D5F2AF704F700AE6AF3 /* IBMPlexSerif-Light.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/HNReader.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/HNReader.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/HNReader.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/HNReader.xcodeproj/project.xcworkspace/xcuserdata/mattrighetti.xcuserdatad/UserInterfaceState.xcuserstate b/HNReader.xcodeproj/project.xcworkspace/xcuserdata/mattrighetti.xcuserdatad/UserInterfaceState.xcuserstate index 8e97a0f..5d2fa1c 100644 Binary files a/HNReader.xcodeproj/project.xcworkspace/xcuserdata/mattrighetti.xcuserdatad/UserInterfaceState.xcuserstate and b/HNReader.xcodeproj/project.xcworkspace/xcuserdata/mattrighetti.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/HNReader.xcodeproj/xcuserdata/mattrighetti.xcuserdatad/xcschemes/xcschememanagement.plist b/HNReader.xcodeproj/xcuserdata/mattrighetti.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..94c3fe4 --- /dev/null +++ b/HNReader.xcodeproj/xcuserdata/mattrighetti.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + HNReader.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/HNReader/Info.plist b/HNReader/Info.plist index 0622ad3..6b6a51c 100644 --- a/HNReader/Info.plist +++ b/HNReader/Info.plist @@ -2,6 +2,13 @@ + UIAppFonts + + IBMPlexSerif-Bold.ttf + IBMPlexSerif-SemiBold.ttf + IBMPlexSerif-Regular.ttf + IBMPlexSerif-Light.ttf + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable diff --git a/HNReader/View/ItemCell.swift b/HNReader/View/ItemCell.swift index e6a977d..73b3400 100644 --- a/HNReader/View/ItemCell.swift +++ b/HNReader/View/ItemCell.swift @@ -23,28 +23,24 @@ struct ItemCell: View { HStack { VStack(alignment: .leading, spacing: 5) { Text(item?.title ?? String(repeating: "-", count: 30)) - .font(.title2) - .fontWeight(.semibold) + .font(.custom("IBMPlexSerif-Bold", size: 17)) .redactIfNull(item) Text(item?.urlHost ?? String(repeating: "-", count: 30)) - .font(.callout) - .fontWeight(.light) - .foregroundColor(.white) + .font(.custom("IBMPlexSerif-Light", size: 12)) .redactIfNull(item) HStack { Text(item?.scoreString ?? String(repeating: "-", count: 3)) - .font(.callout) - .fontWeight(.bold) + .font(.custom("IBMPlexSerif-SemiBold", size: 12)) .redactIfNull(item) Text("Posted by \(item?.by ?? "?")") - .font(.callout) + .font(.custom("IBMPlexSerif-Regular", size: 12)) .redactIfNull(item) Text("\(item?.timeStringRepresentation ?? String(repeating: "-", count: 3))") - .font(.callout) + .font(.custom("IBMPlexSerif-Regular", size: 12)) .redactIfNull(item) Spacer() @@ -52,15 +48,16 @@ struct ItemCell: View { } HStack { - + ZStack { RoundedRectangle(cornerRadius: 15) .foregroundStyle(Color.gray.opacity(0.1)) .frame(width: 50, height: 50) - + Label(title: {}, icon: { Image(systemName: "bubble.left") }) + .foregroundStyle(.primary) .padding() } .frame(width: 50, height: 50) @@ -79,15 +76,16 @@ struct ItemCell: View { NSWorkspace.shared.open(url) } } - + ZStack { RoundedRectangle(cornerRadius: 15) .foregroundStyle(Color.gray.opacity(0.1)) .frame(width: 50, height: 50) - + Label(title: {}, icon: { - Image(systemName: "link") + Image(systemName: "arrow.up.right") }) + .foregroundStyle(.primary) .padding() } .frame(width: 50, height: 50) diff --git a/HNReader/fonts/IBMPlexSerif-Bold.ttf b/HNReader/fonts/IBMPlexSerif-Bold.ttf new file mode 100644 index 0000000..25d51df Binary files /dev/null and b/HNReader/fonts/IBMPlexSerif-Bold.ttf differ diff --git a/HNReader/fonts/IBMPlexSerif-Light.ttf b/HNReader/fonts/IBMPlexSerif-Light.ttf new file mode 100644 index 0000000..9bbf0d7 Binary files /dev/null and b/HNReader/fonts/IBMPlexSerif-Light.ttf differ diff --git a/HNReader/fonts/IBMPlexSerif-Regular.ttf b/HNReader/fonts/IBMPlexSerif-Regular.ttf new file mode 100644 index 0000000..ae7fa24 Binary files /dev/null and b/HNReader/fonts/IBMPlexSerif-Regular.ttf differ diff --git a/HNReader/fonts/IBMPlexSerif-SemiBold.ttf b/HNReader/fonts/IBMPlexSerif-SemiBold.ttf new file mode 100644 index 0000000..dc8978e Binary files /dev/null and b/HNReader/fonts/IBMPlexSerif-SemiBold.ttf differ