You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

175 lines
6.2 KiB

  1. <template lang='pug'>
  2. v-container(fluid, grid-list-lg)
  3. v-layout(row wrap)
  4. v-flex(xs12)
  5. .admin-header
  6. v-icon(size='80', color='grey lighten-2') widgets
  7. .admin-header-title
  8. .headline.primary--text {{ $t('admin:general.title') }}
  9. .subheading.grey--text {{ $t('admin:general.subtitle') }}
  10. v-spacer
  11. v-btn(color='success', depressed, @click='save', large)
  12. v-icon(left) check
  13. span {{$t('common:actions.apply')}}
  14. v-form.pt-3
  15. v-layout(row wrap)
  16. v-flex(lg6 xs12)
  17. v-form
  18. v-card
  19. v-toolbar(color='primary', dark, dense, flat)
  20. v-toolbar-title
  21. .subheading {{ $t('admin:general.siteInfo') }}
  22. v-subheader General
  23. .px-3.pb-3
  24. v-text-field(
  25. outline
  26. background-color='grey lighten-2'
  27. label='Site Title'
  28. required
  29. :counter='50'
  30. v-model='siteTitle'
  31. prepend-icon='public'
  32. )
  33. v-divider
  34. v-subheader SEO
  35. .px-3.pb-3
  36. v-text-field(
  37. outline
  38. background-color='grey lighten-2'
  39. label='Site Description'
  40. :counter='255'
  41. prepend-icon='public'
  42. )
  43. v-text-field(
  44. outline
  45. background-color='grey lighten-2'
  46. label='Site Keywords'
  47. :counter='255'
  48. prepend-icon='public'
  49. )
  50. v-select(
  51. outline
  52. background-color='grey lighten-2'
  53. label='Meta Robots'
  54. chips
  55. tags
  56. :items='metaRobots'
  57. v-model='metaRobotsSelection'
  58. prepend-icon='public'
  59. )
  60. v-divider
  61. v-subheader Analytics
  62. .px-3.pb-3
  63. v-text-field(
  64. outline
  65. background-color='grey lighten-2'
  66. label='Google Analytics ID'
  67. :counter='255'
  68. prepend-icon='public'
  69. persistent-hint
  70. hint='Property tracking ID for Google Analytics.'
  71. )
  72. v-divider
  73. v-subheader Footer Copyright
  74. .px-3.pb-3
  75. v-text-field(
  76. outline
  77. background-color='grey lighten-2'
  78. label='Company / Organization Name'
  79. v-model='company'
  80. :counter='255'
  81. prepend-icon='public'
  82. persistent-hint
  83. hint='Name to use when displaying copyright notice in the footer. Leave empty to hide.'
  84. )
  85. v-flex(lg6 xs12)
  86. v-card
  87. v-toolbar(color='primary', dark, dense, flat)
  88. v-toolbar-title
  89. .subheading {{ $t('admin:general.siteBranding') }}
  90. v-card-text
  91. v-layout.pa-3(row, align-center)
  92. v-avatar(size='120', color='grey lighten-3', :tile='useSquareLogo')
  93. .ml-4
  94. v-layout(row, align-center)
  95. v-btn(color='teal', depressed, dark)
  96. v-icon(left) cloud_upload
  97. span Upload Logo
  98. v-btn(color='teal', depressed, disabled)
  99. v-icon(left) clear
  100. span Clear
  101. .caption.grey--text An image of 120x120 pixels is recommended for best results.
  102. .caption.grey--text SVG, PNG or JPG files only.
  103. v-switch(
  104. v-model='useSquareLogo'
  105. label='Use Square Logo Frame'
  106. color='primary'
  107. persistent-hint
  108. hint='Check this option if a round logo frame doesn\'t work with your logo.'
  109. )
  110. v-divider.mt-3
  111. v-switch(
  112. v-model='displayMascot'
  113. label='Display Wiki.js Mascot'
  114. color='primary'
  115. persistent-hint
  116. hint='Uncheck this box if you don\'t want Henry, Wiki.js mascot, to be displayed on client-facing pages.'
  117. )
  118. v-card.mt-3
  119. v-toolbar(color='primary', dark, dense, flat)
  120. v-toolbar-title
  121. .subheading Features
  122. v-card-text
  123. v-switch(
  124. v-model='featurePageRatings'
  125. label='Page Ratings'
  126. color='primary'
  127. persistent-hint
  128. hint='Allow users to rate pages.'
  129. )
  130. v-divider.mt-3
  131. v-switch(
  132. v-model='featurePersonalWiki'
  133. label='Personal Wikis'
  134. color='primary'
  135. persistent-hint
  136. hint='Allow users to have their own personal wiki.'
  137. )
  138. </template>
  139. <script>
  140. import { sync } from 'vuex-pathify'
  141. export default {
  142. data() {
  143. return {
  144. metaRobotsSelection: ['Index', 'Follow'],
  145. metaRobots: ['Index', 'Follow', 'No Index', 'No Follow'],
  146. useSquareLogo: false,
  147. displayMascot: true,
  148. featurePageRatings: true,
  149. featurePersonalWiki: true
  150. }
  151. },
  152. computed: {
  153. siteTitle: sync('site/title'),
  154. company: sync('site/company')
  155. },
  156. methods: {
  157. async save () {
  158. this.$store.commit('showNotification', {
  159. message: 'Configuration saved successfully.',
  160. style: 'success',
  161. icon: 'check'
  162. })
  163. }
  164. }
  165. }
  166. </script>
  167. <style lang='scss'>
  168. </style>