settings modal minimization API
This commit is contained in:
parent
f65f595f75
commit
e30ff80995
5 changed files with 39 additions and 17 deletions
|
|
@ -64,11 +64,6 @@ const SettingsModal = {
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
|
||||||
$route(r) {
|
|
||||||
this.peekModal()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
components: {
|
components: {
|
||||||
Modal,
|
Modal,
|
||||||
Popover,
|
Popover,
|
||||||
|
|
@ -98,8 +93,11 @@ const SettingsModal = {
|
||||||
closeModal() {
|
closeModal() {
|
||||||
useInterfaceStore().closeSettingsModal()
|
useInterfaceStore().closeSettingsModal()
|
||||||
},
|
},
|
||||||
peekModal() {
|
toggleMinimizeModal(state) {
|
||||||
useInterfaceStore().togglePeekSettingsModal()
|
useInterfaceStore().toggleMinimizeSettingsModal()
|
||||||
|
},
|
||||||
|
minimizeModal() {
|
||||||
|
useInterfaceStore().setSettingsModalState('minimized')
|
||||||
},
|
},
|
||||||
importValidator(data) {
|
importValidator(data) {
|
||||||
if (!Array.isArray(data._pleroma_settings_version)) {
|
if (!Array.isArray(data._pleroma_settings_version)) {
|
||||||
|
|
@ -256,7 +254,7 @@ const SettingsModal = {
|
||||||
modalMode: (store) => store.settingsModalMode,
|
modalMode: (store) => store.settingsModalMode,
|
||||||
modalOpenedOnceUser: (store) => store.settingsModalLoadedUser,
|
modalOpenedOnceUser: (store) => store.settingsModalLoadedUser,
|
||||||
modalOpenedOnceAdmin: (store) => store.settingsModalLoadedAdmin,
|
modalOpenedOnceAdmin: (store) => store.settingsModalLoadedAdmin,
|
||||||
modalPeeked: (store) => store.settingsModalState === 'minimized',
|
modalMinimized: (store) => store.settingsModalState === 'minimized',
|
||||||
}),
|
}),
|
||||||
expertLevel: {
|
expertLevel: {
|
||||||
get() {
|
get() {
|
||||||
|
|
@ -276,6 +274,11 @@ const SettingsModal = {
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
$route(r) {
|
||||||
|
this.minimizeModal()
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export default SettingsModal
|
export default SettingsModal
|
||||||
|
|
|
||||||
|
|
@ -300,7 +300,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.peek {
|
&.minimize {
|
||||||
.settings-modal-panel {
|
.settings-modal-panel {
|
||||||
/* Explanation:
|
/* Explanation:
|
||||||
* Modal is positioned vertically centered.
|
* Modal is positioned vertically centered.
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
<Modal
|
<Modal
|
||||||
:is-open="modalActivated"
|
:is-open="modalActivated"
|
||||||
class="settings-modal"
|
class="settings-modal"
|
||||||
:class="{ peek: modalPeeked }"
|
:class="{ minimize: modalMinimized }"
|
||||||
:no-background="modalPeeked"
|
:no-background="modalMinimized"
|
||||||
>
|
>
|
||||||
<div class="settings-modal-panel panel">
|
<div class="settings-modal-panel panel">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
|
|
@ -22,8 +22,8 @@
|
||||||
</transition>
|
</transition>
|
||||||
<button
|
<button
|
||||||
class="btn button-default"
|
class="btn button-default"
|
||||||
:title="$t('general.peek')"
|
:title="$t('general.minimize')"
|
||||||
@click="peekModal"
|
@click="toggleMinimizeModal"
|
||||||
>
|
>
|
||||||
<FAIcon
|
<FAIcon
|
||||||
:icon="['far', 'window-minimize']"
|
:icon="['far', 'window-minimize']"
|
||||||
|
|
|
||||||
|
|
@ -591,7 +591,7 @@ const statuses = {
|
||||||
pagination,
|
pagination,
|
||||||
},
|
},
|
||||||
) {
|
) {
|
||||||
commit('addNewStatuses', {
|
return commit('addNewStatuses', {
|
||||||
statuses,
|
statuses,
|
||||||
showImmediately,
|
showImmediately,
|
||||||
timeline,
|
timeline,
|
||||||
|
|
@ -683,7 +683,7 @@ const statuses = {
|
||||||
.then((status) => dispatch('addNewStatuses', { statuses: [status] }))
|
.then((status) => dispatch('addNewStatuses', { statuses: [status] }))
|
||||||
},
|
},
|
||||||
unpinStatus({ rootState, dispatch }, statusId) {
|
unpinStatus({ rootState, dispatch }, statusId) {
|
||||||
rootState.api.backendInteractor
|
return rootState.api.backendInteractor
|
||||||
.unpinOwnStatus({ id: statusId })
|
.unpinOwnStatus({ id: statusId })
|
||||||
.then((status) => dispatch('addNewStatuses', { statuses: [status] }))
|
.then((status) => dispatch('addNewStatuses', { statuses: [status] }))
|
||||||
},
|
},
|
||||||
|
|
@ -822,7 +822,7 @@ const statuses = {
|
||||||
'addNewUsers',
|
'addNewUsers',
|
||||||
data.statuses.map((s) => s.user).filter((u) => u),
|
data.statuses.map((s) => s.user).filter((u) => u),
|
||||||
)
|
)
|
||||||
store.commit('addNewStatuses', { statuses: data.statuses })
|
data.statuses = store.commit('addNewStatuses', { statuses: data.statuses })
|
||||||
return data
|
return data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,23 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
setSettingsModalState(newState) {
|
||||||
|
const oldState = this.settingsModalState
|
||||||
|
const legal = (() => {
|
||||||
|
switch (oldState) {
|
||||||
|
case 'minimized':
|
||||||
|
return true
|
||||||
|
case 'visible':
|
||||||
|
return true
|
||||||
|
case 'hidden':
|
||||||
|
return newState === 'visible'
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
|
||||||
|
if (legal) {
|
||||||
|
this.settingsModalState = newState
|
||||||
|
}
|
||||||
|
},
|
||||||
togglePeekSettingsModal() {
|
togglePeekSettingsModal() {
|
||||||
switch (this.settingsModalState) {
|
switch (this.settingsModalState) {
|
||||||
case 'minimized':
|
case 'minimized':
|
||||||
|
|
@ -141,8 +158,10 @@ export const useInterfaceStore = defineStore('interface', {
|
||||||
case 'visible':
|
case 'visible':
|
||||||
this.settingsModalState = 'minimized'
|
this.settingsModalState = 'minimized'
|
||||||
return
|
return
|
||||||
|
case 'hidden':
|
||||||
|
return
|
||||||
default:
|
default:
|
||||||
throw new Error('Illegal minimization state of settings modal')
|
throw new Error(`Illegal minimization state of settings modal: ${this.settingsModalState}`)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
clearSettingsModalTargetTab() {
|
clearSettingsModalTargetTab() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue