Major refactor, cleand up site scrape module, fixed and cleaned up release scrape module. Removed old CLI code

This commit is contained in:
2019-11-16 03:33:36 +01:00
parent b07f88d023
commit b489c8fc33
35 changed files with 595 additions and 847 deletions

View File

@@ -48,23 +48,17 @@
</li>
</ul>
<h3 class="heading">Latest releases</h3>
<ul class="nolist scenes">
<li
v-for="release in releases"
:key="`release-${release.id}`"
>
<ReleaseTile :release="release" />
</li>
</ul>
<Releases
:releases="releases"
:context="actor.name"
/>
</div>
</div>
</template>
<script>
import FilterBar from '../header/filter-bar.vue';
import ReleaseTile from '../tile/release.vue';
import Releases from '../releases/releases.vue';
async function fetchReleases() {
this.releases = await this.$store.dispatch('fetchActorReleases', this.$route.params.actorSlug);
@@ -82,7 +76,7 @@ async function mounted() {
export default {
components: {
FilterBar,
ReleaseTile,
Releases,
},
data() {
return {

View File

@@ -3,22 +3,16 @@
<FilterBar :fetch-releases="fetchReleases" />
<div class="content-inner">
<ul class="scenes nolist">
<li
v-for="release in releases"
:key="release.id"
class="scene"
>
<ReleaseTile :release="release" />
</li>
</ul>
<Releases
:releases="releases"
/>
</div>
</div>
</template>
<script>
import FilterBar from '../header/filter-bar.vue';
import ReleaseTile from '../tile/release.vue';
import Releases from '../releases/releases.vue';
async function fetchReleases() {
this.releases = await this.$store.dispatch('fetchReleases');
@@ -33,7 +27,7 @@ async function mounted() {
export default {
components: {
FilterBar,
ReleaseTile,
Releases,
},
data() {
return {

View File

@@ -41,23 +41,17 @@
</ul>
</template>
<h3 class="heading">Latest releases</h3>
<ul class="nolist scenes">
<li
v-for="release in releases"
:key="`release-${release.id}`"
>
<ReleaseTile :release="release" />
</li>
</ul>
<Releases
:releases="releases"
:context="network.name"
/>
</div>
</div>
</template>
<script>
import FilterBar from '../header/filter-bar.vue';
import ReleaseTile from '../tile/release.vue';
import Releases from '../releases/releases.vue';
import SiteTile from '../tile/site.vue';
async function fetchReleases() {
@@ -80,7 +74,7 @@ async function mounted() {
export default {
components: {
FilterBar,
ReleaseTile,
Releases,
SiteTile,
},
data() {

View File

@@ -0,0 +1,69 @@
<template>
<div>
<h3
v-if="context"
class="heading"
><span class="range">{{ range }}</span> releases for '{{ context }}'</h3>
<ul class="nolist releases">
<li
v-for="release in releases"
:key="`release-${release.id}`"
>
<ReleaseTile :release="release" />
</li>
</ul>
</div>
</template>
<script>
import ReleaseTile from '../tile/release.vue';
function range() {
return this.$store.state.ui.range;
}
export default {
components: {
ReleaseTile,
},
props: {
releases: {
type: Array,
default: () => [],
},
context: {
type: String,
default: null,
},
},
computed: {
range,
},
};
</script>
<style lang="scss" scoped>
@import 'theme';
.heading {
padding: 0;
margin: 0 0 1rem 0;
.range {
text-transform: capitalize;
}
}
.releases {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(20rem, .5fr));
grid-gap: 1rem;
}
@media(max-width: $breakpoint) {
.releases {
grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
}
}
</style>

View File

@@ -47,23 +47,17 @@
<p class="description">{{ site.description }}</p>
<h3 class="heading">Latest releases</h3>
<ul class="nolist scenes">
<li
v-for="release in releases"
:key="`release-${release.id}`"
>
<ReleaseTile :release="release" />
</li>
</ul>
<Releases
:releases="releases"
:context="site.name"
/>
</div>
</div>
</template>
<script>
import FilterBar from '../header/filter-bar.vue';
import ReleaseTile from '../tile/release.vue';
import Releases from '../releases/releases.vue';
async function fetchReleases() {
this.releases = await this.$store.dispatch('fetchSiteReleases', this.$route.params.siteSlug);
@@ -81,7 +75,7 @@ async function mounted() {
export default {
components: {
FilterBar,
ReleaseTile,
Releases,
},
data() {
return {

View File

@@ -17,23 +17,17 @@
</div>
<div class="content-inner">
<h3 class="heading">Latest releases</h3>
<ul class="nolist scenes">
<li
v-for="release in releases"
:key="`release-${release.id}`"
>
<ReleaseTile :release="release" />
</li>
</ul>
<Releases
:releases="releases"
:context="tag.name"
/>
</div>
</div>
</template>
<script>
import FilterBar from '../header/filter-bar.vue';
import ReleaseTile from '../tile/release.vue';
import Releases from '../releases/releases.vue';
async function fetchReleases() {
this.releases = await this.$store.dispatch('fetchTagReleases', this.$route.params.tagSlug);
@@ -51,7 +45,7 @@ async function mounted() {
export default {
components: {
FilterBar,
ReleaseTile,
Releases,
},
data() {
return {
@@ -86,19 +80,4 @@ export default {
height: 1.25rem;
}
}
.heading {
padding: 0;
margin: 0 0 1rem 0;
}
.bio-heading {
display: inline-block;
font-weight: bold;
margin: .5rem 0 0 0;
&::after {
content: ':';
}
}
</style>