Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 26 additions & 9 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,20 +1,37 @@
<!doctype html>
<html lang="en">
<html lang="en" class="text-[14px]">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>QR Code - Screenly Edge App</title>
<script src="screenly.js?version=1"></script>
</head>
<body>
<div class="container max-w-full">
<div class="qr-section">
<div class="text-content">
<h1 id="headline"></h1>
<body
class="font-[-apple-system,BlinkMacSystemFont,Segoe_UI,Roboto,Helvetica_Neue,Arial,sans-serif] bg-[var(--theme-color-background,#c9cdd0)]"
>
<div class="flex justify-center items-center h-full w-full max-w-full p-8">
<div
class="flex flex-row justify-between items-center gap-20 w-full max-w-[90rem] h-full max-h-[50rem] p-20 rounded-[3.5rem] bg-[var(--theme-color-primary,#972eff)] text-[var(--theme-color-tertiary,#ffffff)] shadow-[0_2.5rem_5rem_rgba(0,0,0,0.25),0_1rem_2rem_rgba(0,0,0,0.15)] relative overflow-hidden before:content-[''] before:absolute before:top-[-50%] before:right-[-10%] before:w-[40rem] before:h-[40rem] before:bg-[radial-gradient(circle,rgba(255,255,255,0.08)_0%,transparent_70%)] before:rounded-full before:pointer-events-none landscape:max-[1280px]:p-10 landscape:max-[1280px]:gap-10 landscape:max-[800px]:p-8 landscape:max-[800px]:gap-8 portrait:flex-col portrait:gap-12 portrait:max-w-[50rem] max-[720px]:portrait:p-8 max-[720px]:portrait:gap-8 max-[480px]:portrait:p-6 max-[480px]:portrait:gap-6"
>
<div
class="flex-1 flex flex-col justify-center max-w-[45rem] relative z-[1] portrait:text-center portrait:max-w-full"
>
<h1
id="headline"
class="text-[6rem] font-bold leading-[1.15] m-0 tracking-[-0.02em] [text-shadow:0_0.25rem_1rem_rgba(0,0,0,0.1)] landscape:max-[1280px]:text-[4rem] landscape:max-[800px]:text-[2.75rem] portrait:text-[4.5rem] max-[720px]:portrait:text-[3.5rem] max-[480px]:portrait:text-[2.5rem]"
></h1>
</div>
<div class="qr-container">
<div id="qr-code"></div>
<p id="cta"></p>
<div
class="flex flex-col items-center gap-8 shrink-0 relative z-[1]"
>
<div
id="qr-code"
class="flex justify-center items-center w-[32rem] h-[32rem] p-10 bg-white rounded-[2.5rem] shadow-[0_1.5rem_4rem_rgba(0,0,0,0.25),0_0.5rem_1.5rem_rgba(0,0,0,0.15)] [&>svg]:w-full [&>svg]:h-full [&>svg]:block landscape:max-[1280px]:w-[22rem] landscape:max-[1280px]:h-[22rem] landscape:max-[800px]:w-[18rem] landscape:max-[800px]:h-[18rem] landscape:max-[800px]:p-6 portrait:w-[28rem] portrait:h-[28rem] max-[720px]:portrait:w-[22rem] max-[720px]:portrait:h-[22rem] max-[480px]:portrait:w-[18rem] max-[480px]:portrait:h-[18rem] max-[480px]:portrait:p-4"
></div>
<p
id="cta"
class="text-[1.75rem] leading-[1.4] m-0 opacity-95 font-medium tracking-[-0.01em] text-center landscape:max-[1280px]:text-[1.4rem] landscape:max-[800px]:text-[1.15rem] portrait:text-[1.6rem] max-[720px]:portrait:text-[1.4rem] max-[480px]:portrait:text-[1.15rem]"
></p>
</div>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"prettier": "./.prettierrc.json",
"devDependencies": {
"@playwright/test": "^1.60.0",
"@screenly/edge-apps": "^1.2.1",
"@screenly/edge-apps": "^1.3.0",
"@types/bun": "^1.3.14",
"@types/jsdom": "^28.0.3",
"@types/qrcode": "^1.5.6",
Expand Down
Binary file modified screenshots/1080x1920.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified screenshots/1280x720.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified screenshots/2160x3840.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified screenshots/2160x4096.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified screenshots/480x800.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified screenshots/720x1280.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified screenshots/800x480.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
254 changes: 4 additions & 250 deletions src/css/style.css
Original file line number Diff line number Diff line change
@@ -1,251 +1,5 @@
@import 'tailwindcss';
@layer theme, base, utilities;

/* Reset and base styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

html {
font-size: 14px;
}

body {
font-family:
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',
Arial, sans-serif;
height: 100vh;
width: 100vw;
overflow: hidden;
background-color: var(--theme-color-background, #c9cdd0);
}

/* CSS Custom Properties */
:root {
--theme-color-primary: #972eff;
--theme-color-tertiary: #ffffff;
--theme-color-background: #c9cdd0;
}

/* Main container */
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
width: 100%;
padding: 2rem;
}

