Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions webapp/packages/core-blocks/src/Containers/GroupBack.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* CloudBeaver - Cloud Database Manager
* Copyright (C) 2020-2024 DBeaver Corp and others
* Copyright (C) 2020-2026 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0.
* you may not use this file except in compliance with the License.
Expand All @@ -17,7 +17,7 @@ export const GroupBack: React.FC<React.HTMLAttributes<HTMLButtonElement>> = func
const styles = useS(classes);

return (
<Flex gap="xs" align="center">
<Flex gap="xxs" align="center">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need to change it through the whole app?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont think we should, just apply speciifc style on the GroupBack level, no need to declare new style on the whole app level

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets not be afraid of changes here, please.I simply removed 4 pixels all over the forms for navigation arrow

we should not be paranoid about every change. just look at the screenshots, it became a bit prettier, isn't it great? previously spacing is kinda gigantic

Screenshot 2026-06-17 at 13 16 15 image

@devnaumov devnaumov Jun 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think its not about changing gap pixels, its about adding xxs variant, like we already have xs. We only need the xss here, in group back, so its better to adjust gap only here. Also all visual tests will fail and we need to update them because of that, this also a reason. If you insist, we can keep it

<ActionIconButton className={s(styles, { button: true }, className)} name="angle" title={translate('ui_close')} {...rest} />
{children}
</Flex>
Expand Down
4 changes: 4 additions & 0 deletions webapp/packages/core-blocks/src/Flex/Flex.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@
overflow: auto;
}

&[data-s-gap='xxs'] {
gap: 4px;
}

&[data-s-gap='xs'] {
gap: 8px;
}
Expand Down
4 changes: 2 additions & 2 deletions webapp/packages/core-blocks/src/Flex/Flex.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* CloudBeaver - Cloud Database Manager
* Copyright (C) 2020-2024 DBeaver Corp and others
* Copyright (C) 2020-2026 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0.
* you may not use this file except in compliance with the License.
Expand All @@ -12,7 +12,7 @@ import classes from './Flex.module.css';

