mirror of https://github.com/Requarks/wiki.git
15 changed files with 221 additions and 46 deletions
Unified View
Diff Options
-
21client/components/admin.vue
-
2client/components/admin/admin-rendering.vue
-
67client/components/admin/admin-theme.vue
-
6client/components/common/user-search.vue
-
7client/components/nav-header.vue
-
12client/graph/admin-theme-mutation-save.gql
-
4dev/templates/master.pug
-
30server/app/data.yml
-
3server/core/auth.js
-
18server/core/logger.js
-
42server/graph/resolvers/theming.js
-
46server/graph/schemas/theming.graphql
-
2server/master.js
-
3server/setup.js
-
4server/views/master.pug
@ -0,0 +1,12 @@ |
|||||
|
mutation($theme: String!, $darkMode: Boolean!) { |
||||
|
theming { |
||||
|
setConfig(theme: $theme, darkMode: $darkMode) { |
||||
|
responseResult { |
||||
|
succeeded |
||||
|
errorCode |
||||
|
slug |
||||
|
message |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,42 @@ |
|||||
|
const graphHelper = require('../../helpers/graph') |
||||
|
|
||||
|
/* global WIKI */ |
||||
|
|
||||
|
module.exports = { |
||||
|
Query: { |
||||
|
async theming() { return {} } |
||||
|
}, |
||||
|
Mutation: { |
||||
|
async theming() { return {} } |
||||
|
}, |
||||
|
ThemingQuery: { |
||||
|
async themes(obj, args, context, info) { |
||||
|
return [{ // TODO
|
||||
|
key: 'default', |
||||
|
title: 'Default', |
||||
|
author: 'requarks.io' |
||||
|
}] |
||||
|
}, |
||||
|
async config(obj, args, context, info) { |
||||
|
return { |
||||
|
theme: WIKI.config.theming.theme, |
||||
|
darkMode: WIKI.config.theming.darkMode |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
ThemingMutation: { |
||||
|
async setConfig(obj, args, context, info) { |
||||
|
try { |
||||
|
WIKI.config.theming.theme = args.theme |
||||
|
WIKI.config.theming.darkMode = args.darkMode |
||||
|
await WIKI.configSvc.saveToDb(['theming']) |
||||
|
|
||||
|
return { |
||||
|
responseResult: graphHelper.generateSuccess('Theme config updated') |
||||
|
} |
||||
|
} catch (err) { |
||||
|
return graphHelper.generateError(err) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,46 @@ |
|||||
|
# =============================================== |
||||
|
# THEMES |
||||
|
# =============================================== |
||||
|
|
||||
|
extend type Query { |
||||
|
theming: ThemingQuery |
||||
|
} |
||||
|
|
||||
|
extend type Mutation { |
||||
|
theming: ThemingMutation |
||||
|
} |
||||
|
|
||||
|
# ----------------------------------------------- |
||||
|
# QUERIES |
||||
|
# ----------------------------------------------- |
||||
|
|
||||
|
type ThemingQuery { |
||||
|
themes: [ThemingTheme] |
||||
|
config: ThemingConfig |
||||
|
} |
||||
|
|
||||
|
# ----------------------------------------------- |
||||
|
# MUTATIONS |
||||
|
# ----------------------------------------------- |
||||
|
|
||||
|
type ThemingMutation { |
||||
|
setConfig( |
||||
|
theme: String! |
||||
|
darkMode: Boolean! |
||||
|
): DefaultResponse |
||||
|
} |
||||
|
|
||||
|
# ----------------------------------------------- |
||||
|
# TYPES |
||||
|
# ----------------------------------------------- |
||||
|
|
||||
|
type ThemingConfig { |
||||
|
theme: String |
||||
|
darkMode: Boolean |
||||
|
} |
||||
|
|
||||
|
type ThemingTheme { |
||||
|
key: String |
||||
|
title: String |
||||
|
author: String |
||||
|
} |
Write
Preview
Loading…
Cancel
Save