Skip to content

Commit

Permalink
setting image urls now using css for better performance
Browse files Browse the repository at this point in the history
  • Loading branch information
Resaki1 committed Sep 22, 2023
1 parent ac2c1c1 commit 81860d4
Show file tree
Hide file tree
Showing 5 changed files with 115 additions and 112 deletions.
11 changes: 3 additions & 8 deletions src/components/Choices.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,15 @@ import Icon from "./Icon";

const Choices = () => {
const [position, setPosition] = useState(0);
const [theme, setTheme] = useState("dark");
const theme = useMediaQuery("(prefers-color-scheme: dark)")
? "dark"
: "light";
const [duration, setDuration] = useState(4000);
const isMobile = useMediaQuery("(max-width: 850px)") ?? true;

const setVideoDuration = (duration: number) =>
isMobile && setDuration(duration * 1000);

useEffect(() => {
const theme = document.documentElement.getAttribute("theme");
if (theme) {
setTheme(theme);
}
}, []);

useEffect(() => {
setPosition(0);
if (isMobile) setDuration(12012);
Expand Down
10 changes: 9 additions & 1 deletion src/components/Mobile.scss
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
max-height: 900px;
background: #f2f6ffff;
gap: 128px;
overflow: hidden;
overflow: visible;
}

.mobile__image {
Expand Down Expand Up @@ -100,4 +100,12 @@
.mobile__dots {
opacity: 1;
}

.mobile__stan {
content: url("assets/mobile/mobile_dark.webp");
}

.mobile__background {
content: url("assets/mobile/mobile_background_dark.svg");
}
}
4 changes: 2 additions & 2 deletions src/components/Mobile.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ export const Mobile = () => {
<div className="mobile__image">
<img
className="mobile__stan"
src={`assets/mobile/mobile_${theme}.webp`}
src={`assets/mobile/mobile_light.webp`}
alt="Das Maskottchen Stan zeigt einen Screenshot der mobilen Version von Scrumlr"
/>
<img
className="mobile__background"
src={`assets/mobile/mobile_background_${theme}.svg`}
src={`assets/mobile/mobile_background_light.svg`}
alt=""
/>
</div>
Expand Down
15 changes: 13 additions & 2 deletions src/components/Uniqueness.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
$uniqueness-image-count: 4; // Number of images

.uniqueness__wrapper {
min-width: 100vw;
display: flex;
Expand Down Expand Up @@ -89,7 +91,6 @@
}

@media screen and (max-width: 1140px) {
$uniqueness-image-count: 4; // Number of images
.uniqueness__wrapper {
padding: 32px;
box-sizing: border-box;
Expand Down Expand Up @@ -172,7 +173,7 @@
}

@media (prefers-color-scheme: dark) {
.uniqueness__image > {
.uniqueness__section .uniqueness__image > {
@for $i from 0 to $uniqueness-image-count {
.uniqueness__image-#{$i} {
content: url("/assets/uniqueness/uniqueness_dark_#{$i}_mobile.webp");
Expand Down Expand Up @@ -221,3 +222,13 @@
right: -500px;
}
}

@media (prefers-color-scheme: dark) {
.uniqueness__image > {
@for $i from 0 to $uniqueness-image-count {
.uniqueness__image-#{$i} {
content: url("/assets/uniqueness/uniqueness_dark_#{$i}.webp");
}
}
}
}
187 changes: 88 additions & 99 deletions src/components/Uniqueness.tsx
Original file line number Diff line number Diff line change
@@ -1,106 +1,95 @@
import { useEffect, useState } from "react";
import "./Uniqueness.scss";

export const Uniqueness = () => {
const [theme, setTheme] = useState("dark");

useEffect(() => {
const theme = document.documentElement.getAttribute("theme");
if (theme) {
setTheme(theme);
}
}, []);

return (
<section className="uniqueness__wrapper">
<h2>Was macht Scrumlr so besonders?</h2>
<p>
Scrumlr fördert eine ausgewogene Zusammenarbeit innerhalb jedes Teams.
</p>
<div className="uniqueness__section uniqueness__section--left">
<div className="uniqueness__image">
<img
src={`assets/uniqueness/uniqueness_${theme}_0.webp`}
className="uniqueness__image-0"
alt="Ein Beispiel für die Auswahl unterschiedlicher Templates"
/>
</div>
<div className="uniqueness__text">
<h3>Schnellstart: ohne Registrierung und kostenlos</h3>
<p>
Starte direkt und unverbindlich, ohne aufwändige Registrierung oder
Anmeldung. Scrumlr ist außerdem kostenlos – für immer!
</p>
<img
src={`assets/uniqueness/dots_${theme}_0.svg`}
alt=""
className="uniqueness__section-dots--0"
/>
</div>
export const Uniqueness = () => (
<section className="uniqueness__wrapper">
<h2>Was macht Scrumlr so besonders?</h2>
<p>
Scrumlr fördert eine ausgewogene Zusammenarbeit innerhalb jedes Teams.
</p>
<div className="uniqueness__section uniqueness__section--left">
<div className="uniqueness__image">
<img
src={`assets/uniqueness/uniqueness_light_0.webp`}
className="uniqueness__image-0"
alt="Ein Beispiel für die Auswahl unterschiedlicher Templates"
/>
</div>
<div className="uniqueness__text">
<h3>Schnellstart: ohne Registrierung und kostenlos</h3>
<p>
Starte direkt und unverbindlich, ohne aufwändige Registrierung oder
Anmeldung. Scrumlr ist außerdem kostenlos – für immer!
</p>
<img
src={`assets/uniqueness/dots_light_0.svg`}
alt=""
className="uniqueness__section-dots--0"
/>
</div>
</div>
<div className="uniqueness__section uniqueness__section--right">
<div className="uniqueness__text">
<h3>Individuelle Denkweisen mit dem Team teilen</h3>
<p>
Dieses Tool ist der beste Weg, Ideen miteinander auszutauschen und
sich als Team weiterzuentwickeln.
</p>
<img
src={`assets/uniqueness/dots_light_1.svg`}
alt=""
className="uniqueness__section-dots--1"
/>
</div>
<div className="uniqueness__image">
<img
src={`assets/uniqueness/uniqueness_light_1.webp`}
className="uniqueness__image-1"
alt="Mehrere User auf einem Scrumlr-Board, die einzelne Karten erstellt und Votes hinterlassen haben"
/>
</div>
</div>
<div className="uniqueness__section uniqueness__section--left">
<div className="uniqueness__image">
<img
src={`assets/uniqueness/uniqueness_light_2.webp`}
className="uniqueness__image-2"
alt="Ein Beispiel dafür, dass User-generierte Notes in Spalten organisiert und aufeinander gestapelt werden können"
/>
</div>
<div className="uniqueness__section uniqueness__section--right">
<div className="uniqueness__text">
<h3>Individuelle Denkweisen mit dem Team teilen</h3>
<p>
Dieses Tool ist der beste Weg, Ideen miteinander auszutauschen und
sich als Team weiterzuentwickeln.
</p>
<img
src={`assets/uniqueness/dots_${theme}_1.svg`}
alt=""
className="uniqueness__section-dots--1"
/>
</div>
<div className="uniqueness__image">
<img
src={`assets/uniqueness/uniqueness_${theme}_1.webp`}
className="uniqueness__image-1"
alt="Mehrere User auf einem Scrumlr-Board, die einzelne Karten erstellt und Votes hinterlassen haben"
/>
</div>
<div className="uniqueness__text">
<h3>Meinungen und Gedanken übersichtlich sammeln</h3>
<p>
Transparente Kommunikation ist wichtig. Mit Scrumlr könnt ihr
Meinungen, Gedanken und Ideen miteinander verknüpfen.
</p>
<img
src={`assets/uniqueness/dots_light_2.svg`}
alt=""
className="uniqueness__section-dots--2"
/>
</div>
<div className="uniqueness__section uniqueness__section--left">
<div className="uniqueness__image">
<img
src={`assets/uniqueness/uniqueness_${theme}_2.webp`}
className="uniqueness__image-2"
alt="Ein Beispiel dafür, dass User-generierte Notes in Spalten organisiert und aufeinander gestapelt werden können"
/>
</div>
<div className="uniqueness__text">
<h3>Meinungen und Gedanken übersichtlich sammeln</h3>
<p>
Transparente Kommunikation ist wichtig. Mit Scrumlr könnt ihr
Meinungen, Gedanken und Ideen miteinander verknüpfen.
</p>
<img
src={`assets/uniqueness/dots_${theme}_2.svg`}
alt=""
className="uniqueness__section-dots--2"
/>
</div>
</div>
<div className="uniqueness__section uniqueness__section--right">
<div className="uniqueness__text">
<h3>Open Source & sicher gehostet in Deutschland</h3>
<p>
Scrumlr ist ein Open-Source-Software, deren Quelldaten eingesehen,
geändert und von Dritten verwendet werden können.
</p>
<img
src={`assets/uniqueness/dots_light_3.svg`}
alt=""
className="uniqueness__section-dots--3"
/>
</div>
<div className="uniqueness__section uniqueness__section--right">
<div className="uniqueness__text">
<h3>Open Source & sicher gehostet in Deutschland</h3>
<p>
Scrumlr ist ein Open-Source-Software, deren Quelldaten eingesehen,
geändert und von Dritten verwendet werden können.
</p>
<img
src={`assets/uniqueness/dots_${theme}_3.svg`}
alt=""
className="uniqueness__section-dots--3"
/>
</div>
<div className="uniqueness__image">
<img
src={`assets/uniqueness/uniqueness_${theme}_3.webp`}
className="uniqueness__image-3"
alt="Open-Source, Security und das Hosting in Deutschland stehen bei Scrumlr im Mittelpunkt"
/>
</div>
<div className="uniqueness__image">
<img
src={`assets/uniqueness/uniqueness_light_3.webp`}
className="uniqueness__image-3"
alt="Open-Source, Security und das Hosting in Deutschland stehen bei Scrumlr im Mittelpunkt"
/>
</div>
</section>
);
};
</div>
</section>
);

0 comments on commit 81860d4

Please sign in to comment.