diff --git a/apps/client/src/entities/fnote.ts b/apps/client/src/entities/fnote.ts index f826231b8..4fcdbf806 100644 --- a/apps/client/src/entities/fnote.ts +++ b/apps/client/src/entities/fnote.ts @@ -582,6 +582,10 @@ export default class FNote { } getIcon() { + return `tn-icon ${this.#getIconInternal()}`; + } + + #getIconInternal() { const iconClassLabels = this.getLabels("iconClass"); const workspaceIconClass = this.getWorkspaceIconClass(); diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index ef5c83052..17e431e54 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -1796,7 +1796,7 @@ button.close:hover { display: none; } -.reference-link .bx { +.reference-link .tn-icon { position: relative; top: 1px; margin-inline-end: 3px; @@ -2415,7 +2415,7 @@ footer.webview-footer button { gap: 5px; } -.right-pane-tab .tab-title .bx { +.right-pane-tab .tab-title .tn-icon { font-size: 1.1em; } @@ -2543,18 +2543,11 @@ footer.webview-footer button { inset-inline-end: 10px; } -.content-floating-buttons button.bx { +.content-floating-buttons button.tn-icon { font-size: 130%; padding: 1px 10px 1px 10px; } -/* Customized icons */ - -.bx-tn-toc::before { - content: "\ec24"; - transform: rotate(180deg); -} - /* CK Editor */ /* Insert text snippet: limit the width of the listed items to avoid overly long names */ diff --git a/apps/client/src/stylesheets/theme-next/base.css b/apps/client/src/stylesheets/theme-next/base.css index 1c67d648d..426c0fe62 100644 --- a/apps/client/src/stylesheets/theme-next/base.css +++ b/apps/client/src/stylesheets/theme-next/base.css @@ -134,7 +134,7 @@ body.backdrop-effects-disabled { white-space-collapse: discard; } -.dropdown-menu.tn-dropdown-menu .dropdown-item .bx { +.dropdown-menu.tn-dropdown-menu .dropdown-item .tn-icon { margin-inline-end: 6px; } @@ -249,7 +249,7 @@ html body .dropdown-item[disabled] { } /* Menu item icon */ -.dropdown-item .bx { +.dropdown-item .tn-icon { translate: 0 var(--menu-item-icon-vert-offset); color: var(--menu-item-icon-color) !important; font-size: 1.1em; @@ -496,7 +496,7 @@ li.dropdown-item a.dropdown-item-button { border: unset; } -li.dropdown-item a.dropdown-item-button.bx { +li.dropdown-item a.dropdown-item-button.tn-icon { color: var(--menu-text-color) !important; } @@ -557,13 +557,13 @@ li.dropdown-item a.dropdown-item-button:focus-visible { padding-top: 0; } -#toast-container .toast:not(.no-title) .bx { +#toast-container .toast:not(.no-title) .tn-icon { margin-inline-end: 0.5em; font-size: 1.1em; opacity: 0.85; } -#toast-container .toast.no-title .bx { +#toast-container .toast.no-title .tn-icon { margin-inline-end: 0; font-size: 1.3em; } @@ -754,7 +754,7 @@ li.dropdown-item a.dropdown-item-button:focus-visible { margin-bottom: 0; } -.note-list-wrapper .note-book-card .bx { +.note-list-wrapper .note-book-card .tn-icon { color: var(--left-pane-icon-color) !important; } diff --git a/apps/client/src/stylesheets/theme-next/dialogs.css b/apps/client/src/stylesheets/theme-next/dialogs.css index ffe6af9a5..613fb94f3 100644 --- a/apps/client/src/stylesheets/theme-next/dialogs.css +++ b/apps/client/src/stylesheets/theme-next/dialogs.css @@ -423,6 +423,6 @@ div.tn-tool-dialog { font-size: unset; } -.note-type-chooser-dialog div.note-type-dropdown .dropdown-item span.bx { +.note-type-chooser-dialog div.note-type-dropdown .dropdown-item span.tn-icon { margin-inline-end: .25em; -} \ No newline at end of file +} diff --git a/apps/client/src/stylesheets/theme-next/forms.css b/apps/client/src/stylesheets/theme-next/forms.css index 6de90a963..12f361c2f 100644 --- a/apps/client/src/stylesheets/theme-next/forms.css +++ b/apps/client/src/stylesheets/theme-next/forms.css @@ -62,10 +62,10 @@ button.ck.ck-button:is(.ck-button-action, .ck-button-save, .ck-button-cancel, .c } /* Button's icon */ -button.btn.btn-primary span.bx, -button.btn.btn-secondary span.bx, -button.btn.btn-sm span.bx, -button.btn.btn-success span.bx { +button.btn.btn-primary span.tn-icon, +button.btn.btn-secondary span.tn-icon, +button.btn.btn-sm span.tn-icon, +button.btn.btn-success span.tn-icon { color: var(--cmd-button-icon-color); padding-inline-end: 0.35em; font-size: 1.2em; diff --git a/apps/client/src/stylesheets/theme-next/shell.css b/apps/client/src/stylesheets/theme-next/shell.css index bf4e88f3d..5920ef0e9 100644 --- a/apps/client/src/stylesheets/theme-next/shell.css +++ b/apps/client/src/stylesheets/theme-next/shell.css @@ -497,7 +497,7 @@ div.bookmark-folder-widget .note-link:hover a { } /* The item's icon */ -div.bookmark-folder-widget .note-link .bx { +div.bookmark-folder-widget .note-link .tn-icon { color: var(--menu-item-icon-color); font-size: 1.2em; } diff --git a/apps/client/src/stylesheets/tree.css b/apps/client/src/stylesheets/tree.css index c5de2c629..6b400315d 100644 --- a/apps/client/src/stylesheets/tree.css +++ b/apps/client/src/stylesheets/tree.css @@ -229,11 +229,11 @@ span.fancytree-node.archived { opacity: 0.6; } -.fancytree-node:hover .bx.tree-item-button { +.fancytree-node:hover .tn-icon.tree-item-button { display: inline-block; } -.bx.tree-item-button { +.tn-icon.tree-item-button { display: none; font-size: 120%; cursor: pointer; @@ -243,7 +243,7 @@ span.fancytree-node.archived { border-radius: 5px; } -.unhoist-button.bx.tree-item-button { +.unhoist-button.tn-icon.tree-item-button { margin-inline-start: 0; /* unhoist button is on the left and doesn't need more margin */ display: block; /* keep always visible */ } diff --git a/apps/client/src/widgets/FloatingButtonsDefinitions.tsx b/apps/client/src/widgets/FloatingButtonsDefinitions.tsx index 35dbc92ae..8bf02d96c 100644 --- a/apps/client/src/widgets/FloatingButtonsDefinitions.tsx +++ b/apps/client/src/widgets/FloatingButtonsDefinitions.tsx @@ -142,7 +142,7 @@ function ShowTocWidgetButton({ note, noteContext, isDefaultViewMode }: FloatingB return isEnabled && { if (noteContext?.viewScope && noteContext.noteId) { noteContext.viewScope.tocTemporarilyHidden = false; diff --git a/apps/client/src/widgets/collections/geomap/index.css b/apps/client/src/widgets/collections/geomap/index.css index 81039ba48..341dfb6fa 100644 --- a/apps/client/src/widgets/collections/geomap/index.css +++ b/apps/client/src/widgets/collections/geomap/index.css @@ -40,7 +40,7 @@ z-index: -1; } -.geo-map-container .leaflet-div-icon .bx { +.geo-map-container .leaflet-div-icon .tn-icon { position: absolute; top: 3px; inset-inline-start: 2px; diff --git a/apps/client/src/widgets/layout/Breadcrumb.css b/apps/client/src/widgets/layout/Breadcrumb.css index 026eabda7..18f88ac0c 100644 --- a/apps/client/src/widgets/layout/Breadcrumb.css +++ b/apps/client/src/widgets/layout/Breadcrumb.css @@ -35,7 +35,7 @@ align-items: center; min-width: 0; - .bx { + .tn-icon { margin-inline: 6px; } @@ -55,7 +55,7 @@ .icon-action { font-size: .9rem !important; - .bxs-chevron-right { + &.breadcrumb-separator { transform: translateY(8%); &::before { diff --git a/apps/client/src/widgets/layout/Breadcrumb.tsx b/apps/client/src/widgets/layout/Breadcrumb.tsx index 3809cc352..8c393f9da 100644 --- a/apps/client/src/widgets/layout/Breadcrumb.tsx +++ b/apps/client/src/widgets/layout/Breadcrumb.tsx @@ -191,7 +191,7 @@ function BreadcrumbSeparator(props: BreadcrumbSeparatorProps) { } noSelectButtonStyle - buttonClassName="icon-action" + buttonClassName="icon-action breadcrumb-separator" hideToggleArrow dropdownContainerClassName="tn-dropdown-menu-scrollable breadcrumb-child-list" dropdownOptions={{ popperConfig: { strategy: "fixed", placement: "top" } }} diff --git a/apps/client/src/widgets/layout/StatusBar.css b/apps/client/src/widgets/layout/StatusBar.css index 727801148..c421c3d65 100644 --- a/apps/client/src/widgets/layout/StatusBar.css +++ b/apps/client/src/widgets/layout/StatusBar.css @@ -9,7 +9,7 @@ background-color: var(--left-pane-background-color); padding-inline: 0.25em; font-size: 0.85em; - + > .breadcrumb { flex-grow: 1; --icon-button-size: 23px; @@ -104,7 +104,7 @@ /* Note path card */ li { --border-radius: 6px; - + position: relative; background: var(--card-background-color); padding: 8px 20px 8px 25px; @@ -120,7 +120,7 @@ & + li { margin-top: 2px; } - + /* Current path arrow */ &.path-current::before { position: absolute; @@ -180,7 +180,7 @@ &:last-child { border-radius: 0 0 var(--border-radius) var(--border-radius); } - + /* Card header */ & > span:first-child { display: block; @@ -202,7 +202,7 @@ } /* Note icon */ - > .bx { + > .tn-icon { color: var(--menu-item-icon-color); } diff --git a/apps/client/src/widgets/note_title.css b/apps/client/src/widgets/note_title.css index ebc6ec33e..50be6afc7 100644 --- a/apps/client/src/widgets/note_title.css +++ b/apps/client/src/widgets/note_title.css @@ -92,7 +92,7 @@ body.experimental-feature-new-layout { height: var(--size); padding: 0; - .bx { + .tn-icon { opacity: 1; margin: 0; } diff --git a/apps/client/src/widgets/note_tree.ts b/apps/client/src/widgets/note_tree.ts index c5ee99d86..0a907895c 100644 --- a/apps/client/src/widgets/note_tree.ts +++ b/apps/client/src/widgets/note_tree.ts @@ -1,38 +1,39 @@ -import hoistedNoteService from "../services/hoisted_note.js"; -import treeService from "../services/tree.js"; -import utils from "../services/utils.js"; -import contextMenu from "../menus/context_menu.js"; -import froca from "../services/froca.js"; -import branchService from "../services/branches.js"; -import ws from "../services/ws.js"; -import NoteContextAwareWidget from "./note_context_aware_widget.js"; -import server from "../services/server.js"; -import noteCreateService from "../services/note_create.js"; -import toastService from "../services/toast.js"; -import appContext, { type CommandListenerData, type EventData } from "../components/app_context.js"; -import keyboardActionsService from "../services/keyboard_actions.js"; -import clipboard from "../services/clipboard.js"; -import protectedSessionService from "../services/protected_session.js"; -import linkService from "../services/link.js"; -import options from "../services/options.js"; -import protectedSessionHolder from "../services/protected_session_holder.js"; -import dialogService from "../services/dialog.js"; -import shortcutService from "../services/shortcuts.js"; -import { t } from "../services/i18n.js"; -import type FBranch from "../entities/fbranch.js"; -import type LoadResults from "../services/load_results.js"; -import type FNote from "../entities/fnote.js"; -import type { NoteType } from "../entities/fnote.js"; -import type { AttributeRow, BranchRow } from "../services/load_results.js"; -import type { SetNoteOpts } from "../components/note_context.js"; -import type { TouchBarItem } from "../components/touch_bar.js"; -import type { TreeCommandNames } from "../menus/tree_context_menu.js"; import "jquery.fancytree"; import "jquery.fancytree/dist/modules/jquery.fancytree.dnd5.js"; import "jquery.fancytree/dist/modules/jquery.fancytree.clones.js"; import "jquery.fancytree/dist/modules/jquery.fancytree.filter.js"; import "../stylesheets/tree.css"; +import appContext, { type CommandListenerData, type EventData } from "../components/app_context.js"; +import type { SetNoteOpts } from "../components/note_context.js"; +import type { TouchBarItem } from "../components/touch_bar.js"; +import type FBranch from "../entities/fbranch.js"; +import type FNote from "../entities/fnote.js"; +import type { NoteType } from "../entities/fnote.js"; +import contextMenu from "../menus/context_menu.js"; +import type { TreeCommandNames } from "../menus/tree_context_menu.js"; +import branchService from "../services/branches.js"; +import clipboard from "../services/clipboard.js"; +import dialogService from "../services/dialog.js"; +import froca from "../services/froca.js"; +import hoistedNoteService from "../services/hoisted_note.js"; +import { t } from "../services/i18n.js"; +import keyboardActionsService from "../services/keyboard_actions.js"; +import linkService from "../services/link.js"; +import type LoadResults from "../services/load_results.js"; +import type { AttributeRow, BranchRow } from "../services/load_results.js"; +import noteCreateService from "../services/note_create.js"; +import options from "../services/options.js"; +import protectedSessionService from "../services/protected_session.js"; +import protectedSessionHolder from "../services/protected_session_holder.js"; +import server from "../services/server.js"; +import shortcutService from "../services/shortcuts.js"; +import toastService from "../services/toast.js"; +import treeService from "../services/tree.js"; +import utils from "../services/utils.js"; +import ws from "../services/ws.js"; +import NoteContextAwareWidget from "./note_context_aware_widget.js"; + const TPL = /*html*/`