Files
worklenz/worklenz-frontend/src/index.css
chamiakJ 174c6bcedf feat(custom-columns): enhance task management with custom column support
- Added custom column values to task responses in the API for better task management flexibility.
- Implemented custom column components in the frontend, including dropdowns and date pickers, to improve user interaction.
- Updated TaskListV2 and TaskRow components to handle custom columns, ensuring proper rendering and functionality.
- Introduced a new PeopleDropdown component for selecting team members in custom columns, enhancing usability.
- Enhanced styling for custom column components to support both light and dark modes, improving visual consistency.
2025-07-07 02:04:05 +05:30

478 lines
12 KiB
CSS

@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import url("./styles/customOverrides.css");
@import url("./styles/task-management.css");
@tailwind base;
@tailwind components;
@tailwind utilities;
.app-loading-container {
transition: none !important;
}
.app-loading-container * {
transition: none !important;
}
/* Ensure loading spinner has proper contrast */
.app-loading-container .ant-spin {
transition: none !important;
}
/* Prevent background flash during load */
html,
body {
transition: background-color 0.3s ease;
margin: 0;
padding: 0;
}
html.dark,
html.dark body {
background-color: #181818;
color: #ffffff;
}
html.light,
html.light body {
background-color: #fafafa;
color: #181818;
}
/* Prevent content flash */
#root {
opacity: 0;
animation: fadeIn 0.3s ease forwards;
}
@keyframes fadeIn {
to {
opacity: 1;
}
}
/* antdesign override imports */
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family:
-apple-system, BlinkMacSystemFont, "Inter", Roboto, "Helvetica Neue", Arial, "Noto Sans",
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}
/* helper classes */
.borderless-icon-btn {
border: none;
}
.blue-link {
color: #1890ff;
/* This is Ant Design's default link color */
}
.ps__rail-y {
opacity: 1 !important;
/* Always show the scrollbar */
right: 0px;
/* Position scrollbar to the right */
width: 8px !important;
/* Set a consistent scrollbar width */
}
.ps__thumb-y {
width: 8px !important;
/* Ensure the scrollbar thumb stays the same size */
background-color: #dbd6d6 !important;
/* Customize scrollbar color */
border-radius: 4px;
/* Rounded edges for the scrollbar */
}
.ps__rail-y:hover,
.ps__rail-y:focus {
background-color: transparent !important;
/* Prevent any changes on hover */
}
.ps__rail-y:hover .ps__thumb-y,
.ps__rail-y:focus .ps__thumb-y {
background-color: #c4c4c4 !important;
/* Keep the thumb color constant on hover */
width: 10px;
}
/* Customize website's scrollbar like Mac OS
Not supports in Firefox and IE */
/* total width */
*::-webkit-scrollbar {
background-color: transparent;
width: 8px;
height: 8px;
}
/* background of the scrollbar except button or resizer */
*::-webkit-scrollbar-track {
background-color: transparent;
}
/* scrollbar itself */
*::-webkit-scrollbar-thumb {
background-color: rgba(204, 204, 204, 0.5);
border-radius: 16px;
}
*::-webkit-scrollbar-thumb:hover {
background-color: #ababab;
}
/* set button(top and bottom of the scrollbar) */
*::-webkit-scrollbar-button {
display: none;
}
.ant-table-row:hover .action-button {
opacity: 1;
}
.action-buttons {
opacity: 0;
transition: opacity 0.1s ease-in-out;
}
tr:hover .action-buttons {
opacity: 1;
}
/* Custom column components z-index hierarchy */
.custom-column-cell {
position: relative;
z-index: 1;
}
.custom-column-cell.focused {
z-index: 10;
}
.custom-column-dropdown {
z-index: 1000;
}
.custom-selection-dropdown .ant-dropdown {
z-index: 1050 !important;
}
/* Ensure people dropdown has higher z-index */
.people-dropdown-portal {
z-index: 9999 !important;
}
/* Number input focused state */
.number-input-container.focused {
z-index: 20;
}
.number-input-container.focused input {
z-index: 21;
}
/* Custom column number input styles */
.custom-column-number-input {
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
overflow: hidden !important;
}
.custom-column-number-input .ant-input-group {
width: 100% !important;
max-width: 100% !important;
display: flex !important;
overflow: hidden !important;
}
.custom-column-number-input .ant-input {
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
padding: 2px 6px !important;
}
.custom-column-number-input.light-mode .ant-input {
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
color: #1f2937 !important;
}
.custom-column-number-input.light-mode .ant-input::placeholder {
color: #9ca3af !important;
}
.custom-column-number-input.light-mode .ant-input:hover {
background-color: rgba(243, 244, 246, 0.5) !important;
border: none !important;
}
.custom-column-number-input.light-mode .ant-input:focus {
background-color: rgba(243, 244, 246, 0.8) !important;
border: none !important;
box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important;
}
.custom-column-number-input.dark-mode .ant-input {
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
color: #e5e7eb !important;
}
.custom-column-number-input.dark-mode .ant-input::placeholder {
color: #6b7280 !important;
}
.custom-column-number-input.dark-mode .ant-input:hover {
background-color: rgba(55, 65, 81, 0.3) !important;
border: none !important;
}
.custom-column-number-input.dark-mode .ant-input:focus {
background-color: rgba(55, 65, 81, 0.5) !important;
border: none !important;
box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important;
}
/* Addon styles for light mode */
.custom-column-number-input.light-mode .ant-input-group-addon {
background-color: #f3f4f6 !important;
border: 1px solid #e5e7eb !important;
color: #6b7280 !important;
padding: 2px 6px !important;
font-size: 12px !important;
}
/* Addon styles for dark mode */
.custom-column-number-input.dark-mode .ant-input-group-addon {
background-color: #374151 !important;
border: 1px solid #4b5563 !important;
color: #9ca3af !important;
padding: 2px 6px !important;
font-size: 12px !important;
}
/* Dark mode styles for Ant Design components in custom columns */
[data-theme="dark"] .ant-picker,
[data-theme="dark"] .ant-picker-input > input,
.theme-dark .ant-picker,
.theme-dark .ant-picker-input > input {
background-color: transparent !important;
border-color: transparent !important;
color: #e5e7eb !important;
}
[data-theme="dark"] .ant-picker-input > input::placeholder,
.theme-dark .ant-picker-input > input::placeholder {
color: #6b7280 !important;
}
[data-theme="dark"] .ant-picker:hover,
.theme-dark .ant-picker:hover {
border-color: transparent !important;
background-color: rgba(55, 65, 81, 0.3) !important;
}
[data-theme="dark"] .ant-picker-focused,
[data-theme="dark"] .ant-picker:focus,
.theme-dark .ant-picker-focused,
.theme-dark .ant-picker:focus {
border-color: rgba(59, 130, 246, 0.5) !important;
background-color: rgba(55, 65, 81, 0.5) !important;
box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important;
}
/* Dark mode dropdown styles */
[data-theme="dark"] .ant-dropdown,
.theme-dark .ant-dropdown {
background-color: #1f1f1f !important;
}
[data-theme="dark"] .ant-dropdown-menu,
.theme-dark .ant-dropdown-menu {
background-color: #1f1f1f !important;
border-color: #374151 !important;
}
[data-theme="dark"] .ant-dropdown-menu-item,
.theme-dark .ant-dropdown-menu-item {
color: #e5e7eb !important;
}
[data-theme="dark"] .ant-dropdown-menu-item:hover,
.theme-dark .ant-dropdown-menu-item:hover {
background-color: #374151 !important;
}
/* Dark mode date picker popup */
.dark-date-picker .ant-picker-panel,
.dark-date-picker .ant-picker-panel-container {
background-color: #1f1f1f !important;
border-color: #374151 !important;
}
.dark-date-picker .ant-picker-header {
background-color: #1f1f1f !important;
border-bottom-color: #374151 !important;
}
.dark-date-picker .ant-picker-header button {
color: #e5e7eb !important;
}
.dark-date-picker .ant-picker-header button:hover {
color: #60a5fa !important;
}
.dark-date-picker .ant-picker-content {
background-color: #1f1f1f !important;
}
.dark-date-picker .ant-picker-cell {
color: #e5e7eb !important;
}
.dark-date-picker .ant-picker-cell:hover .ant-picker-cell-inner {
background-color: #374151 !important;
}
.dark-date-picker .ant-picker-cell-selected .ant-picker-cell-inner {
background-color: #3b82f6 !important;
color: #ffffff !important;
}
.dark-date-picker .ant-picker-cell-today .ant-picker-cell-inner {
border-color: #60a5fa !important;
}
.dark-date-picker .ant-picker-footer {
background-color: #1f1f1f !important;
border-top-color: #374151 !important;
}
.dark-date-picker .ant-picker-footer .ant-btn {
color: #e5e7eb !important;
}
.dark-date-picker .ant-picker-footer .ant-btn:hover {
color: #60a5fa !important;
}
/* Global dark mode styles for date picker popups */
[data-theme="dark"] .ant-picker-dropdown .ant-picker-panel-container,
.theme-dark .ant-picker-dropdown .ant-picker-panel-container {
background-color: #1f1f1f !important;
border-color: #374151 !important;
}
[data-theme="dark"] .ant-picker-dropdown .ant-picker-header,
.theme-dark .ant-picker-dropdown .ant-picker-header {
background-color: #1f1f1f !important;
border-bottom-color: #374151 !important;
}
[data-theme="dark"] .ant-picker-dropdown .ant-picker-header button,
.theme-dark .ant-picker-dropdown .ant-picker-header button {
color: #e5e7eb !important;
}
[data-theme="dark"] .ant-picker-dropdown .ant-picker-header button:hover,
.theme-dark .ant-picker-dropdown .ant-picker-header button:hover {
color: #60a5fa !important;
}
[data-theme="dark"] .ant-picker-dropdown .ant-picker-content,
.theme-dark .ant-picker-dropdown .ant-picker-content {
background-color: #1f1f1f !important;
}
[data-theme="dark"] .ant-picker-dropdown .ant-picker-cell,
.theme-dark .ant-picker-dropdown .ant-picker-cell {
color: #e5e7eb !important;
}
[data-theme="dark"] .ant-picker-dropdown .ant-picker-cell:hover .ant-picker-cell-inner,
.theme-dark .ant-picker-dropdown .ant-picker-cell:hover .ant-picker-cell-inner {
background-color: #374151 !important;
}
[data-theme="dark"] .ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner,
.theme-dark .ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner {
background-color: #3b82f6 !important;
color: #ffffff !important;
}
[data-theme="dark"] .ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner,
.theme-dark .ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner {
border-color: #60a5fa !important;
}
/* Custom column date picker styles */
.custom-column-date-picker.light-mode .ant-picker-input > input {
background-color: transparent !important;
border: none !important;
color: #1f2937 !important;
}
.custom-column-date-picker.light-mode .ant-picker-input > input::placeholder {
color: #9ca3af !important;
}
.custom-column-date-picker.light-mode:hover {
background-color: rgba(243, 244, 246, 0.5) !important;
}
.custom-column-date-picker.light-mode:focus,
.custom-column-date-picker.light-mode.ant-picker-focused {
background-color: rgba(243, 244, 246, 0.8) !important;
box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important;
}
.custom-column-date-picker.dark-mode .ant-picker-input > input {
background-color: transparent !important;
border: none !important;
color: #e5e7eb !important;
}
.custom-column-date-picker.dark-mode .ant-picker-input > input::placeholder {
color: #6b7280 !important;
}
.custom-column-date-picker.dark-mode:hover {
background-color: rgba(55, 65, 81, 0.3) !important;
}
.custom-column-date-picker.dark-mode:focus,
.custom-column-date-picker.dark-mode.ant-picker-focused {
background-color: rgba(55, 65, 81, 0.5) !important;
box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important;
}
/* Custom column selection dropdown styles */
.custom-selection-dropdown [data-theme="dark"] .ant-dropdown-menu,
.custom-selection-dropdown .theme-dark .ant-dropdown-menu {
background-color: #1f1f1f !important;
border-color: #374151 !important;
}
.custom-selection-dropdown [data-theme="dark"] .ant-dropdown-menu-item,
.custom-selection-dropdown .theme-dark .ant-dropdown-menu-item {
color: #e5e7eb !important;
}
.custom-selection-dropdown [data-theme="dark"] .ant-dropdown-menu-item:hover,
.custom-selection-dropdown .theme-dark .ant-dropdown-menu-item:hover {
background-color: #374151 !important;
}