mirror of
https://github.com/linsa-io/linsa.git
synced 2026-01-12 12:20:23 +01:00
fix: topic selector (#129)
* feat: add jazz globa group cons * chore: remove topic selector atom * chore: use jazz from constant * chore: remove delete model and add new topic selector * chore: use jazz group id form constant in search component * chore: use jazz group id form constant in public home route * fix: topic selector in link * fix: topic section in detail topic * chore: update la editor * chore: content header tweak class * chore: add btn variant to topic selector * refactor: tweak border for link header * chore: page header * fix: page detail route
This commit is contained in:
@@ -1,140 +1,6 @@
|
||||
:root {
|
||||
--la-font-size-regular: 0.9375rem;
|
||||
|
||||
--la-code-background: rgba(8, 43, 120, 0.047);
|
||||
--la-code-color: rgb(212, 212, 212);
|
||||
--la-secondary: rgb(157, 157, 159);
|
||||
--la-pre-background: rgb(236, 236, 236);
|
||||
--la-pre-border: rgb(224, 224, 224);
|
||||
--la-pre-color: rgb(47, 47, 49);
|
||||
--la-hr: rgb(220, 220, 220);
|
||||
--la-drag-handle-hover: rgb(92, 92, 94);
|
||||
|
||||
--hljs-string: rgb(170, 67, 15);
|
||||
--hljs-title: rgb(176, 136, 54);
|
||||
--hljs-comment: rgb(153, 153, 153);
|
||||
--hljs-keyword: rgb(12, 94, 177);
|
||||
--hljs-attr: rgb(58, 146, 188);
|
||||
--hljs-literal: rgb(200, 43, 15);
|
||||
--hljs-name: rgb(37, 151, 146);
|
||||
--hljs-selector-tag: rgb(200, 80, 15);
|
||||
--hljs-number: rgb(61, 160, 103);
|
||||
}
|
||||
|
||||
.dark .ProseMirror {
|
||||
--la-code-background: rgba(255, 255, 255, 0.075);
|
||||
--la-code-color: rgb(44, 46, 51);
|
||||
--la-secondary: rgb(89, 90, 92);
|
||||
--la-pre-background: rgb(8, 8, 8);
|
||||
--la-pre-border: rgb(35, 37, 42);
|
||||
--la-pre-color: rgb(227, 228, 230);
|
||||
--la-hr: rgb(38, 40, 45);
|
||||
--la-drag-handle-hover: rgb(150, 151, 153);
|
||||
|
||||
--hljs-string: rgb(218, 147, 107);
|
||||
--hljs-title: rgb(241, 213, 157);
|
||||
--hljs-comment: rgb(170, 170, 170);
|
||||
--hljs-keyword: rgb(102, 153, 204);
|
||||
--hljs-attr: rgb(144, 202, 232);
|
||||
--hljs-literal: rgb(242, 119, 122);
|
||||
--hljs-name: rgb(95, 192, 160);
|
||||
--hljs-selector-tag: rgb(232, 199, 133);
|
||||
--hljs-number: rgb(182, 231, 182);
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror {
|
||||
@apply flex max-w-full flex-1 cursor-text flex-col;
|
||||
@apply z-0 outline-0;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror > div.editor {
|
||||
@apply block flex-1 whitespace-pre-wrap;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .block-node:not(:last-child),
|
||||
.la-editor .ProseMirror .list-node:not(:last-child),
|
||||
.la-editor .ProseMirror .text-node:not(:last-child) {
|
||||
@apply mb-2.5;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror ol,
|
||||
.la-editor .ProseMirror ul {
|
||||
@apply pl-6;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror blockquote,
|
||||
.la-editor .ProseMirror dl,
|
||||
.la-editor .ProseMirror ol,
|
||||
.la-editor .ProseMirror p,
|
||||
.la-editor .ProseMirror pre,
|
||||
.la-editor .ProseMirror ul {
|
||||
@apply m-0;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror li {
|
||||
@apply leading-7;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror p {
|
||||
@apply break-words;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror li .text-node:has(+ .list-node),
|
||||
.la-editor .ProseMirror li > .list-node,
|
||||
.la-editor .ProseMirror li > .text-node,
|
||||
.la-editor .ProseMirror li p {
|
||||
@apply mb-0;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror blockquote {
|
||||
@apply relative pl-3.5;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror blockquote::before,
|
||||
.la-editor .ProseMirror blockquote.is-empty::before {
|
||||
@apply bg-accent absolute bottom-0 left-0 top-0 h-full w-1 rounded-sm content-[''];
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror hr {
|
||||
@apply my-3 h-0.5 w-full border-none bg-[var(--la-hr)];
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror-focused hr.ProseMirror-selectednode {
|
||||
@apply outline-muted-foreground rounded-full outline outline-2 outline-offset-1;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .ProseMirror-gapcursor {
|
||||
@apply pointer-events-none absolute hidden;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .ProseMirror-hideselection {
|
||||
@apply caret-transparent;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror.resize-cursor {
|
||||
@apply cursor-col-resize;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .selection {
|
||||
@apply inline-block;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .selection,
|
||||
.la-editor .ProseMirror *::selection,
|
||||
::selection {
|
||||
@apply bg-primary/40;
|
||||
}
|
||||
|
||||
/* Override native selection when custom selection is present */
|
||||
.la-editor .ProseMirror .selection::selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
[data-theme="slash-command"] {
|
||||
width: 1000vw;
|
||||
}
|
||||
|
||||
@import "./partials/code.css";
|
||||
@import "./partials/placeholder.css";
|
||||
@import "./partials/lists.css";
|
||||
@import "./partials/typography.css";
|
||||
@import "partials/vars.css";
|
||||
@import "partials/prosemirror-base.css";
|
||||
@import "partials/code-highlight.css";
|
||||
@import "partials/lists.css";
|
||||
@import "partials/typography.css";
|
||||
@import "partials/misc.css";
|
||||
|
||||
86
web/components/la-editor/styles/partials/code-highlight.css
Normal file
86
web/components/la-editor/styles/partials/code-highlight.css
Normal file
@@ -0,0 +1,86 @@
|
||||
.la-editor .ProseMirror code.inline {
|
||||
@apply rounded border border-[var(--la-code-color)] bg-[var(--la-code-background)] px-1 py-0.5 text-sm;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror pre {
|
||||
@apply relative overflow-auto rounded border font-mono text-sm;
|
||||
@apply border-[var(--la-pre-border)] bg-[var(--la-pre-background)] text-[var(--la-pre-color)];
|
||||
@apply hyphens-none whitespace-pre text-left;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror code {
|
||||
@apply break-words leading-[1.7em];
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror pre code {
|
||||
@apply block overflow-x-auto p-3.5;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror pre {
|
||||
.hljs-keyword,
|
||||
.hljs-operator,
|
||||
.hljs-function,
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name {
|
||||
color: var(--hljs-keyword);
|
||||
}
|
||||
|
||||
.hljs-attr,
|
||||
.hljs-symbol,
|
||||
.hljs-property,
|
||||
.hljs-attribute,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-params {
|
||||
color: var(--hljs-attr);
|
||||
}
|
||||
|
||||
.hljs-name,
|
||||
.hljs-regexp,
|
||||
.hljs-link,
|
||||
.hljs-type,
|
||||
.hljs-addition {
|
||||
color: var(--hljs-name);
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-bullet {
|
||||
color: var(--hljs-string);
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-subst,
|
||||
.hljs-section {
|
||||
color: var(--hljs-title);
|
||||
}
|
||||
|
||||
.hljs-literal,
|
||||
.hljs-type,
|
||||
.hljs-deletion {
|
||||
color: var(--hljs-literal);
|
||||
}
|
||||
|
||||
.hljs-selector-tag,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class {
|
||||
color: var(--hljs-selector-tag);
|
||||
}
|
||||
|
||||
.hljs-number {
|
||||
color: var(--hljs-number);
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-meta,
|
||||
.hljs-quote {
|
||||
color: var(--hljs-comment);
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
@apply italic;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
@apply font-bold;
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,7 @@
|
||||
[data-theme="slash-command"] {
|
||||
width: 1000vw;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .is-empty::before {
|
||||
@apply pointer-events-none float-left h-0 w-full text-[var(--la-secondary)];
|
||||
}
|
||||
@@ -10,3 +14,7 @@
|
||||
content: attr(data-placeholder);
|
||||
@apply pointer-events-none float-left h-0 text-[var(--la-secondary)];
|
||||
}
|
||||
|
||||
.la-editor div.tiptap p {
|
||||
@apply text-[var(--la-font-size-regular)];
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
.la-editor .ProseMirror {
|
||||
@apply block flex-1 whitespace-pre-wrap outline-0 focus:outline-none;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .block-node:not(:last-child),
|
||||
.la-editor .ProseMirror .list-node:not(:last-child),
|
||||
.la-editor .ProseMirror .text-node:not(:last-child) {
|
||||
@apply mb-2.5;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror ol,
|
||||
.la-editor .ProseMirror ul {
|
||||
@apply pl-6;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror blockquote,
|
||||
.la-editor .ProseMirror dl,
|
||||
.la-editor .ProseMirror ol,
|
||||
.la-editor .ProseMirror p,
|
||||
.la-editor .ProseMirror pre,
|
||||
.la-editor .ProseMirror ul {
|
||||
@apply m-0;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror li {
|
||||
@apply leading-7;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror p {
|
||||
@apply break-words;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror li .text-node:has(+ .list-node),
|
||||
.la-editor .ProseMirror li > .list-node,
|
||||
.la-editor .ProseMirror li > .text-node,
|
||||
.la-editor .ProseMirror li p {
|
||||
@apply mb-0;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror blockquote {
|
||||
@apply relative pl-3.5;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror blockquote::before,
|
||||
.la-editor .ProseMirror blockquote.is-empty::before {
|
||||
@apply bg-accent-foreground/15 absolute bottom-0 left-0 top-0 h-full w-1 rounded-sm content-[''];
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror hr {
|
||||
@apply my-3 h-0.5 w-full border-none bg-[var(--la-hr)];
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror-focused hr.ProseMirror-selectednode {
|
||||
@apply outline-muted-foreground rounded-full outline outline-2 outline-offset-1;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .ProseMirror-gapcursor {
|
||||
@apply pointer-events-none absolute hidden;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .ProseMirror-hideselection {
|
||||
@apply caret-transparent;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror.resize-cursor {
|
||||
@apply cursor-col-resize;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .selection {
|
||||
@apply inline-block;
|
||||
}
|
||||
|
||||
.la-editor .ProseMirror .selection,
|
||||
.la-editor .ProseMirror *::selection,
|
||||
::selection {
|
||||
@apply bg-primary/40;
|
||||
}
|
||||
|
||||
/* Override native selection when custom selection is present */
|
||||
.la-editor .ProseMirror .selection::selection {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
[data-theme="slash-command"] {
|
||||
width: 1000vw;
|
||||
}
|
||||
43
web/components/la-editor/styles/partials/vars.css
Normal file
43
web/components/la-editor/styles/partials/vars.css
Normal file
@@ -0,0 +1,43 @@
|
||||
:root {
|
||||
--la-font-size-regular: 0.9375rem;
|
||||
|
||||
--la-code-background: rgba(8, 43, 120, 0.047);
|
||||
--la-code-color: rgb(212, 212, 212);
|
||||
--la-secondary: rgb(157, 157, 159);
|
||||
--la-pre-background: rgb(236, 236, 236);
|
||||
--la-pre-border: rgb(224, 224, 224);
|
||||
--la-pre-color: rgb(47, 47, 49);
|
||||
--la-hr: rgb(220, 220, 220);
|
||||
--la-drag-handle-hover: rgb(92, 92, 94);
|
||||
|
||||
--hljs-string: rgb(170, 67, 15);
|
||||
--hljs-title: rgb(176, 136, 54);
|
||||
--hljs-comment: rgb(153, 153, 153);
|
||||
--hljs-keyword: rgb(12, 94, 177);
|
||||
--hljs-attr: rgb(58, 146, 188);
|
||||
--hljs-literal: rgb(200, 43, 15);
|
||||
--hljs-name: rgb(37, 151, 146);
|
||||
--hljs-selector-tag: rgb(200, 80, 15);
|
||||
--hljs-number: rgb(61, 160, 103);
|
||||
}
|
||||
|
||||
.dark .ProseMirror {
|
||||
--la-code-background: rgba(255, 255, 255, 0.075);
|
||||
--la-code-color: rgb(44, 46, 51);
|
||||
--la-secondary: rgb(89, 90, 92);
|
||||
--la-pre-background: rgb(8, 8, 8);
|
||||
--la-pre-border: rgb(35, 37, 42);
|
||||
--la-pre-color: rgb(227, 228, 230);
|
||||
--la-hr: rgb(38, 40, 45);
|
||||
--la-drag-handle-hover: rgb(150, 151, 153);
|
||||
|
||||
--hljs-string: rgb(218, 147, 107);
|
||||
--hljs-title: rgb(241, 213, 157);
|
||||
--hljs-comment: rgb(170, 170, 170);
|
||||
--hljs-keyword: rgb(102, 153, 204);
|
||||
--hljs-attr: rgb(144, 202, 232);
|
||||
--hljs-literal: rgb(242, 119, 122);
|
||||
--hljs-name: rgb(95, 192, 160);
|
||||
--hljs-selector-tag: rgb(232, 199, 133);
|
||||
--hljs-number: rgb(182, 231, 182);
|
||||
}
|
||||
Reference in New Issue
Block a user