You've already forked AstralRinth
forked from didirus/AstralRinth
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.3 MiB |
BIN
assets/images/search.mp4
Normal file
BIN
assets/images/search.mp4
Normal file
Binary file not shown.
@@ -1,5 +1,4 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- Bidvertiser2046222 -->
|
|
||||||
<div class="layout">
|
<div class="layout">
|
||||||
<aside>
|
<aside>
|
||||||
<section class="navbar columns">
|
<section class="navbar columns">
|
||||||
|
|||||||
19
package-lock.json
generated
19
package-lock.json
generated
@@ -7316,9 +7316,9 @@
|
|||||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||||
},
|
},
|
||||||
"ini": {
|
"ini": {
|
||||||
"version": "1.3.5",
|
"version": "1.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
|
||||||
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
|
"integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ=="
|
||||||
},
|
},
|
||||||
"inquirer": {
|
"inquirer": {
|
||||||
"version": "7.3.3",
|
"version": "7.3.3",
|
||||||
@@ -10425,6 +10425,14 @@
|
|||||||
"uniq": "^1.0.1"
|
"uniq": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"postscribe": {
|
||||||
|
"version": "2.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/postscribe/-/postscribe-2.0.8.tgz",
|
||||||
|
"integrity": "sha1-W3pTqtS2kLbC91gY/O/nRJD0ENU=",
|
||||||
|
"requires": {
|
||||||
|
"prescribe": ">=1.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"prelude-ls": {
|
"prelude-ls": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
||||||
@@ -10436,6 +10444,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
|
||||||
"integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
|
"integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
|
||||||
},
|
},
|
||||||
|
"prescribe": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/prescribe/-/prescribe-1.1.3.tgz",
|
||||||
|
"integrity": "sha1-jTEiRF8/uvTExYF+pSehf8gTnuY="
|
||||||
|
},
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz",
|
||||||
|
|||||||
@@ -18,13 +18,19 @@
|
|||||||
<p>
|
<p>
|
||||||
We implemented <span>fast and adaptable</span> search algorithms so
|
We implemented <span>fast and adaptable</span> search algorithms so
|
||||||
you don't have to wait, while creating a responsive interface that
|
you don't have to wait, while creating a responsive interface that
|
||||||
makes sense. Modrinth <span>imports from other platforms</span> along
|
makes sense. Modrinth is full of elegant mod discovery and a platform
|
||||||
with it's own, so you can stick to elegant mod discovery and a
|
|
||||||
platform which just works.
|
platform which just works.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="right hero-image">
|
<div class="right hero-image">
|
||||||
<img src="~/assets/images/search.gif" alt="search" loading="lazy" />
|
<video
|
||||||
|
src="~/assets/images/search.mp4"
|
||||||
|
alt="search"
|
||||||
|
loading="lazy"
|
||||||
|
loop
|
||||||
|
muted
|
||||||
|
autoplay
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="default-hero columns">
|
<div class="default-hero columns">
|
||||||
@@ -281,7 +287,8 @@ export default {
|
|||||||
padding-top: 75px;
|
padding-top: 75px;
|
||||||
padding-right: 10%;
|
padding-right: 10%;
|
||||||
|
|
||||||
img {
|
img,
|
||||||
|
video {
|
||||||
height: 300px;
|
height: 300px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,36 +27,35 @@ export default {
|
|||||||
)
|
)
|
||||||
).data
|
).data
|
||||||
|
|
||||||
const members = (
|
const [members, versions, body] = (
|
||||||
await axios.get(
|
await Promise.all([
|
||||||
`https://api.modrinth.com/api/v1/team/${mod.team}/members`,
|
axios.get(
|
||||||
config
|
`https://api.modrinth.com/api/v1/team/${mod.team}/members`,
|
||||||
)
|
|
||||||
).data
|
|
||||||
for (let i = 0; i < members.length; i++) {
|
|
||||||
members[i].avatar_url = (
|
|
||||||
await axios.get(
|
|
||||||
`https://api.modrinth.com/api/v1/user/${members[i].user_id}`,
|
|
||||||
config
|
config
|
||||||
)
|
),
|
||||||
).data.avatar_url
|
axios.get(
|
||||||
}
|
`https://api.modrinth.com/api/v1/versions?ids=${JSON.stringify(
|
||||||
|
mod.versions
|
||||||
|
)}`,
|
||||||
|
config
|
||||||
|
),
|
||||||
|
axios.get(mod.body_url),
|
||||||
|
])
|
||||||
|
).map((it) => it.data)
|
||||||
|
|
||||||
const versions = (
|
const users = await Promise.all(
|
||||||
await axios.get(
|
members.map((it) =>
|
||||||
`https://api.modrinth.com/api/v1/versions?ids=${JSON.stringify(
|
axios.get(`https://api.modrinth.com/api/v1/user/${it.user_id}`, config)
|
||||||
mod.versions
|
|
||||||
)}`,
|
|
||||||
config
|
|
||||||
)
|
)
|
||||||
).data.reverse()
|
)
|
||||||
|
users.forEach(
|
||||||
const body = (await axios.get(mod.body_url)).data
|
(it, index) => (members[index].avatar_url = it.data.avatar_url)
|
||||||
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
mod,
|
mod,
|
||||||
body,
|
body,
|
||||||
versions,
|
versions: versions.reverse(),
|
||||||
members,
|
members,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -41,13 +41,13 @@
|
|||||||
<h4>Created</h4>
|
<h4>Created</h4>
|
||||||
<p
|
<p
|
||||||
v-tooltip="
|
v-tooltip="
|
||||||
$dayjs(version.published).format(
|
$dayjs(version.date_published).format(
|
||||||
'[Created on] YYYY-MM-DD [at] HH:mm A'
|
'[Created on] YYYY-MM-DD [at] HH:mm A'
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
class="value"
|
class="value"
|
||||||
>
|
>
|
||||||
{{ $dayjs(version.published).fromNow() }}
|
{{ $dayjs(version.date_published).fromNow() }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -134,29 +134,29 @@ export default {
|
|||||||
)
|
)
|
||||||
).data
|
).data
|
||||||
|
|
||||||
const members = (
|
const [members, versions] = (
|
||||||
await axios.get(
|
await Promise.all([
|
||||||
`https://api.modrinth.com/api/v1/team/${mod.team}/members`,
|
axios.get(
|
||||||
config
|
`https://api.modrinth.com/api/v1/team/${mod.team}/members`,
|
||||||
)
|
|
||||||
).data
|
|
||||||
for (let i = 0; i < members.length; i++) {
|
|
||||||
members[i].avatar_url = (
|
|
||||||
await axios.get(
|
|
||||||
`https://api.modrinth.com/api/v1/user/${members[i].user_id}`,
|
|
||||||
config
|
config
|
||||||
)
|
),
|
||||||
).data.avatar_url
|
axios.get(
|
||||||
}
|
`https://api.modrinth.com/api/v1/versions?ids=${JSON.stringify(
|
||||||
|
mod.versions
|
||||||
|
)}`,
|
||||||
|
config
|
||||||
|
),
|
||||||
|
])
|
||||||
|
).map((it) => it.data)
|
||||||
|
|
||||||
const versions = (
|
const users = await Promise.all(
|
||||||
await axios.get(
|
members.map((it) =>
|
||||||
`https://api.modrinth.com/api/v1/versions?ids=${JSON.stringify(
|
axios.get(`https://api.modrinth.com/api/v1/user/${it.user_id}`, config)
|
||||||
mod.versions
|
|
||||||
)}`,
|
|
||||||
config
|
|
||||||
)
|
)
|
||||||
).data.reverse()
|
)
|
||||||
|
users.forEach(
|
||||||
|
(it, index) => (members[index].avatar_url = it.data.avatar_url)
|
||||||
|
)
|
||||||
|
|
||||||
const version = versions.find((x) => x.id === data.params.version)
|
const version = versions.find((x) => x.id === data.params.version)
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ version.downloads }}</td>
|
<td>{{ version.downloads }}</td>
|
||||||
<td>{{ $dayjs(version.published).format('YYYY-MM-DD') }}</td>
|
<td>{{ $dayjs(version.date_published).format('YYYY-MM-DD') }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -233,41 +233,35 @@ export default {
|
|||||||
)
|
)
|
||||||
).data
|
).data
|
||||||
|
|
||||||
const members = (
|
const [members, versions, selectableLoaders, selectableVersions] = (
|
||||||
await axios.get(
|
await Promise.all([
|
||||||
`https://api.modrinth.com/api/v1/team/${mod.team}/members`,
|
axios.get(
|
||||||
config
|
`https://api.modrinth.com/api/v1/team/${mod.team}/members`,
|
||||||
)
|
|
||||||
).data
|
|
||||||
for (let i = 0; i < members.length; i++) {
|
|
||||||
members[i].avatar_url = (
|
|
||||||
await axios.get(
|
|
||||||
`https://api.modrinth.com/api/v1/user/${members[i].user_id}`,
|
|
||||||
config
|
config
|
||||||
)
|
),
|
||||||
).data.avatar_url
|
axios.get(
|
||||||
}
|
`https://api.modrinth.com/api/v1/versions?ids=${JSON.stringify(
|
||||||
|
mod.versions
|
||||||
|
)}`,
|
||||||
|
config
|
||||||
|
),
|
||||||
|
axios.get(`https://api.modrinth.com/api/v1/tag/loader`),
|
||||||
|
axios.get(`https://api.modrinth.com/api/v1/tag/game_version`),
|
||||||
|
])
|
||||||
|
).map((it) => it.data)
|
||||||
|
|
||||||
const versions = (
|
const users = await Promise.all(
|
||||||
await axios.get(
|
members.map((it) =>
|
||||||
`https://api.modrinth.com/api/v1/versions?ids=${JSON.stringify(
|
axios.get(`https://api.modrinth.com/api/v1/user/${it.user_id}`, config)
|
||||||
mod.versions
|
|
||||||
)}`,
|
|
||||||
config
|
|
||||||
)
|
)
|
||||||
).data.reverse()
|
)
|
||||||
|
users.forEach(
|
||||||
const selectableLoaders = (
|
(it, index) => (members[index].avatar_url = it.data.avatar_url)
|
||||||
await axios.get(`https://api.modrinth.com/api/v1/tag/loader`)
|
)
|
||||||
).data
|
|
||||||
|
|
||||||
const selectableVersions = (
|
|
||||||
await axios.get(`https://api.modrinth.com/api/v1/tag/game_version`)
|
|
||||||
).data
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
mod,
|
mod,
|
||||||
versions,
|
versions: versions.reverse(),
|
||||||
members,
|
members,
|
||||||
selectableLoaders,
|
selectableLoaders,
|
||||||
selectableVersions,
|
selectableVersions,
|
||||||
|
|||||||
@@ -155,7 +155,7 @@
|
|||||||
for="body"
|
for="body"
|
||||||
title="You can type the of the long form of your description here."
|
title="You can type the of the long form of your description here."
|
||||||
>
|
>
|
||||||
Description
|
Body
|
||||||
</label>
|
</label>
|
||||||
</h3>
|
</h3>
|
||||||
<span>
|
<span>
|
||||||
|
|||||||
@@ -22,11 +22,11 @@
|
|||||||
<div class="stat">
|
<div class="stat">
|
||||||
<CalendarIcon />
|
<CalendarIcon />
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<h4>Created</h4>
|
<h4>Joined</h4>
|
||||||
<p
|
<p
|
||||||
v-tooltip="
|
v-tooltip="
|
||||||
$dayjs(user.created).format(
|
$dayjs(user.created).format(
|
||||||
'[Created on] YYYY-MM-DD [at] HH:mm A'
|
'[Joined] YYYY-MM-DD [at] HH:mm A'
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
class="value"
|
class="value"
|
||||||
|
|||||||
Reference in New Issue
Block a user