new functions and fixes

This commit is contained in:
Mateusz Gruszczyński
2026-08-05 22:13:04 +02:00
parent 9fc32d0d31
commit e842b26978
34 changed files with 2505 additions and 115 deletions
+313 -32
View File
@@ -831,6 +831,93 @@ textarea:focus {
color: var(--text);
}
/* Focus mode removes the toolbar row and leaves only compact floating controls. */
.pad-page .toolbar-collapse-toggle {
display: inline-grid;
flex: 0 0 auto;
width: 36px;
min-width: 36px;
height: 36px;
min-height: 36px;
padding: 0;
place-items: center;
overflow: hidden;
border-color: var(--border);
background: var(--surface-inset);
color: var(--muted);
}
.pad-page .toolbar-collapse-toggle:hover {
color: var(--text);
}
.toolbar-collapse-toggle__icon {
display: grid;
width: 100%;
height: 100%;
place-items: center;
font-size: 1.35rem;
font-weight: 800;
line-height: 1;
pointer-events: none;
transform: scaleX(1.3);
transform-origin: center;
}
.pad-page.toolbar-collapsed .editor-panel {
grid-template-rows: minmax(0, 1fr) auto;
}
.pad-page.toolbar-collapsed .editor-toolbar {
position: absolute;
top: 8px;
right: 8px;
z-index: 16;
display: flex;
width: auto;
max-width: calc(100% - 16px);
min-height: 0;
padding: 3px;
flex-wrap: nowrap;
justify-content: flex-end;
gap: 4px;
border: 1px solid color-mix(in srgb, var(--border-strong) 78%, transparent);
border-radius: 10px;
background: color-mix(in srgb, var(--surface-toolbar) 88%, transparent);
box-shadow: 0 8px 24px var(--shadow-28);
backdrop-filter: blur(10px);
}
.pad-page.toolbar-collapsed .editor-toolbar > :not(.toolbar-collapse-toggle):not(.view-switch) {
display: none !important;
}
.pad-page.toolbar-collapsed .editor-toolbar > .toolbar-collapse-toggle,
.pad-page.toolbar-collapsed .editor-toolbar > .view-switch {
position: static;
display: inline-flex !important;
width: auto;
margin: 0;
}
.pad-page.toolbar-collapsed .editor-toolbar > .toolbar-collapse-toggle {
order: 1;
width: 36px;
min-width: 36px;
height: 36px;
min-height: 36px;
padding: 0;
}
.pad-page.toolbar-collapsed .editor-toolbar > .view-switch {
order: 2;
}
.pad-page.toolbar-collapsed .editor-toolbar .view-switch button {
align-items: center;
justify-content: center;
}
.workspace {
display: grid;
min-height: 0;
@@ -2404,6 +2491,69 @@ dialog::backdrop {
}
}
/* Choice shown when a video file is uploaded. */
.video-insert-dialog {
width: min(560px, calc(100vw - 24px));
max-width: 560px;
}
.video-insert-dialog__panel {
display: grid;
gap: 18px;
padding: 24px;
border: 1px solid var(--border-strong);
border-radius: 14px;
background: var(--surface-panel);
color: var(--text);
box-shadow: 0 24px 70px var(--shadow-42);
}
.video-insert-dialog__panel .dialog-heading-row {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 18px;
}
.video-insert-dialog__panel h2,
.video-insert-dialog__panel .eyebrow,
.video-insert-dialog__panel .dialog-copy {
margin: 0;
}
.video-choice-actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.video-choice-actions > button {
display: grid;
justify-items: start;
gap: 5px;
min-width: 0;
min-height: 86px;
padding: 14px;
text-align: left;
}
.video-choice-actions span {
color: var(--muted);
font-size: .76rem;
font-weight: 500;
line-height: 1.4;
}
@media (max-width: 600px) {
.video-choice-actions {
grid-template-columns: minmax(0, 1fr);
}
.video-insert-dialog__panel {
padding: 20px 14px 14px;
}
}
.notes-toolbar {
display: flex;
align-items: center;
@@ -3299,6 +3449,39 @@ dialog::backdrop {
grid-column: 1 / -1;
}
#profile-dialog,
#profile-dialog .identity-panel,
#profile-dialog .identity-fields,
#profile-dialog .identity-fields > *,
#profile-dialog .profile-actions,
#profile-dialog .profile-theme-field,
#profile-dialog .theme-options,
#profile-dialog .theme-option {
min-width: 0;
box-sizing: border-box;
}
#profile-dialog .identity-panel {
overflow-x: hidden;
}
#profile-dialog .identity-fields input:not([type="radio"]):not([type="checkbox"]),
#profile-dialog .identity-fields select,
#profile-dialog .identity-fields textarea {
width: 100%;
max-width: 100%;
min-width: 0;
box-sizing: border-box;
}
#profile-dialog .theme-option,
#profile-dialog .theme-option span,
#profile-dialog .theme-option strong,
#profile-dialog .theme-option small,
#profile-dialog .profile-actions button {
overflow-wrap: anywhere;
}
.profile-actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
@@ -3406,21 +3589,42 @@ dialog::backdrop {
}
#profile-dialog {
width: min(440px, calc(100% - 24px));
width: calc(100vw - 16px);
max-width: none;
max-height: calc(100dvh - 16px);
margin: auto;
}
#profile-dialog .identity-panel {
width: 100%;
max-height: calc(100dvh - 16px);
padding: 22px 14px 14px;
gap: 14px;
scrollbar-gutter: auto;
}
#profile-dialog .identity-panel__header {
padding-right: 36px;
}
#profile-dialog .identity-panel,
#profile-dialog .identity-fields,
.profile-actions {
grid-template-columns: 1fr;
#profile-dialog .profile-actions,
#profile-dialog .theme-options {
grid-template-columns: minmax(0, 1fr);
}
#profile-dialog .identity-fields>*,
#profile-dialog .identity-fields > *,
#profile-dialog .profile-actions,
#profile-dialog .form-message {
grid-column: 1;
}
#profile-dialog .profile-actions > button {
min-width: 0;
white-space: normal;
}
.identity-links {
align-items: flex-start;
flex-direction: column;
@@ -3567,6 +3771,10 @@ dialog::backdrop {
padding: 7px 10px;
}
.resource-action-label--short {
display: none;
}
.resource-password-menu {
position: relative;
flex: 0 0 auto;
@@ -3636,16 +3844,6 @@ dialog::backdrop {
background: var(--danger-subtle-bg);
}
@media (max-width:640px) {
.resource-row {
align-items: flex-start;
flex-direction: column
}
.resource-actions {
width: 100%
}
}
.resource-main {
display: flex;
@@ -3695,18 +3893,6 @@ dialog::backdrop {
margin: 0;
}
@media (max-width: 640px) {
.resource-main {
align-items: flex-start;
flex-direction: column;
}
.resource-actions {
width: 100%;
margin-left: 0;
}
}
.resource-row {
align-items: stretch;
flex-direction: column;
@@ -4457,6 +4643,81 @@ dialog::backdrop {
background: color-mix(in srgb, var(--accent) 4%, transparent);
}
@media (max-width: 640px) {
#resources-dialog {
width: calc(100% - 12px);
}
#resources-dialog .resources-panel {
padding: 14px;
}
#resources-dialog .resources-panel__header {
padding-right: 34px;
}
.resource-row {
padding: 10px;
}
.resource-main {
align-items: stretch;
justify-content: flex-start;
flex-direction: column;
gap: 10px;
}
.resource-copy {
width: 100%;
flex: 0 1 auto;
}
.resource-title-line {
display: block;
}
.resource-title-line a {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.resource-actions {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
width: 100%;
margin-left: 0;
gap: 4px;
}
.resource-actions > button,
.resource-actions > .resource-password-menu,
.resource-password-menu > summary {
width: 100%;
min-width: 0;
}
.resource-actions .compact-button {
min-width: 0;
padding: 7px 4px;
gap: 3px;
font-size: .72rem;
}
.resource-action-label--full {
display: none;
}
.resource-action-label--short {
display: block;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
@media (max-width: 640px) {
.share-dialog,
@@ -5211,7 +5472,7 @@ dialog::backdrop {
.pad-page .editor-toolbar {
display: grid;
grid-template-columns: minmax(0, 1fr) auto auto;
grid-template-columns: minmax(0, 1fr) auto auto auto;
gap: 8px;
min-height: 0;
padding: 8px;
@@ -5235,6 +5496,8 @@ dialog::backdrop {
.pad-page #mode-toggle {
display: inline-flex;
grid-column: 2;
grid-row: 1;
width: auto;
min-width: 0;
align-self: center;
@@ -5242,6 +5505,12 @@ dialog::backdrop {
white-space: nowrap;
}
.pad-page .toolbar-collapse-toggle {
grid-column: 3;
grid-row: 1;
align-self: center;
}
.pad-page .toolbar-group:has(>.emoji-picker[open]),
.pad-page .toolbar-group:has(>.markdown-more[open]) {
overflow: visible;
@@ -5251,6 +5520,8 @@ dialog::backdrop {
position: sticky;
right: 0;
z-index: 2;
grid-column: 4;
grid-row: 1;
width: max-content;
max-width: 100%;
align-self: center;
@@ -5298,7 +5569,7 @@ dialog::backdrop {
}
.pad-page .editor-toolbar {
grid-template-columns: minmax(0, 1fr) auto;
grid-template-columns: minmax(0, 1fr) auto auto;
align-items: center;
}
@@ -6741,7 +7012,7 @@ dialog::backdrop {
@media (max-width: 760px) and (orientation: portrait) {
.pad-page .editor-toolbar {
grid-template-columns: minmax(0, 1fr) auto auto;
grid-template-columns: minmax(0, 1fr) auto auto auto;
width: 100%;
max-width: 100vw;
}
@@ -6948,11 +7219,16 @@ dialog::backdrop {
grid-row: 1;
}
.pad-page .view-switch {
.pad-page .toolbar-collapse-toggle {
grid-column: 2;
grid-row: 1;
}
.pad-page .view-switch {
grid-column: 3;
grid-row: 1;
}
.pad-page .mobile-upload-button {
display: inline-flex;
grid-column: 1 / -1;
@@ -6989,8 +7265,13 @@ dialog::backdrop {
grid-row: 1;
}
.pad-page .view-switch {
.pad-page .toolbar-collapse-toggle {
grid-column: 3;
grid-row: 1;
}
}
.pad-page .view-switch {
grid-column: 4;
grid-row: 1;
}
}