mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
autologin and server url in props.
This commit is contained in:
parent
3e66e8ba8f
commit
d385c19794
@ -88,6 +88,12 @@
|
|||||||
@Prop({ type: Boolean })
|
@Prop({ type: Boolean })
|
||||||
private readonly autoplay!: boolean
|
private readonly autoplay!: boolean
|
||||||
|
|
||||||
|
@Prop({ type: Boolean })
|
||||||
|
private readonly autologin!: boolean
|
||||||
|
|
||||||
|
@Prop({ type: String })
|
||||||
|
private readonly server!: string
|
||||||
|
|
||||||
/////////////////////////////
|
/////////////////////////////
|
||||||
// Public state
|
// Public state
|
||||||
/////////////////////////////
|
/////////////////////////////
|
||||||
@ -164,10 +170,31 @@
|
|||||||
/////////////////////////////
|
/////////////////////////////
|
||||||
// Public methods
|
// Public methods
|
||||||
/////////////////////////////
|
/////////////////////////////
|
||||||
|
@Watch('server', { immediate: true })
|
||||||
public setUrl(url: string) {
|
public setUrl(url: string) {
|
||||||
|
if (!url) {
|
||||||
|
url = location.href
|
||||||
|
}
|
||||||
|
|
||||||
const httpURL = url.replace(/^ws/, 'http').replace(/\/$|\/ws\/?$/, '')
|
const httpURL = url.replace(/^ws/, 'http').replace(/\/$|\/ws\/?$/, '')
|
||||||
this.api.setUrl(httpURL)
|
this.api.setUrl(httpURL)
|
||||||
this.websocket.setUrl(httpURL)
|
this.websocket.setUrl(httpURL)
|
||||||
|
|
||||||
|
if (this.connected) {
|
||||||
|
this.websocket.disconnect(new Error('url changed'))
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.authenticated) {
|
||||||
|
Vue.set(this.state.connection, 'authenticated', false)
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if is user logged in
|
||||||
|
if (this.autologin) {
|
||||||
|
this.api.session.whoami().then(() => {
|
||||||
|
Vue.set(this.state.connection, 'authenticated', true)
|
||||||
|
this.websocket.connect()
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async login(id: string, secret: string) {
|
public async login(id: string, secret: string) {
|
||||||
@ -483,12 +510,6 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// check if is user logged in
|
|
||||||
this.api.session.whoami().then(() => {
|
|
||||||
Vue.set(this.state.connection, 'authenticated', true)
|
|
||||||
this.websocket.connect()
|
|
||||||
})
|
|
||||||
|
|
||||||
// unmute on users first interaction
|
// unmute on users first interaction
|
||||||
if (this.autoplay) {
|
if (this.autoplay) {
|
||||||
document.addEventListener('click', this.unmute, { once: true })
|
document.addEventListener('click', this.unmute, { once: true })
|
||||||
|
Loading…
Reference in New Issue
Block a user