parent
							
								
									38c426f2e3
								
							
						
					
					
						commit
						012dc063f2
					
				| 
		 After Width: | Height: | Size: 35 KiB  | 
| 
		 After Width: | Height: | Size: 2.0 KiB  | 
@ -0,0 +1,55 @@
 | 
				
			||||
<!DOCTYPE html>
 | 
				
			||||
<html lang="cs" class="">
 | 
				
			||||
<head>
 | 
				
			||||
	<title>N.E.B.E.</title>
 | 
				
			||||
	<meta charset="UTF-8">
 | 
				
			||||
	<link rel="stylesheet" href="style.scss" type="text/css" media="screen"/>
 | 
				
			||||
	<script>
 | 
				
			||||
		window.clickTag = 'https://www.nebe.app';
 | 
				
			||||
	</script>
 | 
				
			||||
</head>
 | 
				
			||||
<body>
 | 
				
			||||
 | 
				
			||||
<a href="javascript:window.EXIT()">
 | 
				
			||||
	<main class="wrapper">
 | 
				
			||||
		<div class="background"></div>
 | 
				
			||||
 | 
				
			||||
		<div class="content">
 | 
				
			||||
			<article class="headline"></article>
 | 
				
			||||
 | 
				
			||||
			<article class="subheadline model"></article>
 | 
				
			||||
		</div>
 | 
				
			||||
 | 
				
			||||
		<div class="product-wrapper">
 | 
				
			||||
			<div class="product"></div>
 | 
				
			||||
 | 
				
			||||
			<div class="product__badge">
 | 
				
			||||
				<span class="product__badge-text">5 year warranty</span>
 | 
				
			||||
			</div>
 | 
				
			||||
		</div>
 | 
				
			||||
 | 
				
			||||
		<div class="product__price">
 | 
				
			||||
			<article><span id="price" data-product-price></span> €</article>
 | 
				
			||||
		</div>
 | 
				
			||||
 | 
				
			||||
		<div class="countdown">
 | 
				
			||||
			<div class="countdown__description"></div>
 | 
				
			||||
 | 
				
			||||
			<span class="countdown__timer" id="countdown"></span>
 | 
				
			||||
		</div>
 | 
				
			||||
 | 
				
			||||
		<div class="cta">
 | 
				
			||||
			<div class="cta__inner"></div>
 | 
				
			||||
		</div>
 | 
				
			||||
 | 
				
			||||
		<div class="logo">
 | 
				
			||||
			<img src="logo.png" alt="N.E.B.E." width="30">
 | 
				
			||||
		</div>
 | 
				
			||||
	</main>
 | 
				
			||||
</a>
 | 
				
			||||
 | 
				
			||||
<script src="../assets/scripts.js"></script>
 | 
				
			||||
 | 
				
			||||
</body>
 | 
				
			||||
</html>
 | 
				
			||||
 | 
				
			||||
| 
		 After Width: | Height: | Size: 964 B  | 
@ -0,0 +1,171 @@
 | 
				
			||||
@import '../assets/main';
 | 
				
			||||
 | 
				
			||||
$width: 300px;
 | 
				
			||||
$height: 600px;
 | 
				
			||||
 | 
				
			||||
