diff --git a/CHANGELOG.md b/CHANGELOG.md index e36562e2c..e0c62e729 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added a tag to published contact lists to help us detect the source of lost contact lists. [cleanstr#51](https://github.com/planetary-social/cleanstr/issues/51) - Removed integration with Universal Name Space [#1636](https://github.com/planetary-social/nos/issues/1636) - Remove most usage of xcstringstool-generated strings to improve performance. [#1458](https://github.com/planetary-social/nos/issues/1458) +- Added new authors and categories to the Discover tab. [#1592](https://github.com/planetary-social/nos/issues/1592) ### Internal Changes - Migrate ObservableObject to @Observable where possible [#1458](https://github.com/planetary-social/nos/issues/1458) diff --git a/Nos.xcodeproj/project.pbxproj b/Nos.xcodeproj/project.pbxproj index 26438ad0c..b1f0c69a5 100644 --- a/Nos.xcodeproj/project.pbxproj +++ b/Nos.xcodeproj/project.pbxproj @@ -146,6 +146,11 @@ 045EDD052CAC025700B67964 /* ScrollViewProxy+Animate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EDD042CAC025700B67964 /* ScrollViewProxy+Animate.swift */; }; 0496D6312C975E6900D29375 /* FlagOptionPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0496D6302C975E6900D29375 /* FlagOptionPicker.swift */; }; 04C9D7272CBF09C200EAAD4D /* TextField+PlaceHolderStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C9D7262CBF09C200EAAD4D /* TextField+PlaceHolderStyle.swift */; }; + 04C9D7912CC29D5000EAAD4D /* FeaturedAuthor+Cohort1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C9D7902CC29D5000EAAD4D /* FeaturedAuthor+Cohort1.swift */; }; + 04C9D7932CC29D8300EAAD4D /* FeaturedAuthor+Cohort2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C9D7922CC29D8300EAAD4D /* FeaturedAuthor+Cohort2.swift */; }; + 04C9D7952CC29E0A00EAAD4D /* FeaturedAuthor+Cohort3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C9D7942CC29E0A00EAAD4D /* FeaturedAuthor+Cohort3.swift */; }; + 04C9D7972CC29E4A00EAAD4D /* FeaturedAuthor+Cohort4.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C9D7962CC29E4A00EAAD4D /* FeaturedAuthor+Cohort4.swift */; }; + 04C9D7992CC29EDD00EAAD4D /* FeaturedAuthor+Cohort5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C9D7982CC29EDD00EAAD4D /* FeaturedAuthor+Cohort5.swift */; }; 04F16AA72CBDBD91003AD693 /* DeleteConfirmationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F16AA62CBDBD91003AD693 /* DeleteConfirmationView.swift */; }; 2D06BB9D2AE249D70085F509 /* ThreadRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D06BB9C2AE249D70085F509 /* ThreadRootView.swift */; }; 2D4010A22AD87DF300F93AD4 /* KnownFollowersView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D4010A12AD87DF300F93AD4 /* KnownFollowersView.swift */; }; @@ -696,6 +701,11 @@ 045EDD042CAC025700B67964 /* ScrollViewProxy+Animate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScrollViewProxy+Animate.swift"; sourceTree = ""; }; 0496D6302C975E6900D29375 /* FlagOptionPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlagOptionPicker.swift; sourceTree = ""; }; 04C9D7262CBF09C200EAAD4D /* TextField+PlaceHolderStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextField+PlaceHolderStyle.swift"; sourceTree = ""; }; + 04C9D7902CC29D5000EAAD4D /* FeaturedAuthor+Cohort1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedAuthor+Cohort1.swift"; sourceTree = ""; }; + 04C9D7922CC29D8300EAAD4D /* FeaturedAuthor+Cohort2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedAuthor+Cohort2.swift"; sourceTree = ""; }; + 04C9D7942CC29E0A00EAAD4D /* FeaturedAuthor+Cohort3.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedAuthor+Cohort3.swift"; sourceTree = ""; }; + 04C9D7962CC29E4A00EAAD4D /* FeaturedAuthor+Cohort4.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedAuthor+Cohort4.swift"; sourceTree = ""; }; + 04C9D7982CC29EDD00EAAD4D /* FeaturedAuthor+Cohort5.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FeaturedAuthor+Cohort5.swift"; sourceTree = ""; }; 04F16AA62CBDBD91003AD693 /* DeleteConfirmationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteConfirmationView.swift; sourceTree = ""; }; 2D06BB9C2AE249D70085F509 /* ThreadRootView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThreadRootView.swift; sourceTree = ""; }; 2D4010A12AD87DF300F93AD4 /* KnownFollowersView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KnownFollowersView.swift; sourceTree = ""; }; @@ -1583,6 +1593,11 @@ 65BD8DC02BDAF2C300802039 /* DiscoverContentsView.swift */, 65BD8DBE2BDAF2C300802039 /* DiscoverTab.swift */, 030AE4282BE3D63C004DEE02 /* FeaturedAuthor.swift */, + 04C9D7902CC29D5000EAAD4D /* FeaturedAuthor+Cohort1.swift */, + 04C9D7922CC29D8300EAAD4D /* FeaturedAuthor+Cohort2.swift */, + 04C9D7942CC29E0A00EAAD4D /* FeaturedAuthor+Cohort3.swift */, + 04C9D7962CC29E4A00EAAD4D /* FeaturedAuthor+Cohort4.swift */, + 04C9D7982CC29EDD00EAAD4D /* FeaturedAuthor+Cohort5.swift */, 65BD8DBF2BDAF2C300802039 /* FeaturedAuthorCategory.swift */, 03A743442CC048C700893CAE /* GoToFeedTip.swift */, ); @@ -2380,16 +2395,19 @@ 65D066992BD558690011C5CD /* DirectMessageWrapper.swift in Sources */, 504454702C90728500251A7E /* Event+Hydration.swift in Sources */, 659B27242BD9CB4500BEA6CC /* VerifiableEvent.swift in Sources */, + 04C9D7932CC29D8300EAAD4D /* FeaturedAuthor+Cohort2.swift in Sources */, C9C2B77F29E0731600548B4A /* AsyncTimer.swift in Sources */, A32B6C7329A6BE9B00653FF5 /* FollowsView.swift in Sources */, 3F30020D29C382EB003D4F8B /* OnboardingLoginView.swift in Sources */, C9A25B3D29F174D200B39534 /* ReadabilityPadding.swift in Sources */, + 04C9D7952CC29E0A00EAAD4D /* FeaturedAuthor+Cohort3.swift in Sources */, C9DFA972299BF9E8006929C1 /* CompactNoteView.swift in Sources */, C9AC31AD2A55E0BD00A94E5A /* NotificationViewModel.swift in Sources */, 0326347A2C10C57A00E489B5 /* FileStorageAPIClient.swift in Sources */, 030E56CA2CC1BC6200A4A51E /* PublicKeyView.swift in Sources */, C9EE3E632A053910008A7491 /* ExpirationTimeOption.swift in Sources */, 03C7E7A22CB9CD150054624C /* PointDownEmojiTipViewStyle.swift in Sources */, + 04C9D7972CC29E4A00EAAD4D /* FeaturedAuthor+Cohort4.swift in Sources */, C9A0DAE029C697A100466635 /* AboutView.swift in Sources */, 0496D6312C975E6900D29375 /* FlagOptionPicker.swift in Sources */, 04F16AA72CBDBD91003AD693 /* DeleteConfirmationView.swift in Sources */, @@ -2484,6 +2502,7 @@ 03E181472C754BA300886CC6 /* LinkView.swift in Sources */, C90352BA2C1235CD000A5993 /* NosNavigationDestination.swift in Sources */, 03D1B4282C3C1A5D001778CD /* NostrIdentifier.swift in Sources */, + 04C9D7992CC29EDD00EAAD4D /* FeaturedAuthor+Cohort5.swift in Sources */, DC5F203F2A6AE24200F8D73F /* ImagePickerButton.swift in Sources */, 5B79F5EB2B97B5E9002DA9BE /* ConfirmUsernameDeletionSheet.swift in Sources */, C9032C2E2BAE31ED001F4EC6 /* ProfileFeedType.swift in Sources */, @@ -2491,6 +2510,7 @@ C92F01582AC4D6F700972489 /* NosTextField.swift in Sources */, C9C2B77C29E072E400548B4A /* WebSocket+Nos.swift in Sources */, C9DEC003298945150078B43A /* String+Lorem.swift in Sources */, + 04C9D7912CC29D5000EAAD4D /* FeaturedAuthor+Cohort1.swift in Sources */, 038EF09D2CC16D640031F7F2 /* PrivateKeyView.swift in Sources */, C97A1C8B29E45B4E009D9E8D /* RawEventController.swift in Sources */, C9DEC0632989541F0078B43A /* Bundle+Current.swift in Sources */, diff --git a/Nos/Assets/Localization/Localizable.xcstrings b/Nos/Assets/Localization/Localizable.xcstrings index 356c873ca..779087ba3 100644 --- a/Nos/Assets/Localization/Localizable.xcstrings +++ b/Nos/Assets/Localization/Localizable.xcstrings @@ -6352,6 +6352,28 @@ } } }, + "featuredAuthorCategoryEspanol" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Español" + } + } + } + }, + "featuredAuthorCategoryFood" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Food" + } + } + } + }, "featuredAuthorCategoryGaming" : { "extractionState" : "manual", "localizations" : { @@ -6470,6 +6492,17 @@ } } }, + "featuredAuthorCategoryLifestyle" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lifestyle" + } + } + } + }, "featuredAuthorCategoryMusic" : { "extractionState" : "manual", "localizations" : { @@ -6647,6 +6680,61 @@ } } }, + "featuredAuthorCategoryNZAustralia" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "NZ / Australia" + } + } + } + }, + "featuredAuthorCategoryPhotography" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photography" + } + } + } + }, + "featuredAuthorCategoryPolitics" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Politics" + } + } + } + }, + "featuredAuthorCategoryRandom" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Random" + } + } + } + }, + "featuredAuthorCategorySciFi" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sci-Fi" + } + } + } + }, "featuredAuthorCategorySports" : { "extractionState" : "manual", "localizations" : { diff --git a/Nos/Views/Discover/FeaturedAuthor+Cohort1.swift b/Nos/Views/Discover/FeaturedAuthor+Cohort1.swift new file mode 100644 index 000000000..c0859eab8 --- /dev/null +++ b/Nos/Views/Discover/FeaturedAuthor+Cohort1.swift @@ -0,0 +1,46 @@ +import Foundation + +extension FeaturedAuthor { + static let cohort1 = [ + FeaturedAuthor( + name: "Miguel Almodo", + npub: "npub1ajt9gp0prf4xrp4j07j9rghlcyukahncs0fw5ywr977jccued9nqrcc0cs", + categories: [.activists] + ), + FeaturedAuthor( + name: "The Conversation", + npub: "npub1uuxnz0sq60thc098xfxqst7wnw77l0sm3r8nn48yspuvz4ecprksxdahzv", + categories: [.news] + ), + FeaturedAuthor( + name: "Ainsley Costello", + npub: "npub13qrrw2h4z52m7jh0spefrwtysl4psfkfv6j4j672se5hkhvtyw7qu0almy", + categories: [.music] + ), + FeaturedAuthor( + name: "Chris Liss", + npub: "npub1dwhr8j9uy6ju2uu39t6tj6mw76gztr4rwdd6jr9qtkdh5crjwt5q2nqfxe", + categories: [.sports] + ), + FeaturedAuthor( + name: "Alicia Stockman", + npub: "npub1l3y60kjywvrrln5ftse553h2ltg53sm3zy55grvlncd78x3k5uqsmw8dff", + categories: [.music] + ), + FeaturedAuthor( + name: "Judson McKinney and the Wanderers", + npub: "npub1jvt2hacqqzvwjkum30mlvmy52jer4p4crfh0veqstpk58rr9e7ms2fwh74", + categories: [.music] + ), + FeaturedAuthor( + name: "Black in Aquatics", + npub: "npub1ee852umhw26afdfwgf90cky9ufaythwyarttqu59lazcrx56z0tsmx3mkz", + categories: [.sports] + ), + FeaturedAuthor( + name: "Global Sports Central", + npub: "npub1qspus6smkn8mcdxg5jflh50s69vdgtwsd5p74gmjpzp2qekn5duqfv5afj", + categories: [.news, .sports] + ) + ] +} diff --git a/Nos/Views/Discover/FeaturedAuthor+Cohort2.swift b/Nos/Views/Discover/FeaturedAuthor+Cohort2.swift new file mode 100644 index 000000000..2b443750c --- /dev/null +++ b/Nos/Views/Discover/FeaturedAuthor+Cohort2.swift @@ -0,0 +1,41 @@ +import Foundation + +extension FeaturedAuthor { + static let cohort2 = [ + FeaturedAuthor( + name: "Lou", + npub: "npub1rr3678k7ajms2sht0cqqeawy86sdd5ahn6akfj8zex9ng82zuh0sz8nywd", + categories: [.gaming] + ), + FeaturedAuthor( + name: "We Distribute", + npub: "npub1w9wuqc3s6lr25c4sgj52werj3tngvt43qrccqrher4wvn7tjm32s2ck403", + categories: [.news, .tech] + ), + FeaturedAuthor( + name: "Simon Howard", + npub: "npub1rt5h26ukmqsqa29ggt0h98tq2skgqr85f3znhwxule4z4pjhhd3qzs5k94", + categories: [.music] + ), + FeaturedAuthor( + name: "BTCPhoto", + npub: "npub1vjl6n2llukcc6pe3am2hkwqh8twzh2ymlp7pdrdfq5tlqg08y26sd7ygzx", + categories: [.art] + ), + FeaturedAuthor( + name: "Sam Hain", + npub: "npub1df47g7a39usamq83aula72zdz23fx9xw5rrfmd0v6p9t20n5u0ss2eqez9", + categories: [.art] + ), + FeaturedAuthor( + name: "Joanna", + npub: "npub1a2a85jwde32zjsjk02ujasydqc3t2w9rfgfe97amm0r4d9mepfxsxf3fnn", + categories: [.activists, .health] + ), + FeaturedAuthor( + name: "Josh Brown", + npub: "npub1yl8jc6znttslcpj3p6p8vuq98awu6w0xh4lqtu0lkjr772kpx4ysfqvz34", + categories: [.photography] + ), + ] +} diff --git a/Nos/Views/Discover/FeaturedAuthor+Cohort3.swift b/Nos/Views/Discover/FeaturedAuthor+Cohort3.swift new file mode 100644 index 000000000..5882887f1 --- /dev/null +++ b/Nos/Views/Discover/FeaturedAuthor+Cohort3.swift @@ -0,0 +1,41 @@ +import Foundation + +extension FeaturedAuthor { + static let cohort3 = [ + FeaturedAuthor( + name: "INPC", + npub: "npub1q33jywkl8r0e5g48lvrenxnr3lw59kzrw4e7p0cecslqzwc56eesjymqu0", + categories: [.music] + ), + FeaturedAuthor( + name: "Mama Ganush", + npub: "npub1lq9lx5mh2m3pvdnckcta7h7h07qexa3gxvyakdzt73lqp3prt3jqx9pa2e", + categories: [.activists] + ), + FeaturedAuthor( + name: "Fight for the Future", + npub: "npub1jcwuf0dh5vqsq44qavygqwjfecawf53fmx7gadlcdtuexz0548hqy4jyrz", + categories: [.activists, .tech] + ), + FeaturedAuthor( + name: "Z Network", + npub: "npub1xm0rvnpw52nh7tk59ntly55w74rmd2cqvt3kg5zxrzz3rlssvspsk0gs6s", + categories: [.news, .activists] + ), + FeaturedAuthor( + name: "Z Network Chomsky", + npub: "npub1a7mxreazql8ld0csdzk7wk6a5xjzcg7h632q78u3008lyr32lxks5t4ske", + categories: [.activists] + ), + FeaturedAuthor( + name: "Patrick Boehler", + npub: "npub1n8gvnx827tdl46ke406sjx0t5ey4mrtptux766ejp9y2ff8cc3uqe4ufd0", + categories: [.news, .tech] + ), + FeaturedAuthor( + name: "JSTR", + npub: "npub1vpdlxsc8dr4m580d43vj4ka0e6wmstzzxhvcermllhh5m9ytnhdq6wnaem", + categories: [.music] + ) + ] +} diff --git a/Nos/Views/Discover/FeaturedAuthor+Cohort4.swift b/Nos/Views/Discover/FeaturedAuthor+Cohort4.swift new file mode 100644 index 000000000..60ddb4ab2 --- /dev/null +++ b/Nos/Views/Discover/FeaturedAuthor+Cohort4.swift @@ -0,0 +1,31 @@ +import Foundation + +extension FeaturedAuthor { + static let cohort4 = [ + FeaturedAuthor( + name: "Existing Sprinkles", + npub: "npub1f5kc2agn63ecv2ua4909z9ahgmr2x9263na36jh6r908ql0926jq3nvk2u", + categories: [.art] + ), + FeaturedAuthor( + name: "ArchJourney", + npub: "npub1qhjxfxpjm7udr0agr6nuhuwf9383e4g9907g64r9hf6y4fh6t6uqpcp36k", + categories: [.art] + ), + FeaturedAuthor( + name: "Neigsendoig Cocules", + npub: "npub1372csjhjv35sxcqm90ca2d0cfxsl6xku7j6hhswynwdy9m7zl98scn950w", + categories: [.music] + ), + FeaturedAuthor( + name: "Lexie Bean", + npub: "npub1s8c5mk68qn0erxrx5waqz7xxk39x5xx2367879eqcv270tqs4tvsf5ewgf", + categories: [.activists] + ), + FeaturedAuthor( + name: "Protest.net", + npub: "npub1z3thwmwasmp787zvk2aaq5qdjtjdkl637p52nph4flv668973c8qaz2du7", + categories: [.activists] + ) + ] +} diff --git a/Nos/Views/Discover/FeaturedAuthor+Cohort5.swift b/Nos/Views/Discover/FeaturedAuthor+Cohort5.swift new file mode 100644 index 000000000..d72bf125b --- /dev/null +++ b/Nos/Views/Discover/FeaturedAuthor+Cohort5.swift @@ -0,0 +1,276 @@ +import Foundation + +extension FeaturedAuthor { + static let cohort5 = [ + FeaturedAuthor( + name: "kindness project bot", + npub: "npub1r8yz465alvfnykhkfula8kxxeas2z75hats0tymw8yv3kp0p4a5qp6phl8", + categories: [.health] + ), + FeaturedAuthor( + name: "Pegah", + npub: "npub1rt65j4vnd05qf72szpj8afdd5hrkylka7pe55lup8waquv0wm9sqjj0y9g", + categories: [.art] + ), + FeaturedAuthor( + name: "Karine Studio", + npub: "npub1l9kr6ajfwp6vfjp60vuzxwqwwlw884dff98a9cznujs520shsf9s35xfwh", + categories: [.art] + ), + FeaturedAuthor( + name: "Kavinya", + npub: "npub1w3myuqcf6gzgluqtn0mzpmqyqyqlzhtrhdsna8t287mggjg9j6zs2xjh9z", + categories: [.music] + ), + FeaturedAuthor( + name: "NOICE", + npub: "npub1v02emwxjn2lznkmnszltjy4c7cqzxuejkmye0zeqs62wf0shpahswdmwuj", + categories: [.art, .photography] + ), + FeaturedAuthor( + name: "Matt Birchler", + npub: "npub13huwfylt3hm77wxk9js63k0y3p03u3xhj39z49hnkdcydvp0ph6sr573xv", + categories: [.tech] + ), + FeaturedAuthor( + name: "John Gruber", + npub: "npub19tmpp2jx64y4ggf9d7gyjdvtrjckx4udjal4sc77s62sfm3cfslqmkc8af", + categories: [.tech] + ), + FeaturedAuthor( + name: "Meredith Whittaker", + npub: "npub15s3hussvmv9nyvw3w8lg0x72udazmdat7tcj5vmmjafnwcvv8tpqzz6r6y", + categories: [.tech] + ), + FeaturedAuthor( + name: "Charles Stross", + npub: "npub1yacj26q9parem5fqf2s3ym9xkxghkk0w2jc63aglsnl2fmyhshnszgla7e", + categories: [.sciFi] + ), + FeaturedAuthor( + name: "Pablonius Monk", + npub: "npub1cxl7dfnmy669w65uyc27f0kwwg0p8dgfz9h2w36jpt7q90v99wcqpluwyu", + categories: [.politics] + ), + FeaturedAuthor( + name: "Taylor Lorenz", + npub: "npub1d9nndmy3lx6f00cysrmn2v9t6hz280uwycw0kgcfdhvg99azry8sududfv", + categories: [.tech] + ), + FeaturedAuthor( + name: "zed-erwan", + npub: "npub1r2sah0htqnw7xrs70gq00m48vp25neu8ym2n2ghrny92dqqf7sest8hth0", + categories: [.art] + ), + FeaturedAuthor( + name: "Franny", + npub: "npub1995y964wmxl94crx3ksfley24szjr390skdd237ex9z7ttp5c9lqld8vtf", + categories: [.photography] + ), + FeaturedAuthor( + name: "Johanna", + npub: "npub1a2a85jwde32zjsjk02ujasydqc3t2w9rfgfe97amm0r4d9mepfxsxf3fnn", + categories: [.health] + ), + FeaturedAuthor( + name: "Alisa", + npub: "npub1q4e23x480fcn2wpxh7ufl8h2mtd06g0ynjdeaqjgqtkn2pae2awsd95ftj", + categories: [.food] + ), + FeaturedAuthor( + name: "ProPublica", + npub: "npub19fwwstv5dg8qsmuj9rmgf98nt9lfz5gvv67jqx6y9jtgekpcz5pqpgulzp", + categories: [.news] + ), + FeaturedAuthor( + name: "Robert Reich", + npub: "npub1dzkq7f7q23fh0mrw03wwd23ddmu258k6m34gctl6ark6qlex4l7qskqcce", + categories: [.news] + ), + FeaturedAuthor( + name: "Internet Archive", + npub: "npub13f3xuy2npzmpctnv3z4c0rte3ntsl7kflwcrkt97zrltlq68d5ws0pfd3f", + categories: [.news] + ), + FeaturedAuthor( + name: "Electronic Frontier Foundation", + npub: "npub1q40jtk09x6mdmmlw09qracctqpgsr9zl2hcc7wzf8vuwasqsncwsxgaa27", + categories: [.news] + ), + FeaturedAuthor( + name: "Eliza", + npub: "npub1yye4qu6qrgcsejghnl36wl5kvecsel0kxr0ass8ewtqc8gjykxkssdhmd0", + categories: [.art] + ), + FeaturedAuthor( + name: "MLS Major League Soccer", + npub: "npub1tql0248ettpuxngcmyqqt7q83zacx4ajxg3kv35ptayzd3nw2jnqxnwxsu", + categories: [.sports] + ), + FeaturedAuthor( + name: "Ava", + npub: "npub1f6ugxyxkknket3kkdgu4k0fu74vmshawermkj8d06sz6jts9t4kslazcka", + categories: [.tech] + ), + FeaturedAuthor( + name: "Eva", + npub: "npub18wn0jd3p7n6u3y7mc46p0hpx3cmtv9k3mu82rc0lhkg3rdyf590s3wshpx", + categories: [.tech, .activists] + ), + FeaturedAuthor( + name: "Strypey", + npub: "npub1pwwm8s9zxssfm3aqv3g4fvqfh9kglr76m5z434cymju9gp9jhwwqdqtc65", + categories: [.tech, .activists] + ), + FeaturedAuthor( + name: "Cecilia", + npub: "npub1paftqx5zvj0gjtu3whudejxdgv4vdn27paw4lzaauc43kgfxxaqs75c5a7", + categories: [.art] + ), + FeaturedAuthor( + name: "Alvin", + npub: "npub1ansj0chcjdksv5m83lkshkyah5jxky6uqupgtphemsr27azm4wwqz0epd5", + categories: [.tech, .espanol] + ), + FeaturedAuthor( + name: "Zoé", + npub: "npub16wy27uj48r82gskq48uvxku8076h0y9xcngsgry7j4yn6zxmnznqu4hy6a", + categories: [.photography, .espanol] + ), + FeaturedAuthor( + name: "Melvin Carvalho", + npub: "npub1melv683fw6n2mvhl5h6dhqd8mqfv3wmxnz4qph83ua4dk4006ezsrt5c24", + categories: [.tech] + ), + FeaturedAuthor( + name: "Just Loud", + npub: "npub1a377f258tzafuzdgezwjw4aplg8ze3suyzm40t6j4czcjvwp5vls5d5r4w", + categories: [.music] + ), + FeaturedAuthor( + name: "Paloma", + npub: "npub1gscnk7wlcvcruw7scjhwpjrja94gfu369fzkyje6kcc0yn6rqyhscqtpjp", + categories: [.lifestyle] + ), + FeaturedAuthor( + name: "Cory Doctorow", + npub: "npub1yxzkmtuyctjw2pffp6e9uvyrkp29hrqra2tm3xp3z9707z06muxsg75qvv", + categories: [.tech, .activists] + ), + FeaturedAuthor( + name: "Sitko", + npub: "npub12rze589jx0gg6kslkjfl2gxxkhtlw73t5shyve5qrglrv6c2qflqejj7ns", + categories: [.photography] + ), + FeaturedAuthor( + name: "Ratel", + npub: "npub15c3sa5kzedkfys95mc5egmst8ptuqefvezemae0883un7hqf5d5sgmqlxf", + categories: [.art] + ), + FeaturedAuthor( + name: "Wellington Chinese History", + npub: "npub1fdyax3st9gcqj7zhqres3fw9pf7qrkukppv3fs7w2mcjcsqyrxjqcgcxcn", + categories: [.nzAustralia] + ), + FeaturedAuthor( + name: "David Hood", + npub: "npub12aew64q5lsxpcc98lskha0564gtjn30cw7vdueqnyj06xjqxtmksahdrlg", + categories: [.nzAustralia, .news] + ), + FeaturedAuthor( + name: "Kris Sowersby", + npub: "npub1t6n8u5sa80m6sx53m7uge6afktek4me982wvclr3xe5tfeyg34fslkxqcz", + categories: [.art, .nzAustralia] + ), + FeaturedAuthor( + name: "Greenpeace Atoearoa", + npub: "npub1mn78z9rssfq2yjqdwsa3h4qwu6zpw4xku9ppfldkde4ycwnpch4qhmcssl", + categories: [.activists, .nzAustralia] + ), + FeaturedAuthor( + name: "Bill Bennett", + npub: "npub1gpcxn339ap3r9tju2uy6d5k8rmud7f8kr579w7zv54qyevgz9xsqdtr4us", + categories: [.news, .nzAustralia] + ), + FeaturedAuthor( + name: "The Spinoff", + npub: "npub1qngl40pxy06k3hrqp4ltkn4p5yacen7u93du58v4tamf73tzaqhs6dfy8g", + categories: [.news, .nzAustralia] + ), + FeaturedAuthor( + name: "Dan Selvin", + npub: "npub16jjukmhnvflj92dv2jr8z6udfhzyyuyf3mckmf6afws9w4xdhhzs745kmv", + categories: [.news, .nzAustralia] + ), + FeaturedAuthor( + name: "Emma Cook", + npub: "npub18pl5kgxl47e5pssxl9q38m2v7ez477gw3nz220jz2vslnjreqq8s2yxl9m", + categories: [.art, .nzAustralia] + ), + FeaturedAuthor( + name: "Jack Yan", + npub: "npub179lhhjz30t3n4utkkn26qzgmpx44v9s5qdtwjs5686px8ulw7dfszxmfgp", + categories: [.news, .nzAustralia] + ), + FeaturedAuthor( + name: "Lucire", + npub: "npub1l4s4mtt96znwu3plfeyupk37y63xfapw5e7kjn7uavuw02lvav5q3ngc3s", + categories: [.news, .nzAustralia] + ), + FeaturedAuthor( + name: "Ian Griffin", + npub: "npub19p6edn6lvz9dmegm7s8vyz9w5w0ejzgztke8rcswxgmqr35h8feszt36jc", + categories: [.sciFi, .nzAustralia] + ), + FeaturedAuthor( + name: "JSM", + npub: "npub1uqeexjx2djkfwzxdnrnrrch5h2k4xn0uapcgsxm94ftaxrlhy5lqywjckg", + categories: [.tech] + ), + FeaturedAuthor( + name: "Carla", + npub: "npub1hu3hdctm5nkzd8gslnyedfr5ddz3z547jqcl5j88g4fame2jd08qh6h8nh", + categories: [.random] + ), + FeaturedAuthor( + name: "Wavlake", + npub: "npub1yfg0d955c2jrj2080ew7pa4xrtj7x7s7umt28wh0zurwmxgpyj9shwv6vg", + categories: [.music] + ), + FeaturedAuthor( + name: "Angela", + npub: "npub19vvkfwy9mcluhvehw7r56p4stsj5lmx4v9g3vgkwsm3arpgef8aqsrt562", + categories: [.random] + ), + FeaturedAuthor( + name: "Nela", + npub: "npub1fv9u4drq4hdrr7k45vn0krqy7mkgy8ajf059m0wq8szvcrsjlsrs8tdz3p", + categories: [.art, .random] + ), + FeaturedAuthor( + name: "J", + npub: "npub1e9wyz20lawvze2fkn3yh0fq8mux9drrrqearn44v4es482qm6vtqp85h90", + categories: [.food, .random] + ), + FeaturedAuthor( + name: "Connie", + npub: "npub1468024mrwz6uhywjvt8s6vw4e604egnv8tfd2m2utrmqyd3nu3fsutvgjn", + categories: [.random] + ), + FeaturedAuthor( + name: "Ignacio", + npub: "npub1wptpq88jyjv6nwwltqx0exhxsg8zt0dcm4uwvtcxn80hxk2r66hswdm8rf", + categories: [.lifestyle, .espanol] + ), + FeaturedAuthor( + name: "Nacho", + npub: "npub1daajnadf0f0s7uz3yftur8434rtz2s949gkdpx7uyeapm9rlt0qq9q8w5z", + categories: [.lifestyle] + ), + FeaturedAuthor( + name: "Morvin", + npub: "npub1030nmrre84tzpq2de535pd6up2x74c32n6r5xsw2kf0zf58j333sxssyu7", + categories: [.art] + ) + ] +} diff --git a/Nos/Views/Discover/FeaturedAuthor.swift b/Nos/Views/Discover/FeaturedAuthor.swift index 8f9b53818..c44e4e619 100644 --- a/Nos/Views/Discover/FeaturedAuthor.swift +++ b/Nos/Views/Discover/FeaturedAuthor.swift @@ -31,7 +31,7 @@ struct FeaturedAuthor { extension FeaturedAuthor { /// All featured authors that should appear on the Discover tab. - static let all = cohort4 + cohort3 + cohort2 + cohort1 + additionalAuthors + static let all = cohort5 + cohort4 + cohort3 + cohort2 + cohort1 + additionalAuthors } extension FeaturedAuthor { @@ -46,186 +46,86 @@ extension FeaturedAuthor { name: "Edward Snowden", npub: "npub1sn0wdenkukak0d9dfczzeacvhkrgz92ak56egt7vdgzn8pv2wfqqhrjdv9", categories: [.activists, .tech] - ), + ) ] } extension FeaturedAuthor { - static let cohort1 = [ - FeaturedAuthor( - name: "Miguel Almodo", - npub: "npub1ajt9gp0prf4xrp4j07j9rghlcyukahncs0fw5ywr977jccued9nqrcc0cs", - categories: [.activists] - ), - FeaturedAuthor( - name: "The Conversation", - npub: "npub1uuxnz0sq60thc098xfxqst7wnw77l0sm3r8nn48yspuvz4ecprksxdahzv", - categories: [.news] - ), - FeaturedAuthor( - name: "Ainsley Costello", - npub: "npub13qrrw2h4z52m7jh0spefrwtysl4psfkfv6j4j672se5hkhvtyw7qu0almy", - categories: [.music] - ), - FeaturedAuthor( - name: "Chris Liss", - npub: "npub1dwhr8j9uy6ju2uu39t6tj6mw76gztr4rwdd6jr9qtkdh5crjwt5q2nqfxe", - categories: [.sports] - ), - FeaturedAuthor( - name: "Alicia Stockman", - npub: "npub1l3y60kjywvrrln5ftse553h2ltg53sm3zy55grvlncd78x3k5uqsmw8dff", - categories: [.music] - ), - FeaturedAuthor( - name: "Judson McKinney and the Wanderers", - npub: "npub1jvt2hacqqzvwjkum30mlvmy52jer4p4crfh0veqstpk58rr9e7ms2fwh74", - categories: [.music] - ), - FeaturedAuthor( - name: "Onigirl", - npub: "npub18jvyjwpmm65g8v9azmlvu8knd5m7xlxau08y8vt75n53jtkpz2ys6mqqu3", - categories: [.art] - ), - FeaturedAuthor( - name: "Black in Aquatics", - npub: "npub1ee852umhw26afdfwgf90cky9ufaythwyarttqu59lazcrx56z0tsmx3mkz", - categories: [.sports] - ), - FeaturedAuthor( - name: "Global Sports Central", - npub: "npub1qspus6smkn8mcdxg5jflh50s69vdgtwsd5p74gmjpzp2qekn5duqfv5afj", - categories: [.news, .sports] - ), - FeaturedAuthor( - name: "Alastair Thompson", - npub: "npub157pk8t8njtnldqzankrk2syzmkp6qtrv2ewgq3fnuc4k78dr797shfngev", - categories: [.news] - ), - ] -} - -extension FeaturedAuthor { - static let cohort2 = [ - FeaturedAuthor( - name: "Lou", - npub: "npub1rr3678k7ajms2sht0cqqeawy86sdd5ahn6akfj8zex9ng82zuh0sz8nywd", - categories: [.gaming] - ), + static let selectedNewAuthors = [ FeaturedAuthor( - name: "We Distribute", - npub: "npub1w9wuqc3s6lr25c4sgj52werj3tngvt43qrccqrher4wvn7tjm32s2ck403", - categories: [.news, .tech] + name: "NOICE", + npub: "npub1v02emwxjn2lznkmnszltjy4c7cqzxuejkmye0zeqs62wf0shpahswdmwuj", + categories: [.art, .photography] ), FeaturedAuthor( - name: "Simon Howard", - npub: "npub1rt5h26ukmqsqa29ggt0h98tq2skgqr85f3znhwxule4z4pjhhd3qzs5k94", - categories: [.music] + name: "Wellington Chinese History", + npub: "npub1fdyax3st9gcqj7zhqres3fw9pf7qrkukppv3fs7w2mcjcsqyrxjqcgcxcn", + categories: [.nzAustralia] ), FeaturedAuthor( - name: "BTCPhoto", - npub: "npub1vjl6n2llukcc6pe3am2hkwqh8twzh2ymlp7pdrdfq5tlqg08y26sd7ygzx", - categories: [.art] + name: "Ignacio", + npub: "npub1wptpq88jyjv6nwwltqx0exhxsg8zt0dcm4uwvtcxn80hxk2r66hswdm8rf", + categories: [.lifestyle, .espanol] ), FeaturedAuthor( - name: "Sam Hain", - npub: "npub1df47g7a39usamq83aula72zdz23fx9xw5rrfmd0v6p9t20n5u0ss2eqez9", - categories: [.art] + name: "Greenpeace Atoearoa", + npub: "npub1mn78z9rssfq2yjqdwsa3h4qwu6zpw4xku9ppfldkde4ycwnpch4qhmcssl", + categories: [.activists, .nzAustralia] ), FeaturedAuthor( - name: "Joanna", - npub: "npub1a2a85jwde32zjsjk02ujasydqc3t2w9rfgfe97amm0r4d9mepfxsxf3fnn", - categories: [.activists, .health] + name: "Bill Bennett", + npub: "npub1gpcxn339ap3r9tju2uy6d5k8rmud7f8kr579w7zv54qyevgz9xsqdtr4us", + categories: [.news, .nzAustralia] ), FeaturedAuthor( - name: "Josh Brown", - npub: "npub1yl8jc6znttslcpj3p6p8vuq98awu6w0xh4lqtu0lkjr772kpx4ysfqvz34", - categories: [.art] + name: "The Spinoff", + npub: "npub1qngl40pxy06k3hrqp4ltkn4p5yacen7u93du58v4tamf73tzaqhs6dfy8g", + categories: [.news, .nzAustralia] ), - ] -} - -extension FeaturedAuthor { - static let cohort3 = [ FeaturedAuthor( - name: "INPC", - npub: "npub1q33jywkl8r0e5g48lvrenxnr3lw59kzrw4e7p0cecslqzwc56eesjymqu0", - categories: [.music] + name: "Dan Selvin", + npub: "npub16jjukmhnvflj92dv2jr8z6udfhzyyuyf3mckmf6afws9w4xdhhzs745kmv", + categories: [.news, .nzAustralia] ), FeaturedAuthor( - name: "Mama Ganush", - npub: "npub1lq9lx5mh2m3pvdnckcta7h7h07qexa3gxvyakdzt73lqp3prt3jqx9pa2e", - categories: [.activists] + name: "Nacho", + npub: "npub1daajnadf0f0s7uz3yftur8434rtz2s949gkdpx7uyeapm9rlt0qq9q8w5z", + categories: [.lifestyle] ), FeaturedAuthor( - name: "Fight for the Future", - npub: "npub1jcwuf0dh5vqsq44qavygqwjfecawf53fmx7gadlcdtuexz0548hqy4jyrz", - categories: [.activists, .tech] + name: "Emma Cook", + npub: "npub18pl5kgxl47e5pssxl9q38m2v7ez477gw3nz220jz2vslnjreqq8s2yxl9m", + categories: [.art, .nzAustralia] ), FeaturedAuthor( - name: "Z Network", - npub: "npub1xm0rvnpw52nh7tk59ntly55w74rmd2cqvt3kg5zxrzz3rlssvspsk0gs6s", - categories: [.news, .activists] + name: "Jack Yan", + npub: "npub179lhhjz30t3n4utkkn26qzgmpx44v9s5qdtwjs5686px8ulw7dfszxmfgp", + categories: [.news, .nzAustralia] ), FeaturedAuthor( - name: "Z Network Chomsky", - npub: "npub1a7mxreazql8ld0csdzk7wk6a5xjzcg7h632q78u3008lyr32lxks5t4ske", - categories: [.activists] + name: "Lucire", + npub: "npub1l4s4mtt96znwu3plfeyupk37y63xfapw5e7kjn7uavuw02lvav5q3ngc3s", + categories: [.news, .nzAustralia] ), FeaturedAuthor( - name: "Patrick Boehler", - npub: "npub1n8gvnx827tdl46ke406sjx0t5ey4mrtptux766ejp9y2ff8cc3uqe4ufd0", - categories: [.news, .tech] + name: "Ian Griffin", + npub: "npub19p6edn6lvz9dmegm7s8vyz9w5w0ejzgztke8rcswxgmqr35h8feszt36jc", + categories: [.sciFi, .nzAustralia] ), FeaturedAuthor( - name: "JSTR", - npub: "npub1vpdlxsc8dr4m580d43vj4ka0e6wmstzzxhvcermllhh5m9ytnhdq6wnaem", - categories: [.music] - ), - ] -} - -extension FeaturedAuthor { - static let cohort4 = [ - FeaturedAuthor( - name: "NDP Media", - npub: "npub1ks7de0smt2v3aytrdsfh927sgml3666459mj9ghd7tvg3t42x9gqyvwjqf", - categories: [.news] - ), - FeaturedAuthor( - name: "Revolution Z", - npub: "npub1j4sumq8pyplks5nhchyhzmw72dyemkyv2fv50vwau5fhf2qa7zusq3tlyh", - categories: [.news, .activists] - ), - FeaturedAuthor( - name: "Existing Sprinkles", - npub: "npub1f5kc2agn63ecv2ua4909z9ahgmr2x9263na36jh6r908ql0926jq3nvk2u", + name: "Morvin", + npub: "npub1030nmrre84tzpq2de535pd6up2x74c32n6r5xsw2kf0zf58j333sxssyu7", categories: [.art] ), FeaturedAuthor( - name: "MuckRock", - npub: "npub1u5nfvj4dzzmrcf9n5kptl26w7kfhc4vml0ll8svvhrv5jz2es46sl0vv2r", - categories: [.news] + name: "David Hood", + npub: "npub12aew64q5lsxpcc98lskha0564gtjn30cw7vdueqnyj06xjqxtmksahdrlg", + categories: [.nzAustralia, .news] ), FeaturedAuthor( - name: "ArchJourney", - npub: "npub1qhjxfxpjm7udr0agr6nuhuwf9383e4g9907g64r9hf6y4fh6t6uqpcp36k", - categories: [.art] - ), - FeaturedAuthor( - name: "Neigsendoig Cocules", - npub: "npub1372csjhjv35sxcqm90ca2d0cfxsl6xku7j6hhswynwdy9m7zl98scn950w", - categories: [.music] - ), - FeaturedAuthor( - name: "Lexie Bean", - npub: "npub1s8c5mk68qn0erxrx5waqz7xxk39x5xx2367879eqcv270tqs4tvsf5ewgf", - categories: [.activists] - ), - FeaturedAuthor( - name: "Protest.net", - npub: "npub1z3thwmwasmp787zvk2aaq5qdjtjdkl637p52nph4flv668973c8qaz2du7", - categories: [.activists] - ), + name: "Kris Sowersby", + npub: "npub1t6n8u5sa80m6sx53m7uge6afktek4me982wvclr3xe5tfeyg34fslkxqcz", + categories: [.art, .nzAustralia] + ) ] } diff --git a/Nos/Views/Discover/FeaturedAuthorCategory.swift b/Nos/Views/Discover/FeaturedAuthorCategory.swift index 139a185bd..b16ce7a22 100644 --- a/Nos/Views/Discover/FeaturedAuthorCategory.swift +++ b/Nos/Views/Discover/FeaturedAuthorCategory.swift @@ -9,27 +9,43 @@ enum FeaturedAuthorCategory: CaseIterable { case all /// A special type of category that includes all authors from the latest cohort. case new // swiftlint:disable:this identifier_name - case music - case news - case art // swiftlint:disable:this identifier_name case activists - case tech - case health + case art // swiftlint:disable:this identifier_name + case espanol + case food case gaming + case health + case lifestyle + case music + case news + case nzAustralia + case photography + case politics + case random + case sciFi case sports + case tech var text: LocalizedStringKey { switch self { case .all: "featuredAuthorCategoryAll" case .new: "featuredAuthorCategoryNew" - case .music: "featuredAuthorCategoryMusic" - case .news: "featuredAuthorCategoryNews" - case .art: "featuredAuthorCategoryArt" case .activists: "featuredAuthorCategoryActivists" + case .art: "featuredAuthorCategoryArt" + case .espanol: "featuredAuthorCategoryEspanol" + case .food: "featuredAuthorCategoryFood" case .gaming: "featuredAuthorCategoryGaming" + case .health: "featuredAuthorCategoryHealth" + case .lifestyle: "featuredAuthorCategoryLifestyle" + case .music: "featuredAuthorCategoryMusic" + case .news: "featuredAuthorCategoryNews" + case .nzAustralia: "featuredAuthorCategoryNZAustralia" + case .photography: "featuredAuthorCategoryPhotography" + case .politics: "featuredAuthorCategoryPolitics" + case .random: "featuredAuthorCategoryRandom" + case .sciFi: "featuredAuthorCategorySciFi" case .sports: "featuredAuthorCategorySports" case .tech: "featuredAuthorCategoryTech" - case .health: "featuredAuthorCategoryHealth" } } @@ -38,7 +54,7 @@ enum FeaturedAuthorCategory: CaseIterable { case .all: FeaturedAuthor.all case .new: - FeaturedAuthor.cohort4 + FeaturedAuthor.selectedNewAuthors default: FeaturedAuthor.all.filter { $0.categories.contains(self) } }