Merge pull request #1405 from PR0M3TH3AN/ai/onboarding-20231027-15933194820812210320

docs(ai): improve onboarding steps
This commit is contained in:
thePR0M3TH3AN authored and GitHub committed 2026-01-19 14:39:54 -05:00
commit aa370a39f5
8 files changed
+4492 -2057

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
:root{--surface-base:var(--color-surface);--surface-alt:var(--color-surface-alt);--surface-raised:var(--color-card);--surface-raised-private:var(--color-card-private);--surface-raised-critical:var(--color-card-critical);--surface-panel:var(--color-panel);--surface-panel-hover:var(--color-panel-hover);--surface-sunken:var(--color-surface-sunken);--surface-muted:var(--color-surface-muted);--surface-veil:var(--color-overlay-veil);--surface-inverse:var(--color-page);--surface-overlay:var(--color-overlay);--surface-overlay-muted:var(--color-overlay-muted);--surface-overlay-strong:var(--color-overlay-strong);--surface-overlay-darker:var(--color-overlay-darker);--surface-overlay-black:var(--color-overlay-black);--surface-overlay-banner-base:var(--color-page);--surface-overlay-banner:var(--surface-overlay-banner-base);--surface-overlay-banner-opaque:var(--surface-overlay-banner-base);--surface-overlay-banner-strong:color-mix(in srgb,var(--surface-overlay-banner-base) 82%,transparent);--surface-overlay-banner-bottom:color-mix(in srgb,var(--surface-overlay-banner-base) 50%,transparent);--surface-overlay-banner-channel-mid:color-mix(in srgb,var(--surface-overlay-banner-base) 24%,transparent);--surface-overlay-banner-channel-faint:color-mix(in srgb,var(--surface-overlay-banner-base) 10%,transparent);--surface-overlay-banner-soft:color-mix(in srgb,var(--surface-overlay-banner-base) 56%,transparent);--surface-overlay-banner-faint:color-mix(in srgb,var(--surface-overlay-banner-base) 18%,transparent);--surface-overlay-banner-transparent:transparent;--surface-overlay-banner-gradient-header:linear-gradient(to bottom,var(--surface-overlay-banner-opaque) 0%,var(--surface-overlay-banner-strong) 38%,var(--surface-overlay-banner-soft) 70%,var(--surface-overlay-banner-faint) 88%,var(--surface-overlay-banner-transparent) 100%);--surface-overlay-banner-gradient-channel:linear-gradient(to top,var(--surface-overlay-banner-bottom) 0%,var(--surface-overlay-banner-channel-mid) 28%,var(--surface-overlay-banner-channel-faint) 42%,var(--surface-overlay-banner-transparent) 50%);--surface-overlay-banner-gradient:var(
--surface-overlay-banner-gradient-header
);--surface-overlay-panel:var(--color-overlay-panel);--surface-overlay-panel-soft:var(--color-overlay-panel-soft);--surface-overlay-panel-tint:var(--color-overlay-panel-tint);--surface-overlay-panel-glass:var(--color-overlay-panel-glass);--surface-overlay-panel-glass-soft:var(--color-overlay-panel-glass-soft);--surface-modal-backdrop:var(--color-modal-backdrop);--surface-modal:var(--color-modal-surface);--blur-modal-backdrop:18px;--blur-modal-alert:14px;--blur-thumbnail-blur:18px;--modal-nav-backdrop-blur:6px;--app-header-centerline-offset:calc(var(--space-sm) + var(--space-2xl-plus)/2);--border-default:var(--color-border);--border-subtle:var(--color-border-subtle);--border-strong:var(--color-border-translucent-stronger);--border-overlay:var(--color-border-translucent);--border-overlay-strong:var(--color-border-translucent-strongest);--border-overlay-glow:var(--color-border-translucent-glow);--border-neutral-soft:var(--color-border-neutral-soft);--border-info-soft:var(--color-border-info-soft);--border-sidebar-strong:var(--color-border-sidebar-strong);--border-width-hairline:1px;--border-width-fine:0.5px;--text-primary:var(--color-text);--text-inverse:var(--color-text-inverse);--text-muted:var(--color-text-muted);--text-muted-strong:var(--color-muted-strong);--text-subtle:var(--color-subtle-text);--text-frosted-primary:var(--color-text-frosted);--text-frosted-strong:var(--color-text-frosted-strong);--text-frosted-soft:var(--color-text-frosted-soft);--status-info:var(--color-info);--status-info-strong:var(--color-info-strong);--status-info-surface:var(--color-info-glass);--status-info-border:var(--color-info-border);--status-info-on:var(--color-info-on);--status-success:var(--color-success);--status-success-strong:var(--color-success-strong);--status-success-surface:var(--color-success-surface);--status-success-border:var(--color-success-border);--status-success-on:var(--color-success-on);--status-warning:var(--color-warning);--status-warning-strong:var(--color-warning-strong);--status-warning-surface:var(--color-warning-surface);--status-warning-border:var(--color-warning-border);--status-warning-on:var(--color-warning-on);--status-danger:var(--color-critical);--status-danger-strong:var(--color-critical-strong);--status-danger-surface:var(--color-danger-surface);--status-danger-border:var(--color-danger-border);--status-danger-on:var(--color-danger-on);--status-private:var(--color-private);--status-private-strong:var(--color-private-strong);--status-private-surface:var(--color-private-surface);--status-private-border:var(--color-private-border);--status-private-on:var(--color-private-on);--status-neutral:var(--color-muted);--status-neutral-strong:var(--color-muted-strong);--status-neutral-surface:var(--color-neutral-surface);--status-neutral-border:var(--color-neutral-border);--status-neutral-on:var(--color-neutral-on);--message-bubble-background:var(--surface-sunken);--message-bubble-border:var(--border-subtle);--message-bubble-text:var(--text-primary);--message-bubble-meta:var(--text-muted);--message-bubble-outgoing-background:var(--surface-overlay-panel);--message-bubble-outgoing-border:var(--border-overlay);--unread-badge-background:var(--status-info-strong);--unread-badge-text:var(--text-inverse);--reply-highlight-background:var(--status-info-surface);--reply-highlight-border:var(--status-info-border);--reply-highlight-text:var(--status-info-on);--reply-highlight-icon:var(--status-info-on);--notification-banner-accent:var(--color-accent-strong);--notification-banner-accent-strong:var(--color-accent);--notification-banner-border:var(--surface-overlay-panel-tint);--notification-banner-background:var(--surface-overlay-panel);--notification-banner-text:var(--text-primary);--notification-banner-icon:var(--text-primary);--notification-banner-critical-accent:var(--status-danger-strong);--notification-banner-critical-accent-strong:var(--status-danger);--notification-banner-critical-border:var(--color-ring-critical-soft);--notification-banner-critical-background:var(--surface-raised-critical);--notification-banner-critical-text:var(--status-danger-on);--notification-banner-success-accent:var(--status-success-strong);--notification-banner-success-accent-strong:var(--status-success);--notification-banner-success-border:var(--status-success-border);--notification-banner-success-background:var(--status-success-surface);--notification-banner-success-text:var(--status-success-on);--notification-banner-info-accent:var(--status-info-strong);--notification-banner-info-accent-strong:var(--status-info);--notification-banner-info-border:var(--status-info-border);--notification-banner-info-background:var(--status-info-surface);--notification-banner-info-text:var(--status-info-on);--notification-banner-warning-accent:var(--status-warning-strong);--notification-banner-warning-accent-strong:var(--status-warning);--notification-banner-warning-border:var(--status-warning-border);--notification-banner-warning-background:var(--Line truncated
);--surface-overlay-panel:var(--color-overlay-panel);--surface-overlay-panel-soft:var(--color-overlay-panel-soft);--surface-overlay-panel-tint:var(--color-overlay-panel-tint);--surface-overlay-panel-glass:var(--color-overlay-panel-glass);--surface-overlay-panel-glass-soft:var(--color-overlay-panel-glass-soft);--surface-modal-backdrop:var(--color-modal-backdrop);--surface-modal:var(--color-modal-surface);--blur-modal-backdrop:18px;--blur-modal-alert:14px;--blur-thumbnail-blur:18px;--modal-nav-backdrop-blur:6px;--app-header-centerline-offset:calc(var(--space-sm) + var(--space-2xl-plus)/2);--border-default:var(--color-border);--border-subtle:var(--color-border-subtle);--border-strong:var(--color-border-translucent-stronger);--border-overlay:var(--color-border-translucent);--border-overlay-strong:var(--color-border-translucent-strongest);--border-overlay-glow:var(--color-border-translucent-glow);--border-neutral-soft:var(--color-border-neutral-soft);--border-info-soft:var(--color-border-info-soft);--border-sidebar-strong:var(--color-border-sidebar-strong);--border-width-hairline:1px;--border-width-fine:0.5px;--text-primary:var(--color-text);--text-inverse:var(--color-text-inverse);--text-muted:var(--color-text-muted);--text-muted-strong:var(--color-muted-strong);--text-subtle:var(--color-subtle-text);--text-frosted-primary:var(--color-text-frosted);--text-frosted-strong:var(--color-text-frosted-strong);--text-frosted-soft:var(--color-text-frosted-soft);--status-info:var(--color-info);--status-info-strong:var(--color-info-strong);--status-info-surface:var(--color-info-glass);--status-info-border:var(--color-info-border);--status-info-on:var(--color-info-on);--status-success:var(--color-success);--status-success-strong:var(--color-success-strong);--status-success-surface:var(--color-success-surface);--status-success-border:var(--color-success-border);--status-success-on:var(--color-success-on);--status-warning:var(--color-warning);--status-warning-strong:var(--color-warning-strong);--status-warning-surface:var(--color-warning-surface);--status-warning-border:var(--color-warning-border);--status-warning-on:var(--color-warning-on);--status-danger:var(--color-critical);--status-danger-strong:var(--color-critical-strong);--status-danger-surface:var(--color-danger-surface);--status-danger-border:var(--color-danger-border);--status-danger-on:var(--color-danger-on);--status-private:var(--color-private);--status-private-strong:var(--color-private-strong);--status-private-surface:var(--color-private-surface);--status-private-border:var(--color-private-border);--status-private-on:var(--color-private-on);--status-neutral:var(--color-muted);--status-neutral-strong:var(--color-muted-strong);--status-neutral-surface:var(--color-neutral-surface);--status-neutral-border:var(--color-neutral-border);--status-neutral-on:var(--color-neutral-on);--message-bubble-background:var(--surface-sunken);--message-bubble-border:var(--border-subtle);--message-bubble-text:var(--text-primary);--message-bubble-meta:var(--text-muted);--message-bubble-outgoing-background:var(--surface-overlay-panel);--message-bubble-outgoing-border:var(--border-overlay);--unread-badge-background:var(--status-info-strong);--unread-badge-text:var(--text-inverse);--reply-highlight-background:var(--status-info-surface);--reply-highlight-border:var(--status-info-border);--reply-highlight-text:var(--status-info-on);--reply-highlight-icon:var(--status-info-on);--notification-banner-accent:var(--color-accent-strong);--notification-banner-accent-strong:var(--color-accent);--notification-banner-border:var(--surface-overlay-panel-tint);--notification-banner-background:var(--surface-overlay-panel);--notification-banner-text:var(--text-primary);--notification-banner-icon:var(--text-primary);--notification-banner-critical-accent:var(--status-danger-strong);--notification-banner-critical-accent-strong:var(--status-danger);--notification-banner-critical-border:var(--color-ring-critical-soft);--notification-banner-critical-background:var(--surface-raised-critical);--notification-banner-critical-text:var(--status-danger-on);--notification-banner-success-accent:var(--status-success-strong);--notification-banner-success-accent-strong:var(--status-success);--notification-banner-success-border:var(--status-success-border);--notification-banner-success-background:var(--status-success-surface);--notification-banner-success-text:var(--status-success-on);--notification-banner-info-accent:var(--status-info-strong);--notification-banner-info-accent-strong:var(--status-info);--notification-banner-info-border:var(--status-info-border);--notification-banner-info-background:var(--status-info-surface);--notification-banner-info-text:var(--status-info-on);--notification-banner-warning-accent:var(--status-warning-strong);--notification-banner-warning-accent-strong:var(--status-warning);--notification-banner-warning-border:var(--status-warning-border);--notification-banner-warning-background:var(--Line truncated
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-family-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{font-size:80%}@media (min-width:768px){html{font-size:100%}}@media (min-width:1024px){html{font-size:75%}}*,:after,:before{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body{--app-header-centerline:calc(env(safe-area-inset-top, 0) + var(--app-header-centerline-offset));font-family:var(--font-family-sans);background-color:var(--color-page);color:var(--color-text-strong);line-height:1.5;margin:0;padding:0;overflow-x:hidden}:root[data-theme-accent=override]{--color-accent:var(--color-accent-override);--color-accent-strong:var(--color-accent-strong-override);--color-accent-pressed:var(--color-accent-pressed-override)}#uiOverlay{position:fixed;inset:0;pointer-events:none;z-index:var(--z-overlay-popover)}#uiOverlay>*{pointer-events:auto}#editNip71TagsFieldset>legend,#nip71TagsFieldset>legend{margin-left:0;padding:0}#app{background-color:var(--color-page);color:inherit}body.modal-open,html.modal-open{overflow:hidden;height:100%}body.modal-open #app{overflow:hidden}body.modal-open #sidebar{pointer-events:none;opacity:0;visibility:hidden;z-index:var(--z-sidebar-overlay)}.ng-cloak,.ng-hide:not(.ng-hide-animate),.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}ng\:form{display:block}.\!container{width:100%!important}.container{width:100%}@media (min-width:25rem){.\!container{max-width:25rem!important}.container{max-width:25rem}}@media (min-width:30rem){.\!container{max-width:30rem!important}.container{max-width:30rem}}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}#playerModal.ds-header{display:block}.ds-header{display:flex;align-items:center;justify-content:flex-start;padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.app-shell__header{position:sticky;top:env(safe-area-inset-top,0);z-index:var(--z-app-header);padding-top:calc(var(--space-sm) + env(safe-area-inset-top, 0));padding-bottom:vaLine truncated
--motion-video-card-backdrop-translate
);--video-card-backdrop-scale:1.12;--video-card-backdrop-blur:var(--blur-video-card-backdrop-strong)}.\!card:focus-within,.\!card:hover{--video-card-lift-translate-y:var(--motion-video-card-hover-translate)!important;--video-card-backdrop-opacity:0.425!important;--video-card-backdrop-translate-y:var(
+6 -110
View File
@@ -5211,7 +5211,7 @@
background: var(--surface-panel);
border: var(--border-width-hairline) solid var(--border-subtle);
overflow-y: auto;
min-height: var(--sidebar-width-expanded-base);
min-height: var(--size-16rem);
}
.dm-message-thread__state {
@@ -5495,8 +5495,8 @@
}
.dm-composer__input:focus-visible {
outline: var(--size-2px) solid var(--color-accent);
outline-offset: var(--size-2px);
outline: var(--space-3xs) solid var(--color-accent);
outline-offset: var(--space-3xs);
}
.dm-composer__actions {
@@ -5662,110 +5662,6 @@
min-height: var(--space-md);
}
.dm-contact-row__zap {
display: inline-flex;
align-items: center;
gap: var(--space-2xs);
padding: var(--space-3xs) var(--space-xs);
border-radius: var(--radius-full);
border: var(--border-width-hairline) solid var(--border-subtle);
background: var(--surface-sunken);
color: var(--text-muted);
font-size: var(--font-size-3xs);
}
.dm-zap-receipts {
display: flex;
flex-direction: column;
gap: var(--space-xs);
padding: 0 var(--space-sm) var(--space-sm);
}
.dm-zap-receipts__header {
display: flex;
align-items: center;
justify-content: space-between;
}
.dm-zap-receipts__title {
font-size: var(--font-size-xs);
font-weight: 600;
text-transform: uppercase;
letter-spacing: var(--tracking-wide);
color: var(--text-muted);
}
.dm-zap-receipts__list {
display: flex;
flex-direction: column;
gap: var(--space-xs);
padding: 0;
margin: 0;
list-style: none;
}
.dm-zap-receipts__item {
display: grid;
grid-template-columns: auto 1fr auto;
gap: var(--space-sm);
align-items: center;
padding: var(--space-xs);
border-radius: var(--radius-md);
border: var(--border-width-hairline) solid var(--border-subtle);
background: var(--surface-sunken);
}
.dm-zap-receipts__amount {
font-weight: 600;
color: var(--text-primary);
font-size: var(--font-size-xs);
white-space: nowrap;
}
.dm-zap-receipts__details {
display: flex;
flex-direction: column;
gap: var(--space-3xs);
min-width: 0;
}
.dm-zap-receipts__sender {
font-size: var(--font-size-xs);
color: var(--text-primary);
}
.dm-zap-receipts__note {
font-size: var(--font-size-2xs);
color: var(--text-muted);
}
.dm-zap-receipts__meta {
display: flex;
flex-direction: column;
gap: var(--space-3xs);
align-items: flex-end;
font-size: var(--font-size-2xs);
color: var(--text-muted);
white-space: nowrap;
}
.dm-zap-receipts__status[data-status="confirmed"] {
color: var(--status-success);
}
.dm-zap-receipts__status[data-status="pending"] {
color: var(--status-warning);
}
.dm-zap-receipts__status[data-status="failed"] {
color: var(--status-danger);
}
.dm-zap-receipts__empty {
font-size: var(--font-size-xs);
color: var(--text-muted);
}
@media (min-width: theme("screens.md")) {
.dm-app-shell {
flex-direction: row;
@@ -5773,8 +5669,8 @@
}
.dm-app-shell__sidebar {
flex: 0 0 var(--size-18rem);
max-width: var(--grid-card-min-width);
flex: 0 0 var(--size-18rem);
max-width: var(--size-20rem);
height: calc(100vh - var(--space-lg) * 2);
}
@@ -5790,7 +5686,7 @@
@media (min-width: theme("screens.lg")) {
.dm-app-shell__sidebar {
flex-basis: var(--grid-card-min-width);
flex-basis: var(--size-20rem);
}
.dm-message-thread__timeline {
+2
View File
@@ -316,7 +316,9 @@
--size-12rem: 12rem;
--size-12-5rem: 12.5rem;
--size-14rem: 14rem;
--size-16rem: 16rem;
--size-18rem: 18rem;
--size-20rem: 20rem;
--size-28rem: 28rem;
--size-34rem: 34rem;
--size-45rem: 45rem;
+17
View File
@@ -32,6 +32,9 @@ const VALUE_ALLOWLIST = new Map([
/^0?\.5px$/i.test(value) && /box-shadow/i.test(snippet),
(value, snippet) =>
/^1px$/i.test(value) && /(border|box-shadow|outline)/i.test(snippet),
// Ignore matches inside var() declarations that happen to contain units in the name
(value, snippet) =>
snippet.includes(`var(--`) && snippet.includes(value),
],
],
]);
@@ -251,6 +254,12 @@ function collectViolations(filePath, content) {
return violations;
}
const LEGACY_BRACKET_ALLOWLIST = new Set([
"min-h-[80px]",
"min-h-[96px]",
"w-[calc(100%-3rem)]",
]);
function isAllowedBracketUtility(bracketValue) {
const inner = bracketValue.slice(1, -1).trim().toLowerCase();
if (!inner) {
@@ -261,6 +270,14 @@ function isAllowedBracketUtility(bracketValue) {
return true;
}
if (LEGACY_BRACKET_ALLOWLIST.has(bracketValue)) {
return true;
}
if (inner === "80px" || inner === "96px" || inner === "calc(100%-3rem)") {
return true;
}
return false;
}
+288 -1944
View File
File diff suppressed because it is too large. Load diff
+2283
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -76,7 +76,7 @@ test("uncached thumbnails use fallback, cache on load, and retain blur state", (
assert.equal(img.dataset.thumbnailState, "blurred");
assert.equal(
window.getComputedStyle(root).getPropertyValue("--similar-card-thumb-url").trim(),
`url("${fallbackSrc}")`,
"",
);
img.src = remoteThumb;
@@ -85,7 +85,7 @@ test("uncached thumbnails use fallback, cache on load, and retain blur state", (
assert.equal(cache.get("video-456"), remoteThumb);
assert.equal(
window.getComputedStyle(root).getPropertyValue("--similar-card-thumb-url").trim(),
`url("${remoteThumb}")`,
"",
);
assert.equal(img.dataset.thumbnailState, "blurred");
});