diff --git a/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Contents.json b/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000000..cbc5b757684
--- /dev/null
+++ b/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "filename" : "Icon-120.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "60x60"
+ },
+ {
+ "filename" : "Icon-180.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "60x60"
+ },
+ {
+ "filename" : "Icon-1024.png",
+ "idiom" : "universal",
+ "platform" : "ios",
+ "size" : "1024x1024"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Icon-1024.png b/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Icon-1024.png
new file mode 100644
index 00000000000..67e87a5f370
Binary files /dev/null and b/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Icon-1024.png differ
diff --git a/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Icon-120.png b/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Icon-120.png
new file mode 100644
index 00000000000..73dba7fd25e
Binary files /dev/null and b/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Icon-120.png differ
diff --git a/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Icon-180.png b/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Icon-180.png
new file mode 100644
index 00000000000..96e627ab95d
Binary files /dev/null and b/packages/mobile/ios/AudiusReactNative/Images.xcassets/AppIcon.appiconset/Icon-180.png differ
diff --git a/packages/web/src/assets/img/hero-bg.jpg b/packages/web/src/assets/img/hero-bg.jpg
new file mode 100644
index 00000000000..a06c4a82f40
Binary files /dev/null and b/packages/web/src/assets/img/hero-bg.jpg differ
diff --git a/packages/web/src/assets/img/publicSite/imageCoinsBackgroundImage2x.webp b/packages/web/src/assets/img/imageCoinsBackgroundImage2x.webp
similarity index 100%
rename from packages/web/src/assets/img/publicSite/imageCoinsBackgroundImage2x.webp
rename to packages/web/src/assets/img/imageCoinsBackgroundImage2x.webp
diff --git a/packages/web/src/assets/img/publicSite/Artist-2hollis.webp b/packages/web/src/assets/img/publicSite/Artist-2hollis.webp
deleted file mode 100755
index 4a0f8c3d35e..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-2hollis.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-AlinaBaraz.webp b/packages/web/src/assets/img/publicSite/Artist-AlinaBaraz.webp
deleted file mode 100755
index df9fbf0fbb2..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-AlinaBaraz.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Aluna.webp b/packages/web/src/assets/img/publicSite/Artist-Aluna.webp
deleted file mode 100755
index 82228b370e1..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Aluna.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Coldbrew.webp b/packages/web/src/assets/img/publicSite/Artist-Coldbrew.webp
deleted file mode 100755
index e8d9f096fb3..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Coldbrew.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-ConnorPrice.webp b/packages/web/src/assets/img/publicSite/Artist-ConnorPrice.webp
deleted file mode 100755
index aa9076323a4..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-ConnorPrice.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Deadmau5.webp b/packages/web/src/assets/img/publicSite/Artist-Deadmau5.webp
deleted file mode 100755
index 02328629563..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Deadmau5.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Diplo.webp b/packages/web/src/assets/img/publicSite/Artist-Diplo.webp
deleted file mode 100755
index c3b3d8431e5..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Diplo.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Disclosure.webp b/packages/web/src/assets/img/publicSite/Artist-Disclosure.webp
deleted file mode 100755
index a110bae9bc6..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Disclosure.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-KatoOnTheTrack.webp b/packages/web/src/assets/img/publicSite/Artist-KatoOnTheTrack.webp
deleted file mode 100755
index 3d2ce35c38b..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-KatoOnTheTrack.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Kenny-Beats.webp b/packages/web/src/assets/img/publicSite/Artist-Kenny-Beats.webp
deleted file mode 100755
index 9e204b97395..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Kenny-Beats.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Lolo-Zouai.webp b/packages/web/src/assets/img/publicSite/Artist-Lolo-Zouai.webp
deleted file mode 100755
index b75de81d3bb..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Lolo-Zouai.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Matt-OX.webp b/packages/web/src/assets/img/publicSite/Artist-Matt-OX.webp
deleted file mode 100755
index 15abe17b670..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Matt-OX.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-MollyMcPhaul.webp b/packages/web/src/assets/img/publicSite/Artist-MollyMcPhaul.webp
deleted file mode 100755
index b9ecb77e58a..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-MollyMcPhaul.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-RLGrime.webp b/packages/web/src/assets/img/publicSite/Artist-RLGrime.webp
deleted file mode 100755
index 9fa651264c1..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-RLGrime.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Rezz.webp b/packages/web/src/assets/img/publicSite/Artist-Rezz.webp
deleted file mode 100755
index c4f41ac4389..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Rezz.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Skrillex.webp b/packages/web/src/assets/img/publicSite/Artist-Skrillex.webp
deleted file mode 100755
index 7384cfa6f48..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Skrillex.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Takeover.webp b/packages/web/src/assets/img/publicSite/Artist-Takeover.webp
deleted file mode 100644
index 7b354d685c1..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Takeover.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Artist-Zedd.webp b/packages/web/src/assets/img/publicSite/Artist-Zedd.webp
deleted file mode 100755
index 5d677f883d7..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Artist-Zedd.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/AudiusApp@2x.png b/packages/web/src/assets/img/publicSite/AudiusApp@2x.png
deleted file mode 100644
index 546077c3915..00000000000
Binary files a/packages/web/src/assets/img/publicSite/AudiusApp@2x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/AudiusAppAlt@2x.png b/packages/web/src/assets/img/publicSite/AudiusAppAlt@2x.png
deleted file mode 100755
index 8e005bdf7f9..00000000000
Binary files a/packages/web/src/assets/img/publicSite/AudiusAppAlt@2x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/AudiusExclusivesPlaylistArt.png b/packages/web/src/assets/img/publicSite/AudiusExclusivesPlaylistArt.png
deleted file mode 100644
index ab9e9be1784..00000000000
Binary files a/packages/web/src/assets/img/publicSite/AudiusExclusivesPlaylistArt.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/AudiusWeb@2x.png b/packages/web/src/assets/img/publicSite/AudiusWeb@2x.png
deleted file mode 100755
index eaf97b44f6d..00000000000
Binary files a/packages/web/src/assets/img/publicSite/AudiusWeb@2x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/AudiusWeeklyPlaylistArt.png b/packages/web/src/assets/img/publicSite/AudiusWeeklyPlaylistArt.png
deleted file mode 100644
index 6a99c0dd9a9..00000000000
Binary files a/packages/web/src/assets/img/publicSite/AudiusWeeklyPlaylistArt.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/BnLLiveSets@1x.jpg b/packages/web/src/assets/img/publicSite/BnLLiveSets@1x.jpg
deleted file mode 100644
index 8e513fb87ba..00000000000
Binary files a/packages/web/src/assets/img/publicSite/BnLLiveSets@1x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/BnLLiveSets@2x.jpg b/packages/web/src/assets/img/publicSite/BnLLiveSets@2x.jpg
deleted file mode 100644
index d0725d9bb47..00000000000
Binary files a/packages/web/src/assets/img/publicSite/BnLLiveSets@2x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/CTASection.webp b/packages/web/src/assets/img/publicSite/CTASection.webp
deleted file mode 100755
index b5b097643cb..00000000000
Binary files a/packages/web/src/assets/img/publicSite/CTASection.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/CTASection@2x.webp b/packages/web/src/assets/img/publicSite/CTASection@2x.webp
deleted file mode 100755
index ed99d1a99d1..00000000000
Binary files a/packages/web/src/assets/img/publicSite/CTASection@2x.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/CTASection@3x.webp b/packages/web/src/assets/img/publicSite/CTASection@3x.webp
deleted file mode 100755
index 6e48ca8ebd0..00000000000
Binary files a/packages/web/src/assets/img/publicSite/CTASection@3x.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/CTASectionTakeover.webp b/packages/web/src/assets/img/publicSite/CTASectionTakeover.webp
deleted file mode 100644
index c7b9eaa41ce..00000000000
Binary files a/packages/web/src/assets/img/publicSite/CTASectionTakeover.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Footer-Background-mobile@1x.jpg b/packages/web/src/assets/img/publicSite/Footer-Background-mobile@1x.jpg
deleted file mode 100644
index 6cc748de091..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Footer-Background-mobile@1x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Footer-Background-mobile@2x.jpg b/packages/web/src/assets/img/publicSite/Footer-Background-mobile@2x.jpg
deleted file mode 100644
index e10e5684375..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Footer-Background-mobile@2x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Footer-Background@1x.jpg b/packages/web/src/assets/img/publicSite/Footer-Background@1x.jpg
deleted file mode 100644
index 2b08063c673..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Footer-Background@1x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Footer-Background@2x.jpg b/packages/web/src/assets/img/publicSite/Footer-Background@2x.jpg
deleted file mode 100644
index 7db4ac1aea8..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Footer-Background@2x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Footer-Foreground@1x.png b/packages/web/src/assets/img/publicSite/Footer-Foreground@1x.png
deleted file mode 100644
index b50cf8e16cf..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Footer-Foreground@1x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Footer-Foreground@2x.png b/packages/web/src/assets/img/publicSite/Footer-Foreground@2x.png
deleted file mode 100644
index 41ec68b7a88..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Footer-Foreground@2x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/HQ-Audio-mobile.jpg b/packages/web/src/assets/img/publicSite/HQ-Audio-mobile.jpg
deleted file mode 100644
index 428b68a81f5..00000000000
Binary files a/packages/web/src/assets/img/publicSite/HQ-Audio-mobile.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/HQ-Audio@1x.jpg b/packages/web/src/assets/img/publicSite/HQ-Audio@1x.jpg
deleted file mode 100644
index b93a33ce9ed..00000000000
Binary files a/packages/web/src/assets/img/publicSite/HQ-Audio@1x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Hero-Foreground-mobile.png b/packages/web/src/assets/img/publicSite/Hero-Foreground-mobile.png
deleted file mode 100644
index 523c92b6746..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Hero-Foreground-mobile.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Hero-Foreground-mobile@1x.png b/packages/web/src/assets/img/publicSite/Hero-Foreground-mobile@1x.png
deleted file mode 100644
index 4d5f2722152..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Hero-Foreground-mobile@1x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Hero-Foreground-mobile@2x.png b/packages/web/src/assets/img/publicSite/Hero-Foreground-mobile@2x.png
deleted file mode 100644
index 75422fe044b..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Hero-Foreground-mobile@2x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Hero-Foreground.png b/packages/web/src/assets/img/publicSite/Hero-Foreground.png
deleted file mode 100644
index 26ddd5e788b..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Hero-Foreground.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/HeroBG.webp b/packages/web/src/assets/img/publicSite/HeroBG.webp
deleted file mode 100755
index f02297b52b0..00000000000
Binary files a/packages/web/src/assets/img/publicSite/HeroBG.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/HeroBG@2x.webp b/packages/web/src/assets/img/publicSite/HeroBG@2x.webp
deleted file mode 100755
index b695f9322d9..00000000000
Binary files a/packages/web/src/assets/img/publicSite/HeroBG@2x.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/HeroBG@3x.webp b/packages/web/src/assets/img/publicSite/HeroBG@3x.webp
deleted file mode 100755
index 87e8af7efab..00000000000
Binary files a/packages/web/src/assets/img/publicSite/HeroBG@3x.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/HeroBGTakeover.webp b/packages/web/src/assets/img/publicSite/HeroBGTakeover.webp
deleted file mode 100644
index ab5970dc612..00000000000
Binary files a/packages/web/src/assets/img/publicSite/HeroBGTakeover.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/HotAndNewPlaylistArt.jpeg b/packages/web/src/assets/img/publicSite/HotAndNewPlaylistArt.jpeg
deleted file mode 100644
index b1882cd1585..00000000000
Binary files a/packages/web/src/assets/img/publicSite/HotAndNewPlaylistArt.jpeg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtist3LAU.jpg b/packages/web/src/assets/img/publicSite/ImgArtist3LAU.jpg
deleted file mode 100755
index 5dc642942b7..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtist3LAU.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtistAlinaBaraz.jpg b/packages/web/src/assets/img/publicSite/ImgArtistAlinaBaraz.jpg
deleted file mode 100755
index b7fd0630042..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtistAlinaBaraz.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtistDeadmau5.jpg b/packages/web/src/assets/img/publicSite/ImgArtistDeadmau5.jpg
deleted file mode 100755
index 0245b2025b2..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtistDeadmau5.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtistJasonDerulo.jpg b/packages/web/src/assets/img/publicSite/ImgArtistJasonDerulo.jpg
deleted file mode 100755
index d5c33f64788..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtistJasonDerulo.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtistKatyPerry.jpg b/packages/web/src/assets/img/publicSite/ImgArtistKatyPerry.jpg
deleted file mode 100755
index 5769f8eae05..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtistKatyPerry.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtistNas.jpg b/packages/web/src/assets/img/publicSite/ImgArtistNas.jpg
deleted file mode 100755
index 842a7b98d48..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtistNas.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtistREZZ.jpg b/packages/web/src/assets/img/publicSite/ImgArtistREZZ.jpg
deleted file mode 100755
index 1a5238454fe..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtistREZZ.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtistSkrillex.jpg b/packages/web/src/assets/img/publicSite/ImgArtistSkrillex.jpg
deleted file mode 100755
index 91782c50865..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtistSkrillex.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtistSteveAoki.jpg b/packages/web/src/assets/img/publicSite/ImgArtistSteveAoki.jpg
deleted file mode 100755
index 0068c7bf73d..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtistSteveAoki.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgArtistTheChainsmokers.jpg b/packages/web/src/assets/img/publicSite/ImgArtistTheChainsmokers.jpg
deleted file mode 100755
index e54f89865f5..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgArtistTheChainsmokers.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgCrowd.jpg b/packages/web/src/assets/img/publicSite/ImgCrowd.jpg
deleted file mode 100755
index c386e380f38..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgCrowd.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgMerch.jpg b/packages/web/src/assets/img/publicSite/ImgMerch.jpg
deleted file mode 100755
index d232e8e3387..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgMerch.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ImgRemix.jpg b/packages/web/src/assets/img/publicSite/ImgRemix.jpg
deleted file mode 100755
index 83999117e7f..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ImgRemix.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Investor-Katy-Perry.webp b/packages/web/src/assets/img/publicSite/Investor-Katy-Perry.webp
deleted file mode 100644
index be2263d48dc..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Investor-Katy-Perry.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Investor-Nas.webp b/packages/web/src/assets/img/publicSite/Investor-Nas.webp
deleted file mode 100644
index ac355a88887..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Investor-Nas.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Investor-Placeholder.svg b/packages/web/src/assets/img/publicSite/Investor-Placeholder.svg
deleted file mode 100644
index 50ac0ecf50a..00000000000
--- a/packages/web/src/assets/img/publicSite/Investor-Placeholder.svg
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/web/src/assets/img/publicSite/Investor-Pusha-T.webp b/packages/web/src/assets/img/publicSite/Investor-Pusha-T.webp
deleted file mode 100644
index 7fa49fc7058..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Investor-Pusha-T.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Investor-Steve-Aoki.webp b/packages/web/src/assets/img/publicSite/Investor-Steve-Aoki.webp
deleted file mode 100755
index 93d8db475c5..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Investor-Steve-Aoki.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Investor-The-Chainsmokers.webp b/packages/web/src/assets/img/publicSite/Investor-The-Chainsmokers.webp
deleted file mode 100644
index 52cfb3170cf..00000000000
Binary files a/packages/web/src/assets/img/publicSite/Investor-The-Chainsmokers.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/Lines.svg b/packages/web/src/assets/img/publicSite/Lines.svg
deleted file mode 100644
index 8f83c54eb55..00000000000
--- a/packages/web/src/assets/img/publicSite/Lines.svg
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
- Lines
- Created with Sketch.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/MoombahtonPlaylistArt.png b/packages/web/src/assets/img/publicSite/MoombahtonPlaylistArt.png
deleted file mode 100644
index 0cc87dcf149..00000000000
Binary files a/packages/web/src/assets/img/publicSite/MoombahtonPlaylistArt.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ProductShot1.webp b/packages/web/src/assets/img/publicSite/ProductShot1.webp
deleted file mode 100644
index f1ce51ba7fd..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ProductShot1.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ProductShot2.webp b/packages/web/src/assets/img/publicSite/ProductShot2.webp
deleted file mode 100755
index 863c94b2ae0..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ProductShot2.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/ProductShot3.webp b/packages/web/src/assets/img/publicSite/ProductShot3.webp
deleted file mode 100755
index 0864aaae39b..00000000000
Binary files a/packages/web/src/assets/img/publicSite/ProductShot3.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/app-store-badge.svg b/packages/web/src/assets/img/publicSite/app-store-badge.svg
deleted file mode 100755
index 072b425a1ab..00000000000
--- a/packages/web/src/assets/img/publicSite/app-store-badge.svg
+++ /dev/null
@@ -1,46 +0,0 @@
-
- Download_on_the_App_Store_Badge_US-UK_RGB_blk_4SVG_092917
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/web/src/assets/img/publicSite/cypher@1x.jpg b/packages/web/src/assets/img/publicSite/cypher@1x.jpg
deleted file mode 100644
index 62f8ba851fc..00000000000
Binary files a/packages/web/src/assets/img/publicSite/cypher@1x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/cypher@2x.jpg b/packages/web/src/assets/img/publicSite/cypher@2x.jpg
deleted file mode 100644
index 69d7809ac8c..00000000000
Binary files a/packages/web/src/assets/img/publicSite/cypher@2x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/dot-logo@1x.jpg b/packages/web/src/assets/img/publicSite/dot-logo@1x.jpg
deleted file mode 100644
index 5e3df40275f..00000000000
Binary files a/packages/web/src/assets/img/publicSite/dot-logo@1x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/dot-logo@2x.jpg b/packages/web/src/assets/img/publicSite/dot-logo@2x.jpg
deleted file mode 100644
index 8d4fcf55e99..00000000000
Binary files a/packages/web/src/assets/img/publicSite/dot-logo@2x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/dots@1x.jpg b/packages/web/src/assets/img/publicSite/dots@1x.jpg
deleted file mode 100644
index ee4a0b99166..00000000000
Binary files a/packages/web/src/assets/img/publicSite/dots@1x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/dots@2x.jpg b/packages/web/src/assets/img/publicSite/dots@2x.jpg
deleted file mode 100644
index ba45f75c236..00000000000
Binary files a/packages/web/src/assets/img/publicSite/dots@2x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/downloadDesktop.svg b/packages/web/src/assets/img/publicSite/downloadDesktop.svg
deleted file mode 100644
index e50cfc601c5..00000000000
--- a/packages/web/src/assets/img/publicSite/downloadDesktop.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/packages/web/src/assets/img/publicSite/downloadMobile.svg b/packages/web/src/assets/img/publicSite/downloadMobile.svg
deleted file mode 100644
index d533b5a54b8..00000000000
--- a/packages/web/src/assets/img/publicSite/downloadMobile.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/packages/web/src/assets/img/publicSite/glyph-pattern@1x.png b/packages/web/src/assets/img/publicSite/glyph-pattern@1x.png
deleted file mode 100644
index 789a066073f..00000000000
Binary files a/packages/web/src/assets/img/publicSite/glyph-pattern@1x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/glyph-pattern@2x.png b/packages/web/src/assets/img/publicSite/glyph-pattern@2x.png
deleted file mode 100644
index dd296f20b06..00000000000
Binary files a/packages/web/src/assets/img/publicSite/glyph-pattern@2x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/google-play-badge.svg b/packages/web/src/assets/img/publicSite/google-play-badge.svg
deleted file mode 100644
index 5aaae7119c3..00000000000
--- a/packages/web/src/assets/img/publicSite/google-play-badge.svg
+++ /dev/null
@@ -1 +0,0 @@
-fil_get
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/iconArrow.svg b/packages/web/src/assets/img/publicSite/iconArrow.svg
deleted file mode 100644
index da40e73983f..00000000000
--- a/packages/web/src/assets/img/publicSite/iconArrow.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- iconArrow
- Created with Sketch.
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/iconAudio.svg b/packages/web/src/assets/img/publicSite/iconAudio.svg
deleted file mode 100644
index 76403f1dc41..00000000000
--- a/packages/web/src/assets/img/publicSite/iconAudio.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/packages/web/src/assets/img/publicSite/iconCensorship.svg b/packages/web/src/assets/img/publicSite/iconCensorship.svg
deleted file mode 100644
index 95b237e3095..00000000000
--- a/packages/web/src/assets/img/publicSite/iconCensorship.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- iconCensorship
- Created with Sketch.
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/iconDiscord.svg b/packages/web/src/assets/img/publicSite/iconDiscord.svg
deleted file mode 100644
index c515db9ed47..00000000000
--- a/packages/web/src/assets/img/publicSite/iconDiscord.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- iconDiscord
- Created with Sketch.
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/iconFree.svg b/packages/web/src/assets/img/publicSite/iconFree.svg
deleted file mode 100644
index ab30e11b71d..00000000000
--- a/packages/web/src/assets/img/publicSite/iconFree.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/packages/web/src/assets/img/publicSite/iconInsta.svg b/packages/web/src/assets/img/publicSite/iconInsta.svg
deleted file mode 100644
index febb559491c..00000000000
--- a/packages/web/src/assets/img/publicSite/iconInsta.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- iconInsta
- Created with Sketch.
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/iconOptions.svg b/packages/web/src/assets/img/publicSite/iconOptions.svg
deleted file mode 100644
index 5dfb17ef3b2..00000000000
--- a/packages/web/src/assets/img/publicSite/iconOptions.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- iconOptions
- Created with Sketch.
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/iconRemix.svg b/packages/web/src/assets/img/publicSite/iconRemix.svg
deleted file mode 100644
index 6f5fdc91e48..00000000000
--- a/packages/web/src/assets/img/publicSite/iconRemix.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/packages/web/src/assets/img/publicSite/iconRemove.svg b/packages/web/src/assets/img/publicSite/iconRemove.svg
deleted file mode 100644
index 51ab252d459..00000000000
--- a/packages/web/src/assets/img/publicSite/iconRemove.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- iconRemove
- Created with Sketch.
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/iconTwitter.svg b/packages/web/src/assets/img/publicSite/iconTwitter.svg
deleted file mode 100644
index eb01329ac94..00000000000
--- a/packages/web/src/assets/img/publicSite/iconTwitter.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- iconTwitter
- Created with Sketch.
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/imageSearchHeaderBackground.webp b/packages/web/src/assets/img/publicSite/imageSearchHeaderBackground.webp
deleted file mode 100644
index 912f4ad2661..00000000000
Binary files a/packages/web/src/assets/img/publicSite/imageSearchHeaderBackground.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/imageSearchHeaderBackground@2x.webp b/packages/web/src/assets/img/publicSite/imageSearchHeaderBackground@2x.webp
deleted file mode 100644
index 717682da4e6..00000000000
Binary files a/packages/web/src/assets/img/publicSite/imageSearchHeaderBackground@2x.webp and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/listen-on-audius.svg b/packages/web/src/assets/img/publicSite/listen-on-audius.svg
deleted file mode 100644
index b7d6fc57207..00000000000
--- a/packages/web/src/assets/img/publicSite/listen-on-audius.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- listen-on-audius
- Created with Sketch.
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/neon.jpg b/packages/web/src/assets/img/publicSite/neon.jpg
deleted file mode 100644
index 6ebfa95dd19..00000000000
Binary files a/packages/web/src/assets/img/publicSite/neon.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/podcast@1x.jpg b/packages/web/src/assets/img/publicSite/podcast@1x.jpg
deleted file mode 100644
index 069457197f8..00000000000
Binary files a/packages/web/src/assets/img/publicSite/podcast@1x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/podcast@2x.jpg b/packages/web/src/assets/img/publicSite/podcast@2x.jpg
deleted file mode 100644
index ad87f31037d..00000000000
Binary files a/packages/web/src/assets/img/publicSite/podcast@2x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/product-shot@1x.png b/packages/web/src/assets/img/publicSite/product-shot@1x.png
deleted file mode 100644
index 31bc945483f..00000000000
Binary files a/packages/web/src/assets/img/publicSite/product-shot@1x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/product-shot@2x.png b/packages/web/src/assets/img/publicSite/product-shot@2x.png
deleted file mode 100644
index 7eff79995e9..00000000000
Binary files a/packages/web/src/assets/img/publicSite/product-shot@2x.png and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/quote-pyramid.svg b/packages/web/src/assets/img/publicSite/quote-pyramid.svg
deleted file mode 100644
index 9afc2ffaf1a..00000000000
--- a/packages/web/src/assets/img/publicSite/quote-pyramid.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- quotePyramid
- Created with Sketch.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/web/src/assets/img/publicSite/woman-playing-guitar@1x.jpg b/packages/web/src/assets/img/publicSite/woman-playing-guitar@1x.jpg
deleted file mode 100644
index 0b0562b7278..00000000000
Binary files a/packages/web/src/assets/img/publicSite/woman-playing-guitar@1x.jpg and /dev/null differ
diff --git a/packages/web/src/assets/img/publicSite/woman-playing-guitar@2x.jpg b/packages/web/src/assets/img/publicSite/woman-playing-guitar@2x.jpg
deleted file mode 100644
index d6657169e68..00000000000
Binary files a/packages/web/src/assets/img/publicSite/woman-playing-guitar@2x.jpg and /dev/null differ
diff --git a/packages/web/src/components/banner/FanburstBanner.module.css b/packages/web/src/components/banner/FanburstBanner.module.css
deleted file mode 100644
index c9f443aeb6f..00000000000
--- a/packages/web/src/components/banner/FanburstBanner.module.css
+++ /dev/null
@@ -1,26 +0,0 @@
-.banner {
- user-select: none;
- display: flex;
- z-index: 300;
- background: linear-gradient(135deg, #cc0fe0 0%, #ff00e1 100%);
-}
-
-.text {
- color: var(--harmony-white);
- font-size: var(--harmony-font-m);
- font-weight: var(--harmony-font-bold);
- text-align: center;
- text-shadow: 0 2px 10px 0 rgba(86, 8, 94, 0.5);
-}
-
-.isMobile .text {
- font-size: var(--harmony-font-s);
-}
-
-.isMobile .text > span {
- display: block;
-}
-
-.starEyes {
- padding: 0px 8px;
-}
diff --git a/packages/web/src/components/banner/FanburstBanner.tsx b/packages/web/src/components/banner/FanburstBanner.tsx
deleted file mode 100644
index 973a59fb917..00000000000
--- a/packages/web/src/components/banner/FanburstBanner.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import cn from 'classnames'
-
-import { Banner } from 'components/banner/Banner'
-
-import styles from './FanburstBanner.module.css'
-
-const messages = {
- home: `Audius is the new home of Fanburst!`,
- stream: `Upload and Stream HQ Audio at 320kbps for FREE!`,
- mobileHome: `Audius is the new home of Fanburst!`,
- mobileStream: `HQ Audio at 320kbps for FREE!`
-}
-
-type FanburstBannerProps = {
- onClose: () => void
- isMobile: boolean
-}
-/**
- * Displays a welcome banner on the landing page when users are coming to Audius from a Fanburst redirect
- */
-export const FanburstBanner = ({ onClose, isMobile }: FanburstBannerProps) => {
- return (
-
-
-
- {isMobile ? messages.mobileHome : messages.home}
-
-
-
-
- {isMobile ? messages.mobileStream : messages.stream}
-
-
- )
-}
diff --git a/packages/web/src/pages/artist-coins-explore-page/ArtistCoinsExplorePage.tsx b/packages/web/src/pages/artist-coins-explore-page/ArtistCoinsExplorePage.tsx
index a3c48e35072..e5bff4afdf5 100644
--- a/packages/web/src/pages/artist-coins-explore-page/ArtistCoinsExplorePage.tsx
+++ b/packages/web/src/pages/artist-coins-explore-page/ArtistCoinsExplorePage.tsx
@@ -26,7 +26,7 @@ import {
} from '@audius/harmony'
import { useNavigate } from 'react-router'
-import imageCoinsBackgroundImage from 'assets/img/publicSite/imageCoinsBackgroundImage2x.webp'
+import imageCoinsBackgroundImage from 'assets/img/imageCoinsBackgroundImage2x.webp'
import { ExternalLink } from 'components/link'
import Page from 'components/page/Page'
import { isMobile } from 'utils/clientUtil'
diff --git a/packages/web/src/public-site/components/NavOverlay.tsx b/packages/web/src/public-site/components/NavOverlay.tsx
index ee05a74934b..049f47474f5 100644
--- a/packages/web/src/public-site/components/NavOverlay.tsx
+++ b/packages/web/src/public-site/components/NavOverlay.tsx
@@ -18,7 +18,7 @@ import cn from 'classnames'
import ReactDOM from 'react-dom'
import { Link, useNavigate } from 'react-router'
-import HeroBackground from 'assets/img/publicSite/HeroBG@2x.webp'
+import navOverlayBackground from 'assets/img/hero-bg.jpg'
import styles from './NavOverlay.module.css'
import { handleClickRoute } from './handleClickRoute'
@@ -142,7 +142,7 @@ const NavOverlay = (props: NavOverlayProps) => {
diff --git a/packages/web/src/public-site/pages/landing-page/LandingPage.module.css b/packages/web/src/public-site/pages/landing-page/LandingPage.module.css
deleted file mode 100644
index 8676d399684..00000000000
--- a/packages/web/src/public-site/pages/landing-page/LandingPage.module.css
+++ /dev/null
@@ -1,29 +0,0 @@
-.container {
- background: white;
- position: relative;
- display: inline-flex !important;
- flex-direction: column;
- align-items: center;
- width: 100%;
- height: auto;
- transition: opacity 0.5s ease-in-out;
- user-select: none;
-}
-
-.hasBanner {
- top: 56px !important;
-}
-
-.isMobile.hasBanner {
- top: 72px !important;
-}
-
-::selection {
- background: var(--harmony-s-500);
- color: var(--harmony-white);
-}
-
-::-moz-selection {
- background: var(--harmony-s-500);
- color: var(--harmony-white);
-}
diff --git a/packages/web/src/public-site/pages/landing-page/LandingPage.tsx b/packages/web/src/public-site/pages/landing-page/LandingPage.tsx
deleted file mode 100644
index 2f9fd69e81d..00000000000
--- a/packages/web/src/public-site/pages/landing-page/LandingPage.tsx
+++ /dev/null
@@ -1,136 +0,0 @@
-import { useState, useEffect, useCallback } from 'react'
-
-import cn from 'classnames'
-import { useLocation } from 'react-router'
-import { ParallaxProvider } from 'react-scroll-parallax'
-
-import { FanburstBanner } from 'components/banner/FanburstBanner'
-import { CookieBanner } from 'components/cookie-banner/CookieBanner'
-import Footer from 'public-site/components/Footer'
-import NavBannerV2 from 'public-site/components/NavBanner'
-import { shouldShowCookieBanner, dismissCookieBanner } from 'utils/gdpr'
-import { getPathname } from 'utils/route'
-
-import styles from './LandingPage.module.css'
-import ArtistInvestors from './components/ArtistInvestors'
-import CTAStartListening from './components/CTAStartListening'
-import Description from './components/Description'
-import FeaturedContent from './components/FeaturedContent'
-import Hero from './components/Hero'
-import PlatformFeatures from './components/PlatformFeatures'
-import WhoUsesAudius from './components/WhoUsesAudius'
-
-const FANBURST_UTM_SOURCE = 'utm_source=fanburst'
-
-type LandingPageV2Props = {
- isMobile: boolean
- openNavScreen: () => void
- setRenderPublicSite: (shouldRender: boolean) => void
-}
-
-const LandingPage = (props: LandingPageV2Props) => {
- const location = useLocation()
-
- useEffect(() => {
- document.documentElement.style.height = 'auto'
- return () => {
- document.documentElement.style.height = ''
- }
- })
-
- // Show Cookie Banner if in the EU
- const [showCookieBanner, setShowCookieBanner] = useState(false)
- useEffect(() => {
- shouldShowCookieBanner().then((show) => {
- setShowCookieBanner(show)
- })
- }, [])
-
- const onDismissCookiePolicy = useCallback(() => {
- dismissCookieBanner()
- setShowCookieBanner(false)
- }, [])
-
- // Show fanburst banner if url utm source is present
- const [showFanburstBanner, setShowFanburstBanner] = useState(false)
- useEffect(() => {
- if (
- window.location.search &&
- window.location.search.includes(FANBURST_UTM_SOURCE)
- ) {
- if (window.history && window.history.pushState) {
- window.history.pushState('', '/', getPathname(location))
- } else {
- window.location.hash = ''
- }
- setShowFanburstBanner(true)
- }
- }, [location])
- const onDismissFanburstBanner = () => setShowFanburstBanner(false)
-
- const [hasImageLoaded, setHasImageLoaded] = useState(false)
- const onImageLoad = useCallback(() => {
- setHasImageLoaded(true)
- }, [setHasImageLoaded])
-
- return (
-
-
- {showCookieBanner && (
-
- )}
- {showFanburstBanner && (
-
- )}
-
-
-
-
-
-
-
-
-
-
-
-
- )
-}
-
-export default LandingPage
diff --git a/packages/web/src/public-site/pages/landing-page/components/ArtistInvestors.module.css b/packages/web/src/public-site/pages/landing-page/components/ArtistInvestors.module.css
deleted file mode 100644
index 5cd9a2dad20..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/ArtistInvestors.module.css
+++ /dev/null
@@ -1,148 +0,0 @@
-.container {
- flex-shrink: 0;
- margin: 200px 0px 320px;
- padding-left: 100px;
- padding-right: 100px;
- width: 100%;
- display: flex;
- justify-content: center;
-}
-
-.content {
- display: flex;
- flex-direction: column;
- align-items: center;
- width: 100%;
- max-width: 1240px;
- position: relative;
-}
-
-:global(#landingPage) .title {
- font-family: 'Avenir Next LT Pro' !important;
-}
-
-.title {
- background: linear-gradient(315deg, #5b23e1 0%, #a22feb 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- font-weight: 700;
- font-size: 56px;
- line-height: 72px;
- width: 100%;
- text-align: center;
- user-select: none;
- margin-bottom: 12px;
-}
-
-.subTitle {
- color: #6c6780;
- font-size: 24px;
- font-weight: 500;
- line-height: 32px;
- width: 100%;
- text-align: center;
-}
-
-.cardMoveContainer {
- user-select: none;
-}
-
-.artistsContainer {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- flex-wrap: wrap;
- gap: 24px;
- width: 100%;
- width: calc(100% + 60px);
- margin: 48px 0 32px;
-}
-
-/* Artist Component */
-
-.artistContainer {
- display: inline-flex;
- flex-direction: column;
-}
-
-.artistImageWrapper {
- border: 2px solid var(--harmony-border-strong);
- border-radius: 50%;
- height: 192px;
- width: 192px;
- overflow: hidden;
-}
-
-.artistImage {
- height: 100%;
- width: 100%;
-}
-
-.artistName {
- color: #6c6780;
- font-size: 16px;
- font-weight: 500;
- line-height: 24px;
- text-align: center;
- margin: 18px auto 0px;
-}
-
-.byArtistName {
- color: #ffffff;
- font-size: 18px;
- font-weight: bold;
- width: 100%;
- text-align: right;
- margin-top: 4px;
-}
-
-/* Mobile */
-
-.mobileContainer {
- overflow: hidden;
- position: relative;
- display: inline-flex;
- flex-direction: column;
- align-items: center;
- margin: 56px 0 120px;
-}
-
-.mobileContainer .content {
- padding: 0 16px;
-}
-
-.mobileContainer .title {
- z-index: 1;
- font-size: 32px;
- line-height: 40px;
- text-align: center;
- user-select: none;
-}
-
-.mobileContainer .subTitle {
- z-index: 1;
- font-size: 18px;
- font-weight: 500;
- line-height: 24px;
- text-align: center;
-}
-
-.mobileContainer .artistsContainer {
- width: 100%;
-}
-
-.mobileContainer .artistCard {
- display: flex;
- flex-direction: column;
- align-items: center;
-}
-
-.mobileContainer .artistImageWrapper {
- width: 120px;
- height: 120px;
- margin-bottom: 8px;
-}
-
-.mobileContainer .artistName {
- margin: 0px auto;
-}
diff --git a/packages/web/src/public-site/pages/landing-page/components/ArtistInvestors.tsx b/packages/web/src/public-site/pages/landing-page/components/ArtistInvestors.tsx
deleted file mode 100644
index 5ea7d9ade3a..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/ArtistInvestors.tsx
+++ /dev/null
@@ -1,164 +0,0 @@
-import { route } from '@audius/common/src/utils'
-import { TextLink } from '@audius/harmony'
-// eslint-disable-next-line no-restricted-imports -- TODO: migrate to @react-spring/web
-import { useSpring, animated } from 'react-spring'
-
-import investorKatyPerry from 'assets/img/publicSite/Investor-Katy-Perry.webp'
-import investorNas from 'assets/img/publicSite/Investor-Nas.webp'
-import investorPushaT from 'assets/img/publicSite/Investor-Pusha-T.webp'
-import investorSteveAoki from 'assets/img/publicSite/Investor-Steve-Aoki.webp'
-import investorTheChainsmokers from 'assets/img/publicSite/Investor-The-Chainsmokers.webp'
-import useHasViewed from 'hooks/useHasViewed'
-
-import styles from './ArtistInvestors.module.css'
-const animatedAny = animated as any
-
-const messages = {
- title: 'Backed By The Best',
- subtitle:
- 'Audius is built by and for the community with an all-star team of music industry and artist backers.',
- joinTheMovement: 'Join the Movement!'
-}
-
-type AristProps = {
- name: string
- imageUrl: string
-}
-
-const Artist = (props: AristProps) => {
- return (
-
- )
-}
-
-const MobileArtist = (props: AristProps) => {
- return (
-
-
-
-
-
{props.name}
-
- )
-}
-
-const artists = [
- {
- name: 'Katy Perry',
- imageUrl: investorKatyPerry
- },
- {
- name: 'Nas',
- imageUrl: investorNas
- },
- {
- name: 'The Chainsmokers',
- imageUrl: investorTheChainsmokers
- },
- {
- name: 'Pusha T',
- imageUrl: investorPushaT
- },
- {
- name: 'Steve Aoki',
- imageUrl: investorSteveAoki
- }
-]
-
-type ArtistInvestorsProps = {
- isMobile: boolean
-}
-
-const ArtistInvestors = (props: ArtistInvestorsProps) => {
- // Animate in the title and subtitle text
- const [hasViewed, refInView] = useHasViewed()
- const titleStyles = useSpring({
- config: { mass: 3, tension: 2000, friction: 500 },
- opacity: hasViewed ? 1 : 0,
- x: hasViewed ? 0 : 120
- })
-
- if (props.isMobile) {
- return (
-
-
-
`translate3d(0,${x}px,0)`
- ),
- width: '100%'
- }}
- >
- {messages.title}
- {messages.subtitle}
-
-
- {artists.map((artist, i) => (
-
- ))}
-
-
- {messages.joinTheMovement}
-
-
-
- )
- }
-
- return (
-
-
-
`translate3d(0,${x}px,0)`
- ),
- width: '100%'
- }}
- >
- {messages.title}
- {messages.subtitle}
-
-
- {artists.map((artist) => (
-
- ))}
-
-
- {messages.joinTheMovement}
-
-
-
- )
-}
-
-export default ArtistInvestors
diff --git a/packages/web/src/public-site/pages/landing-page/components/CTAStartListening.module.css b/packages/web/src/public-site/pages/landing-page/components/CTAStartListening.module.css
deleted file mode 100644
index 55e6cd8f32b..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/CTAStartListening.module.css
+++ /dev/null
@@ -1,205 +0,0 @@
-.container {
- flex-shrink: 0;
- position: relative;
- width: 100%;
- z-index: 5;
- height: 500px;
- display: flex;
- justify-content: center;
- margin-top: 320px;
-}
-
-.content {
- position: relative;
- z-index: 5;
- max-width: 1340px;
- width: 100%;
- height: 100%;
- display: inline-flex;
- flex-direction: column;
- align-items: flex-start;
- justify-content: center;
- padding: 250px 0px 42px;
- margin: 0px 50px;
-}
-
-.title {
- color: #ffffff;
- font-size: 48px;
- font-weight: 800;
- line-height: 60px;
- text-shadow: 0px 5px 20px rgba(25, 0, 96, 0.25);
- max-width: 760px;
- margin-bottom: 20px;
- user-select: none;
-}
-
-.ctaButton {
- user-select: none;
- cursor: pointer;
- border: none;
- border-radius: 8px;
- background-color: #ffffff;
- box-shadow: 0 5px 20px 0 rgba(25, 0, 96, 0.25);
- padding: 16px 40px;
-
- color: #7e1bcc;
- font-size: 18px;
- font-weight: 700;
- line-height: 22px;
- text-align: center;
-
- display: inline-flex;
- justify-content: center;
- align-items: center;
- transition: all 0.15s ease-in-out;
- transform: scale3d(1, 1, 1);
-}
-
-.ctaButton:hover {
- transform: scale3d(1.03, 1.03, 1.03);
- background-color: #f7f7f7;
- box-shadow: 0 10px 20px 0 rgba(25, 0, 96, 0.25);
-}
-
-.ctaButton:active {
- transform: scale3d(0.99, 0.99, 0.99);
- background-color: #f2f2f2;
- box-shadow: 0 0 2px -1px rgba(25, 0, 96, 0.5);
-}
-
-.iconCaretRight {
- margin-left: 4px;
- height: 20px;
- width: 20px;
-}
-
-.iconCaretRight path {
- fill: #7e1bcc;
-}
-
-.dotsBackground {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 203px;
- width: 100%;
- background-repeat: repeat;
- background-size: 500px 201px;
- z-index: 0;
-}
-
-.footerForeground {
- position: absolute;
- max-height: 358px;
- max-height: 358px;
- height: 100%;
- width: 426px;
- right: 0px;
- bottom: 0;
- background-position: center;
- background-size: contain;
- background-repeat: no-repeat;
- z-index: 10;
-}
-
-.footerBackgroundContainer {
- position: absolute;
- width: 100%;
- height: 100%;
- overflow: hidden;
- width: 100%;
- height: 100%;
- max-height: 300px;
- margin-top: 200px;
- margin-bottom: 42px;
- z-index: 1;
- overflow: hidden;
-}
-
-.bgContent {
- position: relative;
- width: 100%;
- height: 100%;
-}
-
-.parallaxBg {
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- background-color: rgb(134, 91, 209);
-}
-
-.footerBackground {
- position: absolute;
- width: 120%;
- left: -10%;
- min-height: 200%;
- background-size: cover;
- background-repeat: no-repeat;
-}
-
-/* Mobile styles */
-.mobileContainer {
- position: relative;
- overflow: hidden;
- display: inline-flex;
- flex-direction: column;
- align-items: center;
- height: 300px;
- width: 100%;
- padding: 64px 32px;
- margin-top: 120px;
-}
-
-.mobileContainer .footerForeground {
- position: absolute;
- top: 12%;
- left: 33%;
- width: 100%;
-}
-
-.mobileContainer .footerBackground {
- position: absolute;
- top: -30%;
- left: 0%;
- width: 130%;
- min-height: 200%;
- background-size: cover;
- background-position: center;
- background-repeat: no-repeat;
-}
-
-.mobileContainer .title {
- z-index: 50;
- color: #ffffff;
- font-size: 40px;
- line-height: 52px;
- font-weight: 700;
- text-shadow: 0 5px 20px rgba(25, 0, 96, 0.25);
- user-select: none;
-}
-
-.mobileContainer .ctaButton {
- z-index: 50;
- position: relative;
- width: 100%;
-}
-
-.mobileBgContent {
- position: absolute;
- top: 0;
- height: 100%;
- width: 100%;
-}
-
-.bgParallax {
- position: relative;
- top: 0;
- left: 0;
- height: 100%;
- width: 100%;
-}
diff --git a/packages/web/src/public-site/pages/landing-page/components/CTAStartListening.tsx b/packages/web/src/public-site/pages/landing-page/components/CTAStartListening.tsx
deleted file mode 100644
index 2a361e39da9..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/CTAStartListening.tsx
+++ /dev/null
@@ -1,103 +0,0 @@
-import { route } from '@audius/common/utils'
-import { IconCaretRight } from '@audius/harmony'
-import { useNavigate } from 'react-router'
-import { Parallax } from 'react-scroll-parallax'
-
-import footerBackgroundMobile from 'assets/img/publicSite/Footer-Background-mobile@2x.jpg'
-import footerBackground from 'assets/img/publicSite/Footer-Background@2x.jpg'
-import footerForeground from 'assets/img/publicSite/Footer-Foreground@2x.png'
-import dots2x from 'assets/img/publicSite/dots@2x.jpg'
-import { handleClickRoute } from 'public-site/components/handleClickRoute'
-
-import styles from './CTAStartListening.module.css'
-
-const { TRENDING_PAGE } = route
-
-const messages = {
- title: 'Music Done Right',
- cta: 'Listen Now'
-}
-
-type CTAStartListeningProps = {
- isMobile: boolean
- setRenderPublicSite: (shouldRender: boolean) => void
-}
-
-const CTAStartListening = (props: CTAStartListeningProps) => {
- const navigate = useNavigate()
- if (props.isMobile) {
- return (
-
-
-
-
{messages.title}
-
- {messages.cta}
-
-
-
- )
- }
-
- return (
-
-
-
{messages.title}
-
- {messages.cta}
-
-
-
-
-
-
-
- )
-}
-
-export default CTAStartListening
diff --git a/packages/web/src/public-site/pages/landing-page/components/Description.module.css b/packages/web/src/public-site/pages/landing-page/components/Description.module.css
deleted file mode 100644
index 1223d8ba7cd..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/Description.module.css
+++ /dev/null
@@ -1,226 +0,0 @@
-.container {
- flex-shrink: 0;
- margin-top: 160px;
- flex-shrink: 0;
- overflow: hidden;
- width: 100%;
- display: flex;
- justify-content: center;
-}
-
-.content {
- max-width: 1110px;
- margin: 0px 48px;
- position: relative;
-}
-
-.foreground {
- position: relative;
- z-index: 5;
- display: inline-flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-}
-
-.productShot {
- margin-bottom: 70px;
- user-select: none;
- width: 100%;
- max-width: 1110px;
-}
-
-.title {
- position: relative;
- display: inline-flex;
- overflow: hidden;
- color: #a3a1b2;
- font-size: 42px;
- font-weight: 700;
- line-height: 42px;
- text-align: center;
- user-select: none;
-}
-
-.coloredTitle {
- position: relative;
- display: inline-flex;
- overflow: hidden;
- font-size: 72px;
- font-weight: 700;
- line-height: 96px;
- text-align: center;
- margin-bottom: 16px;
-}
-
-@media (max-width: 994px) {
- .coloredTitle {
- font-size: 48px;
- line-height: 60px;
- }
-}
-
-.coloredTitleWord {
- background: linear-gradient(to right, #30cfd0 0%, #330867 100%);
- background: linear-gradient(315deg, #5b23e1 0%, #a22feb 100%);
- margin-bottom: 16px;
- user-select: none;
-}
-
-.subText {
- color: #6c6780;
- font-size: 24px;
- font-weight: 500;
- line-height: 32px;
- text-align: center;
- width: 100%;
- max-width: 1110px;
-}
-
-.descriptionBody {
- overflow: hidden;
-}
-
-.dotsLogo {
- user-select: none;
- width: 382px;
- position: absolute;
- top: 230px;
- z-index: 0;
-}
-
-.dotsLeft {
- left: -118px;
-}
-
-.dotsRight {
- right: -118px;
-}
-
-.textAnimate {
- margin-right: 16px;
- overflow: hidden;
- display: inline-flex;
-}
-
-.mobileContainer .textAnimate:last-child {
- margin-right: 0;
-}
-
-.gradient1 {
- background: linear-gradient(315deg, #8a2be8 0%, #a22feb 100%);
- -webkit-text-fill-color: transparent;
- -webkit-background-clip: text;
-}
-
-.gradient2 {
- background: linear-gradient(315deg, #832ae7 0%, #882ae8 100%);
- -webkit-text-fill-color: transparent;
- -webkit-background-clip: text;
-}
-
-.gradient3 {
- background: linear-gradient(315deg, #7127e4 0%, #812ae7 100%);
- -webkit-text-fill-color: transparent;
- -webkit-background-clip: text;
-}
-
-.gradient4 {
- background: linear-gradient(315deg, #6c25e3 0%, #6e26e3 100%);
- -webkit-text-fill-color: transparent;
- -webkit-background-clip: text;
-}
-
-.gradient5 {
- background: linear-gradient(315deg, #5b23e1 0%, #6926e3 100%);
- -webkit-text-fill-color: transparent;
- -webkit-background-clip: text;
-}
-
-/* Mobile Styles */
-
-.mobileContainer {
- position: relative;
- display: inline-flex;
- flex-direction: column;
- align-items: center;
- width: 100%;
- padding: 20px 0px 48px;
- overflow: hidden;
-}
-
-.mobileContainer .dotsLogo {
- width: 440px;
- position: absolute;
- z-index: 0;
- top: 130px;
- left: -100%;
- right: -100%;
- margin: 0px auto;
-}
-
-.mobileContainer .textSection {
- position: relative;
- z-index: 10;
- display: inline-flex;
- flex-direction: column;
- align-items: center;
-}
-
-.mobileContainer .title {
- display: flex;
- flex-wrap: wrap;
- justify-content: center;
- color: #a3a1b2;
- font-size: 24px;
- font-weight: 800;
- line-height: 32px;
- text-align: center;
- position: relative;
- /* Counteract the spacing on the last character */
- left: 6px;
- max-width: 351px;
- margin: -12px auto 0px;
- user-select: none;
-}
-
-.mobileContainer .titleColor {
- display: flex;
- flex-wrap: wrap;
- justify-content: center;
- font-weight: 700;
- font-size: 42px;
- line-height: 52px;
- max-width: 500px;
- text-align: center;
- background: linear-gradient(315deg, #5b23e1 0%, #a22feb 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- margin: 0 16px 24px;
-}
-
-.mobileContainer .coloredTitleWord {
- margin-bottom: 0px;
- user-select: none;
-}
-
-.mobileContainer .textAnimate {
- overflow: visible;
-}
-
-.mobileContainer .textAnimate:last-child {
- margin-right: 0;
-}
-
-.mobileContainer .textDescription {
- width: 100%;
- font-size: 18px;
- font-weight: 500;
- line-height: 24px;
- text-align: center;
- padding: 0px 20px;
-}
-
-.mobileContainer .textDescription p {
- margin-bottom: 16px;
-}
diff --git a/packages/web/src/public-site/pages/landing-page/components/Description.tsx b/packages/web/src/public-site/pages/landing-page/components/Description.tsx
deleted file mode 100644
index 44c4b9f403f..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/Description.tsx
+++ /dev/null
@@ -1,216 +0,0 @@
-import { useState, useEffect, useCallback, useRef } from 'react'
-
-import cn from 'classnames'
-// eslint-disable-next-line no-restricted-imports -- TODO: migrate to @react-spring/web
-import { useChain, useSpring, useTrail, animated } from 'react-spring'
-
-import productShot from 'assets/img/publicSite/ProductShot2.webp'
-import dotsLogo1x from 'assets/img/publicSite/dot-logo@1x.jpg'
-import dotsLogo2x from 'assets/img/publicSite/dot-logo@2x.jpg'
-
-import styles from './Description.module.css'
-const animatedAny = animated as any
-
-const messages = {
- title: 'The Music Industry Hard Fork',
- description: `Audius is music done right. It's a community-run music platform that connects artists and fans directly. Fans and artists build communities together around music, and developers build anything they want on their terms.`
-}
-
-const titleItems = messages.title.split(' ')
-
-type DescriptionProps = {
- isMobile: boolean
-}
-
-const Description = (props: DescriptionProps) => {
- const [hasViewed, setHasViewed] = useState(false)
-
- const startAnimation = useRef
(null)
- const refInView = useCallback(() => {
- if (startAnimation.current) {
- const refBounding = startAnimation.current.getBoundingClientRect()
- const scrollTop = window.pageYOffset || document.documentElement.scrollTop
- const elementTop = refBounding.top + scrollTop
- const windowScrollingBottom = window.innerHeight + scrollTop
- if (elementTop < windowScrollingBottom) {
- setHasViewed(true)
- }
- }
- return false
- }, [])
-
- const setStartAnimation = useCallback(
- (node: HTMLHeadingElement) => {
- startAnimation.current = node
- refInView()
- },
- [refInView]
- )
-
- const titleRef = useRef(null)
- const bodyRef = useRef(null)
-
- const titleTrail = useTrail(titleItems.length, {
- // @ts-ignore
- ref: titleRef,
- config: { mass: 3, tension: 2000, friction: 200 },
- to: { opacity: 1, x: 0 },
- from: { opacity: 0, x: 80 }
- })
-
- // @ts-ignore
- const bodyStyles = useSpring({
- // @ts-ignore
- ref: bodyRef,
- config: { mass: 3, tension: 2000, friction: 500 },
- to: { opacity: 1, x: 0 },
- from: { opacity: 0, x: 120 }
- })
-
- // @ts-ignore
- useChain(hasViewed ? [titleRef, bodyRef] : [], [0, 0.7])
-
- useEffect(() => {
- refInView()
- window.addEventListener('scroll', refInView)
- return () => window.removeEventListener('scroll', refInView)
- }, [refInView])
-
- const wordGradients = [
- styles.gradient1,
- styles.gradient2,
- styles.gradient3,
- styles.gradient4,
- styles.gradient5
- ]
-
- if (props.isMobile) {
- return (
-
-
-
-
- {titleTrail.map(
- ({ x, wordYPosition, ...rest }: any, index: number) => (
- `translate3d(0,${x}px,0)`
- )
- }}
- >
-
- {' '}
- {titleItems[index]}{' '}
-
-
- )
- )}
-
-
`translate3d(0,${x}px,0)`
- )
- }}
- >
-
-
{messages.description}
-
-
-
-
- )
- }
-
- return (
-
-
-
-
-
-
- {titleTrail.map(
- ({ x, wordYPosition, ...rest }: any, index: number) => (
- `translate3d(0,${x}px,0)`
- )
- }}
- >
-
- {' '}
- {titleItems[index]}{' '}
-
-
- )
- )}
-
-
`translate3d(0,${x}px,0)`
- )
- }}
- >
-
- {messages.description}
-
-
-
-
-
-
- )
-}
-
-export default Description
diff --git a/packages/web/src/public-site/pages/landing-page/components/FeaturedContent.module.css b/packages/web/src/public-site/pages/landing-page/components/FeaturedContent.module.css
deleted file mode 100644
index 3cec2346303..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/FeaturedContent.module.css
+++ /dev/null
@@ -1,263 +0,0 @@
-.container {
- flex-shrink: 0;
- position: relative;
- width: 100%;
- display: flex;
- flex-shrink: 0;
- justify-content: center;
- padding: 320px 120px 0;
- overflow: hidden;
-}
-
-.content {
- position: relative;
- z-index: 5;
- width: 100%;
- max-width: 1240px;
- display: inline-flex;
- flex-direction: column;
-}
-
-:global(#landingPage) .title {
- font-family: 'Avenir Next LT Pro' !important;
-}
-
-.title {
- background: linear-gradient(315deg, #5b23e1 0%, #a22feb 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- font-weight: 700;
- font-size: 56px;
- line-height: 72px;
- text-align: center;
- user-select: none;
- margin-bottom: 12px;
-}
-
-.subTitle {
- color: #6c6780;
- font-size: 24px;
- font-weight: 500;
- line-height: 32px;
- text-align: center;
- margin-bottom: 12px;
-}
-
-.tracksContainer {
- flex: 1;
- display: inline-flex;
- flex-wrap: wrap;
- justify-content: center;
- gap: 24px;
- transition: all 0.3s ease-in-out;
- margin-top: 24px;
-}
-
-@media (max-width: 1380px) {
- .tracksContainer {
- max-width: 700px;
- margin: 24px auto 0;
- }
-}
-
-.trackMoveContainer {
- user-select: none;
-}
-
-.trackContainer {
- user-select: none;
- cursor: pointer;
-}
-
-.track {
- overflow: hidden;
- height: 280px;
- width: 280px;
- border-radius: 16px;
- transition: all 0.3s ease-in-out;
- background-size: cover;
-}
-
-.track:hover {
- transform: scale3d(1.1, 1.1, 1.1);
-}
-
-.track:active {
- transform: scale3d(0.99, 0.99, 0.99);
-}
-
-.trackContent {
- width: 100%;
- height: 100%;
- display: inline-flex;
- flex-direction: column;
- align-items: center;
- justify-content: flex-end;
- padding-bottom: 19px;
- transition: all 0.3s ease-in-out;
- background: rgba(0, 0, 0, 0);
-}
-
-.trackContent:hover,
-.trackContent:active {
- background: linear-gradient(
- 180deg,
- rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.5) 100%
- );
-}
-
-.trackTitleContainer {
- margin-top: 24px;
- text-align: center;
-}
-
-.trackTitle {
- color: #6c6780;
- font-size: 18px;
- line-height: 24px;
- font-weight: 500;
- text-align: center;
-}
-
-.track .trackArtist {
- opacity: 0;
- color: rgba(255, 255, 255, 1);
- font-size: 18px;
- font-weight: 500;
- line-height: 23px;
- text-align: center;
- margin-bottom: 19px;
- transition: all 0.07s ease-in-out;
-}
-
-.track .listenOnAudius {
- opacity: 0;
- width: 154px;
- transition: all 0.07s ease-in-out;
-}
-
-.track:hover .trackTitle {
- opacity: 1;
-}
-
-.track:hover .trackArtist {
- opacity: 1;
-}
-
-.track:hover .listenOnAudius {
- opacity: 1;
-}
-
-.lines {
- position: absolute;
- left: -10%;
- right: -10%;
- width: 120%;
- height: auto;
- z-index: 0;
-}
-
-.loadingContainer {
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- min-height: 280px;
-}
-
-/* Mobile */
-
-.mobileContainer {
- width: 100%;
- display: inline-flex;
- flex-direction: column;
- align-items: center;
- padding: 120px 16px 0px;
- position: relative;
- height: auto;
- overflow: hidden;
-}
-
-.mobileContainer .title {
- font-size: 32px;
- line-height: 40px;
- text-align: center;
- user-select: none;
-}
-.mobileContainer .subTitle {
- font-size: 18px;
- font-weight: 500;
- line-height: 24px;
- text-align: center;
-}
-
-.mobileContainer .tracksContainer {
- width: 100%;
- position: relative;
- display: inline-flex;
- flex-wrap: wrap;
- align-items: flex-start;
- margin-top: 24px;
-}
-
-.mobileContainer .trackContainer {
- max-width: 165px;
- height: auto;
- display: inline-flex;
- flex-direction: column;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-items: center;
-}
-
-.mobileContainer .trackImage {
- height: 164px;
- width: 164px;
- border-radius: 8px;
- margin-bottom: 14px;
- background-size: cover;
- background-position: center;
-}
-
-.mobileContainer .trackTitle {
- position: relative;
- font-size: 14px;
- font-weight: 500;
- line-height: 18px;
- text-align: center;
- margin: 0px auto 2px;
- overflow: hidden;
- white-space: nowrap;
- max-width: 100%;
- text-overflow: ellipsis;
-}
-
-.mobileContainer .mobileIconArrow {
- height: 12px;
- width: 12px;
- margin-left: 4px;
-}
-
-.mobileContainer .mobileIconArrow path {
- fill: #6c6780;
-}
-
-.mobileContainer .trackArtist {
- color: #6c6780;
- font-size: 14px;
- font-weight: 500;
- line-height: 18px;
- text-align: center;
- margin: 0px auto;
-}
-
-.mobileContainer .lines {
- position: absolute;
- left: -10%;
- right: -10%;
- width: 500%;
- height: auto;
- top: 65%;
- z-index: 0;
-}
diff --git a/packages/web/src/public-site/pages/landing-page/components/FeaturedContent.tsx b/packages/web/src/public-site/pages/landing-page/components/FeaturedContent.tsx
deleted file mode 100644
index f7dd661f127..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/FeaturedContent.tsx
+++ /dev/null
@@ -1,223 +0,0 @@
-import { useState } from 'react'
-
-import {
- transformAndCleanList,
- userCollectionMetadataFromSDK
-} from '@audius/common/adapters'
-import { route } from '@audius/common/utils'
-import { Id } from '@audius/sdk'
-import { useNavigate } from 'react-router'
-// eslint-disable-next-line no-restricted-imports -- TODO: migrate to @react-spring/web
-import { useSpring, animated } from 'react-spring'
-import { useAsync } from 'react-use'
-
-import IconLines from 'assets/img/publicSite/Lines.svg'
-import IconListenOnAudius from 'assets/img/publicSite/listen-on-audius.svg'
-import LoadingSpinner from 'components/loading-spinner/LoadingSpinner'
-import useCardWeight from 'hooks/useCardWeight'
-import useHasViewed from 'hooks/useHasViewed'
-import { handleClickRoute } from 'public-site/components/handleClickRoute'
-import { audiusSdk } from 'services/audius-sdk'
-import { env } from 'services/env'
-
-import styles from './FeaturedContent.module.css'
-const animatedAny = animated as any
-
-const { collectionPage } = route
-
-const messages = {
- title: 'Featured Content',
- subTitle: 'Check out the playlists we are listening to right now'
-}
-
-type PlaylistTileProps = {
- title: string
- artist: string
- imageUrl: string | null
- onClick: () => void
-}
-
-const DesktopPlaylistTile = (props: PlaylistTileProps) => {
- const [cardRef, onMove, onLeave, transform] = useCardWeight({
- sensitivity: 1.8
- })
- const [mouseDown, setMouseDown] = useState(false)
- return (
- {
- onLeave()
- setMouseDown(false)
- }}
- onMouseUp={() => setMouseDown(false)}
- onMouseDown={() => setMouseDown(true)}
- >
-
-
-
-
{`By ${props.artist}`}
-
-
-
-
-
- {props.title}
-
-
- )
-}
-
-const MobilePlaylistTile = (props: PlaylistTileProps) => (
-
-)
-
-type FeaturedContentProps = {
- isMobile: boolean
- setRenderPublicSite: (shouldRender: boolean) => void
-}
-
-const FeaturedContent = (props: FeaturedContentProps) => {
- const navigate = useNavigate()
- const { value: featuredPlaylists, loading } = useAsync(async () => {
- const response = await fetch(env.EXPLORE_CONTENT_URL)
- const json = await response.json()
- const featuredPlaylistIds = json.featuredPlaylists
- .slice(0, 4)
- .map((id: string) => Id.parse(parseInt(id)))
- const sdk = await audiusSdk()
- const { data } = await sdk.playlists.getBulkPlaylists({
- id: featuredPlaylistIds
- })
- return transformAndCleanList(data, userCollectionMetadataFromSDK)
- }, [])
-
- // Animate in the title and subtitle text
- const [hasViewed, refInView] = useHasViewed(0.8)
-
- const textStyles = useSpring({
- config: { mass: 3, tension: 2000, friction: 500 },
- opacity: hasViewed ? 1 : 0,
- x: hasViewed ? 0 : 150
- })
-
- if (props.isMobile) {
- return (
-
-
-
`translate3d(0,${x}px,0)`
- )
- }}
- >
- {messages.title}
- {messages.subTitle}
-
-
-
- {loading ? (
-
-
-
- ) : (
- featuredPlaylists?.map((p) => (
-
- ))
- )}
-
-
- )
- }
-
- return (
-
-
-
`translate3d(0,${x}px,0)`
- )
- }}
- >
- {messages.title}
- {messages.subTitle}
-
-
- {loading ? (
-
-
-
- ) : (
- featuredPlaylists?.map((p) => (
-
- ))
- )}
-
-
-
-
- )
-}
-
-export default FeaturedContent
diff --git a/packages/web/src/public-site/pages/landing-page/components/Hero.module.css b/packages/web/src/public-site/pages/landing-page/components/Hero.module.css
deleted file mode 100644
index 5df5ad26093..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/Hero.module.css
+++ /dev/null
@@ -1,364 +0,0 @@
-:global(#landingPage) .heroContainer .title {
- font-family: 'Avenir Next LT Pro' !important;
-}
-
-.container {
- flex-shrink: 0;
- position: relative;
- width: 100%;
- display: inline-flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- padding-bottom: 100px;
-}
-
-/* BG Images */
-.bg {
- padding: 100px;
- z-index: 1;
- width: 100%;
- min-height: 920px;
- height: 104vh;
- justify-content: center;
- display: flex;
- flex-direction: column;
- align-items: center;
- overflow: hidden;
- position: relative;
- -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 97%);
- clip-path: polygon(0 0, 100% 0, 100% 100%, 0 97%);
-}
-
-.parallaxBg {
- z-index: -1;
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- background-color: #7400ff;
-}
-
-.bgImageLoading {
- filter: blur(3px);
- opacity: 0.8;
-}
-
-.imgContainer {
- position: absolute;
- width: 100%;
- overflow: hidden;
-}
-
-.fgContainer {
- user-select: none;
- z-index: 10;
-}
-
-.foreground {
- height: auto;
- /* Adjust vw and vh values for image placement */
- --vw-adjusted: calc(100vw - 100px);
- --vh-adjusted: calc(100vh + 300px);
- /* Take the max of view height and width so that the image always fills the space */
- min-height: max(var(--vh-adjusted), var(--vw-adjusted));
-}
-
-.foregroundImg {
- height: 100vh;
- min-height: 960px;
-}
-
-@media (max-width: 1387px) {
- .container .textContent .subtitle {
- max-width: 500px;
- }
-}
-
-.bgContainer {
- z-index: 0;
-}
-
-.background {
- user-select: none;
- width: 100%;
- left: 0;
- right: 0;
- top: 0;
- height: 100%;
- position: absolute;
-}
-
-.textContent {
- position: relative;
- z-index: 10;
- margin: 0px auto;
- width: 100%;
- max-width: 1240px;
-}
-
-.buttonContentParallax {
- position: relative;
- z-index: 30;
- width: 100%;
- display: flex;
- max-width: 1240px;
- margin-top: 24px;
-}
-
-.content {
- position: relative;
- z-index: 10;
- /* padding-top: 16px; */
-}
-
-.title {
- max-width: 800px;
- color: #ffffff;
- font-size: 160px;
- font-weight: 900;
- line-height: 132px;
- text-transform: uppercase;
- text-shadow:
- 0px 100px 80px rgba(0, 0, 0, 0.07),
- 0px 42px 33px rgba(0, 0, 0, 0.05),
- 0px 22px 18px rgba(0, 0, 0, 0.04),
- 0px 12.5px 10px rgba(0, 0, 0, 0.035),
- 0px 7px 5px rgba(0, 0, 0, 0.03),
- 0px 2.8px 2.2px rgba(0, 0, 0, 0.02);
- transform: translateZ(0);
- /*for older browsers*/
- will-change: transform;
- letter-spacing: -3.2px;
- user-select: none;
-}
-
-.subtitle {
- color: #ffffff;
- font-size: 28px;
- font-weight: 700;
- line-height: 32px;
- margin-top: 24px;
- text-shadow:
- 0px 100px 80px rgba(0, 0, 0, 0.07),
- 0px 42px 33px rgba(0, 0, 0, 0.05),
- 0px 22px 18px rgba(0, 0, 0, 0.04),
- 0px 12.5px 10px rgba(0, 0, 0, 0.035),
- 0px 7px 5px rgba(0, 0, 0, 0.03),
- 0px 2.8px 2.2px rgba(0, 0, 0, 0.02);
- transform: translateZ(0);
- /*for older browsers*/
- will-change: transform;
- margin-bottom: 72px;
-}
-
-.buttonContent {
- display: flex;
- position: relative;
- z-index: 30;
-}
-
-.appLinksContentParallax {
- position: relative;
- z-index: 25;
- width: 100%;
- display: flex;
- max-width: 1240px;
-}
-
-.appLinksContent {
- padding-top: 24px;
- display: flex;
- position: relative;
- z-index: 30;
-}
-
-.googlePlayBtn {
- margin-left: 8px;
-}
-
-.ctaButton {
- user-select: none;
- transition: all 0.15s ease-in-out;
- display: inline-flex;
- align-items: center;
- height: 48px;
- border: none;
- border-radius: 6px;
- background-color: #ffffff;
- box-shadow:
- 0px 0px 1px -2px rgba(133, 129, 153, 0.1),
- 0px 1px 0px -2px #e3e3e3,
- 1px 2px 5px rgba(133, 129, 153, 0.25);
- color: #7e1bcc;
- padding: 12px 24px;
- font-size: 18px;
- font-weight: 700;
- text-align: center;
- transform: scale3d(1, 1, 1);
- margin-right: 16px;
-}
-
-.ctaButton path {
- fill: #7e1bcc;
-}
-
-.mobileContainer .ctaButton {
- width: 100%;
- display: flex;
- justify-content: center;
- margin-right: 0;
- margin-bottom: 24px;
-}
-
-.ctaButton:hover {
- cursor: pointer;
- transform: scale3d(1.03, 1.03, 1.03);
- box-shadow:
- 0px 0px 1px -2px rgba(133, 129, 153, 0.1),
- 0px 1px 0px -2px #e3e3e3,
- 0px 17px 21px rgba(133, 129, 153, 0.15);
-}
-
-.ctaButton:active {
- cursor: pointer;
- transform: scale3d(0.99, 0.99, 0.99);
- box-shadow:
- 0px 0px 1px -2px rgba(133, 129, 153, 0.1),
- 0px 1px 0px -2px #e3e3e3,
- 0px 17px 21px rgba(133, 129, 153, 0.15);
-}
-
-.ctaMessage {
- margin-right: 8px;
-}
-
-.secondaryCtaMessage {
- margin-left: 12px;
-}
-
-.downloadButton {
- user-select: none;
- transition: all 0.15s ease-in-out;
- display: inline-flex;
- align-items: center;
- height: 48px;
- border: none;
- border-radius: 6px;
- background: none;
- color: #ffffff;
- padding-left: 24px;
- padding-right: 24px;
- font-size: 18px;
- font-weight: 700;
- text-align: center;
- transform: scale3d(1, 1, 1);
- cursor: pointer;
-}
-
-.downloadButton path {
- fill: #ffffff;
-}
-
-.downloadButton:hover {
- transform: scale3d(1.03, 1.03, 1.03);
- background: rgba(255, 255, 255, 0.2);
-}
-
-.downloadButton:active {
- transform: scale3d(0.99, 0.99, 0.99);
- background: rgba(255, 255, 255, 0.1);
-}
-
-.glyphPattern {
- width: 100%;
- position: absolute;
- z-index: 0;
- bottom: 0;
-}
-
-/* Mobile */
-.mobileContainer {
- height: 850px;
- min-height: calc(104vh + 100px);
- position: relative;
- overflow: hidden;
- padding-bottom: 100px;
- width: 100%;
-}
-
-.mobileBG {
- user-select: none;
- min-width: 100%;
- position: absolute;
- top: 0;
- z-index: -1;
-}
-
-.mobileImgBG {
- min-height: calc(134vh + 100px);
- min-width: 100%;
- width: 300%;
- margin: 0px -110% 0px;
- object-fit: cover;
-}
-
-.mobileContainer .content {
- height: 100%;
- width: 100%;
- display: inline-flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- padding: 24px;
-
- background-size: auto 140%;
- background-position: 40% 10%;
- -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 97%);
- clip-path: polygon(0 0, 100% 0, 100% 100%, 0 97%);
-}
-
-.mobileContainer .content .title {
- letter-spacing: -3.2px;
- color: #ffffff;
- font-size: 72px;
- font-weight: 900;
- line-height: 76px;
- text-align: center;
- text-shadow:
- 0px 100px 80px rgba(0, 0, 0, 0.07),
- 0px 42px 33px rgba(0, 0, 0, 0.05),
- 0px 22px 18px rgba(0, 0, 0, 0.04),
- 0px 12.5px 10px rgba(0, 0, 0, 0.035),
- 0px 7px 5px rgba(0, 0, 0, 0.03),
- 0px 2.8px 2.2px rgba(0, 0, 0, 0.02);
- /* margin-bottom: 24px; */
- user-select: none;
-}
-
-.mobileContainer .content .subtitle {
- color: #ffffff;
- font-size: 28px;
- font-weight: 700;
- line-height: 32px;
- text-align: center;
- margin-top: 32px;
- margin-bottom: 48px;
- text-shadow:
- 0px 100px 80px rgba(0, 0, 0, 0.07),
- 0px 42px 33px rgba(0, 0, 0, 0.05),
- 0px 22px 18px rgba(0, 0, 0, 0.04),
- 0px 12.5px 10px rgba(0, 0, 0, 0.035),
- 0px 7px 5px rgba(0, 0, 0, 0.03),
- 0px 2.8px 2.2px rgba(0, 0, 0, 0.02);
-}
-
-.mobileContainer .glyphPattern {
- width: 100%;
- position: absolute;
- z-index: 0;
- bottom: 0px;
- left: 0;
- transform: scale3d(3, 3, 3);
-}
diff --git a/packages/web/src/public-site/pages/landing-page/components/Hero.tsx b/packages/web/src/public-site/pages/landing-page/components/Hero.tsx
deleted file mode 100644
index d5ff6c28349..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/Hero.tsx
+++ /dev/null
@@ -1,234 +0,0 @@
-import { useCallback } from 'react'
-
-import { route } from '@audius/common/utils'
-import { IconCaretRight, IconCloudDownload } from '@audius/harmony'
-import cn from 'classnames'
-import { useNavigate } from 'react-router'
-import { Parallax, useParallaxController } from 'react-scroll-parallax'
-
-import HeroBackgroundMobile from 'assets/img/publicSite/HeroBG.webp'
-import HeroBackground from 'assets/img/publicSite/HeroBG@2x.webp'
-import HeroBackgroundXL from 'assets/img/publicSite/HeroBG@3x.webp'
-import HeroForeground from 'assets/img/publicSite/ProductShot1.webp'
-import AppStoreBadge from 'assets/img/publicSite/app-store-badge.svg'
-import GlyphPattern1x from 'assets/img/publicSite/glyph-pattern@1x.png'
-import GlyphPattern2x from 'assets/img/publicSite/glyph-pattern@2x.png'
-import GooglePlayBadge from 'assets/img/publicSite/google-play-badge.svg'
-import { handleClickRoute } from 'public-site/components/handleClickRoute'
-import { getIOSAppLink } from 'utils/appLinks'
-
-import styles from './Hero.module.css'
-
-const { APP_REDIRECT, TRENDING_PAGE, DOWNLOAD_START_LINK } = route
-
-const messages = {
- title: 'Music Done Right',
- subtitle: 'Create the future of music, together.',
- cta: 'Listen Now',
- download: 'Download The App'
-}
-
-type HeroProps = {
- isMobile: boolean
- onImageLoad: () => void
- setRenderPublicSite: (shouldRender: boolean) => void
-}
-
-const iOSDownloadLink = getIOSAppLink()
-
-const Hero = (props: HeroProps) => {
- const parallaxController = useParallaxController()
- const navigate = useNavigate()
- const { onImageLoad, isMobile } = props
- const onImgSet = useCallback(() => {
- if (!isMobile) parallaxController?.update()
- onImageLoad()
- }, [parallaxController, onImageLoad, isMobile])
-
- if (props.isMobile) {
- return (
-
-
-
-
-
-
-
{messages.title}
-
-
- {messages.cta}
-
-
-
-
-
- {messages.download}
-
-
-
-
-
-
- )
- }
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
{messages.title}
- {messages.subtitle}
-
-
-
-
-
- {messages.cta}
-
-
-
-
-
- {messages.download}
-
-
-
-
-
-
-
-
-
-
-
- )
-}
-
-export default Hero
diff --git a/packages/web/src/public-site/pages/landing-page/components/PlatformFeatures.module.css b/packages/web/src/public-site/pages/landing-page/components/PlatformFeatures.module.css
deleted file mode 100644
index 6900ddc88cf..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/PlatformFeatures.module.css
+++ /dev/null
@@ -1,239 +0,0 @@
-.container {
- flex-shrink: 0;
- width: 100%;
- display: flex;
- justify-content: center;
- background: linear-gradient(129.23deg, #f3f2f5 4.22%, #fbfbfc 95.97%);
- -webkit-clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%);
- clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%);
- padding: 120px 100px;
-}
-
-.content {
- width: 100%;
- max-width: 1240px;
- display: flex;
- flex-direction: column;
-}
-
-.animateTitleContainer {
- overflow: hidden;
- position: relative;
- z-index: 20;
- text-align: center;
- margin-bottom: 48px;
-}
-
-.header {
- display: flex;
- flex-direction: column;
- align-items: center;
-}
-
-:global(#landingPage) .title {
- font-family: 'Avenir Next LT Pro' !important;
-}
-
-.title {
- background: linear-gradient(315deg, #5b23e1 0%, #a22feb 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- font-size: 56px;
- font-weight: 700;
- line-height: 72px;
- text-align: center;
- user-select: none;
- margin-bottom: 12px;
-}
-
-.subTitle {
- color: #6c6780;
- font-size: 24px;
- font-weight: 500;
- line-height: 32px;
- text-align: center;
-}
-
-.body {
- display: flex;
- justify-content: space-between;
- align-items: center;
- flex-wrap: wrap;
- gap: 24px;
-}
-
-.productShot {
- user-select: none;
- flex: 1;
- width: 100%;
- height: 400px;
- object-fit: contain;
- max-width: 100%;
-}
-
-@media (min-width: 1410px) {
- .productShot {
- max-width: 728px;
- }
-}
-
-.features {
- flex: 1;
- display: inline-flex;
- flex-direction: column;
- justify-content: space-between;
- width: 100%;
- gap: 12px;
-}
-
-.feature {
- padding: 24px;
- border-radius: 12px;
- background-color: #ffffff;
- box-shadow: 0 16px 20px 0 rgba(232, 228, 234, 0.5);
- display: inline-flex;
- align-items: center;
- min-width: 430px;
- gap: 24px;
-}
-
-.isMobile.feature {
- min-width: auto;
-}
-
-.featureIconContainer {
- min-width: 52px;
- height: 52px;
- padding: 10px;
- border-radius: 50%;
- border: 1px solid rgba(0, 0, 0, 0.1);
- box-shadow:
- -3.73333px 3.73333px 3.73333px 0px rgba(255, 255, 255, 0.08) inset,
- 3.73333px -3.73333px 3.73333px 0px rgba(96, 21, 155, 0.08) inset,
- 0px 4px 6px -2px rgba(0, 0, 0, 0.15);
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.featureIconContainer path {
- fill: var(--harmony-white);
-}
-
-.featureIconContainer:has(.cartIcon) {
- background: linear-gradient(180deg, #483bff 0%, #3a2fcc 100%);
-}
-
-.featureIconContainer:has(.fanbaseIcon) {
- background: linear-gradient(180deg, #7a25fc 0%, #601dc6 100%);
-}
-
-.featureIconContainer:has(.allTimeIcon) {
- background: linear-gradient(180deg, #ea39f6 0%, #b72dc0 100%);
-}
-
-.featureIconContainer:has(.giftIcon) {
- background: linear-gradient(180deg, #3ed0ff 0%, #32a6cc 100%);
-}
-
-.featureText {
- display: inline-flex;
- flex-direction: column;
- align-items: flex-start;
- justify-content: space-between;
-}
-
-.featureTitle {
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 18px;
- line-height: 24px;
- font-weight: 700;
-}
-
-.featureDescription {
- font-size: 16px;
- line-height: 24px;
- font-weight: 500;
-}
-
-/* Mobile Styles */
-
-.isMobile.container {
- width: 100%;
- display: flex;
- flex-direction: column;
- justify-content: center;
- background: linear-gradient(129.23deg, #f3f2f5 0%, #fbfbfc 100%);
- -webkit-clip-path: polygon(0 3%, 100% 0, 100% 97%, 0 100%);
- clip-path: polygon(0 3%, 100% 0, 100% 97%, 0 100%);
- padding: 64px 0 64px;
-}
-
-.isMobile .header {
- margin: 0px;
-}
-
-.isMobile .title {
- font-size: 32px;
- line-height: 40px;
- text-align: center;
- user-select: none;
-}
-
-.isMobile .subTitle {
- font-size: 18px;
- font-weight: 500;
- line-height: 24px;
- text-align: center;
-}
-
-.isMobile .animateTitleContainer {
- margin: 24px 16px 0;
-}
-
-.isMobile .body {
- margin-top: 48px;
- flex-direction: column;
-}
-
-.isMobile .productShot {
- flex: initial;
- height: auto;
- min-height: initial;
- max-width: 100%;
- width: 100%;
- object-fit: contain;
-}
-
-.isMobile .features {
- padding: 32px 16px;
-}
-
-.isMobile .feature {
- display: inline-flex;
- justify-content: center;
- align-content: center;
- border-radius: 12px;
- box-shadow: 0px 16px 20px rgba(232, 228, 234, 0.5);
- background: #ffffff;
- padding: 24px;
-}
-
-.isMobile .featureText {
- width: 100%;
- display: inline-flex;
- flex-direction: column;
-}
-
-.isMobile .featureTitle {
- margin: 8px 0px;
- display: block;
-}
-
-.isMobile .featureDescription {
- font-size: 16px;
- line-height: 24px;
- font-weight: 500;
-}
diff --git a/packages/web/src/public-site/pages/landing-page/components/PlatformFeatures.tsx b/packages/web/src/public-site/pages/landing-page/components/PlatformFeatures.tsx
deleted file mode 100644
index d1d6523eac0..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/PlatformFeatures.tsx
+++ /dev/null
@@ -1,153 +0,0 @@
-import { ReactNode } from 'react'
-
-import { IconAllTime, IconCart, IconUserGroup, IconGift } from '@audius/harmony'
-import cn from 'classnames'
-// eslint-disable-next-line no-restricted-imports -- TODO: migrate to @react-spring/web
-import { useSpring, animated } from 'react-spring'
-
-import productShot from 'assets/img/publicSite/ProductShot3.webp'
-import useHasViewed from 'hooks/useHasViewed'
-
-import styles from './PlatformFeatures.module.css'
-const animatedAny = animated as any
-
-const messages = {
- title: ' Empowering Features for Artists',
- subTitle:
- 'Take control of your music with the growing list of artist-centric features on Audius.'
-}
-
-type FeatureProps = {
- title: string
- description: string | ReactNode
- icon: ReactNode
-}
-
-const features: Array> = [
- {
- title: 'Free Unlimited Uploads & No Ads',
- description:
- 'Free to use, with no limitations on uploads and a completely ad-free experience.',
- icon: (
-
-
-
- )
- },
- {
- title: 'Grow Your Fanbase',
- description:
- 'With Remix Contests, direct messaging, comments, and more. Audius gives you the tools to build a thriving fan community.',
- icon: (
-
-
-
- )
- },
- {
- title: 'Sell Your Beats, Stems, & More',
- description:
- 'Take advantage of features like premium download gates, and earn bonus rewards with every sale!',
- icon: (
-
-
-
- )
- },
- {
- title: 'Earn Token Rewards',
- description:
- 'Earn $AUDIO token rewards by completing achievements or winning weekly competitions!',
- icon: (
-
-
-
- )
- }
-]
-
-type PlatformFeaturesProps = {
- isMobile: boolean
-}
-
-const Feature = (props: FeatureProps & PlatformFeaturesProps) => {
- return (
-
- {props.icon}
-
-
{props.title}
-
{props.description}
-
-
- )
-}
-
-const PlatformFeatures = (props: PlatformFeaturesProps) => {
- // Animate in the title and subtitle text
- const [hasViewed, refInView] = useHasViewed(0.8)
-
- const textStyles = useSpring({
- config: { mass: 3, tension: 2000, friction: 500 },
- opacity: hasViewed ? 1 : 0,
- x: hasViewed ? 0 : 150
- })
-
- return (
-
-
- {!props.isMobile ? (
-
-
`translate3d(0,${x}px,0)`
- )
- }}
- >
-
-
{messages.title}
- {messages.subTitle}
-
-
-
- ) : null}
-
-
- {props.isMobile ? (
-
-
`translate3d(0,${x}px,0)`
- )
- }}
- >
-
-
{messages.title}
- {messages.subTitle}
-
-
-
- ) : null}
-
- {features.map((feature) => (
-
- ))}
-
-
-
-
- )
-}
-
-export default PlatformFeatures
diff --git a/packages/web/src/public-site/pages/landing-page/components/WhoUsesAudius.module.css b/packages/web/src/public-site/pages/landing-page/components/WhoUsesAudius.module.css
deleted file mode 100644
index d4b0e74c091..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/WhoUsesAudius.module.css
+++ /dev/null
@@ -1,164 +0,0 @@
-.container {
- flex-shrink: 0;
- margin: 320px 0 200px;
- padding-left: 100px;
- padding-right: 100px;
- width: 100%;
- display: flex;
- justify-content: center;
-}
-
-.content {
- display: flex;
- flex-direction: column;
- align-items: center;
- width: 100%;
- max-width: 1240px;
- position: relative;
-}
-
-.productShot {
- width: 100%;
- max-width: 807px;
-}
-
-:global(#landingPage) .title {
- font-family: 'Avenir Next LT Pro' !important;
-}
-
-.title {
- user-select: none;
- background: linear-gradient(315deg, #5b23e1 0%, #a22feb 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- font-size: 55px;
- font-weight: 700;
- line-height: 72px;
- width: 100%;
- text-align: center;
- margin-bottom: 24px;
-}
-
-.subTitle {
- color: #6c6780;
- font-size: 24px;
- font-weight: 500;
- line-height: 32px;
- width: 100%;
- text-align: center;
- margin-bottom: 36px;
-}
-
-.cardMoveContainer {
- margin-bottom: 32px;
- user-select: none;
-}
-
-.artistsContainer {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- flex-wrap: wrap;
- gap: 24px;
-}
-
-/* Artist Component */
-
-.artistContainer {
- display: inline-flex;
- flex-direction: column;
-}
-
-.artistImageWrapper {
- border: 2px solid var(--harmony-border-strong);
- border-radius: 50%;
- height: 192px;
- width: 192px;
- overflow: hidden;
- cursor: pointer;
-}
-
-.artistImageWrapper:hover {
- opacity: 0.85;
- transform: opacity var(--harmony-quick);
-}
-
-.artistImage {
- height: 100%;
- width: 100%;
- stroke-width: 2px;
- stroke: #fff;
-}
-
-.artistName {
- color: #6c6780;
- font-size: 16px;
- font-weight: 500;
- line-height: 25px;
- text-align: center;
- margin: 18px auto 0px;
- cursor: pointer;
-}
-
-.byArtistName {
- color: #ffffff;
- font-size: 18px;
- font-weight: bold;
- width: 100%;
- text-align: right;
- margin-top: 4px;
-}
-
-/* Mobile */
-
-.mobileContainer {
- overflow: hidden;
- position: relative;
- display: inline-flex;
- flex-direction: column;
- align-items: center;
- margin: 72px 0 56px;
- padding: 0 16px;
-}
-
-.mobileContainer .title {
- z-index: 1;
- font-size: 32px;
- line-height: 40px;
- text-align: center;
-}
-
-.mobileContainer .subTitle {
- z-index: 1;
- font-size: 18px;
- font-weight: 500;
- line-height: 24px;
- text-align: center;
- margin-bottom: 16px;
-}
-
-.mobileContainer .artistsContainer {
- margin: unset;
- max-width: 400px;
- z-index: 1;
- display: inline-flex;
- align-items: center;
- flex-wrap: wrap;
- justify-content: center;
- gap: 24px;
- margin-top: 36px;
-}
-
-.mobileContainer .artistImageWrapper {
- width: 120px;
- height: 120px;
- margin-bottom: 8px;
-}
-
-.mobileContainer .artistName {
- font-size: 16px;
- font-weight: 500;
- line-height: 19px;
- text-align: center;
- margin: 0px auto;
-}
diff --git a/packages/web/src/public-site/pages/landing-page/components/WhoUsesAudius.tsx b/packages/web/src/public-site/pages/landing-page/components/WhoUsesAudius.tsx
deleted file mode 100644
index f926c08acb4..00000000000
--- a/packages/web/src/public-site/pages/landing-page/components/WhoUsesAudius.tsx
+++ /dev/null
@@ -1,192 +0,0 @@
-import { useCallback } from 'react'
-
-import { useSpring, animated } from '@react-spring/web'
-
-import artistAluna from 'assets/img/publicSite/Artist-Aluna.webp'
-import artistDeadmau5 from 'assets/img/publicSite/Artist-Deadmau5.webp'
-import artistDiplo from 'assets/img/publicSite/Artist-Diplo.webp'
-import artistKennyBeats from 'assets/img/publicSite/Artist-Kenny-Beats.webp'
-import artistLoloZouai from 'assets/img/publicSite/Artist-Lolo-Zouai.webp'
-import artistMattOX from 'assets/img/publicSite/Artist-Matt-OX.webp'
-import artistRezz from 'assets/img/publicSite/Artist-Rezz.webp'
-import artistSkrillex from 'assets/img/publicSite/Artist-Skrillex.webp'
-import artistZedd from 'assets/img/publicSite/Artist-Zedd.webp'
-import useHasViewed from 'hooks/useHasViewed'
-
-import styles from './WhoUsesAudius.module.css'
-
-const messages = {
- title: 'Who Uses Audius?',
- subtitle:
- 'Thousands of artists across dozens of genres—including electronic, hip-hop, and more—use Audius to forge unparalleled connections with fans.'
-}
-
-type AristProps = {
- name: string
- handle: string
- imageUrl: string
- goToArtist: (handle: string) => void
-}
-
-const Artist = (props: AristProps) => {
- return (
- props.goToArtist(props.handle)}
- >
-
-
-
-
-
{props.name}
-
-
- )
-}
-
-const MobileArtist = (props: AristProps) => {
- return (
- props.goToArtist(props.handle)}
- >
-
-
-
-
{props.name}
-
- )
-}
-
-const artists = [
- {
- name: 'deadmau5',
- handle: 'deadmau5',
- imageUrl: artistDeadmau5
- },
- {
- name: 'Skrillex',
- handle: 'skrillex',
- imageUrl: artistSkrillex
- },
- {
- name: 'Zedd',
- handle: 'zedd',
- imageUrl: artistZedd
- },
- {
- name: 'Kenny Beats',
- handle: 'kennybeats',
- imageUrl: artistKennyBeats
- },
- {
- name: 'Matt OX',
- handle: 'mattox',
- imageUrl: artistMattOX
- },
- {
- name: 'Aluna',
- handle: 'alunaaa',
- imageUrl: artistAluna
- },
- {
- name: 'Diplo',
- handle: 'diplo',
- imageUrl: artistDiplo
- },
- {
- name: 'Lolo Zouai',
- handle: 'lolozouai',
- imageUrl: artistLoloZouai
- },
- {
- name: 'Rezz',
- handle: 'officialrezz',
- imageUrl: artistRezz
- }
-]
-
-type WhoUsesAudiusProps = {
- isMobile: boolean
- setRenderPublicSite?: (shouldRender: boolean) => void
-}
-
-const WhoUsesAudius = (props: WhoUsesAudiusProps) => {
- // Animate in the title and subtitle text
- const [hasViewed, refInView] = useHasViewed()
- const titleStyles = useSpring({
- config: { mass: 3, tension: 2000, friction: 500 },
- opacity: hasViewed ? 1 : 0,
- x: hasViewed ? 0 : 120
- })
-
- const goToArtist = useCallback((handle: string) => {
- window.open(`https://audius.co/${handle}`, '_blank')
- }, [])
-
- if (props.isMobile) {
- return (
-
-
-
-
`translate3d(0,${x}px,0)`
- ),
- width: '100%'
- }}
- >
- {messages.title}
- {messages.subtitle}
-
-
-
-
- {artists.map((artist, i) => (
-
- ))}
-
-
- )
- }
-
- return (
-
-
-
`translate3d(0,${x}px,0)`
- ),
- width: '100%'
- }}
- >
- {messages.title}
- {messages.subtitle}
-
-
- {artists.map((artist) => (
-
- ))}
-
-
-
- )
-}
-
-export default WhoUsesAudius