diff --git a/Pocket Poster/Assets.xcassets/Credits/Contents.json b/Pocket Poster/Assets.xcassets/Credits/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Credits/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Pocket Poster/Assets.xcassets/Credits/Nathan.imageset/Contents.json b/Pocket Poster/Assets.xcassets/Credits/Nathan.imageset/Contents.json new file mode 100644 index 0000000..ec16c04 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Credits/Nathan.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Nathan@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Pocket Poster/Assets.xcassets/Credits/Nathan.imageset/Nathan@2x.png b/Pocket Poster/Assets.xcassets/Credits/Nathan.imageset/Nathan@2x.png new file mode 100644 index 0000000..8935cc5 Binary files /dev/null and b/Pocket Poster/Assets.xcassets/Credits/Nathan.imageset/Nathan@2x.png differ diff --git a/Pocket Poster/Assets.xcassets/Credits/duy.imageset/Contents.json b/Pocket Poster/Assets.xcassets/Credits/duy.imageset/Contents.json new file mode 100644 index 0000000..93a02c2 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Credits/duy.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "duy@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Pocket Poster/Assets.xcassets/Credits/duy.imageset/duy@2x.png b/Pocket Poster/Assets.xcassets/Credits/duy.imageset/duy@2x.png new file mode 100644 index 0000000..2d49a5f Binary files /dev/null and b/Pocket Poster/Assets.xcassets/Credits/duy.imageset/duy@2x.png differ diff --git a/Pocket Poster/Assets.xcassets/Credits/leminlimez.imageset/Contents.json b/Pocket Poster/Assets.xcassets/Credits/leminlimez.imageset/Contents.json new file mode 100644 index 0000000..c875ab3 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Credits/leminlimez.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "LeminLimez.jpg", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Pocket Poster/Assets.xcassets/Credits/leminlimez.imageset/LeminLimez.jpg b/Pocket Poster/Assets.xcassets/Credits/leminlimez.imageset/LeminLimez.jpg new file mode 100644 index 0000000..94bb0a0 Binary files /dev/null and b/Pocket Poster/Assets.xcassets/Credits/leminlimez.imageset/LeminLimez.jpg differ diff --git a/Pocket Poster/Assets.xcassets/Credits/sky.imageset/Contents.json b/Pocket Poster/Assets.xcassets/Credits/sky.imageset/Contents.json new file mode 100644 index 0000000..4fbde9b --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Credits/sky.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "sky@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Pocket Poster/Assets.xcassets/Credits/sky.imageset/sky@2x.png b/Pocket Poster/Assets.xcassets/Credits/sky.imageset/sky@2x.png new file mode 100644 index 0000000..0a20990 Binary files /dev/null and b/Pocket Poster/Assets.xcassets/Credits/sky.imageset/sky@2x.png differ diff --git a/Pocket Poster/Assets.xcassets/Symbols/Contents.json b/Pocket Poster/Assets.xcassets/Symbols/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Symbols/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Pocket Poster/Assets.xcassets/Symbols/discord.fill.symbolset/Contents.json b/Pocket Poster/Assets.xcassets/Symbols/discord.fill.symbolset/Contents.json new file mode 100644 index 0000000..3e33952 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Symbols/discord.fill.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "discord.fill.svg", + "idiom" : "universal" + } + ] +} diff --git a/Pocket Poster/Assets.xcassets/Symbols/discord.fill.symbolset/discord.fill.svg b/Pocket Poster/Assets.xcassets/Symbols/discord.fill.symbolset/discord.fill.svg new file mode 100644 index 0000000..4819b03 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Symbols/discord.fill.symbolset/discord.fill.svg @@ -0,0 +1,200 @@ + + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.4.0 + Requires Xcode 14 or greater + Generated from discord.fill + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pocket Poster/Assets.xcassets/Symbols/discord.symbolset/Contents.json b/Pocket Poster/Assets.xcassets/Symbols/discord.symbolset/Contents.json new file mode 100644 index 0000000..24f139d --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Symbols/discord.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "discord.svg", + "idiom" : "universal" + } + ] +} diff --git a/Pocket Poster/Assets.xcassets/Symbols/discord.symbolset/discord.svg b/Pocket Poster/Assets.xcassets/Symbols/discord.symbolset/discord.svg new file mode 100644 index 0000000..baa9398 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Symbols/discord.symbolset/discord.svg @@ -0,0 +1,199 @@ + + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.4.0 + Requires Xcode 14 or greater + Generated from discord + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pocket Poster/Assets.xcassets/Symbols/github.fill.symbolset/Contents.json b/Pocket Poster/Assets.xcassets/Symbols/github.fill.symbolset/Contents.json new file mode 100644 index 0000000..092d1f2 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Symbols/github.fill.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "github.fill.svg", + "idiom" : "universal" + } + ] +} diff --git a/Pocket Poster/Assets.xcassets/Symbols/github.fill.symbolset/github.fill.svg b/Pocket Poster/Assets.xcassets/Symbols/github.fill.symbolset/github.fill.svg new file mode 100644 index 0000000..9964bc1 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Symbols/github.fill.symbolset/github.fill.svg @@ -0,0 +1,167 @@ + + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.4.0 + Requires Xcode 14 or greater + Generated from github.fill + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pocket Poster/Assets.xcassets/Symbols/ko-fi.symbolset/Contents.json b/Pocket Poster/Assets.xcassets/Symbols/ko-fi.symbolset/Contents.json new file mode 100644 index 0000000..2df279c --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Symbols/ko-fi.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "ko-fi.svg", + "idiom" : "universal" + } + ] +} diff --git a/Pocket Poster/Assets.xcassets/Symbols/ko-fi.symbolset/ko-fi.svg b/Pocket Poster/Assets.xcassets/Symbols/ko-fi.symbolset/ko-fi.svg new file mode 100644 index 0000000..c9d3a71 --- /dev/null +++ b/Pocket Poster/Assets.xcassets/Symbols/ko-fi.symbolset/ko-fi.svg @@ -0,0 +1,157 @@ + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.4.0 + Requires Xcode 14 or greater + Generated from Ko-fi + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pocket Poster/Views/Accessory Views/LinkCell.swift b/Pocket Poster/Views/Accessory Views/LinkCell.swift new file mode 100644 index 0000000..7fdd2a9 --- /dev/null +++ b/Pocket Poster/Views/Accessory Views/LinkCell.swift @@ -0,0 +1,59 @@ +// +// LinkCell.swift +// Pocket Poster +// +// Created by lemin on 6/3/25. +// + +import SwiftUI + +struct LinkCell: View { + var imageName: String + var url: String + var title: String + var contribution: String + var systemImage: Bool = false + var circle: Bool = false + + var body: some View { + HStack(alignment: .center) { + Group { + if systemImage { + Image(systemName: imageName) + .resizable() + .aspectRatio(contentMode: .fit) + } else { + if imageName != "" { + Image(imageName) + .resizable() + .aspectRatio(contentMode: .fit) + } + } + } + .cornerRadius(circle ? .infinity : 0) + .frame(width: 24, height: 24) + + VStack { + HStack { + Button(action: { + if url != "" { + UIApplication.shared.open(URL(string: url)!) + } + }) { + Text(title) + .fontWeight(.bold) + } + .padding(.horizontal, 6) + Spacer() + } + HStack { + Text(contribution) + .padding(.horizontal, 6) + .font(.footnote) + Spacer() + } + } + } + .foregroundColor(.blue) + } + } diff --git a/Pocket Poster/Views/SettingsView.swift b/Pocket Poster/Views/SettingsView.swift index 3516eb7..f2f0cb9 100644 --- a/Pocket Poster/Views/SettingsView.swift +++ b/Pocket Poster/Views/SettingsView.swift @@ -100,7 +100,30 @@ struct SettingsView: View { Label("Links", systemImage: "link") } - // TODO: Credits + // MARK: Socials + Section { + Link(destination: URL(string: "https://github.com/leminlimez/Pocket-Poster")!) { + Label("View on GitHub", image: "github.fill") + } + Link(destination: URL(string: "https://discord.gg/MN8JgqSAqT")!) { + Label("Join the Discord", image: "discord.fill") + } + Link(destination: URL(string: "https://ko-fi.com/leminlimez")!) { + Label("Support on Ko-Fi", image: "ko-fi") + } + } header: { + Label("Socials", systemImage: "globe") + } + + // MARK: Credits + Section { + LinkCell(imageName: "leminlimez", url: "https://github.com/leminlimez", title: "LeminLimez", contribution: NSLocalizedString("Main Developer", comment: "leminlimez's contribution"), circle: true) + LinkCell(imageName: "sky", url: "https://bsky.app/profile/did:plc:xykfeb7ieeo335g3aly6vev4", title: "dootskyre", contribution: "Shortcut Creator", circle: true) + LinkCell(imageName: "Nathan", url: "https://github.com/verygenericname", title: "Nathan", contribution: "Exploit", circle: true) + LinkCell(imageName: "duy", url: "https://github.com/khanhduytran0", title: "DuyKhanhTran", contribution: "Exploit", circle: true) + } header: { + Label("Credits", systemImage: "wrench.and.screwdriver") + } } .padding() .alert(errorAlertTitle ?? "Error", isPresented: $showErrorAlert) {