diff --git a/packages/web/src/TabsPanel.js b/packages/web/src/TabsPanel.js
index f162ca863..0cda42a4f 100644
--- a/packages/web/src/TabsPanel.js
+++ b/packages/web/src/TabsPanel.js
@@ -78,7 +78,7 @@ const FileNameWrapper = styled.span`
margin-left: 5px;
`;
-const CloseButton = styled.span`
+const CloseButton = styled(FontIcon)`
margin-left: 5px;
color: gray;
&:hover {
@@ -265,10 +265,11 @@ export default function TabsPanel() {
onMouseUp={(e) => handleMouseUp(e, tab.tabid)}
onContextMenu={(e) => handleContextMenu(e, tab.tabid, tab.props)}
>
- {}
+ {}
{tab.title}
{
e.preventDefault();
closeTab(tab.tabid);
diff --git a/packages/web/src/appobj/AppObjects.js b/packages/web/src/appobj/AppObjects.js
index af4126d2b..f75c1ae9c 100644
--- a/packages/web/src/appobj/AppObjects.js
+++ b/packages/web/src/appobj/AppObjects.js
@@ -68,7 +68,7 @@ export function AppObjectCore({
{...other}
>
{prefix}
- {isBusy ? : }
+ {isBusy ? : }
{title}
{statusIcon && (
diff --git a/packages/web/src/appobj/MacroAppObject.js b/packages/web/src/appobj/MacroAppObject.js
index adde07bea..217f309af 100644
--- a/packages/web/src/appobj/MacroAppObject.js
+++ b/packages/web/src/appobj/MacroAppObject.js
@@ -3,7 +3,7 @@ import { filterName } from '@dbgate/datalib';
const macroAppObject = () => ({ name, type, title, group }, { setOpenedTabs }) => {
const key = name;
- const icon = 'mdi mdi-hammer-wrench';
+ const icon = 'img macro';
const matcher = (filter) => filterName(filter, name, title);
const groupTitle = group;
diff --git a/packages/web/src/appobj/archiveFileAppObject.js b/packages/web/src/appobj/archiveFileAppObject.js
index aa6acd732..4c70903b2 100644
--- a/packages/web/src/appobj/archiveFileAppObject.js
+++ b/packages/web/src/appobj/archiveFileAppObject.js
@@ -6,12 +6,10 @@ import { openNewTab } from '../utility/common';
import { filterName } from '@dbgate/datalib';
import axios from '../utility/axios';
-const archiveTableIcon = 'mdi mdi-table color-yellow-icon';
-
function openArchive(setOpenedTabs, fileName, folderName) {
openNewTab(setOpenedTabs, {
title: fileName,
- icon: archiveTableIcon,
+ icon: 'img archive',
tooltip: `${folderName}\n${fileName}`,
tabComponent: 'ArchiveFileTab',
props: {
@@ -34,7 +32,7 @@ function Menu({ data, setOpenedTabs }) {
openNewTab(setOpenedTabs, {
title: data.fileName,
- icon: archiveTableIcon,
+ icon: 'img archive',
tabComponent: 'FreeTableTab',
props: {
initialData: {
@@ -61,7 +59,7 @@ function Menu({ data, setOpenedTabs }) {
const archiveFileAppObject = () => ({ fileName, folderName }, { setOpenedTabs }) => {
const key = fileName;
- const icon = archiveTableIcon;
+ const icon = 'img archive';
const onClick = () => {
openArchive(setOpenedTabs, fileName, folderName);
};
diff --git a/packages/web/src/appobj/archiveFolderAppObject.js b/packages/web/src/appobj/archiveFolderAppObject.js
index 5844a91f3..dcee1fa47 100644
--- a/packages/web/src/appobj/archiveFolderAppObject.js
+++ b/packages/web/src/appobj/archiveFolderAppObject.js
@@ -18,7 +18,7 @@ function Menu({ data, setOpenedTabs }) {
const archiveFolderAppObject = () => ({ name }, { setOpenedTabs, currentArchive }) => {
const key = name;
- const icon = 'mdi mdi-database-outline color-green-icon';
+ const icon = 'img archive-folder';
const isBold = name == currentArchive;
const matcher = (filter) => filterName(filter, name);
diff --git a/packages/web/src/appobj/columnAppObject.js b/packages/web/src/appobj/columnAppObject.js
index 7abf71fd8..2016b3603 100644
--- a/packages/web/src/appobj/columnAppObject.js
+++ b/packages/web/src/appobj/columnAppObject.js
@@ -1,7 +1,7 @@
/** @param columnProps {import('@dbgate/types').ColumnInfo} */
function getColumnIcon(columnProps) {
- if (columnProps.autoIncrement) return 'mdi mdi-numeric-1-box-multiple-outline';
- return 'mdi mdi-table-column';
+ if (columnProps.autoIncrement) return 'img autoincrement';
+ return 'img column';
}
/** @param columnProps {import('@dbgate/types').ColumnInfo} */
diff --git a/packages/web/src/appobj/connectionAppObject.js b/packages/web/src/appobj/connectionAppObject.js
index 979467c8e..82d14de9e 100644
--- a/packages/web/src/appobj/connectionAppObject.js
+++ b/packages/web/src/appobj/connectionAppObject.js
@@ -61,7 +61,7 @@ const connectionAppObject = (flags) => (
const title = displayName || server;
const key = _id;
const isExpandable = openedConnections.includes(_id);
- const icon = 'mdi mdi-server color-blue-icon';
+ const icon = 'img server';
const matcher = (filter) => filterName(filter, displayName, server);
const { boldCurrentDatabase } = flags || {};
const isBold = boldCurrentDatabase
@@ -74,10 +74,10 @@ const connectionAppObject = (flags) => (
let statusIcon = null;
let statusTitle = null;
if (openedConnections.includes(_id)) {
- if (!status) statusIcon = 'mdi mdi-loading mdi-spin';
- else if (status.name == 'pending') statusIcon = 'mdi mdi-loading mdi-spin';
- else if (status.name == 'ok') statusIcon = 'mdi mdi-check-circle color-green';
- else statusIcon = 'mdi mdi-close-circle color-red';
+ if (!status) statusIcon = 'icon loading';
+ else if (status.name == 'pending') statusIcon = 'icon loading';
+ else if (status.name == 'ok') statusIcon = 'img green-ok';
+ else statusIcon = 'img red-error';
if (status && status.name == 'error') {
statusTitle = status.message;
}
diff --git a/packages/web/src/appobj/constraintAppObject.js b/packages/web/src/appobj/constraintAppObject.js
index 4c63807df..7b6c3b801 100644
--- a/packages/web/src/appobj/constraintAppObject.js
+++ b/packages/web/src/appobj/constraintAppObject.js
@@ -1,7 +1,7 @@
/** @param props {import('@dbgate/types').ConstraintInfo} */
function getConstraintIcon(props) {
- if (props.constraintType == 'primaryKey') return 'mdi mdi-key-star color-yellow-icon';
- if (props.constraintType == 'foreignKey') return 'mdi mdi-key-link';
+ if (props.constraintType == 'primaryKey') return 'img primary-key';
+ if (props.constraintType == 'foreignKey') return 'img foreign-key';
return null;
}
diff --git a/packages/web/src/appobj/databaseAppObject.js b/packages/web/src/appobj/databaseAppObject.js
index 0154d5ffb..88abc2583 100644
--- a/packages/web/src/appobj/databaseAppObject.js
+++ b/packages/web/src/appobj/databaseAppObject.js
@@ -11,7 +11,7 @@ function Menu({ data, setOpenedTabs, showModal }) {
const handleNewQuery = () => {
openNewTab(setOpenedTabs, {
title: 'Query',
- icon: 'mdi mdi-file',
+ icon: 'img sql-file',
tooltip,
tabComponent: 'QueryTab',
props: {
@@ -62,7 +62,7 @@ const databaseAppObject = (flags) => ({ name, connection }) => {
const { boldCurrentDatabase } = flags || {};
const title = name;
const key = name;
- const icon = 'mdi mdi-database color-yellow-icon';
+ const icon = 'img database';
const isBold = boldCurrentDatabase
? ({ currentDatabase }) => {
return (
diff --git a/packages/web/src/appobj/databaseObjectAppObject.js b/packages/web/src/appobj/databaseObjectAppObject.js
index b0b78b290..db895dd03 100644
--- a/packages/web/src/appobj/databaseObjectAppObject.js
+++ b/packages/web/src/appobj/databaseObjectAppObject.js
@@ -8,10 +8,10 @@ import { filterName } from '@dbgate/datalib';
import ImportExportModal from '../modals/ImportExportModal';
const icons = {
- tables: 'mdi mdi-table color-blue-icon',
- views: 'mdi mdi-table color-magenta-icon',
- procedures: 'mdi mdi-cog color-blue-icon',
- functions: 'mdi mdi-function-variant',
+ tables: 'img table',
+ views: 'img view',
+ procedures: 'img procedure',
+ functions: 'img function',
};
const menus = {
@@ -101,7 +101,7 @@ export async function openDatabaseObjectDetail(
openNewTab(setOpenedTabs, {
title: pureName,
tooltip,
- icon: sqlTemplate ? 'mdi mdi-file' : icons[objectTypeField],
+ icon: sqlTemplate ? 'img sql-file' : icons[objectTypeField],
tabComponent: sqlTemplate ? 'QueryTab' : tabComponent,
props: {
schemaName,
@@ -138,7 +138,7 @@ function Menu({ data, makeAppObj, setOpenedTabs, showModal }) {
const coninfo = await getConnectionInfo(data);
openNewTab(setOpenedTabs, {
title: data.pureName,
- icon: 'mdi mdi-table color-green-icon',
+ icon: 'img free-table',
tabComponent: 'FreeTableTab',
props: {
initialData: {
diff --git a/packages/web/src/appobj/savedSqlFileAppObject.js b/packages/web/src/appobj/savedSqlFileAppObject.js
index 2fa62bfc5..2d8054398 100644
--- a/packages/web/src/appobj/savedSqlFileAppObject.js
+++ b/packages/web/src/appobj/savedSqlFileAppObject.js
@@ -16,7 +16,7 @@ function Menu({ data, setSavedSqlFiles }) {
const savedSqlFileAppObject = () => ({ name, storageKey }, { setOpenedTabs, newQuery, openedTabs }) => {
const key = storageKey;
const title = name;
- const icon = 'mdi mdi-file';
+ const icon = 'img sql-file';
const onClick = () => {
const existing = openedTabs.find((x) => x.props && x.props.storageKey == storageKey);
diff --git a/packages/web/src/datagrid/ColumnHeaderControl.js b/packages/web/src/datagrid/ColumnHeaderControl.js
index 4653619bf..10bd77e69 100644
--- a/packages/web/src/datagrid/ColumnHeaderControl.js
+++ b/packages/web/src/datagrid/ColumnHeaderControl.js
@@ -86,12 +86,12 @@ export default function ColumnHeaderControl({
{order == 'ASC' && (
-
+
)}
{order == 'DESC' && (
-
+
)}
diff --git a/packages/web/src/datagrid/ColumnLabel.js b/packages/web/src/datagrid/ColumnLabel.js
index 6910843c3..7951fe37d 100644
--- a/packages/web/src/datagrid/ColumnLabel.js
+++ b/packages/web/src/datagrid/ColumnLabel.js
@@ -12,8 +12,8 @@ const Label = styled.span`
/** @param column {import('@dbgate/datalib').DisplayColumn|import('@dbgate/types').ColumnInfo} */
export default function ColumnLabel(column) {
let icon = null;
- if (column.autoIncrement) icon = 'mdi mdi-numeric-1-box-multiple-outline';
- if (column.foreignKey) icon = 'mdi mdi-key-link';
+ if (column.autoIncrement) icon = 'img autoincrement';
+ if (column.foreignKey) icon = 'img foreign-key';
return (