diff --git a/marko/components/if-permitted/component.js b/marko/components/if-permitted/component.js new file mode 100644 index 0000000..ff70e80 --- /dev/null +++ b/marko/components/if-permitted/component.js @@ -0,0 +1,24 @@ +module.exports = class { + onCreate() { + this.state = { + permitted: false + } + } + + onInput(input) { + console.log(input.user, input.permission) + + if (!input.user || !input.user.loggedIn) { + this.state.permitted = false + return + } + + if (input.author != null && input.author != "" && input.user.name === input.author) { + this.state.permitted = input.user.permissions.includes("member") + } else if (Array.isArray(input.permission)) { + this.state.permitted = input.user.permissions.find(p => input.permission.includes(p)) + } else { + this.state.permitted = input.user.permissions.includes(input.permission) + } + } +} \ No newline at end of file diff --git a/marko/components/if-permitted/index.marko b/marko/components/if-permitted/index.marko new file mode 100644 index 0000000..5a72aab --- /dev/null +++ b/marko/components/if-permitted/index.marko @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/marko/components/menu/index.marko b/marko/components/menu/index.marko index 84dc66e..5315f53 100644 --- a/marko/components/menu/index.marko +++ b/marko/components/menu/index.marko @@ -1,11 +1,13 @@