mirror of
https://github.com/misenhower/splatoon2.ink.git
synced 2026-04-26 01:20:38 -05:00
parent
a9d46c1600
commit
31470f5cc1
|
|
@ -45,6 +45,11 @@
|
||||||
transform: scale(1.5) rotate(-1.4deg);
|
transform: scale(1.5) rotate(-1.4deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.salmon-run-gear .merchandise-box {
|
||||||
|
width: 300px;
|
||||||
|
transform: scale(1.4);
|
||||||
|
}
|
||||||
|
|
||||||
.new-weapon {
|
.new-weapon {
|
||||||
transform: scale(1.25);
|
transform: scale(1.25);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,14 @@
|
||||||
</strong>
|
</strong>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div v-if="salmonRunGear">
|
||||||
|
<strong>
|
||||||
|
<router-link :to="`/salmonRunGear/${salmonRunGear.available_time}`">
|
||||||
|
Salmon Run Gear
|
||||||
|
</router-link>
|
||||||
|
</strong>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div v-if="newWeaponAvailability">
|
<div v-if="newWeaponAvailability">
|
||||||
<strong>
|
<strong>
|
||||||
<router-link :to="`/newWeapon/${newWeaponAvailability.release_time}`">
|
<router-link :to="`/newWeapon/${newWeaponAvailability.release_time}`">
|
||||||
|
|
@ -82,6 +90,10 @@ export default {
|
||||||
if (this.coopSchedules)
|
if (this.coopSchedules)
|
||||||
return this.coopSchedules.details[0];
|
return this.coopSchedules.details[0];
|
||||||
},
|
},
|
||||||
|
salmonRunGear() {
|
||||||
|
if (this.timeline)
|
||||||
|
return this.timeline.coop.reward_gear;
|
||||||
|
},
|
||||||
newWeaponAvailability() {
|
newWeaponAvailability() {
|
||||||
if (this.timeline && this.timeline.weapon_availability && this.timeline.weapon_availability.availabilities) {
|
if (this.timeline && this.timeline.weapon_availability && this.timeline.weapon_availability.availabilities) {
|
||||||
return this.timeline.weapon_availability.availabilities[0];
|
return this.timeline.weapon_availability.availabilities[0];
|
||||||
|
|
|
||||||
33
src/js/components/screenshots/salmonrun/SalmonRunGear.vue
Normal file
33
src/js/components/screenshots/salmonrun/SalmonRunGear.vue
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
<template>
|
||||||
|
<Wrapper title="Salmon Run Gear" :time="now">
|
||||||
|
<div class="tilt-left salmon-run-gear" style="display: flex; align-items: center; justify-content: center;" v-if="merchandise">
|
||||||
|
<MerchandiseBox :merchandise="merchandise" />
|
||||||
|
</div>
|
||||||
|
</Wrapper>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import axios from 'axios';
|
||||||
|
import Wrapper from '@/js/components/screenshots/Wrapper.vue';
|
||||||
|
import MerchandiseBox from '@/js/components/splatoon/MerchandiseBox.vue';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: { Wrapper, MerchandiseBox },
|
||||||
|
props: ['now'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
timeline: null,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
merchandise() {
|
||||||
|
if (this.timeline)
|
||||||
|
return { gear: this.timeline.coop.reward_gear.gear };
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
axios.get('data/timeline.json')
|
||||||
|
.then(response => this.timeline = response.data)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
@ -14,6 +14,7 @@ import ScreenshotHelper from './components/screenshots/ScreenshotHelper.vue';
|
||||||
import Schedules from './components/screenshots/schedules/Schedules.vue';
|
import Schedules from './components/screenshots/schedules/Schedules.vue';
|
||||||
import SplatNetGear from './components/screenshots/splatnetgear/SplatNetGear.vue';
|
import SplatNetGear from './components/screenshots/splatnetgear/SplatNetGear.vue';
|
||||||
import SalmonRun from './components/screenshots/salmonrun/SalmonRun.vue';
|
import SalmonRun from './components/screenshots/salmonrun/SalmonRun.vue';
|
||||||
|
import SalmonRunGear from './components/screenshots/salmonrun/SalmonRunGear.vue';
|
||||||
import NewWeapon from './components/screenshots/newweapon/NewWeapon.vue';
|
import NewWeapon from './components/screenshots/newweapon/NewWeapon.vue';
|
||||||
import Splatfest from './components/screenshots/splatfest/Splatfest.vue';
|
import Splatfest from './components/screenshots/splatfest/Splatfest.vue';
|
||||||
const routes = [
|
const routes = [
|
||||||
|
|
@ -21,6 +22,7 @@ const routes = [
|
||||||
{ path: '/schedules/:startTime', component: Schedules, props: true },
|
{ path: '/schedules/:startTime', component: Schedules, props: true },
|
||||||
{ path: '/splatNetGear/:startTime/:endTime', component: SplatNetGear, props: true },
|
{ path: '/splatNetGear/:startTime/:endTime', component: SplatNetGear, props: true },
|
||||||
{ path: '/salmonRun/:startTime', component: SalmonRun, props: true },
|
{ path: '/salmonRun/:startTime', component: SalmonRun, props: true },
|
||||||
|
{ path: '/salmonRunGear/:now', component: SalmonRunGear, props: true },
|
||||||
{ path: '/newWeapon/:releaseTime', component: NewWeapon, props: true },
|
{ path: '/newWeapon/:releaseTime', component: NewWeapon, props: true },
|
||||||
{ path: '/splatfest/:region/:startTime', component: Splatfest, props: true },
|
{ path: '/splatfest/:region/:startTime', component: Splatfest, props: true },
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,13 @@ function captureSalmonRunScreenshot(startTime) {
|
||||||
return captureScreenshot({ url });
|
return captureScreenshot({ url });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function captureSalmonRunGearScreenshot(startTime) {
|
||||||
|
let url = new URL(htmlUrl);
|
||||||
|
url.hash = `/salmonRunGear/${startTime}`;
|
||||||
|
|
||||||
|
return captureScreenshot({ url });
|
||||||
|
}
|
||||||
|
|
||||||
function captureNewWeaponScreenshot(releaseTime) {
|
function captureNewWeaponScreenshot(releaseTime) {
|
||||||
let url = new URL(htmlUrl);
|
let url = new URL(htmlUrl);
|
||||||
url.hash = `/newWeapon/${releaseTime}`;
|
url.hash = `/newWeapon/${releaseTime}`;
|
||||||
|
|
@ -78,6 +85,7 @@ module.exports = {
|
||||||
captureScheduleScreenshot,
|
captureScheduleScreenshot,
|
||||||
captureGearScreenshot,
|
captureGearScreenshot,
|
||||||
captureSalmonRunScreenshot,
|
captureSalmonRunScreenshot,
|
||||||
|
captureSalmonRunGearScreenshot,
|
||||||
captureNewWeaponScreenshot,
|
captureNewWeaponScreenshot,
|
||||||
captureSplatfestScreenshot,
|
captureSplatfestScreenshot,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ const { canTweet } = require('./twitter/client');
|
||||||
const ScheduleTweet = require('./twitter/ScheduleTweet');
|
const ScheduleTweet = require('./twitter/ScheduleTweet');
|
||||||
const GearTweet = require('./twitter/GearTweet');
|
const GearTweet = require('./twitter/GearTweet');
|
||||||
const SalmonRunTweet = require('./twitter/SalmonRunTweet');
|
const SalmonRunTweet = require('./twitter/SalmonRunTweet');
|
||||||
|
const SalmonRunGearTweet = require('./twitter/SalmonRunGearTweet');
|
||||||
const NewWeaponTweet = require('./twitter/NewWeaponTweet');
|
const NewWeaponTweet = require('./twitter/NewWeaponTweet');
|
||||||
const NewStageTweet = require('./twitter/NewStageTweet');
|
const NewStageTweet = require('./twitter/NewStageTweet');
|
||||||
const SplatfestTweet = require('./twitter/SplatfestTweet');
|
const SplatfestTweet = require('./twitter/SplatfestTweet');
|
||||||
|
|
@ -11,6 +12,7 @@ let tweets = [
|
||||||
new ScheduleTweet,
|
new ScheduleTweet,
|
||||||
new GearTweet,
|
new GearTweet,
|
||||||
new SalmonRunTweet,
|
new SalmonRunTweet,
|
||||||
|
new SalmonRunGearTweet,
|
||||||
new NewWeaponTweet,
|
new NewWeaponTweet,
|
||||||
new NewStageTweet,
|
new NewStageTweet,
|
||||||
new SplatfestTweet('na'),
|
new SplatfestTweet('na'),
|
||||||
|
|
|
||||||
35
src/updater/twitter/SalmonRunGearTweet.js
Normal file
35
src/updater/twitter/SalmonRunGearTweet.js
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
const TwitterPostBase = require('./TwitterPostBase');
|
||||||
|
const { captureSalmonRunGearScreenshot } = require('../screenshots');
|
||||||
|
const { readData } = require('../utilities');
|
||||||
|
const moment = require('moment-timezone');
|
||||||
|
|
||||||
|
class SalmonRunTweet extends TwitterPostBase {
|
||||||
|
getKey() { return 'salmonrungear'; }
|
||||||
|
getName() { return 'Salmon Run Gear'; }
|
||||||
|
|
||||||
|
getRewardGear() {
|
||||||
|
let timeline = readData('timeline.json');
|
||||||
|
return timeline.coop && timeline.coop.reward_gear;
|
||||||
|
}
|
||||||
|
|
||||||
|
getData() {
|
||||||
|
let rewardGear = this.getRewardGear();
|
||||||
|
if (rewardGear.available_time == this.getDataTime())
|
||||||
|
return rewardGear;
|
||||||
|
}
|
||||||
|
|
||||||
|
getTestData() {
|
||||||
|
return this.getRewardGear();
|
||||||
|
}
|
||||||
|
|
||||||
|
getImage(data) {
|
||||||
|
return captureSalmonRunGearScreenshot(data.available_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
getText(data) {
|
||||||
|
let monthName = moment.unix(data.available_time).tz('UTC').format('MMMM');
|
||||||
|
return `Next month's Salmon Run reward gear has been posted! ${monthName}'s gear is the ${data.gear.name}. #salmonrun #splatoon2`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = SalmonRunTweet;
|
||||||
Loading…
Reference in New Issue
Block a user