mirror of
https://github.com/misenhower/splatoon2.ink.git
synced 2026-03-21 17:24:37 -05:00
parent
a9d46c1600
commit
31470f5cc1
|
|
@ -45,6 +45,11 @@
|
|||
transform: scale(1.5) rotate(-1.4deg);
|
||||
}
|
||||
|
||||
.salmon-run-gear .merchandise-box {
|
||||
width: 300px;
|
||||
transform: scale(1.4);
|
||||
}
|
||||
|
||||
.new-weapon {
|
||||
transform: scale(1.25);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,14 @@
|
|||
</strong>
|
||||
</div>
|
||||
|
||||
<div v-if="salmonRunGear">
|
||||
<strong>
|
||||
<router-link :to="`/salmonRunGear/${salmonRunGear.available_time}`">
|
||||
Salmon Run Gear
|
||||
</router-link>
|
||||
</strong>
|
||||
</div>
|
||||
|
||||
<div v-if="newWeaponAvailability">
|
||||
<strong>
|
||||
<router-link :to="`/newWeapon/${newWeaponAvailability.release_time}`">
|
||||
|
|
@ -82,6 +90,10 @@ export default {
|
|||
if (this.coopSchedules)
|
||||
return this.coopSchedules.details[0];
|
||||
},
|
||||
salmonRunGear() {
|
||||
if (this.timeline)
|
||||
return this.timeline.coop.reward_gear;
|
||||
},
|
||||
newWeaponAvailability() {
|
||||
if (this.timeline && this.timeline.weapon_availability && this.timeline.weapon_availability.availabilities) {
|
||||
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 SplatNetGear from './components/screenshots/splatnetgear/SplatNetGear.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 Splatfest from './components/screenshots/splatfest/Splatfest.vue';
|
||||
const routes = [
|
||||
|
|
@ -21,6 +22,7 @@ const routes = [
|
|||
{ path: '/schedules/:startTime', component: Schedules, props: true },
|
||||
{ path: '/splatNetGear/:startTime/:endTime', component: SplatNetGear, props: true },
|
||||
{ path: '/salmonRun/:startTime', component: SalmonRun, props: true },
|
||||
{ path: '/salmonRunGear/:now', component: SalmonRunGear, props: true },
|
||||
{ path: '/newWeapon/:releaseTime', component: NewWeapon, props: true },
|
||||
{ path: '/splatfest/:region/:startTime', component: Splatfest, props: true },
|
||||
];
|
||||
|
|
|
|||
|
|
@ -60,6 +60,13 @@ function captureSalmonRunScreenshot(startTime) {
|
|||
return captureScreenshot({ url });
|
||||
}
|
||||
|
||||
function captureSalmonRunGearScreenshot(startTime) {
|
||||
let url = new URL(htmlUrl);
|
||||
url.hash = `/salmonRunGear/${startTime}`;
|
||||
|
||||
return captureScreenshot({ url });
|
||||
}
|
||||
|
||||
function captureNewWeaponScreenshot(releaseTime) {
|
||||
let url = new URL(htmlUrl);
|
||||
url.hash = `/newWeapon/${releaseTime}`;
|
||||
|
|
@ -78,6 +85,7 @@ module.exports = {
|
|||
captureScheduleScreenshot,
|
||||
captureGearScreenshot,
|
||||
captureSalmonRunScreenshot,
|
||||
captureSalmonRunGearScreenshot,
|
||||
captureNewWeaponScreenshot,
|
||||
captureSplatfestScreenshot,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ const { canTweet } = require('./twitter/client');
|
|||
const ScheduleTweet = require('./twitter/ScheduleTweet');
|
||||
const GearTweet = require('./twitter/GearTweet');
|
||||
const SalmonRunTweet = require('./twitter/SalmonRunTweet');
|
||||
const SalmonRunGearTweet = require('./twitter/SalmonRunGearTweet');
|
||||
const NewWeaponTweet = require('./twitter/NewWeaponTweet');
|
||||
const NewStageTweet = require('./twitter/NewStageTweet');
|
||||
const SplatfestTweet = require('./twitter/SplatfestTweet');
|
||||
|
|
@ -11,6 +12,7 @@ let tweets = [
|
|||
new ScheduleTweet,
|
||||
new GearTweet,
|
||||
new SalmonRunTweet,
|
||||
new SalmonRunGearTweet,
|
||||
new NewWeaponTweet,
|
||||
new NewStageTweet,
|
||||
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