diff --git a/assets/components/container/container.vue b/assets/components/container/container.vue
index b035cad2..e778e2b7 100644
--- a/assets/components/container/container.vue
+++ b/assets/components/container/container.vue
@@ -111,4 +111,12 @@ export default {
transform: translate(-100%, 0);
}
}
+
+.column {
+ width: 1200px;
+ max-width: 100%;
+ padding: 0 1rem;
+ margin: 0 auto;
+ box-sizing: border-box;
+}
diff --git a/assets/components/releases/details.vue b/assets/components/releases/details.vue
new file mode 100644
index 00000000..5f2a0a11
--- /dev/null
+++ b/assets/components/releases/details.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
diff --git a/assets/components/releases/media.vue b/assets/components/releases/media.vue
index 8031bec3..28ea11f6 100644
--- a/assets/components/releases/media.vue
+++ b/assets/components/releases/media.vue
@@ -71,7 +71,7 @@
+
+
diff --git a/assets/components/releases/movie.vue b/assets/components/releases/movie.vue
new file mode 100644
index 00000000..070d6257
--- /dev/null
+++ b/assets/components/releases/movie.vue
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
{{ movie.title }}
+
+
{{ movie.description }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/components/movies/movies.vue b/assets/components/releases/movies.vue
similarity index 72%
rename from assets/components/movies/movies.vue
rename to assets/components/releases/movies.vue
index f9e7b9d4..6beb611c 100644
--- a/assets/components/movies/movies.vue
+++ b/assets/components/releases/movies.vue
@@ -1,7 +1,7 @@
-
-
diff --git a/assets/components/releases/releases.vue b/assets/components/releases/releases.vue
index fadc47a5..e5483493 100644
--- a/assets/components/releases/releases.vue
+++ b/assets/components/releases/releases.vue
@@ -15,7 +15,7 @@
v-for="(release, index) in releases"
:key="`release-${release.id}`"
>
-
diff --git a/assets/components/releases/tile-details.vue b/assets/components/releases/tile-details.vue
index 7a2bfa2d..d0a7bf58 100644
--- a/assets/components/releases/tile-details.vue
+++ b/assets/components/releases/tile-details.vue
@@ -36,8 +36,8 @@
0 || deepMovieScenes.length > 0) {
- await storeScenes(deepScenes || []);
- }
-
if (deepMovies.length > 0) {
const storedMovieScenes = await storeScenes(deepMovieScenes);
await storeMovies(deepMovies, storedMovieScenes);
}
+
+ if (deepScenes.length > 0 || deepMovieScenes.length > 0) {
+ await storeScenes(deepScenes || []);
+ }
}
knex.destroy();
diff --git a/src/scrapers/elegantangel.js b/src/scrapers/elegantangel.js
index bfb6eddf..da4f3a31 100644
--- a/src/scrapers/elegantangel.js
+++ b/src/scrapers/elegantangel.js
@@ -45,7 +45,7 @@ function scrapeMovieScenes(scenes) {
});
}
-async function scrapeRelease({ query, html }, url, channel, type = 'scene') {
+async function scrapeRelease({ query, html }, url, channel, baseRelease, type = 'scene') {
const release = {};
release.entryId = new URL(url).pathname.match(/\/(\d+)/)[1];
@@ -71,7 +71,7 @@ async function scrapeRelease({ query, html }, url, channel, type = 'scene') {
if (type === 'scene') {
release.director = query.text('.director');
release.duration = query.number('.release-date:last-child') * 60;
- release.poster = query.url('link[rel="image_src"]') || query.meta('property="og:image"');
+ release.poster = baseRelease?.poster || query.url('link[rel="image_src"]') || query.meta('property="og:image"');
}
if (type === 'movie') {
@@ -138,27 +138,27 @@ async function fetchLatest(channel, page = 1) {
return res.status;
}
-async function fetchScene(url, channel) {
+async function fetchScene(url, channel, baseRelease) {
const res = await qu.get(url, null, null, {
// invalid certificate
rejectUnauthorized: false,
});
if (res.ok) {
- return scrapeRelease(res.item, url, channel);
+ return scrapeRelease(res.item, url, channel, baseRelease);
}
return res.status;
}
-async function fetchMovie(url, channel) {
+async function fetchMovie(url, channel, baseRelease) {
const res = await qu.get(url, null, null, {
// invalid certificate
rejectUnauthorized: false,
});
if (res.ok) {
- return scrapeRelease(res.item, url, channel, 'movie');
+ return scrapeRelease(res.item, url, channel, baseRelease, 'movie');
}
return res.status;