diff --git a/src/app/screenshots/screenshots.js b/src/app/screenshots/screenshots.js index 7f64623..29e0f37 100644 --- a/src/app/screenshots/screenshots.js +++ b/src/app/screenshots/screenshots.js @@ -5,8 +5,10 @@ const ecstatic = require('ecstatic'); const puppeteer = require('puppeteer'); const viewport = { - width: 1012, // Twitter's in-stream image width is 506px, 506*2 = 1012 - height: 600, + // Using a 16:9 ratio here by default to match Twitter's image card dimensions + // 1216 was chosen as the width because of Bulma's "widescreen" breakpoint + width: 1216, + height: 684, deviceScaleFactor: 2, }; @@ -57,15 +59,13 @@ async function captureScreenshot(options) { function captureScheduleScreenshot(now, splatfestBattle = false) { let hash = `/schedules/${now}`; - let viewport = (splatfestBattle) ? { height: 800 } : undefined; - - return captureScreenshot({ hash, viewport }); + return captureScreenshot({ hash }); } function captureGearScreenshot(now) { let hash = `/splatNetGear/${now}`; - return captureScreenshot({ hash, viewport: { height: 700 } }); + return captureScreenshot({ hash }); } function captureSalmonRunScreenshot(now, mode) { diff --git a/src/web/assets/css/screenshots.scss b/src/web/assets/css/screenshots.scss index 0ddbbc1..66900e3 100644 --- a/src/web/assets/css/screenshots.scss +++ b/src/web/assets/css/screenshots.scss @@ -4,7 +4,7 @@ #screenshots { .main-schedule-box { border-radius: 20px; - mask-size: 800px 1280px; // Original value: 500px 800px + mask-size: 900px 1440px; // Original value: 500px 800px padding-top: 50px; .stage-image:not(:last-child) { @@ -12,7 +12,7 @@ } .stage-title { - font-size: 1.35rem; + font-size: 1.65rem; } } @@ -27,7 +27,7 @@ } .featured-merchandise { - transform: scale(1.85) rotate(-1.4deg); + transform: scale(1.9) rotate(-1.4deg); min-width: 173px; .info-overlay { @@ -41,8 +41,21 @@ } } + .still-available-merchandise { + transform: scale(0.9); + margin: -60px 0; + + .merchandise-box { + font-size: 1.25rem; + } + + .remaining-time { + font-size: 1.25rem !important; + } + } + .salmon-run { - transform: scale(1.5) rotate(-1.4deg); + transform: scale(1.85) rotate(-1.4deg); } .salmon-run-gear .merchandise-box { @@ -74,7 +87,13 @@ .splatfest-results { width: 275px; - transform: scale(1.35); + transform: scale(1.65); + } + + .splatfest-screenshot { + .splatfest { + transform: scale(1.25) rotate(-1.4deg); + } } .twitter-logo { diff --git a/src/web/components/screenshots/Wrapper.vue b/src/web/components/screenshots/Wrapper.vue index dc69eb8..95b6beb 100644 --- a/src/web/components/screenshots/Wrapper.vue +++ b/src/web/components/screenshots/Wrapper.vue @@ -11,27 +11,39 @@
-
| {{ now | dateTime('en', 'UTC', 'MMMM D, YYYY HH:mm z') }} | -||
| {{ now | dateTime('en-us', 'America/Los_Angeles') }} | {{ now | dateTime('en-gb', 'Europe/London') }} | @@ -55,7 +67,10 @@ import { mapGetters } from 'vuex'; import moment from 'moment-timezone'; export default { - props: ['title'], + props: { + title: null, + hideLocalTimes: Boolean, + }, filters: { dateTime(value, locale, timeZone, format = 'LLL z') { let date = moment.unix(value).tz(timeZone); diff --git a/src/web/components/screenshots/schedules/ScheduleBox.vue b/src/web/components/screenshots/schedules/ScheduleBox.vue index 18233f2..8d8e7fe 100644 --- a/src/web/components/screenshots/schedules/ScheduleBox.vue +++ b/src/web/components/screenshots/schedules/ScheduleBox.vue @@ -1,12 +1,12 @@|