diff --git a/client/components/boards/boardBody.jade b/client/components/boards/boardBody.jade index 2b802f0d5..de1c1ca3c 100644 --- a/client/components/boards/boardBody.jade +++ b/client/components/boards/boardBody.jade @@ -16,7 +16,6 @@ template(name="boardBody") if notDisplayThisBoard | {{_ 'tableVisibilityMode-allowPrivateOnly'}} else - .board-wrapper(class=currentBoard.colorClass) .board-canvas.js-swimlanes( class="{{#if hasSwimlanes}}dragscroll{{/if}}" diff --git a/client/components/boards/boardBody.js b/client/components/boards/boardBody.js index 4c7f04744..29bf5e5bb 100644 --- a/client/components/boards/boardBody.js +++ b/client/components/boards/boardBody.js @@ -340,12 +340,12 @@ BlazeComponent.extendComponent({ selectable: true, timezone: 'local', weekNumbers: true, - headerToolbar: { - left: 'prev,next today', - center: 'title', - right: 'month,agendaWeek,agendaDay' + header: { + left: 'title today prev,next', + center: + 'agendaDay,listDay,timelineDay agendaWeek,listWeek,timelineWeek month,listMonth', + right: '', }, - footerToolbar: false, // height: 'parent', nope, doesn't work as the parent might be small height: 'auto', /* TODO: lists as resources: https://fullcalendar.io/docs/vertical-resource-view */ @@ -473,29 +473,9 @@ BlazeComponent.extendComponent({ closeModal(); } }); - document.querySelector('.board-wrapper').appendChild(modalElement); // (optional: for better DOM order) + document.body.appendChild(modalElement); const openModal = function() { - modalElement.style.display = 'flex'; - modalElement.setAttribute('role', 'dialog'); - modalElement.setAttribute('aria-modal', 'true'); - // Set ARIA attributes for accessibility - modalElement.setAttribute('role', 'dialog'); - modalElement.setAttribute('aria-modal', 'true'); - // Move focus to the first input or button in the modal - const firstInput = modalElement.querySelector('input, button'); - if (firstInput) firstInput.focus(); - // Set aria-labelledby and aria-describedby for accessibility - const title = modalElement.querySelector('.modal-title'); - if (title) { - title.id = 'modal-title'; - modalElement.setAttribute('aria-labelledby', 'modal-title'); - } - const desc = modalElement.querySelector('.modal-body'); - if (desc) { - desc.id = 'modal-desc'; - modalElement.setAttribute('aria-describedby', 'modal-desc'); - } - + modalElement.style.display = 'flex'; }; const closeModal = function() { modalElement.style.display = 'none'; diff --git a/client/components/boards/boardHeader.jade b/client/components/boards/boardHeader.jade index e758b9471..06cb0d549 100644 --- a/client/components/boards/boardHeader.jade +++ b/client/components/boards/boardHeader.jade @@ -1,5 +1,5 @@ template(name="boardHeaderBar") - h1.header-board-menu {{currentBoard.title}} + h1.header-board-menu with currentBoard if $eq title 'Templates' | {{_ 'templates'}} @@ -137,11 +137,8 @@ template(name="boardHeaderBar") i.fa.fa-check-square-o span {{#if MultiSelection.isActive}}{{_ 'multi-selection-on'}}{{else}}{{_ 'multi-selection'}}{{/if}} if MultiSelection.isActive - a.board-header-btn-close.js-multiselection-reset( - title="{{_ 'deactivate-multi-selection'}}" - aria-label="{{_ 'deactivate-multi-selection'}}" - ) - i.fa.fa-times-thin + a.board-header-btn-close.js-multiselection-reset(title="{{_ 'filter-clear'}}") + i.fa.fa-times-thin .separator a.board-header-btn.js-toggle-sidebar(title="{{_ 'sidebar-open'}} {{_ 'or'}} {{_ 'sidebar-close'}}") diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 9d0006590..6ca69c754 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -540,7 +540,7 @@ template(name="cardDetails") else if getDescription if currentBoard.allowsDescriptionTitle hr - div.card-details-item-title {{_ 'description'}} + h3.card-details-item-title {{_ 'description'}} if currentBoard.allowsDescriptionText +viewer = getDescription diff --git a/client/components/main/header.jade b/client/components/main/header.jade index e87ac1715..6c8fe3dce 100644 --- a/client/components/main/header.jade +++ b/client/components/main/header.jade @@ -39,20 +39,12 @@ template(name="header") if currentSetting.customTopLeftCornerLogoImageUrl if currentSetting.customTopLeftCornerLogoLinkUrl a(href="{{currentSetting.customTopLeftCornerLogoLinkUrl}}" alt="{{currentSetting.productName}}" title="{{currentSetting.productName}}") - img( - src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" - alt="{{currentSetting.productName}} logo" - title="{{currentSetting.productName}}" - ) + img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="{{#if currentSetting.customTopLeftCornerLogoHeight}}#{currentSetting.customTopLeftCornerLogoHeight}{{else}}27{{/if}}" width="auto" margin="0" padding="0") unless currentSetting.customTopLeftCornerLogoLinkUrl img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="{{#if currentSetting.customTopLeftCornerLogoHeight}}#{currentSetting.customTopLeftCornerLogoHeight}{{else}}27{{/if}}" width="auto" margin="0" padding="0" alt="{{currentSetting.productName}}" title="{{currentSetting.productName}}") unless currentSetting.customTopLeftCornerLogoImageUrl div#headerIsSettingDatabaseCallDone - img( - src="{{pathFor '/logo-header.png'}}" - alt="{{currentSetting.productName}} logo" - title="{{currentSetting.productName}}" - ) + img(src="{{pathFor '/logo-header.png'}}" alt="{{currentSetting.productName}}" title="{{currentSetting.productName}}") span.allBoards a(href="{{pathFor 'home'}}") span.fa.fa-home @@ -81,8 +73,7 @@ template(name="header") // Hide duplicate create board button, // because it did not show board templates correctly. //a#header-new-board-icon.js-create-board - button.add-card(aria-label="Add card" title="Add card") - i.fa.fa-plus + // i.fa.fa-plus(title="Create a new board") +notifications diff --git a/client/components/main/layouts.css b/client/components/main/layouts.css index 9dc8ab4b7..33bfc6dc2 100644 --- a/client/components/main/layouts.css +++ b/client/components/main/layouts.css @@ -23,39 +23,6 @@ table, tbody, td, tfoot, th, thread, tr, tt, ul, var { .panel-heading.note-toolbar .note-color-palette div .note-color-btn { background: none; } -input::placeholder, textarea::placeholder { - color: #555 !important; - opacity: 1; -} -.error-notification { - color: #fff !important; /* White text */ - background: #d32f2f !important; /* Strong red background */ -} -.menu-text, .sidebar-text { - color: #222 !important; /* Very dark grey or black */ -} -.notification-link { - color: #0056b3 !important; /* Darker blue for better contrast */ -} -.card-title, .header-title { - color: #fff !important; /* White text for dark backgrounds */ -} -.checklist-item.finished { - color: #444 !important; /* Darker grey for better contrast */ - text-decoration: line-through; -} -.button-dark { - color: #fff !important; -} -.heading { - color: #222 !important; -} -.menu-text { - color: #222 !important; -} -.calendar-event, .calendar-card { - color: #fff !important; -} a:focus { outline: unset; outline-offset: unset; @@ -227,7 +194,7 @@ strong { p { -webkit-user-select: text; user-select: text; - + } p a { diff --git a/client/components/main/layouts.jade b/client/components/main/layouts.jade index 11daa2760..988eb068a 100644 --- a/client/components/main/layouts.jade +++ b/client/components/main/layouts.jade @@ -12,8 +12,8 @@ head link(rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png") link(rel="manifest" crossOrigin="use-credentials" href="/site.webmanifest") link(rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5") - meta(name="apple-mobile-web-app-title" content="WeKan") - meta(name="application-name" content="WeKan") + meta(name="apple-mobile-web-app-title" content="Wekan") + meta(name="application-name" content="Wekan") meta(name="msapplication-TileColor" content="#00aba9") meta(name="theme-color" content="#ffffff") //link(rel="stylesheet" type="text/css" class="__meteor-css__" href="css/html5-default-theme.css") @@ -21,11 +21,11 @@ head template(name="userFormsLayout") section.auth-layout if currentSetting.hideLogo - h1.at-form-landing-logo WeKan + h1.at-form-landing-logo br br unless currentSetting.hideLogo - h1.at-form-landing-logo WeKan + h1.at-form-landing-logo if currentSetting.customLoginLogoImageUrl if currentSetting.customLoginLogoLinkUrl a(href="{{currentSetting.customLoginLogoLinkUrl}}") @@ -35,7 +35,7 @@ template(name="userFormsLayout") img(src="{{currentSetting.customLoginLogoImageUrl}}" width="300" height="auto") br else - img(src="{{pathFor '/WeKan-logo.svg'}}" alt="" width="300" height="auto") + img(src="{{pathFor '/wekan-logo.svg'}}" alt="" width="300" height="auto") br if currentSetting.textBelowCustomLoginLogo hr diff --git a/client/components/settings/settingBody.js b/client/components/settings/settingBody.js index 50bd1672c..d66c5b307 100644 --- a/client/components/settings/settingBody.js +++ b/client/components/settings/settingBody.js @@ -288,7 +288,7 @@ BlazeComponent.extendComponent({ this.setLoading(false); } - DocHead.setTitle(`Settings - ${productName}`); + DocHead.setTitle(productName); }, sendSMTPTestEmail() { diff --git a/config/router.js b/config/router.js index adf3fc653..888393cfd 100644 --- a/config/router.js +++ b/config/router.js @@ -225,9 +225,8 @@ FlowRouter.route('/global-search', { Utils.manageCustomUI(); Utils.manageMatomo(); - const currentSetting = ReactiveCache.getCurrentSetting && ReactiveCache.getCurrentSetting(); - const productName = currentSetting && currentSetting.productName ? currentSetting.productName : 'WeKan'; - DocHead.setTitle(`${TAPi18n.__('globalSearch-title')} - ${productName}`); + DocHead.setTitle(TAPi18n.__('globalSearch-title')); + if (FlowRouter.getQueryParam('q')) { Session.set( 'globalQuery',