kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
Fix hours and nodeinfo
rodzic
75e717785a
commit
f4c5ebed18
|
@ -45,7 +45,7 @@ tasks:
|
||||||
before: cd front
|
before: cd front
|
||||||
init: |
|
init: |
|
||||||
yarn install
|
yarn install
|
||||||
command: yarn dev --host 0.0.0.0 --base /front/
|
command: yarn dev --host 0.0.0.0 --base ./
|
||||||
|
|
||||||
- name: Welcome to Funkwhale development!
|
- name: Welcome to Funkwhale development!
|
||||||
env:
|
env:
|
||||||
|
|
|
@ -4,8 +4,6 @@ import { useStore } from '~/store'
|
||||||
import { get } from 'lodash-es'
|
import { get } from 'lodash-es'
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
|
|
||||||
import axios from 'axios'
|
|
||||||
|
|
||||||
import useMarkdown from '~/composables/useMarkdown'
|
import useMarkdown from '~/composables/useMarkdown'
|
||||||
import type { NodeInfo } from '~/store/instance'
|
import type { NodeInfo } from '~/store/instance'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
@ -13,12 +11,6 @@ import { useI18n } from 'vue-i18n'
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
const nodeinfo = computed(() => store.state.instance.nodeinfo)
|
const nodeinfo = computed(() => store.state.instance.nodeinfo)
|
||||||
|
|
||||||
const fetchData = async () => {
|
|
||||||
const response = await axios.get('instance/nodeinfo/2.0/')
|
|
||||||
store.commit('instance/nodeinfo', response.data)
|
|
||||||
}
|
|
||||||
fetchData()
|
|
||||||
|
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const labels = computed(() => ({
|
const labels = computed(() => ({
|
||||||
title: t('components.AboutPod.title')
|
title: t('components.AboutPod.title')
|
||||||
|
|
|
@ -1,18 +1,27 @@
|
||||||
|
import type { NodeInfo } from '~/store/instance'
|
||||||
import type { InitModule } from '~/types'
|
import type { InitModule } from '~/types'
|
||||||
|
|
||||||
import { watch } from 'vue'
|
import { whenever } from '@vueuse/core'
|
||||||
|
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
export const install: InitModule = async ({ store, router }) => {
|
export const install: InitModule = async ({ store, router }) => {
|
||||||
await store.dispatch('instance/fetchFrontSettings')
|
await store.dispatch('instance/fetchFrontSettings')
|
||||||
watch(() => store.state.instance.instanceUrl, async () => {
|
|
||||||
|
const fetchNodeInfo = async () => {
|
||||||
const [{ data }] = await Promise.all([
|
const [{ data }] = await Promise.all([
|
||||||
axios.get('instance/nodeinfo/2.0/'),
|
axios.get<NodeInfo>('instance/nodeinfo/2.0/'),
|
||||||
store.dispatch('instance/fetchSettings')
|
store.dispatch('instance/fetchSettings')
|
||||||
])
|
])
|
||||||
|
|
||||||
|
if (data.metadata.library.music?.hours) {
|
||||||
|
data.metadata.library.music.hours = Math.floor(data.metadata.library.music.hours)
|
||||||
|
}
|
||||||
|
|
||||||
store.commit('instance/nodeinfo', data)
|
store.commit('instance/nodeinfo', data)
|
||||||
})
|
}
|
||||||
|
|
||||||
|
whenever(() => store.state.instance.instanceUrl, fetchNodeInfo)
|
||||||
|
|
||||||
const urlParams = new URLSearchParams(window.location.search)
|
const urlParams = new URLSearchParams(window.location.search)
|
||||||
const serverUrl = urlParams.get('_server')
|
const serverUrl = urlParams.get('_server')
|
||||||
|
@ -34,4 +43,6 @@ export const install: InitModule = async ({ store, router }) => {
|
||||||
// TODO (wvffle): Check if it is really needed
|
// TODO (wvffle): Check if it is really needed
|
||||||
store.commit('instance/instanceUrl', store.state.instance.instanceUrl)
|
store.commit('instance/instanceUrl', store.state.instance.instanceUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return fetchNodeInfo()
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue