+
+
Base Host
+
URLs in Meta and in test steps' commands are affected by
+ this.
+
+
+
+
+
+
New UI
+
Minimalistic yet informative, the new UI offers a cleaner look and
+ optimised screen space usage.
+
+
+
+
+
+
Theme
+
Currently only light theme is available — stay tuned for night mode.
+
+
;
+}
diff --git a/lib/static/new-ui/components/SplitViewLayout.tsx b/lib/static/new-ui/components/SplitViewLayout.tsx
index 31d96c41e..d1f3ffa0d 100644
--- a/lib/static/new-ui/components/SplitViewLayout.tsx
+++ b/lib/static/new-ui/components/SplitViewLayout.tsx
@@ -43,6 +43,7 @@ export function SplitViewLayout(props: SplitViewLayoutProps): ReactNode {
};
const isInitialized = useSelector(getIsInitialized);
+ const sizes = props.sections.length > 1 ? [25, 75] : [100];
return
{props.sections.map((section, index) =>
-
}
))}
diff --git a/lib/static/new-ui/components/UiModeHintNotification/index.module.css b/lib/static/new-ui/components/UiModeHintNotification/index.module.css
new file mode 100644
index 000000000..9e341dc51
--- /dev/null
+++ b/lib/static/new-ui/components/UiModeHintNotification/index.module.css
@@ -0,0 +1,91 @@
+@keyframes notification-appear {
+ 0% {
+ opacity: 0;
+ visibility: visible;
+ filter: blur(20px);
+ }
+
+ 30% {
+ opacity: 1;
+ }
+
+ 80% {
+ filter: blur(0px);
+ transform: scale(1.02);
+ }
+
+ 100% {
+ filter: blur(0px);
+ transform: scale(1);
+ visibility: visible;
+ }
+}
+
+@keyframes notification-disappear {
+ 0% {
+ opacity: 1;
+ visibility: visible;
+ }
+
+ 70% {
+ opacity: 1;
+ }
+
+ 100% {
+ filter: blur(20px);
+ opacity: 0;
+ visibility: hidden;
+ }
+}
+
+.container {
+ filter: blur(0px);
+ position: fixed;
+ bottom: 6px;
+ left: 62px;
+ z-index: 999;
+ background: #6c47ff;
+ padding: 14px 14px;
+ border-radius: 10px;
+ color: rgba(255, 255, 255, .9);
+ fill: rgba(255, 255, 255, .9);
+ width: 700px;
+ display: flex;
+ gap: 8px;
+ box-shadow: 0 0 16px 0 #00000036;
+ align-items: center;
+
+ visibility: hidden;
+}
+
+.visible {
+ animation: notification-appear .6s linear forwards;
+}
+
+.hidden {
+ animation: notification-disappear .4s linear forwards;
+}
+
+@keyframes arrow-shake {
+ 0% { transform: translateX(-3px); }
+ 50% { transform: translateX(3px); }
+ 100% { transform: translateX(-3px); }
+}
+
+.arrow {
+ animation: arrow-shake 6s infinite ease;
+}
+
+.hint-title {
+ font-weight: 500;
+}
+
+.close-button {
+ cursor: pointer;
+ transition: opacity .4s ease;
+ margin-left: auto;
+}
+
+.close-button:hover {
+ opacity: 0.7;
+}
diff --git a/lib/static/new-ui/components/UiModeHintNotification/index.tsx b/lib/static/new-ui/components/UiModeHintNotification/index.tsx
new file mode 100644
index 000000000..b793221f5
--- /dev/null
+++ b/lib/static/new-ui/components/UiModeHintNotification/index.tsx
@@ -0,0 +1,26 @@
+import {createPortal} from 'react-dom';
+import React, {ReactNode} from 'react';
+import {ArrowLeft, Xmark} from '@gravity-ui/icons';
+
+import styles from './index.module.css';
+import classNames from 'classnames';
+
+interface HintNotificationProps {
+ isVisible: boolean | null;
+ onClose?: () => unknown;
+}
+
+export function UiModeHintNotification(props: HintNotificationProps): ReactNode {
+ return createPortal(
+
+ Hint
+
+ You can always switch back to the old UI in Settings
+ props.onClose?.()}/>
+ , document.body);
+}
diff --git a/lib/static/new-ui/features/suites/components/ScreenshotsTreeViewItem/index.module.css b/lib/static/new-ui/features/suites/components/ScreenshotsTreeViewItem/index.module.css
index c04265b2d..178bcff1c 100644
--- a/lib/static/new-ui/features/suites/components/ScreenshotsTreeViewItem/index.module.css
+++ b/lib/static/new-ui/features/suites/components/ScreenshotsTreeViewItem/index.module.css
@@ -17,7 +17,7 @@
}
.accept-button {
- composes: action-button from global;
+ composes: regular-button from global, action-button from global;
}
.buttons-container {
diff --git a/lib/static/new-ui/features/visual-checks/components/VisualChecksPage/index.module.css b/lib/static/new-ui/features/visual-checks/components/VisualChecksPage/index.module.css
index 033f7967a..541273926 100644
--- a/lib/static/new-ui/features/visual-checks/components/VisualChecksPage/index.module.css
+++ b/lib/static/new-ui/features/visual-checks/components/VisualChecksPage/index.module.css
@@ -22,7 +22,7 @@
}
.accept-button {
- composes: action-button from global;
+ composes: regular-button from global, action-button from global;
}
.buttons-container {
diff --git a/lib/static/template.html b/lib/static/template.html
index bfa502904..ece5474ef 100644
--- a/lib/static/template.html
+++ b/lib/static/template.html
@@ -10,6 +10,18 @@
+