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
48 changes: 39 additions & 9 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,51 @@
<title>Simple Message App</title>
<script src="screenly.js?version=1"></script>
</head>
<body>
<body
class="bg-[url('/static/images/bg.webp')] bg-no-repeat bg-center bg-cover bg-[#171e24] before:content-[''] before:fixed before:inset-0 before:z-[var(--z-index-backdrop)] before:pointer-events-none before:bg-black/20 before:backdrop-blur-[7px]"
>
<auto-scaler
reference-width="1920"
reference-height="1080"
orientation="auto"
class="relative z-[var(--z-index-content)]"
>
<div id="app">
<app-header show-logo show-time show-date></app-header>
<div id="left-content">
<span id="announcement-label">Announcement</span>
<h1 id="message-header"></h1>
<div id="date-badge"></div>
<div
id="app"
class="relative w-full h-full text-white portrait:flex portrait:flex-col portrait:p-[1.25em]"
>
<app-header
show-logo
show-time
show-date
class="absolute left-[1.3125em] top-[1.5625em] w-[calc(100%-2.625em)] portrait:static portrait:w-full"
></app-header>
<div
id="left-content"
class="absolute left-[calc(8.33%+8.25em)] top-[15.5em] w-[32.25em] flex flex-col gap-[1em] portrait:static portrait:w-full portrait:mt-[15em] portrait:gap-[1em]"
>
<span
id="announcement-label"
class="font-light text-[1.44em] leading-[normal] tracking-[-0.0182em] text-white/90 portrait:text-[3.5em] portrait:font-medium portrait:leading-[1.25] portrait:tracking-[normal] portrait:pl-0"
>Announcement</span
>
<h1
id="message-header"
class="m-0 text-[4em] font-normal leading-[normal] text-white whitespace-pre-wrap break-words portrait:text-[7em] portrait:font-normal portrait:leading-[1.179]"
></h1>
<div
id="date-badge"
class="inline-flex items-center h-[2.031em] w-fit py-[0.417em] px-[0.781em] border-[0.0875em] border-white/6 rounded-[0.885em] bg-[linear-gradient(167deg,rgba(255,255,255,0.06)_0%,rgba(255,255,255,0.01)_100%)] shadow-[0_0.677em_2.083em_rgba(0,0,0,0.15),inset_0_0.0875em_0_rgba(255,255,255,0.1),inset_0_-0.0875em_0_rgba(255,255,255,0.03)] text-[1.2em] font-light leading-[normal] text-white/95 tracking-[-0.01em] portrait:text-[2.8125em] portrait:font-normal portrait:leading-[1.311] portrait:py-[0.5em] portrait:px-[1em] portrait:rounded-[1.05em] portrait:mt-[0.5em]"
></div>
</div>
<div id="message-body-card">
<div id="message-body"></div>
<div
id="message-body-card"
class="absolute left-[calc(50%+3.5em)] top-[12.0625em] w-[37.8125em] h-[47.9375em] border-[0.047em] border-white/10 rounded-[1.5em] p-[2em] overflow-hidden bg-[linear-gradient(90deg,rgba(0,0,0,0.4),rgba(0,0,0,0.4)),linear-gradient(128deg,rgba(255,255,255,0.08)_0%,rgba(255,255,255,0.02)_100%)] shadow-[inset_0_0.047em_0_rgba(255,255,255,0.15),inset_0_-0.047em_0_rgba(255,255,255,0.05)] portrait:static portrait:w-full portrait:mt-[10em] portrait:h-[45.75em] portrait:rounded-[1.5em] portrait:p-[2em]"
>
<div
id="message-body"
class="text-[1.875em] font-light leading-[1.333] text-white whitespace-pre-wrap break-words portrait:text-[2.375em] portrait:font-light portrait:leading-[1.25]"
></div>
</div>
</div>
</auto-scaler>
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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",
"bun-types": "^1.3.14",
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/1920x1080.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/3840x2160.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/4096x2160.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.
196 changes: 10 additions & 186 deletions src/css/style.css
Original file line number Diff line number Diff line change
@@ -1,186 +1,10 @@
@import '@screenly/edge-apps/styles';

* {
box-sizing: border-box;
}

