From 39dfbadbd8932ec7638861c335c38a9f53999379 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Wed, 5 Mar 2025 07:46:17 -0600 Subject: [PATCH] Add affiliate code to backing track pages --- .../JKJamTracksArtistLandingTemplatePage.js | 13 ++++++++++++- .../jamtracks/JKJamTracksLandingTemplatePage.js | 14 ++++++++++++-- jam-ui/src/layouts/JKLayout.js | 2 +- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/jam-ui/src/components/jamtracks/JKJamTracksArtistLandingTemplatePage.js b/jam-ui/src/components/jamtracks/JKJamTracksArtistLandingTemplatePage.js index 6c41e1b27..7c81f620f 100644 --- a/jam-ui/src/components/jamtracks/JKJamTracksArtistLandingTemplatePage.js +++ b/jam-ui/src/components/jamtracks/JKJamTracksArtistLandingTemplatePage.js @@ -1,4 +1,4 @@ -import React, {useContext} from "react"; +import React, {useContext, useEffect} from "react"; import { BrowserRouter as Router, ReactDOM } from "react-router-dom"; import JKJamTracksArtistLandingBody from "./JKJamTracksArtistLandingBody"; @@ -22,6 +22,17 @@ const ArtistTemplatePage = ({ original_artist_slug, artist, songs}) => { const paddingClass = greaterThan.sm ? "px-6" : "px-1"; + useEffect(() => { + //see if there is affiliate in query string and save it as cookie + const urlParams = new URLSearchParams(window.location.search); + const affiliate = urlParams.get('affiliate'); + const maxAge = 24 * 3600; // 1 day + if (affiliate) { + console.log(`Setting affiliate ${affiliate} cookie for artist landing page ${process.env.REACT_APP_COOKIE_DOMAIN}`); + document.cookie = `affiliate_visitor=${affiliate}; path=/; max-age=${maxAge}; domain=${process.env.REACT_APP_COOKIE_DOMAIN}`; + } + }, [location]); + return (
diff --git a/jam-ui/src/components/jamtracks/JKJamTracksLandingTemplatePage.js b/jam-ui/src/components/jamtracks/JKJamTracksLandingTemplatePage.js index 91ceb80c9..d30876b25 100644 --- a/jam-ui/src/components/jamtracks/JKJamTracksLandingTemplatePage.js +++ b/jam-ui/src/components/jamtracks/JKJamTracksLandingTemplatePage.js @@ -1,4 +1,4 @@ -import React, {useContext} from "react"; +import React, {useContext, useEffect} from "react"; import { BrowserRouter as Router, ReactDOM } from "react-router-dom"; import JKJamTracksLandingBody from "./JKJamTracksLandingBody"; @@ -21,9 +21,19 @@ const TemplatePage = ({ id, plan_code, slug, artist, song, location}) => { const { greaterThan } = useResponsive(); - const paddingClass = greaterThan.sm ? "px-6" : "px-1"; + useEffect(() => { + //see if there is affiliate in query string and save it as cookie + const urlParams = new URLSearchParams(window.location.search); + const affiliate = urlParams.get('affiliate'); + const maxAge = 24 * 3600; // 1 day + if (affiliate) { + console.log(`Setting affiliate ${affiliate} cookie for artist landing page ${process.env.REACT_APP_COOKIE_DOMAIN}`); + document.cookie = `affiliate_visitor=${affiliate}; path=/; max-age=${maxAge}; domain=${process.env.REACT_APP_COOKIE_DOMAIN}`; + } + }, [location]); + return (
diff --git a/jam-ui/src/layouts/JKLayout.js b/jam-ui/src/layouts/JKLayout.js index ecb911b82..fa0a8c14e 100644 --- a/jam-ui/src/layouts/JKLayout.js +++ b/jam-ui/src/layouts/JKLayout.js @@ -19,7 +19,7 @@ const Layout = () => { //see if there is affiliate in query string and save it as cookie const urlParams = new URLSearchParams(window.location.search); const affiliate = urlParams.get('affiliate'); - const maxAge = 2592000; // 30 days + const maxAge = 24 * 3600; // 1 day if (affiliate) { document.cookie = `affiliate_visitor=${affiliate}; path=/; max-age=${maxAge}; domain=${process.env.REACT_APP_COOKIE_DOMAIN}`; }