mirror of
https://github.com/makeplane/plane.git
synced 2026-02-25 04:35:21 +01:00
* feat: page comments * chore: added node id * chore: changed reverse relation * chore: added resolve comment endpoint * fix: build errors * fix: basic comment decoration added * fix: add marks * fix: operations * fix: to ditch decorations approach! * fix: move dev-wiki into apps * fix: new approach with some more types * fix: link view container * fix: editor ee packages updated * fix: basic threads implementation added * fix: comments scroll and filtering * fix scrolling * chore: added total count for comments * fix: seperate the comments store * fix: comments removal * feat: multi comment on same mark * fix: mark fixed and styles of comments fixed! * feat: added better animations * fix: better styles and animations for comments * fix: ee seperation * fix: threads api fix * fix: new comment store attached * fix: resolve and delete * fix: remove framer motion * fix: add comment ordering * fix: delete extension * fix: web * fix: context aware comments * fix: new working comment store * fix: getting changes to web * fix: ui of comments * fix: comment mark resolution fixed * fix: move changes to store * temp fix: project pages * fix: comments using lite text editor * fix: rerendering infinitely * fix: comment box and reference * chore: updated the migration file * fix: move things to ee * chore: un commented the feature flag logic * chore: removed an extra line in feature flag * fix: editor types * fix: scrolling of thread items * fix: scrolling of thread items * fix: type errors * fix: comment creation * fix: page comments * fix: page comments * fix: remove utils * fix: added feature flagging * fix:loading json content * fix: upload items * fix: upload items * fix: ui chanegs * fix: comment box * fix: better spacing * Fix spacing and removing the divs not needed anymore * fix: comments storing json * Add comment thread management hooks * Replace use-new-comment hook with use-scroll-manager Remove useNewComment hook and related logic. Add useScrollManager hook for managing scroll behavior in the comments sidebar. Refactor threads-sidebar to use scroll manager for thread and comment box navigation. Add cancel button to new comment box. * Remove hover and click effects for resolved comment marks * Auto-scroll new comments in sidebar after order sync Adds highlight and scroll-to behavior for newly created comments. Sidebar now scrolls to the new thread after comments order updates. * Add granular page comment permissions and UI checks Introduce canCurrentUserCommentOnPage permission for pages. Update comment UI to respect user comment permissions. Refactor comment creation logic into useNewComment hook. Hide comment/reply UI for users without permission. * Refactor comments components and imports for clarity and type safety * Refactor comments components to use local types and remove unused files - Move type definitions from shared types file into local components - Remove unused comment-reactions component and types/index.ts - Update imports to use local hooks and types - Minor code cleanup and formatting * Refactor comments feature flag and clean up comments components - Replace isPageCommentsEnabled with isCommentsEnabled in page stores - Remove unused types, utils, and reactions components from comments - Move and rename comments components for consistency - Update editor flagging to use new comments feature flag logic - Simplify comments sidebar and thread item structure - Remove redundant exports and props from comments modules * Refactor comments extension to use workspace feature flag - Pass storeType to navigation pane extensions - Check isCommentsEnabled with workspaceSlug before rendering comments - Update canComment logic to use canCurrentUserCommentOnPage - Remove console.log and unused code - Fix types for extension props * Add canCurrentUserCommentOnPage to TeamspacePage * Refactor TCommentConfig type and move EditorSideEffects - Move TCommentConfig to ce/types/editor.ts and ee * fix: ce sync * fix: prosemirror-model fixed * chore: removed the extra migration * chore: added page comments serializer * fix: comments * refactor: comments * fix: ce/ee seperation * chore: changed the page serialization * fix: page comments refactored * fix: remove ce changes * fix: restoration for nested pages fixed * fix: less ce changes * fix: imports * fix: better refactoring of page root and editor body * fix: renaming files * fix: editor sideeffects * fix: add comments json field * fix: page comments types * fix: lint warnings * fix: props name change * fix: props name * fix: comment mark * fix: import type * fix: review changes * fix: extra checks * fix: type changes * fix: remove editor ref current * fix: renaming * fix: renaming files * fix: comments extension revamp * fix: declaring better types * fix: better types * fix: hooks seperated * fix: edit box * fix: html validation * fix: agents md * fix: naming convention * fix: update names and service methods * fix: more fixes * fix: attributs * fix: dev wiki sync --------- Co-authored-by: Palanikannan M <akashmalinimurugu@gmail.com> Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
312 lines
6.1 KiB
CSS
312 lines
6.1 KiB
CSS
.rdp-root {
|
|
font-size: 12px;
|
|
|
|
--rdp-cell-size: 40px;
|
|
/* Size of the day cells. */
|
|
--rdp-caption-font-size: 1rem;
|
|
/* Font size for the caption labels. */
|
|
--rdp-caption-navigation-size: 1.25rem;
|
|
/* Font size for the caption labels. */
|
|
--rdp-accent-color: rgba(var(--color-primary-100));
|
|
/* Accent color for the background of selected days. */
|
|
--rdp-background-color: rgba(var(--color-primary-100), 0.5);
|
|
/* Background color for the hovered/focused elements. */
|
|
--rdp-dark-background-color: rgba(var(--color-primary-300));
|
|
/* Background color for the hovered/focused, already selected elements. */
|
|
--rdp-outline: 2px solid var(--rdp-accent-color);
|
|
/* Outline border for focused elements */
|
|
--rdp-selected-color: #ffffff;
|
|
/* Color of selected day text */
|
|
|
|
background: transparent;
|
|
}
|
|
|
|
.rdp-root {
|
|
position: relative; /* Required to position the nav. */
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* ---------- */
|
|
/* Day Buttons */
|
|
/* ----------- */
|
|
|
|
.rdp-day_button {
|
|
display: flex;
|
|
overflow: hidden;
|
|
align-items: center;
|
|
justify-content: center;
|
|
box-sizing: border-box;
|
|
width: var(--rdp-cell-size);
|
|
max-width: var(--rdp-cell-size);
|
|
height: var(--rdp-cell-size);
|
|
margin: 0;
|
|
border: 2px solid transparent;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.rdp-day.rdp-outside:not(.rdp-selected) .rdp-day_button {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.rdp-day.rdp-disabled:not(.rdp-selected) .rdp-day_button {
|
|
opacity: 0.25;
|
|
}
|
|
|
|
.rdp-day:not(.rdp-disabled) .rdp-day_button {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.rdp-day:not(.rdp-selected, .rdp-disabled) .rdp-day_button:focus-visible {
|
|
color: inherit;
|
|
background-color: var(--rdp-background-color);
|
|
}
|
|
|
|
.rdp-selected:not(.rdp-range_middle, .rdp-disabled) .rdp-day_button:focus-visible {
|
|
outline: var(--rdp-outline);
|
|
outline-offset: 2px;
|
|
background-color: var(--rdp-dark-background-color);
|
|
outline-width: thin;
|
|
}
|
|
|
|
.rdp-day:not(.rdp-disabled) .rdp-day_button:hover {
|
|
background-color: var(--rdp-background-color);
|
|
}
|
|
|
|
.rdp-selected .rdp-day_button {
|
|
background-color: var(--rdp-accent-color);
|
|
border-radius: 50%;
|
|
color: var(--rdp-selected-color);
|
|
z-index: 1;
|
|
}
|
|
|
|
.rdp-selected .rdp-day_button:hover:not(.rdp-disabled) {
|
|
background-color: var(--rdp-dark-background-color);
|
|
}
|
|
|
|
.rdp-week {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.rdp-today:not(.rdp-outside) {
|
|
position: relative;
|
|
}
|
|
|
|
.rdp-today:not(.rdp-outside)::after {
|
|
content: "";
|
|
position: absolute;
|
|
left: 50%;
|
|
bottom: 2px;
|
|
width: 0.5em;
|
|
height: 0.5em;
|
|
background-color: var(--rdp-background-color);
|
|
border-radius: 100%;
|
|
transform: translate(-50%, 0);
|
|
}
|
|
|
|
.rdp-selected .rdp-day_button:focus-visible,
|
|
.rdp-selected .rdp-day_button:hover {
|
|
color: var(--rdp-selected-color);
|
|
opacity: 1;
|
|
background-color: var(--rdp-accent-color);
|
|
}
|
|
|
|
.rdp-weekday {
|
|
vertical-align: middle;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
font-size: 0.75em;
|
|
height: var(--rdp-cell-size);
|
|
padding: 0;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
/* ---------- */
|
|
/* Top Nav */
|
|
/* ---------- */
|
|
|
|
.rdp-nav {
|
|
box-sizing: border-box;
|
|
position: absolute;
|
|
padding: inherit;
|
|
|
|
top: 1.2em;
|
|
right: 1em;
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.rdp-button_next,
|
|
.rdp-button_previous {
|
|
border: none;
|
|
background: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
cursor: pointer;
|
|
font: inherit;
|
|
-moz-appearance: none;
|
|
-webkit-appearance: none;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
appearance: none;
|
|
width: var(--rdp-caption-navigation-size);
|
|
height: var(--rdp-caption-navigation-size);
|
|
padding: 0.25em;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
.rdp-chevron {
|
|
fill: rgba(var(--color-text-200));
|
|
height: 0.75rem;
|
|
width: 0.75rem;
|
|
}
|
|
|
|
.rdp-button_next:hover,
|
|
.rdp-button_previous:hover,
|
|
.rdp-button_next:focus-visible,
|
|
.rdp-button_previous:focus-visible {
|
|
background-color: rgba(var(--color-background-80)) !important;
|
|
}
|
|
|
|
/* ---------- */
|
|
/* Dropdowns */
|
|
/* ---------- */
|
|
|
|
.rdp-dropdowns {
|
|
position: relative;
|
|
/* width: 100%; */
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.rdp-dropdown {
|
|
appearance: none;
|
|
--webkit-appearance: none;
|
|
--moz-appearance: none;
|
|
position: absolute;
|
|
z-index: 2;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
opacity: 0;
|
|
border: none;
|
|
font-family: inherit;
|
|
font-size: 1rem;
|
|
line-height: inherit;
|
|
cursor: pointer;
|
|
background: transparent;
|
|
|
|
&:hover {
|
|
background-color: rgba(var(--color-background-80)) !important;
|
|
}
|
|
}
|
|
|
|
.rdp-dropdown_root {
|
|
margin: 0;
|
|
position: relative;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.rdp-months_dropdown {
|
|
text-transform: capitalize;
|
|
}
|
|
|
|
.rdp-dropdown[data-disabled="true"] {
|
|
opacity: unset;
|
|
color: unset;
|
|
}
|
|
|
|
.rdp-caption_label {
|
|
z-index: 1;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
margin: 0;
|
|
padding: 0 0.25em;
|
|
white-space: nowrap;
|
|
color: currentColor;
|
|
border: 0;
|
|
border: 2px solid transparent;
|
|
font-family: inherit;
|
|
font-size: var(--rdp-caption-font-size);
|
|
font-weight: 600;
|
|
background: transparent;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.rdp-dropdown:not([data-disabled="true"]) {
|
|
&:focus-visible + .rdp-caption_label {
|
|
border: var(--rdp-outline);
|
|
border-radius: 6px;
|
|
}
|
|
|
|
&:hover {
|
|
& + .rdp-caption_label {
|
|
background-color: rgba(var(--color-background-80)) !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.rdp-dropdown_icon {
|
|
margin: 0 0 0 5px;
|
|
}
|
|
|
|
/* --------------- */
|
|
/* Range selection */
|
|
/* --------------- */
|
|
|
|
.rdp-range_start,
|
|
.rdp-range_middle,
|
|
.rdp-range_end {
|
|
position: relative;
|
|
}
|
|
|
|
.rdp-range_start::before,
|
|
.rdp-range_middle::before,
|
|
.rdp-range_end::before {
|
|
content: "";
|
|
position: absolute;
|
|
background-color: var(--rdp-background-color);
|
|
top: 50%;
|
|
height: 100%;
|
|
width: 50%;
|
|
transform: translate(0, -50%);
|
|
z-index: -1;
|
|
}
|
|
|
|
.rdp-range_start::before {
|
|
left: 50%;
|
|
}
|
|
|
|
.rdp-range_middle::before {
|
|
left: 50%;
|
|
width: 100%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
.rdp-range_end::before {
|
|
right: 50%;
|
|
}
|
|
|
|
.rdp-range_start.rdp-range_end::before {
|
|
display: none;
|
|
}
|
|
|
|
.rdp-range_middle .rdp-day_button {
|
|
background-color: transparent;
|
|
color: inherit;
|
|
}
|
|
|
|
.rdp-day.rdp-range_middle .rdp-day_button:hover,
|
|
.rdp-day.rdp-range_middle .rdp-day_button:focus-visible {
|
|
background-color: var(--rdp-background-color);
|
|
color: inherit;
|
|
}
|