add poketube flex to some places :3
This commit is contained in:
parent
b5d1f18043
commit
a133ffd6a6
381
html/weather.ejs
381
html/weather.ejs
@ -29,15 +29,41 @@
|
|||||||
<meta content="View Weather info :3c" property="twitter:description">
|
<meta content="View Weather info :3c" property="twitter:description">
|
||||||
<meta content="/static/weather_banner.webp" property="og:image" />
|
<meta content="/static/weather_banner.webp" property="og:image" />
|
||||||
<meta content="summary_large_image" name="twitter:card">
|
<meta content="summary_large_image" name="twitter:card">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
:root{--bg:#0b0f16;--fg:#eef3ff;--muted:#a7b4cc;--card:#0f1624;--ring:#ffffff22;--accent:#0ea5e9;--good:#7ee787;--bad:#f97373;--warn:#fbbf24;--br:16px}
|
:root {
|
||||||
@media (prefers-color-scheme:light){:root{--bg:#fbfbfe;--fg:#0b1020;--muted:#5b6b87;--card:#ffffff;--ring:#0b102018}}
|
--bg: #0b0f16;
|
||||||
*{box-sizing:border-box}
|
--fg: #eef3ff;
|
||||||
html,body{height:100%}
|
--muted: #a7b4cc;
|
||||||
body{margin:0;background:radial-gradient(1200px 800px at 20% 10%,#0c1528,var(--bg));color:var(--fg);font:15px/1.4 ui-sans-serif,system-ui,Segoe UI,Roboto,Inter,Arial}
|
--card: #0f1624;
|
||||||
|
--ring: #ffffff22;
|
||||||
|
--accent: #0ea5e9;
|
||||||
|
--good: #7ee787;
|
||||||
|
--bad: #f97373;
|
||||||
|
--warn: #fbbf24;
|
||||||
|
--br: 16px;
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
:root {
|
||||||
|
--bg: #fbfbfe;
|
||||||
|
--fg: #0b1020;
|
||||||
|
--muted: #5b6b87;
|
||||||
|
--card: #ffffff;
|
||||||
|
--ring: #0b102018;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
background: radial-gradient(1200px 800px at 20% 10%, #0c1528, var(--bg));
|
||||||
|
color: var(--fg);
|
||||||
|
font: 15px/1.4 ui-sans-serif, system-ui, Segoe UI, Roboto, Inter, Arial;
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
src: url("https://p.poketube.fun/https://cdn.glitch.global/43b6691a-c8db-41d4-921c-8cf6aa0d9108/robotoflex.ttf?v=16683434286881");
|
src: url("https://p.poketube.fun/https://cdn.glitch.global/43b6691a-c8db-41d4-921c-8cf6aa0d9108/robotoflex.ttf?v=16683434286881");
|
||||||
@ -47,59 +73,298 @@
|
|||||||
font-display: swap;
|
font-display: swap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Improved, stable navbar (no weird pill stretching) */
|
/* Improved, stable navbar (no weird pill stretching) */
|
||||||
header{position:sticky;top:0;z-index:40}
|
header {
|
||||||
.navwrap{backdrop-filter:saturate(1.4) blur(10px);background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.15));border-bottom:1px solid var(--ring)}
|
position: sticky;
|
||||||
.wrap{max-width:1100px;margin:0 auto;padding:12px 14px}
|
top: 0;
|
||||||
.top{display:flex;align-items:center;gap:12px;justify-content:space-between;min-height:56px}
|
z-index: 40;
|
||||||
.brand{display:flex;align-items:center;gap:10px}
|
}
|
||||||
.brand .logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#00d2ff,#3a7bd5);display:grid;place-items:center;box-shadow:0 6px 20px #00d2ff44;flex:0 0 36px}
|
.navwrap {
|
||||||
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ring);border-radius:999px;padding:6px 10px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.03));white-space:nowrap;max-width:58vw;overflow:hidden;text-overflow:ellipsis}
|
backdrop-filter: saturate(1.4) blur(10px);
|
||||||
.controls{display:flex;gap:8px;flex-wrap:nowrap}
|
background: linear-gradient(180deg, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.15));
|
||||||
button,.btn{border:1px solid var(--ring);background:linear-gradient(180deg,transparent,rgba(255,255,255,.03));color:var(--fg);padding:10px 12px;border-radius:12px;cursor:pointer;white-space:nowrap}
|
border-bottom: 1px solid var(--ring);
|
||||||
button:active{transform:translateY(1px)}
|
}
|
||||||
.subnav{border-top:1px solid var(--ring)}
|
.wrap {
|
||||||
.subrow{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:8px}
|
max-width: 1100px;
|
||||||
.tabs{display:flex;gap:8px}
|
margin: 0 auto;
|
||||||
.tab{padding:8px 12px;border:1px solid var(--ring);border-radius:999px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.03));font-weight:700;text-decoration:none;color:inherit}
|
padding: 12px 14px;
|
||||||
|
}
|
||||||
|
.top {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 12px;
|
||||||
|
justify-content: space-between;
|
||||||
|
min-height: 56px;
|
||||||
|
}
|
||||||
|
.brand {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
.brand .logo {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
border-radius: 12px;
|
||||||
|
background: linear-gradient(135deg, #00d2ff, #3a7bd5);
|
||||||
|
display: grid;
|
||||||
|
place-items: center;
|
||||||
|
box-shadow: 0 6px 20px #00d2ff44;
|
||||||
|
flex: 0 0 36px;
|
||||||
|
}
|
||||||
|
.chip {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
border: 1px solid var(--ring);
|
||||||
|
border-radius: 999px;
|
||||||
|
padding: 6px 10px;
|
||||||
|
background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.03));
|
||||||
|
white-space: nowrap;
|
||||||
|
max-width: 58vw;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
.controls {
|
||||||
|
display: flex;
|
||||||
|
gap: 8px;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
button,
|
||||||
|
.btn {
|
||||||
|
border: 1px solid var(--ring);
|
||||||
|
background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.03));
|
||||||
|
color: var(--fg);
|
||||||
|
padding: 10px 12px;
|
||||||
|
border-radius: 12px;
|
||||||
|
cursor: pointer;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
button:active {
|
||||||
|
transform: translateY(1px);
|
||||||
|
}
|
||||||
|
.subnav {
|
||||||
|
border-top: 1px solid var(--ring);
|
||||||
|
}
|
||||||
|
.subrow {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
padding-top: 8px;
|
||||||
|
}
|
||||||
|
.tabs {
|
||||||
|
display: flex;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
.tab {
|
||||||
|
padding: 8px 12px;
|
||||||
|
border: 1px solid var(--ring);
|
||||||
|
border-radius: 999px;
|
||||||
|
background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.03));
|
||||||
|
font-weight: 700;
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
/* Search (works with & without JS) */
|
/* Search (works with & without JS) */
|
||||||
.search{display:flex;gap:8px;position:relative;flex:1;min-width:220px}
|
.search {
|
||||||
.search input[type="search"]{flex:1;min-width:140px;border:1px solid var(--ring);background:var(--card);color:var(--fg);padding:12px 14px;border-radius:12px;outline:none}
|
display: flex;
|
||||||
.search button[type="submit"]{padding:10px 12px}
|
gap: 8px;
|
||||||
.search .suggest{position:absolute;background:var(--card);border:1px solid var(--ring);border-radius:12px;margin-top:4px;overflow:hidden;display:none;z-index:30;max-height:300px;overflow:auto;top:100%;left:0;right:auto}
|
position: relative;
|
||||||
.search .suggest button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--ring);background:none;color:inherit}
|
flex: 1;
|
||||||
.search .suggest button:last-child{border-bottom:0}
|
min-width: 220px;
|
||||||
|
}
|
||||||
|
.search input[type="search"] {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 140px;
|
||||||
|
border: 1px solid var(--ring);
|
||||||
|
background: var(--card);
|
||||||
|
color: var(--fg);
|
||||||
|
padding: 12px 14px;
|
||||||
|
border-radius: 12px;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
.search button[type="submit"] {
|
||||||
|
padding: 10px 12px;
|
||||||
|
}
|
||||||
|
.search .suggest {
|
||||||
|
position: absolute;
|
||||||
|
background: var(--card);
|
||||||
|
border: 1px solid var(--ring);
|
||||||
|
border-radius: 12px;
|
||||||
|
margin-top: 4px;
|
||||||
|
overflow: hidden;
|
||||||
|
display: none;
|
||||||
|
z-index: 30;
|
||||||
|
max-height: 300px;
|
||||||
|
overflow: auto;
|
||||||
|
top: 100%;
|
||||||
|
left: 0;
|
||||||
|
right: auto;
|
||||||
|
}
|
||||||
|
.search .suggest button {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
text-align: left;
|
||||||
|
padding: 10px 12px;
|
||||||
|
border: 0;
|
||||||
|
border-bottom: 1px solid var(--ring);
|
||||||
|
background: none;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
.search .suggest button:last-child {
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
main{max-width:1100px;margin:14px auto;padding:0 14px;display:grid;gap:14px}
|
main {
|
||||||
.grid{display:grid;gap:14px;grid-template-columns:repeat(12,1fr)}
|
max-width: 1100px;
|
||||||
.card{background:var(--card);border:1px solid var(--ring);border-radius:var(--br);padding:14px}
|
margin: 14px auto;
|
||||||
.current{grid-column:span 12;display:grid;gap:12px}
|
padding: 0 14px;
|
||||||
.curr-top{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
|
display: grid;
|
||||||
.temp{font-size:52px;font-weight:900;letter-spacing:-1px}
|
gap: 14px;
|
||||||
.desc{color:var(--muted);font-weight:600}
|
}
|
||||||
.details{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
|
.grid {
|
||||||
.stat{border:1px dashed var(--ring);border-radius:12px;padding:10px}
|
display: grid;
|
||||||
.stat h4{margin:0 0 6px 0;font-size:12px;color:var(--muted);font-weight:700}
|
gap: 14px;
|
||||||
.stat div{font-weight:800}
|
grid-template-columns: repeat(12, 1fr);
|
||||||
.row{display:flex;gap:10px;align-items:center}
|
}
|
||||||
.bigicon{font-size:42px}
|
.card {
|
||||||
.section-title{font-size:14px;color:var(--muted);margin:0 0 8px 4px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
|
background: var(--card);
|
||||||
.scrollx{display:flex;gap:10px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
|
border: 1px solid var(--ring);
|
||||||
.hour{min-width:84px;scroll-snap-align:start;border:1px solid var(--ring);background:linear-gradient(180deg,transparent,rgba(255,255,255,.02));border-radius:12px;padding:10px;text-align:center}
|
border-radius: var(--br);
|
||||||
.hour .t{font-weight:800}
|
padding: 14px;
|
||||||
.day{display:grid;grid-template-columns:1.2fr 2fr .8fr;gap:10px;align-items:center;border:1px solid var(--ring);border-radius:12px;padding:10px}
|
}
|
||||||
.day .hi{font-weight:800}
|
.current {
|
||||||
.day .lo{color:var(--muted)}
|
grid-column: span 12;
|
||||||
.panel{grid-column:span 12}
|
display: grid;
|
||||||
canvas{width:100%;height:120px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.02));border-radius:12px;border:1px solid var(--ring)}
|
gap: 12px;
|
||||||
footer{opacity:.8;text-align:center;padding:18px;color:var(--muted)}
|
}
|
||||||
.hidden{display:none}
|
.curr-top {
|
||||||
@media (min-width:780px){.current{grid-column:span 7}.panel{grid-column:span 5}}
|
display: flex;
|
||||||
|
gap: 14px;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.temp {
|
||||||
|
font-size: 52px;
|
||||||
|
font-weight: 700;
|
||||||
|
letter-spacing: -1px;
|
||||||
|
font-family: poketube flex;
|
||||||
|
font-stretch: ultra-expanded;
|
||||||
|
}
|
||||||
|
.desc {
|
||||||
|
color: var(--muted);
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.details {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, 1fr);
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
.stat {
|
||||||
|
border: 1px dashed var(--ring);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.stat h4 {
|
||||||
|
margin: 0 0 6px 0;
|
||||||
|
font-size: 12px;
|
||||||
|
color: var(--muted);
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.stat div {
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
.row {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.bigicon {
|
||||||
|
font-size: 42px;
|
||||||
|
}
|
||||||
|
.section-title {
|
||||||
|
font-size: 14px;
|
||||||
|
color: var(--muted);
|
||||||
|
margin: 0 0 8px 4px;
|
||||||
|
font-weight: 600;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.1em;
|
||||||
|
font-family: "poketube flex", sans-serif;
|
||||||
|
font-stretch: ultra-expanded;
|
||||||
|
}
|
||||||
|
.scrollx {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
overflow: auto;
|
||||||
|
scroll-snap-type: x mandatory;
|
||||||
|
padding-bottom: 4px;
|
||||||
|
}
|
||||||
|
.hour {
|
||||||
|
min-width: 84px;
|
||||||
|
scroll-snap-align: start;
|
||||||
|
border: 1px solid var(--ring);
|
||||||
|
background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.02));
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.hour .t {
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
.day {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1.2fr 2fr 0.8fr;
|
||||||
|
gap: 10px;
|
||||||
|
align-items: center;
|
||||||
|
border: 1px solid var(--ring);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.day .hi {
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
.day .lo {
|
||||||
|
color: var(--muted);
|
||||||
|
}
|
||||||
|
.panel {
|
||||||
|
grid-column: span 12;
|
||||||
|
}
|
||||||
|
canvas {
|
||||||
|
width: 100%;
|
||||||
|
height: 120px;
|
||||||
|
background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.02));
|
||||||
|
border-radius: 12px;
|
||||||
|
border: 1px solid var(--ring);
|
||||||
|
}
|
||||||
|
footer {
|
||||||
|
opacity: 0.8;
|
||||||
|
text-align: center;
|
||||||
|
padding: 18px;
|
||||||
|
color: var(--muted);
|
||||||
|
}
|
||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
@media (min-width: 780px) {
|
||||||
|
.current {
|
||||||
|
grid-column: span 7;
|
||||||
|
}
|
||||||
|
.panel {
|
||||||
|
grid-column: span 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Default: show JS UI; hide SSR block */
|
||||||
|
.ssr {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
main {
|
||||||
|
display: grid;
|
||||||
|
}
|
||||||
|
|
||||||
/* Default: show JS UI; hide SSR block */
|
|
||||||
.ssr{display:none}
|
|
||||||
main{display:grid}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- When JS is disabled/blocked, show SSR block and hide main -->
|
<!-- When JS is disabled/blocked, show SSR block and hide main -->
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user