.wrapper {
 | 
				
			||||
	width: $width;
 | 
				
			||||
	height: $height;
 | 
				
			||||
	overflow: hidden;
 | 
				
			||||
	font-family: DINProBold, sans-serif;
 | 
				
			||||
 | 
				
			||||
	&:hover {
 | 
				
			||||
		.cta {
 | 
				
			||||
			transform: scale(1.1);
 | 
				
			||||
		}
 | 
				
			||||
	}
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.background {
 | 
				
			||||
	position: absolute;
 | 
				
			||||
	top: 0;
 | 
				
			||||
	right: 0;
 | 
				
			||||
	bottom: 0;
 | 
				
			||||
	left: 0;
 | 
				
			||||
	background: linear-gradient(180deg, rgba(106,228,168,1) 0%, rgba(195,244,220,1) 100%);
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.content {
 | 
				
			||||
	width: 286px;
 | 
				
			||||
	position: absolute;
 | 
				
			||||
	top: 5px;
 | 
				
			||||
	left: 6px;
 | 
				
			||||
	height: 190px;
 | 
				
			||||
	text-align: center;
 | 
				
			||||
	padding: 0 20px;
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.headline {
 | 
				
			||||
	max-height: 2.4em;
 | 
				
			||||
	margin-top: 20px;
 | 
				
			||||
	font-family: CallingCodeBold, sans-serif;
 | 
				
			||||
	color: #22a875;
 | 
				
			||||
	font-size: 26px;
 | 
				
			||||
	font-weight: 700;
 | 
				
			||||
	line-height: 1.2;
 | 
				
			||||
	overflow: hidden;
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.subheadline {
 | 
				
			||||
	font-family: DINProBold, sans-serif;
 | 
				
			||||
	color: #4f46de;
 | 
				
			||||
	font-size: 22px;
 | 
				
			||||
	font-weight: 400;
 | 
				
			||||
	margin-top: 30px;
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.product-wrapper {
 | 
				
			||||
	position: relative;
 | 
				
			||||
	top: 180px;
 | 
				
			||||
	left: calc((300px - 150px) / 2);
 | 
				
			||||
	width: 150px;
 | 
				
			||||
	height: 160px;
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.product {
 | 
				
			||||
	position: absolute;
 | 
				
			||||
	top: 5px;
 | 
				
			||||
	width: 100%;
 | 
				
			||||
	height: 100%;
 | 
				
			||||
 | 
				
			||||
	&__price {
 | 
				
			||||
		position: absolute;
 | 
				
			||||
		top: 340px;
 | 
				
			||||
		right: 0;
 | 
				
			||||
		font-family: DINProBold, sans-serif;
 | 
				
			||||
		font-size: 27px;
 | 
				
			||||
		font-weight: 800;
 | 
				
			||||
		line-height: 1;
 | 
				
			||||
		background-image: url("../assets/flag-orange.svg");
 | 
				
			||||
		background-size: cover;
 | 
				
			||||
		background-position: left;
 | 
				
			||||
		background-repeat: no-repeat;
 | 
				
			||||
		padding: 10px 10px 10px 30px;
 | 
				
			||||
		color: $color-white;
 | 
				
			||||
		overflow: hidden;
 | 
				
			||||
		white-space: nowrap;
 | 
				
			||||
		backface-visibility: hidden;
 | 
				
			||||
	}
 | 
				
			||||
 | 
				
			||||
	&__badge {
 | 
				
			||||
		position: absolute;
 | 
				
			||||
		top: 20px;
 | 
				
			||||
		left: -50px;
 | 
				
			||||
		display: flex;
 | 
				
			||||
		align-items: center;
 | 
				
			||||
		justify-content: center;
 | 
				
			||||
		width: 80px;
 | 
				
			||||
		height: 80px;
 | 
				
			||||
		border-radius: 50%;
 | 
				
			||||
		background: url("badge.png");
 | 
				
			||||
		background-size: contain;
 | 
				
			||||
		overflow: hidden;
 | 
				
			||||
		padding: 25px;
 | 
				
			||||
		text-align: center;
 | 
				
			||||
		z-index: 3;
 | 
				
			||||
 | 
				
			||||
		&-text {
 | 
				
			||||
			font-size: 12px;
 | 
				
			||||
			font-weight: 700;
 | 
				
			||||
			letter-spacing: -0.025em;
 | 
				
			||||
			line-height: 1.2;
 | 
				
			||||
			text-transform: uppercase;
 | 
				
			||||
			color: $color-white;
 | 
				
			||||
		}
 | 
				
			||||
	}
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.countdown {
 | 
				
			||||
	position: absolute;
 | 
				
			||||
	top: 405px;
 | 
				
			||||
	left: calc((300px - 230px) / 2);
 | 
				
			||||
	min-width: 230px;
 | 
				
			||||
	color: #1c0c3e;
 | 
				
			||||
	font-family: CallingCodeBold, sans-serif;
 | 
				
			||||
	text-align: center;
 | 
				
			||||
 | 
				
			||||
	&__description {
 | 
				
			||||
		font-size: 18px;
 | 
				
			||||
		font-weight: bold;
 | 
				
			||||
	}
 | 
				
			||||
 | 
				
			||||
	&__timer {
 | 
				
			||||
		display: inline-block;
 | 
				
			||||
		margin-top: 5px;
 | 
				
			||||
		min-width: 220px;
 | 
				
			||||
		font-size: 24px;
 | 
				
			||||
 | 
				
			||||
		> span {
 | 
				
			||||
			font-size: 16px;
 | 
				
			||||
			margin-right: 8px;
 | 
				
			||||
		}
 | 
				
			||||
	}
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.cta {
 | 
				
			||||
	position: absolute;
 | 
				
			||||
	top: 490px;
 | 
				
			||||
	left: calc((300px - 160px) / 2);
 | 
				
			||||
	width: 160px;
 | 
				
			||||
	z-index: 1;
 | 
				
			||||
	transition: transform 0.4s ease-in-out;
 | 
				
			||||
	will-change: transform;
 | 
				
			||||
 | 
				
			||||
	&__inner {
 | 
				
			||||
		position: relative;
 | 
				
			||||
		width: 100%;
 | 
				
			||||
		height: 48px;
 | 
				
			||||
		background-color: #4f46de;
 | 
				
			||||
		display: inline-block;
 | 
				
			||||
		text-align: center;
 | 
				
			||||
		line-height: 48px;
 | 
				
			||||
		font-weight: 700;
 | 
				
			||||
		color: $color-white;
 | 
				
			||||
	}
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.logo {
 | 
				
			||||
	position: absolute;
 | 
				
			||||
	bottom: 10px;
 | 
				
			||||
	right: 20px;
 | 
				
			||||
}
 | 
				
			||||
| 
		 After Width: | Height: | Size: 745 B  | 
@ -0,0 +1,47 @@
 | 
				
			||||
$color-white: #ffffff;
 | 
				
			||||
$color-black: #000000;
 | 
				
			||||
$color-red: #ff0000	;
 | 
				
			||||
 | 
				
			||||
@font-face {
 | 
				
			||||
	font-family: DINProRegular;
 | 
				
			||||
	src: url(https://cdn.nebe.app/demo/fonts/DINPro-Regular.ttf) format("truetype");
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
@font-face {
 | 
				
			||||
	font-family: DINProBold;
 | 
				
			||||
	src: url(https://cdn.nebe.app/demo/fonts/DINPro-Bold.ttf) format("truetype");
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
@font-face {
 | 
				
			||||
	font-family: CallingCodeBold;
 | 
				
			||||
	src: url(https://cdn.nebe.app/demo/fonts/callingcode-bold.otf) format("opentype");
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
* {
 | 
				
			||||
	box-sizing: border-box;
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
html, body {
 | 
				
			||||
	margin: 0;
 | 
				
			||||
	padding: 0;
 | 
				
			||||
	overflow: hidden;
 | 
				
			||||
	-webkit-font-smoothing: antialiased;
 | 
				
			||||
	-moz-osx-font-smoothing: grayscale;
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.wrapper {
 | 
				
			||||
	position: relative;
 | 
				
			||||
	display: block;
 | 
				
			||||
	font-family: 'Roboto', sans-serif;
 | 
				
			||||
	color: $color-white;
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
a {
 | 
				
			||||
	display: inline-block;
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
.product {
 | 
				
			||||
	background-position: center center;
 | 
				
			||||
	background-repeat: no-repeat;
 | 
				
			||||
	background-size: contain;
 | 
				
			||||
}
 | 
				
			||||
@ -0,0 +1,61 @@
 | 
				
			||||
window.FILL = async (inputs) => {
 | 
				
			||||
	window.clickTag = inputs.link;
 | 
				
			||||
 | 
				
			||||
	const backgroundeEl = document.querySelector('.background');
 | 
				
			||||
	const headlineEl = document.querySelector('.headline');
 | 
				
			||||
	const modellEl = document.querySelector('.model');
 | 
				
			||||
	const badgeEl = document.querySelector('.product__badge');
 | 
				
			||||
	const countdownTextEl = document.querySelector('.countdown__description');
 | 
				
			||||
	const ctaEl = document.querySelector('.cta__inner');
 | 
				
			||||
 | 
				
			||||
	backgroundeEl.style.background = inputs.background;
 | 
				
			||||
	headlineEl.innerHTML = inputs.headline;
 | 
				
			||||
	modellEl.innerHTML = inputs.model;
 | 
				
			||||
	countdownTextEl.innerHTML = inputs.countdown_text;
 | 
				
			||||
	ctaEl.innerHTML = inputs.cta;
 | 
				
			||||
 | 
				
			||||
	if (inputs.badge === 'Ano') {
 | 
				
			||||
		badgeEl.style.display = 'flex';
 | 
				
			||||
	} else {
 | 
				
			||||
		badgeEl.style.display = 'none';
 | 
				
			||||
	}
 | 
				
			||||
 | 
				
			||||
	document.querySelector('[data-product-price]').innerHTML = inputs.price;
 | 
				
			||||
 | 
				
			||||
	document.querySelector('.product').style.backgroundImage = `url("${inputs.image_link}")`;
 | 
				
			||||
 | 
				
			||||
	if (!document.querySelector('.product').style.backgroundImage.length) {
 | 
				
			||||
		throw new Error('Image is not inserted into template');
 | 
				
			||||
	}
 | 
				
			||||
 | 
				
			||||
	// Set the date we're counting down to
 | 
				
			||||
	let countDownDate = new Date(`${inputs.countdown_date}`).getTime();
 | 
				
			||||
 | 
				
			||||
	// Update the count down every 1 second
 | 
				
			||||
	let x = setInterval(function () {
 | 
				
			||||
 | 
				
			||||
		// Get today's date and time
 | 
				
			||||
		let now = new Date().getTime();
 | 
				
			||||
 | 
				
			||||
		// Find the distance between now and the count down date
 | 
				
			||||
		let distance = countDownDate - now;
 | 
				
			||||
 | 
				
			||||
		// Time calculations for days, hours, minutes and seconds
 | 
				
			||||
		let days = Math.floor(distance / (1000 * 60 * 60 * 24));
 | 
				
			||||
		let hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
 | 
				
			||||
		let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
 | 
				
			||||
		let seconds = Math.floor((distance % (1000 * 60)) / 1000);
 | 
				
			||||
 | 
				
			||||
		// Output the result in the element
 | 
				
			||||
		document.getElementById("countdown").innerHTML =
 | 
				
			||||
			days + "<span>d</span>" + hours + "<span>h</span>" + minutes + "<span>m</span>" + seconds + "<span>s</span>";
 | 
				
			||||
 | 
				
			||||
		// If the count down is over, write some text
 | 
				
			||||
		if (distance < 0) {
 | 
				
			||||
			clearInterval(x);
 | 
				
			||||
			document.getElementById("countdown").innerHTML = "<span>SOUTĚŽ UKONČENA</span>";
 | 
				
			||||
		}
 | 
				
			||||
	});
 | 
				
			||||
};
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@ -0,0 +1,9 @@
 | 
				
			||||
{
 | 
				
			||||
	"name": "Demo HTML",
 | 
				
			||||
	"description": "Template for HTML campaigns",
 | 
				
			||||
	"tags": [
 | 
				
			||||
		"Demo",
 | 
				
			||||
		"Template"
 | 
				
			||||
	],
 | 
				
			||||
	"format": "html"
 | 
				
			||||
}
 | 
				
			||||
@ -0,0 +1,58 @@
 | 
				
			||||
{
 | 
				
			||||
	"background": {
 | 
				
			||||
		"label": "Background CSS",
 | 
				
			||||
		"description": "Příklad: rgba(106,228,168,1)",
 | 
				
			||||
		"value": "linear-gradient(180deg, rgba(106,228,168,1) 0%, rgba(195,244,220,1) 100%)",
 | 
				
			||||
		"prefill": true
 | 
				
			||||
	},
 | 
				
			||||
	"headline": {
 | 
				
			||||
		"label": "Nadpis",
 | 
				
			||||
		"value": "Kitty financial services",
 | 
				
			||||
		"prefill": true
 | 
				
			||||
	},
 | 
				
			||||
	"model": {
 | 
				
			||||
		"label": "Model",
 | 
				
			||||
		"value": "Maneki-neko cat",
 | 
				
			||||
		"prefill": true
 | 
				
			||||
	},
 | 
				
			||||
	"badge": {
 | 
				
			||||
		"label": "Zobrazit badge",
 | 
				
			||||
		"value": "Ano",
 | 
				
			||||
		"type": "enum",
 | 
				
			||||
		"options": [
 | 
				
			||||
			"Ano",
 | 
				
			||||
			"Ne"
 | 
				
			||||
		],
 | 
				
			||||
		"prefill": true
 | 
				
			||||
	},
 | 
				
			||||
	"image_link": {
 | 
				
			||||
		"label": "URL obrázku",
 | 
				
			||||
		"type": "url",
 | 
				
			||||
		"value": "https://cdn.nebe.app/demo/print/product.svg"
 | 
				
			||||
	},
 | 
				
			||||
	"price": {
 | 
				
			||||
		"label": "Cena",
 | 
				
			||||
		"value": "80"
 | 
				
			||||
	},
 | 
				
			||||
	"countdown_text": {
 | 
				
			||||
		"label": "Text: Kdy končí nabídka",
 | 
				
			||||
		"value": "Offer expires on",
 | 
				
			||||
		"prefill": true
 | 
				
			||||
	},
 | 
				
			||||
	"countdown_date": {
 | 
				
			||||
		"label": "Hodnota: Kdy končí nabídka",
 | 
				
			||||
		"description": "Javascript formát, např. Dec 30, 2020 00:00:00",
 | 
				
			||||
		"value": "Dec 30, 2020 00:00:00",
 | 
				
			||||
		"prefill": true
 | 
				
			||||
	},
 | 
				
			||||
	"cta": {
 | 
				
			||||
		"label": "Text CTA tlačítka",
 | 
				
			||||
		"value": "Buy",
 | 
				
			||||
		"prefill": true
 | 
				
			||||
	},
 | 
				
			||||
	"link": {
 | 
				
			||||
		"label": "Odkaz",
 | 
				
			||||
		"value": "https://www.nebe.app/app",
 | 
				
			||||
		"prefill": true
 | 
				
			||||
	}
 | 
				
			||||
}
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue