permissins (per instance)

This commit is contained in:
Jan Prochazka
2020-12-10 11:54:28 +01:00
parent 698756b9d2
commit f993e82b0b
15 changed files with 114 additions and 29 deletions

View File

@@ -9,6 +9,7 @@ import { extractPluginIcon, extractPluginAuthor } from '../plugins/manifestExtra
import FormStyledButton from '../widgets/FormStyledButton';
import axios from '../utility/axios';
import { useInstalledPlugins } from '../utility/metadataLoaders';
import useHasPermission from '../utility/useHasPermission';
const WhitePage = styled.div`
position: absolute;
@@ -56,6 +57,7 @@ function Delimiter() {
}
function PluginTabCore({ packageName }) {
const hasPermission = useHasPermission();
const theme = useTheme();
const installed = useInstalledPlugins();
const info = useFetch({
@@ -98,10 +100,10 @@ function PluginTabCore({ packageName }) {
<Version>{manifest.version && manifest.version}</Version>
</HeaderLine>
<HeaderLine>
{!installed.find((x) => x.name == packageName) && (
{hasPermission('plugins/install') && !installed.find((x) => x.name == packageName) && (
<FormStyledButton type="button" value="Install" onClick={handleInstall} />
)}
{!!installed.find((x) => x.name == packageName) && (
{hasPermission('plugins/install') && !!installed.find((x) => x.name == packageName) && (
<FormStyledButton type="button" value="Uninstall" onClick={handleUninstall} />
)}
</HeaderLine>