/* QR section card */
.qr-section {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
gap: 5rem;
width: 100%;
max-width: 90rem;
height: 100%;
max-height: 50rem;
padding: 5rem;
background: var(--theme-color-primary);
border-radius: 3.5rem;
color: var(--theme-color-tertiary);
box-shadow:
0 2.5rem 5rem rgba(0, 0, 0, 0.25),
0 1rem 2rem rgba(0, 0, 0, 0.15);
position: relative;
overflow: hidden;
}

/* Subtle background pattern */
.qr-section::before {
content: '';
position: absolute;
top: -50%;
right: -10%;
width: 40rem;
height: 40rem;
background: radial-gradient(
circle,
rgba(255, 255, 255, 0.08) 0%,
transparent 70%
);
border-radius: 50%;
pointer-events: none;
}

/* Text content section */
.text-content {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
max-width: 45rem;
position: relative;
z-index: 1;
}

/* Headline (main message) */
.qr-section h1 {
font-size: 6rem;
font-weight: 700;
line-height: 1.15;
margin: 0;
letter-spacing: -0.02em;
text-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
}

/* QR container wrapper */
.qr-container {
display: flex;
flex-direction: column;
align-items: center;
gap: 2rem;
flex-shrink: 0;
position: relative;
z-index: 1;
}

/* QR code box */
#qr-code {
display: flex;
justify-content: center;
align-items: center;
width: 32rem;
height: 32rem;
padding: 2.5rem;
background-color: white;
border-radius: 2.5rem;
box-shadow:
0 1.5rem 4rem rgba(0, 0, 0, 0.25),
0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
}

#qr-code svg {
width: 100%;
height: 100%;
display: block;
}

/* Call to action (instruction) */
#cta {
font-size: 1.75rem;
line-height: 1.4;
margin: 0;
opacity: 0.95;
font-weight: 500;
letter-spacing: -0.01em;
text-align: center;
}

/* Responsive adjustments */
@media screen and (max-width: 1280px) and (orientation: landscape) {
.qr-section {
padding: 2.5rem;
gap: 2.5rem;
}

.qr-section h1 {
font-size: 4rem;
}

.qr-section p {
font-size: 1.4rem;
}

#qr-code {
width: 22rem;
height: 22rem;
}
}

@media screen and (max-width: 800px) and (orientation: landscape) {
.qr-section {
padding: 2rem;
gap: 2rem;
}

.qr-section h1 {
font-size: 2.75rem;
}

.qr-section p {
font-size: 1.15rem;
}

#qr-code {
width: 18rem;
height: 18rem;
padding: 1.5rem;
}
}

@media screen and (orientation: portrait) {
.qr-section {
flex-direction: column;
gap: 3rem;
max-width: 50rem;
}

.text-content {
text-align: center;
max-width: 100%;
}

.qr-section h1 {
font-size: 4.5rem;
}

.qr-section p {
font-size: 1.6rem;
}

#qr-code {
width: 28rem;
height: 28rem;
}
}

@media screen and (max-width: 720px) and (orientation: portrait) {
.qr-section {
padding: 2rem;
gap: 2rem;
}

.qr-section h1 {
font-size: 3.5rem;
}

.qr-section p {
font-size: 1.4rem;
}

#qr-code {
width: 22rem;
height: 22rem;
}
}

@media screen and (max-width: 480px) and (orientation: portrait) {
.qr-section {
padding: 1.5rem;
gap: 1.5rem;
}

.qr-section h1 {
font-size: 2.5rem;
}

.qr-section p {
font-size: 1.15rem;
}

#qr-code {
width: 18rem;
height: 18rem;
padding: 1rem;
}
}
@import 'tailwindcss/theme.css' layer(theme);
@import '@screenly/edge-apps/styles' layer(base);
@import 'tailwindcss/utilities.css' layer(utilities);
Loading