body {
margin: 0;
padding: 0;
overflow: hidden;
font-family: 'Inter', system-ui, sans-serif;
background: url('/static/images/bg.webp') no-repeat center center;
background-size: cover;
background-color: #171e24;
}

body::before {
content: '';
position: fixed;
inset: 0;
z-index: var(--z-index-backdrop);
pointer-events: none;
background: rgba(0, 0, 0, 0.2);
backdrop-filter: blur(7px);
}

auto-scaler {
position: relative;
z-index: var(--z-index-content);
}

#app {
position: relative;
width: 100%;
height: 100%;
color: white;
}

app-header {
position: absolute;
left: 1.3125em;
top: 1.5625em;
width: calc(100% - 2.625em);
}

#left-content {
position: absolute;
left: calc(8.33% + 8.25em);
top: 15.5em;
width: 32.25em;
display: flex;
flex-direction: column;
gap: 1em;
}

#announcement-label {
font-weight: 300;
font-size: 1.44em;
line-height: normal;
letter-spacing: -0.0182em;
color: rgba(255, 255, 255, 0.9);
}

#message-header {
margin: 0;
font-size: 4em;
font-weight: 400;
line-height: normal;
color: white;
white-space: pre-wrap;
overflow-wrap: break-word;
}

#date-badge {
display: inline-flex;
align-items: center;
height: 2.031em;
width: fit-content;
padding: 0.417em 0.781em;
border: 0.0875em solid rgba(255, 255, 255, 0.06);
border-radius: 0.885em;
background: linear-gradient(
167deg,
rgba(255, 255, 255, 0.06) 0%,
rgba(255, 255, 255, 0.01) 100%
);
box-shadow:
0 0.677em 2.083em rgba(0, 0, 0, 0.15),
inset 0 0.0875em 0 rgba(255, 255, 255, 0.1),
inset 0 -0.0875em 0 rgba(255, 255, 255, 0.03);
font-size: 1.2em;
font-weight: 300;
line-height: normal;
color: rgba(255, 255, 255, 0.95);
letter-spacing: -0.01em;
}

#message-body-card {
position: absolute;
left: calc(50% + 3.5em);
top: 12.0625em;
width: 37.8125em;
height: 47.9375em;
border: 0.047em solid rgba(255, 255, 255, 0.1);
border-radius: 1.5em;
padding: 2em;
overflow: hidden;
background:
linear-gradient(90deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
linear-gradient(
128deg,
rgba(255, 255, 255, 0.08) 0%,
rgba(255, 255, 255, 0.02) 100%
);
box-shadow:
inset 0 0.047em 0 rgba(255, 255, 255, 0.15),
inset 0 -0.047em 0 rgba(255, 255, 255, 0.05);
}

#message-body {
font-size: 1.875em;
font-weight: 300;
line-height: 1.333;
color: white;
white-space: pre-wrap;
overflow-wrap: break-word;
}

@media (orientation: portrait) {
#app {
display: flex;
flex-direction: column;
padding: 1.25em;
padding-top: 1.25em;
}

app-header {
position: static;
width: 100%;
}

#left-content {
position: static;
width: 100%;
margin-top: 15em;
gap: 1em;
}

#announcement-label {
font-size: 3.5em;
font-weight: 500;
line-height: 1.25;
letter-spacing: normal;
padding-left: 0;
}

#message-header {
font-size: 7em;
font-weight: 400;
line-height: 1.179;
}

#date-badge {
font-size: 2.8125em;
font-weight: 400;
line-height: 1.311;
padding: 0.5em 1em;
border-radius: 1.05em;
margin-top: 0.5em;
}

#message-body-card {
position: static;
width: 100%;
margin-top: 10em;
height: 45.75em;
border-radius: 1.5em;
padding: 2em;
}

#message-body {
font-size: 2.375em;
font-weight: 300;
line-height: 1.25;
}
}
/* Tailwind CSS, skipping Preflight (resets border/margin/padding on every
element via a universal selector and breaks custom-element hosts like
<app-header>). @screenly/edge-apps/styles goes in the `base` layer so any
Tailwind utility classes added later always win the cascade, regardless
of selector specificity. */
@layer theme, base, utilities;

@import 'tailwindcss/theme.css' layer(theme);
@import '@screenly/edge-apps/styles' layer(base);
@import 'tailwindcss/utilities.css' layer(utilities);
Loading