diff --git a/.env.example b/.env.example index 737a5075..fd19c736 100644 --- a/.env.example +++ b/.env.example @@ -35,6 +35,10 @@ NEXT_PUBLIC_AHREFS_ANALYTICS_KEY= # safe to leave empty for local development NEXT_PUBLIC_GA_MEASUREMENT_ID= +# Third-party tracking script URL — loaded by SeoGenerator when set, +# leave empty to disable (recommended for local development) +NEXT_PUBLIC_TRACKING_URL= + # ---------- Backend / API ---------- # Strapi CMS public URL (used by the browser) — staging instance is fine for dev NEXT_PUBLIC_STRAPI=https://staging-strapi.keepsimple.io @@ -70,11 +74,6 @@ NEXTAUTH_URL=http://localhost:3005 GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= -# ---------- LinkedIn OAuth ---------- -# Setup: https://www.linkedin.com/developers/apps -LINKEDIN_CLIENT_ID= -LINKEDIN_CLIENT_SECRET= - # ---------- Discord OAuth ---------- # Setup: https://discord.com/developers/applications DISCORD_CLIENT_ID= diff --git a/.env.staging.example b/.env.staging.example index cac535db..6e0d93b0 100644 --- a/.env.staging.example +++ b/.env.staging.example @@ -24,8 +24,5 @@ NEXTAUTH_SECRET=__fill_in__ GOOGLE_CLIENT_ID=__fill_in__ GOOGLE_CLIENT_SECRET=__fill_in__ -LINKEDIN_CLIENT_ID=__fill_in__ -LINKEDIN_CLIENT_SECRET=__fill_in__ - DISCORD_CLIENT_ID=__fill_in__ DISCORD_CLIENT_SECRET=__fill_in__ diff --git a/public/keepsimple_/assets/home-page/desktop-thumbnail-dark.webp b/public/keepsimple_/assets/home-page/desktop-thumbnail-dark.webp index f193fd09..803696bd 100644 Binary files a/public/keepsimple_/assets/home-page/desktop-thumbnail-dark.webp and b/public/keepsimple_/assets/home-page/desktop-thumbnail-dark.webp differ diff --git a/public/keepsimple_/assets/home-page/desktop-thumbnail-light.webp b/public/keepsimple_/assets/home-page/desktop-thumbnail-light.webp index d915f7cb..8cf3cf16 100644 Binary files a/public/keepsimple_/assets/home-page/desktop-thumbnail-light.webp and b/public/keepsimple_/assets/home-page/desktop-thumbnail-light.webp differ diff --git a/public/keepsimple_/assets/home-page/mobile-thumbnail-dark.webp b/public/keepsimple_/assets/home-page/mobile-thumbnail-dark.webp index 977ee707..6fbfd8b5 100644 Binary files a/public/keepsimple_/assets/home-page/mobile-thumbnail-dark.webp and b/public/keepsimple_/assets/home-page/mobile-thumbnail-dark.webp differ diff --git a/src/assets/icons/LinkedInIcon.tsx b/src/assets/icons/LinkedInIcon.tsx deleted file mode 100644 index 582b5974..00000000 --- a/src/assets/icons/LinkedInIcon.tsx +++ /dev/null @@ -1,34 +0,0 @@ -const LinkedInIcon = () => { - return ( - - - - - - - - - - - - ); -}; - -export default LinkedInIcon; diff --git a/src/components/Headline/Headline.module.scss b/src/components/Headline/Headline.module.scss index a5d380d4..be3cf027 100644 --- a/src/components/Headline/Headline.module.scss +++ b/src/components/Headline/Headline.module.scss @@ -54,6 +54,10 @@ left: 0; } + .posterDark { + display: none; + } + .video { width: 100%; height: 100%; @@ -248,6 +252,24 @@ background-color: #1d1b1b; } } +} + +// Body-class driven swap — fires BEFORE React hydrates the .darkTheme prop on +// the section, so the dark poster paints on first frame instead of after the +// theme prop catches up. +:global(body.darkTheme) { + .videoContainer, + .videoContainerMobile { + background-color: #1d1b1b; + + .posterLight { + display: none; + } + + .posterDark { + display: block; + } + } .contentWrapper { .headlineContent { diff --git a/src/components/Headline/Headline.tsx b/src/components/Headline/Headline.tsx index 6eb53425..172d1c11 100644 --- a/src/components/Headline/Headline.tsx +++ b/src/components/Headline/Headline.tsx @@ -234,15 +234,19 @@ const Headline: FC = ({ headline, darkTheme, russianView }) => {
Hero background + Hero background
Hero background + Hero background