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 (