CB-5125 do not trigger logo in configuration stage (#3096)

* CB-5125 do not trigger logo in configuration stage

* CB-5125 use publicDisabled field instead

* CB-5125 bind method

---------

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
This commit is contained in:
alex
2024-11-25 18:13:54 +01:00
committed by GitHub
co-authored by Daria Marutkina
parent 6a82a3155f
commit 285a216b4c
4 changed files with 9 additions and 3 deletions
@@ -10,6 +10,9 @@
display: flex;
align-items: center;
padding: 0 14px;
}
.active {
cursor: pointer;
}
@@ -18,7 +18,7 @@ interface Props {
export const AppLogo: React.FC<Props> = function AppLogo({ title, onClick }) {
const style = useS(styles);
return (
<div tabIndex={0} className={s(style, { container: true })} onClick={onClick}>
<div tabIndex={0} className={s(style, { container: true, active: onClick !== undefined })} onClick={onClick}>
<IconOrImage title={title} className={s(style, { logo: true })} icon="/icons/logo_sm.svg" />
</div>
);
@@ -32,6 +32,8 @@ export class ScreenService {
this.routerService.subscribe(this.onRouteChange.bind(this));
this.routerService.transitionTask.addHandler(this.routeTransition.bind(this));
this.navigateToRoot = this.navigateToRoot.bind(this);
makeObservable(this, {
screen: computed,
});
@@ -9,13 +9,14 @@ import { observer } from 'mobx-react-lite';
import { AppLogo, useResource } from '@cloudbeaver/core-blocks';
import { useService } from '@cloudbeaver/core-di';
import { ProductInfoResource } from '@cloudbeaver/core-root';
import { PermissionsService, ProductInfoResource } from '@cloudbeaver/core-root';
import { ScreenService } from '@cloudbeaver/core-routing';
import { useAppVersion } from '@cloudbeaver/core-version';
export const Logo = observer(function Logo() {
const productInfoResource = useResource(Logo, ProductInfoResource, undefined);
const screenService = useService(ScreenService);
const permissionsService = useService(PermissionsService);
const { backendVersion, frontendVersion } = useAppVersion(true);
const isSameVersion = backendVersion === frontendVersion;
@@ -26,5 +27,5 @@ export const Logo = observer(function Logo() {
const title = isSameVersion ? backendVersionTitle : commonVersionTitle;
return <AppLogo title={title} onClick={() => screenService.navigateToRoot()} />;
return <AppLogo title={title} onClick={permissionsService.publicDisabled ? undefined : screenService.navigateToRoot} />;
});