interface Props extends React.HTMLAttributes<HTMLDivElement> {
overflow?: boolean;
gap?: 'xs' | 'md' | 'lg';
gap?: 'xxs' | 'xs' | 'md' | 'lg';
wrap?: React.CSSProperties['flexWrap'];
direction?: React.CSSProperties['flexDirection'];
align?: React.CSSProperties['alignItems'];
Expand Down
2 changes: 1 addition & 1 deletion webapp/packages/core-connections/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* CloudBeaver - Cloud Database Manager
* Copyright (C) 2020-2025 DBeaver Corp and others
* Copyright (C) 2020-2026 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0.
* you may not use this file except in compliance with the License.
Expand Down
4 changes: 0 additions & 4 deletions webapp/packages/core-connections/src/locales/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,6 @@ export default [
['connections_connection_test_fail', 'Verbindungstest ist fehlgeschlagen'],
['connections_network_handler_default_user', 'Benutzer'],
['connections_network_handler_default_password', 'Passwort'],
['connections_network_handler_ssh_tunnel_user', 'Benutzer'],
['connections_network_handler_ssh_tunnel_password', 'Passwort'],
['connections_network_handler_ssh_tunnel_auth_type', 'Authentifizierungsmethode'],
['connections_network_handler_ssh_tunnel_advanced_settings', 'Erweiterte Einstellungen'],
['connections_not_found', 'Es wurden keine Datenbankverbindungen gefunden'],

['core_connections_settings_disable', 'Disable'],
Expand Down
9 changes: 0 additions & 9 deletions webapp/packages/core-connections/src/locales/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,6 @@ export default [
['connections_network_handler_default_password', 'Password'],
['connections_network_handler_ssh_tunnel_title', 'SSH Tunnel'],
['connections_network_handler_ssh_tunnel_enable', 'Use SSH Tunnel'],
['connections_network_handler_ssh_tunnel_host', 'Host'],
['connections_network_handler_ssh_tunnel_port', 'Port'],
['connections_network_handler_ssh_tunnel_user', 'User'],
['connections_network_handler_ssh_tunnel_password', 'Password'],
['connections_network_handler_ssh_tunnel_auth_type', 'Authentication method'],
['connections_network_handler_ssh_tunnel_private_key', 'Private Key'],
['connections_network_handler_ssh_tunnel_advanced_settings', 'Advanced Settings'],
['connections_network_handler_ssh_tunnel_advanced_settings_alive_interval', 'Alive interval (ms)'],
['connections_network_handler_ssh_tunnel_advanced_settings_connect_timeout', 'Connect timeout (ms)'],
['connections_driver_search_placeholder', 'Type driver name...'],
['connections_not_found', 'No database connections were found'],

Expand Down
9 changes: 0 additions & 9 deletions webapp/packages/core-connections/src/locales/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,6 @@ export default [
['connections_network_handler_default_password', 'Mot de passe'],
['connections_network_handler_ssh_tunnel_title', 'Tunnel SSH'],
['connections_network_handler_ssh_tunnel_enable', 'Utiliser le tunnel SSH'],
['connections_network_handler_ssh_tunnel_host', 'Hôte'],
['connections_network_handler_ssh_tunnel_port', 'Port'],
['connections_network_handler_ssh_tunnel_user', 'Utilisateur'],
['connections_network_handler_ssh_tunnel_password', 'Mot de passe'],
['connections_network_handler_ssh_tunnel_auth_type', "Méthode d'authentification"],
['connections_network_handler_ssh_tunnel_private_key', 'Clé privée'],
['connections_network_handler_ssh_tunnel_advanced_settings', 'Paramètres avancés'],
['connections_network_handler_ssh_tunnel_advanced_settings_alive_interval', 'Intervalle de maintien en vie (ms)'],
['connections_network_handler_ssh_tunnel_advanced_settings_connect_timeout', 'Délai de connexion (ms)'],
['connections_driver_search_placeholder', 'Saisir le nom du pilote...'],
['connections_not_found', 'Aucune connexion de base de données trouvée'],

Expand Down
9 changes: 0 additions & 9 deletions webapp/packages/core-connections/src/locales/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,6 @@ export default [
['connections_network_handler_default_password', 'Password'],
['connections_network_handler_ssh_tunnel_title', 'Tunnel SSH'],
['connections_network_handler_ssh_tunnel_enable', 'Usa il Tunnel SSH'],
['connections_network_handler_ssh_tunnel_host', 'Host'],
['connections_network_handler_ssh_tunnel_port', 'Porta'],
['connections_network_handler_ssh_tunnel_user', 'Utente'],
['connections_network_handler_ssh_tunnel_password', 'Password'],
['connections_network_handler_ssh_tunnel_auth_type', 'Authentication method'],
['connections_network_handler_ssh_tunnel_private_key', 'Private key'],
['connections_network_handler_ssh_tunnel_advanced_settings', 'Advanced Settings'],
['connections_network_handler_ssh_tunnel_advanced_settings_alive_interval', 'Alive interval (ms)'],
['connections_network_handler_ssh_tunnel_advanced_settings_connect_timeout', 'Connect timeout (ms)'],
['connections_driver_search_placeholder', 'Digita il nome del driver...'],
['connections_not_found', 'Nessuna connessione al database trovata'],

Expand Down
9 changes: 0 additions & 9 deletions webapp/packages/core-connections/src/locales/ru.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,6 @@ export default [
['connections_network_handler_default_password', 'Пароль'],
['connections_network_handler_ssh_tunnel_title', 'SSH Тунель'],
['connections_network_handler_ssh_tunnel_enable', 'Использовать SSH Тунель'],
['connections_network_handler_ssh_tunnel_host', 'Хост'],
['connections_network_handler_ssh_tunnel_port', 'Порт'],
['connections_network_handler_ssh_tunnel_user', 'Пользователь'],
['connections_network_handler_ssh_tunnel_password', 'Пароль'],
['connections_network_handler_ssh_tunnel_auth_type', 'Метод аутентификации'],
['connections_network_handler_ssh_tunnel_private_key', 'Приватный ключ'],
['connections_network_handler_ssh_tunnel_advanced_settings', 'Дополнительные настройки'],
['connections_network_handler_ssh_tunnel_advanced_settings_alive_interval', 'Интервал keep-alive (мс)'],
['connections_network_handler_ssh_tunnel_advanced_settings_connect_timeout', 'Тайм-аут подключения (мс)'],
['connections_driver_search_placeholder', 'Введите название драйвера...'],
['connections_not_found', 'Подключения к базам данных не найдены'],

Expand Down
9 changes: 0 additions & 9 deletions webapp/packages/core-connections/src/locales/vi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,15 +74,6 @@ export default [
['connections_network_handler_default_password', 'Mật khẩu'],
['connections_network_handler_ssh_tunnel_title', 'Tunnel SSH'],
['connections_network_handler_ssh_tunnel_enable', 'Sử dụng Tunnel SSH'],
['connections_network_handler_ssh_tunnel_host', 'Máy chủ'],
['connections_network_handler_ssh_tunnel_port', 'Cổng'],
['connections_network_handler_ssh_tunnel_user', 'Người dùng'],
['connections_network_handler_ssh_tunnel_password', 'Mật khẩu'],
['connections_network_handler_ssh_tunnel_auth_type', 'Phương thức xác thực'],
['connections_network_handler_ssh_tunnel_private_key', 'Khóa riêng'],
['connections_network_handler_ssh_tunnel_advanced_settings', 'Cài đặt nâng cao'],
['connections_network_handler_ssh_tunnel_advanced_settings_alive_interval', 'Khoảng thời gian giữ kết nối (ms)'],
['connections_network_handler_ssh_tunnel_advanced_settings_connect_timeout', 'Thời gian chờ kết nối (ms)'],
['connections_driver_search_placeholder', 'Nhập tên trình điều khiển (driver)...'],
['connections_not_found', 'Không tìm thấy kết nối cơ sở dữ liệu'],
[
Expand Down
9 changes: 0 additions & 9 deletions webapp/packages/core-connections/src/locales/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,6 @@ export default [
['connections_network_handler_default_password', '密码'],
['connections_network_handler_ssh_tunnel_title', 'SSH隧道'],
['connections_network_handler_ssh_tunnel_enable', '使用SSH隧道'],
['connections_network_handler_ssh_tunnel_host', '主机'],
['connections_network_handler_ssh_tunnel_port', '端口'],
['connections_network_handler_ssh_tunnel_user', '用户'],
['connections_network_handler_ssh_tunnel_password', '密码'],
['connections_network_handler_ssh_tunnel_auth_type', '认证方式'],
['connections_network_handler_ssh_tunnel_private_key', '私钥'],
['connections_network_handler_ssh_tunnel_advanced_settings', '高级设置'],
['connections_network_handler_ssh_tunnel_advanced_settings_alive_interval', '活动间隔 (ms)'],
['connections_network_handler_ssh_tunnel_advanced_settings_connect_timeout', '连接超时 (ms)'],
['connections_driver_search_placeholder', '输入驱动名称...'],
['connections_not_found', '未找到数据库连接'],

Expand Down
47 changes: 47 additions & 0 deletions webapp/packages/plugin-connection-network-handlers/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"name": "@cloudbeaver/plugin-connection-network-handlers",
"type": "module",
"sideEffects": [
"./lib/module.js",
"./lib/index.js",
"src/**/*.css",
"public/**/*"
],
"version": "0.1.0",
"description": "",
"license": "Apache-2.0",
"exports": {
".": "./lib/index.js",
"./module": "./lib/module.js"
},
"scripts": {
"build": "tsc -b",
"clean": "rimraf --glob lib",
"lint": "eslint ./src/ --ext .ts,.tsx",
"test": "dbeaver-test",
"validate-dependencies": "core-cli-validate-dependencies"
},
"dependencies": {
"@cloudbeaver/core-blocks": "workspace:*",
"@cloudbeaver/core-connections": "workspace:*",
"@cloudbeaver/core-di": "workspace:*",
"@cloudbeaver/core-localization": "workspace:*",
"@cloudbeaver/core-projects": "workspace:*",
"@cloudbeaver/core-root": "workspace:*",
"@cloudbeaver/core-sdk": "workspace:*",
"@cloudbeaver/core-utils": "workspace:*",
"mobx": "^6",
"mobx-react-lite": "^4",
"react": "^19",
"react-dom": "^19"
},
"devDependencies": {
"@cloudbeaver/core-cli": "workspace:*",
"@cloudbeaver/tsconfig": "workspace:*",
"@dbeaver/cli": "workspace:*",
"@types/react": "^19",
"rimraf": "^6",
"tslib": "^2",
"typescript": "^5"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* CloudBeaver - Cloud Database Manager
* Copyright (C) 2020-2026 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0.
* you may not use this file except in compliance with the License.
*/
import { Bootstrap, injectable } from '@cloudbeaver/core-di';
import { LocalizationService } from '@cloudbeaver/core-localization';

@injectable(() => [LocalizationService])
export class LocaleService extends Bootstrap {
constructor(private readonly localizationService: LocalizationService) {
super();
}

override register(): void {
this.localizationService.addProvider(this.provider.bind(this));
}

private async provider(locale: string) {
switch (locale) {
case 'ru':
return (await import('./locales/ru.js')).default;
case 'de':
return (await import('./locales/de.js')).default;
case 'it':
return (await import('./locales/it.js')).default;
case 'zh':
return (await import('./locales/zh.js')).default;
case 'fr':
return (await import('./locales/fr.js')).default;
case 'vi':
return (await import('./locales/vi.js')).default;
default:
return (await import('./locales/en.js')).default;
}
}
}
Loading
Loading