aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-02-11 09:32:45 +0000
committerlambda <pleromagit@rogerbraun.net>2018-02-11 09:32:45 +0000
commitea6ee2aaa25741078e3a0f6f6ec7cfeb46d1b365 (patch)
tree45f4f3bc3b4fc2895a4f383f9f66b61f18634750 /src
parentb0f248c48384c888faef8fcf76ee8b3f8abfde8e (diff)
parentfe1044dfdfd565b0af7eed8e1f1b6ca02ca25e6a (diff)
Merge branch 'feature/instance-specific-panel' into 'develop'
add instance specific panel See merge request pleroma/pleroma-fe!202
Diffstat (limited to 'src')
-rw-r--r--src/App.js7
-rw-r--r--src/App.vue1
-rw-r--r--src/components/instance_specific_panel/instance_specific_panel.js9
-rw-r--r--src/components/instance_specific_panel/instance_specific_panel.vue15
-rw-r--r--src/main.js10
5 files changed, 39 insertions, 3 deletions
diff --git a/src/App.js b/src/App.js
index 8e7acb42..e9248967 100644
--- a/src/App.js
+++ b/src/App.js
@@ -2,6 +2,7 @@ import UserPanel from './components/user_panel/user_panel.vue'
import NavPanel from './components/nav_panel/nav_panel.vue'
import Notifications from './components/notifications/notifications.vue'
import UserFinder from './components/user_finder/user_finder.vue'
+import InstanceSpecificPanel from './components/instance_specific_panel/instance_specific_panel.vue'
import ChatPanel from './components/chat_panel/chat_panel.vue'
export default {
@@ -11,7 +12,8 @@ export default {
NavPanel,
Notifications,
UserFinder,
- ChatPanel
+ ChatPanel,
+ InstanceSpecificPanel
},
data: () => ({
mobileActivePanel: 'timeline'
@@ -24,7 +26,8 @@ export default {
logoStyle () { return { 'background-image': `url(${this.$store.state.config.logo})` } },
style () { return { 'background-image': `url(${this.background})` } },
sitename () { return this.$store.state.config.name },
- chat () { return this.$store.state.chat.channel.state === 'joined' }
+ chat () { return this.$store.state.chat.channel.state === 'joined' },
+ showInstanceSpecificPanel () { return this.$store.state.config.showInstanceSpecificPanel }
},
methods: {
activatePanel (panelName) {
diff --git a/src/App.vue b/src/App.vue
index ec403519..2a910bc0 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -23,6 +23,7 @@
<div class="sidebar">
<user-panel></user-panel>
<nav-panel></nav-panel>
+ <instance-specific-panel v-if="showInstanceSpecificPanel"></instance-specific-panel>
<chat-panel v-if="currentUser && chat"></chat-panel>
<notifications v-if="currentUser"></notifications>
</div>
diff --git a/src/components/instance_specific_panel/instance_specific_panel.js b/src/components/instance_specific_panel/instance_specific_panel.js
new file mode 100644
index 00000000..abd408c8
--- /dev/null
+++ b/src/components/instance_specific_panel/instance_specific_panel.js
@@ -0,0 +1,9 @@
+const InstanceSpecificPanel = {
+ computed: {
+ instanceSpecificPanelContent () {
+ return this.$store.state.config.instanceSpecificPanelContent
+ }
+ }
+}
+
+export default InstanceSpecificPanel
diff --git a/src/components/instance_specific_panel/instance_specific_panel.vue b/src/components/instance_specific_panel/instance_specific_panel.vue
new file mode 100644
index 00000000..b3ea019d
--- /dev/null
+++ b/src/components/instance_specific_panel/instance_specific_panel.vue
@@ -0,0 +1,15 @@
+<template>
+ <div class="instance-specific-panel">
+ <div class="panel panel-default base01-background">
+ <div class="panel-body">
+ <div v-html="instanceSpecificPanelContent">
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script src="./instance_specific_panel.js" ></script>
+
+<style lang="scss">
+</style>
diff --git a/src/main.js b/src/main.js
index 7fb9a047..6f8c00f0 100644
--- a/src/main.js
+++ b/src/main.js
@@ -88,10 +88,11 @@ window.fetch('/api/statusnet/config.json')
window.fetch('/static/config.json')
.then((res) => res.json())
.then((data) => {
- const {theme, background, logo} = data
+ const {theme, background, logo, showInstanceSpecificPanel} = data
store.dispatch('setOption', { name: 'theme', value: theme })
store.dispatch('setOption', { name: 'background', value: background })
store.dispatch('setOption', { name: 'logo', value: logo })
+ store.dispatch('setOption', { name: 'showInstanceSpecificPanel', value: showInstanceSpecificPanel })
if (data['chatDisabled']) {
store.dispatch('disableChat')
}
@@ -163,3 +164,10 @@ window.fetch('/static/emoji.json')
})
store.dispatch('setOption', { name: 'emoji', value: emoji })
})
+
+window.fetch('/instance/panel.html')
+ .then((res) => res.text())
+ .then((html) => {
+ store.dispatch('setOption', { name: 'instanceSpecificPanelContent', value: html })
+ })
+