diff --git a/css/main.css b/css/main.css
index f64e1a8..bcad8f4 100644
--- a/css/main.css
+++ b/css/main.css
@@ -84,6 +84,7 @@ button,
align-items: center;
font-size: 0.9rem;
font-weight: 500;
+ overflow: hidden;
}
.button {
@@ -290,10 +291,20 @@ ul {
width: 100%;
}
+.ripple {
+ height: 8rem;
+ width: 8rem;
+ position: absolute;
+ border-radius: 50%;
+ transform: scale(0);
+ background: radial-gradient(circle, rgba(var(--text-color), 0.3) 0%, rgba(0, 0, 0, 0) 50%);
+ pointer-events: none;
+}
+
.interact {
position: relative;
+ overflow: hidden;
cursor: pointer;
- transition: transform 0.3s;
-webkit-tap-highlight-color: transparent;
}
@@ -369,13 +380,6 @@ ul {
margin-bottom: 1.5rem;
}
-button:active,
-.button:active,
-sm-button:not([disabled]):active,
-.interact:active {
- transform: scale(0.96);
-}
-
.popup__header {
display: grid;
gap: 0.5rem;
@@ -631,9 +635,6 @@ sm-copy {
--width: min(64rem, 100%);
--min-height: 70vh;
}
-#article_list_popup::part(popup-header), #article_list_popup::part(popup-body) {
- padding: 0.5rem;
-}
#article_list_popup .popup__header {
padding: 1rem;
gap: 1rem;
@@ -656,14 +657,16 @@ sm-copy {
text-transform: uppercase;
}
-.default-article::after {
+.default-article::before {
content: "";
font-size: 0.7rem;
background-color: var(--accent-color);
- padding: 0.3rem;
+ height: 2em;
+ width: 0.3em;
border-radius: 0.5rem;
font-weight: 500;
- margin: auto 0 auto auto;
+ margin-right: 0.5rem;
+ align-self: center;
color: var(--foreground-color);
}
@@ -936,6 +939,7 @@ sm-copy {
line-height: 1.7;
color: rgba(var(--text-color), 0.8);
overflow-wrap: break-word;
+ white-space: pre-line;
}
.entry__changes .added > *,
.entry__changes .removed > * {
@@ -1194,12 +1198,19 @@ sm-copy {
}
.interact,
-button {
- transition: background-color 0.3s, transform 0.3s;
+button:not(.button--primary) {
+ transition: background-color 0.3s;
}
.interact:hover,
-button:hover {
- background-color: rgba(var(--text-color), 0.1);
+button:not(.button--primary):hover {
+ background-color: rgba(var(--text-color), 0.06);
+ }
+
+ .button--primary {
+ transition: filter 0.3s;
+ }
+ .button--primary:hover {
+ filter: brightness(120%);
}
.content-card:not(.selected) sm-checkbox {
diff --git a/css/main.min.css b/css/main.min.css
index 9357366..4af83c2 100644
--- a/css/main.min.css
+++ b/css/main.min.css
@@ -1 +1 @@
-*{padding:0;margin:0;box-sizing:border-box;font-family:"Inter",sans-serif}:root{font-size:clamp(1rem,1.2vmax,1.2rem)}html,body{height:100%;scroll-behavior:smooth}body{color:rgba(var(--text-color), 1);background:rgba(var(--background-color), 1)}body,body *{--accent-color: rgb(0, 156, 78);--text-color: 36, 36, 36;--background-color: 248, 248, 248;--foreground-color: rgb(255, 255, 255);--danger-color: rgb(255, 75, 75);--green: #1cad59;--yellow: #f3a600;scrollbar-width:thin}body[data-theme=dark],body[data-theme=dark] *{--accent-color: rgb(14, 230, 122);--text-color: 230, 230, 230;--text-color-light: 170, 170, 170;--background-color: 10, 10, 10;--foreground-color: rgb(24, 24, 24);--danger-color: rgb(255, 106, 106);--green: #00e676;--yellow: #ffd13a}body[data-theme=dark] sm-popup::part(popup){background-color:var(--foreground-color)}p,strong{font-size:.9rem;max-width:70ch;line-height:1.7;color:rgba(var(--text-color), 0.8)}p:not(:last-of-type),strong:not(:last-of-type){margin-bottom:1.5rem}a{color:var(--accent-color);text-decoration:none}a:focus-visible{box-shadow:0 0 0 .1rem rgba(var(--text-color), 1) inset}button,.button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:inline-flex;border:none;background-color:transparent;overflow:hidden;color:inherit;cursor:pointer;transition:transform .3s;-webkit-tap-highlight-color:transparent;align-items:center;font-size:.9rem;font-weight:500}.button{white-space:nowrap;padding:.5rem .8rem;border-radius:.3rem;background-color:rgba(var(--text-color), 0.06);color:rgba(var(--text-color), 0.8);justify-content:center}.button--primary{background-color:var(--accent-color);color:rgba(var(--background-color), 1)}.icon-only{padding:.5rem;border-radius:.3rem}button:disabled{opacity:.5}a:-webkit-any-link:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}a:-moz-any-link:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}a:any-link:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}sm-input,sm-textarea,tags-input{font-size:.9rem;--border-radius: 0.3rem}sm-button{--padding: 0.5rem 0.8rem;transition:transform .3s}sm-button[variant=primary] .icon{fill:rgba(var(--background-color), 1)}sm-button[disabled] .icon{fill:rgba(var(--text-color), 0.6)}sm-button.uppercase{letter-spacing:.05em}sm-button.danger{--background: var(--danger-color);color:rgba(var(--background-color), 1)}ul{list-style:none}.hide-completely{display:none !important}.overflow-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.breakable{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.full-bleed{grid-column:1/-1}.h1{font-size:1.5rem}.h2{font-size:1.2rem}.h3{font-size:1rem}.h4{font-size:.9rem}.h5{font-size:.8rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.flex{display:flex}.grid{display:grid}.flow-column{grid-auto-flow:column}.gap-0-5{gap:.5rem}.gap-1{gap:1rem}.gap-1-5{gap:1.5rem}.gap-2{gap:2rem}.gap-3{gap:3rem}.text-align-right{text-align:right}.align-start{align-items:flex-start}.align-center{align-items:center}.text-center{text-align:center}.justify-start{justify-content:start}.justify-center{justify-content:center}.justify-right{margin-left:auto}.align-self-center{align-self:center}.justify-self-center{justify-self:center}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.direction-column{flex-direction:column}.space-between{justify-content:space-between}.w-100{width:100%}.interact{position:relative;cursor:pointer;transition:transform .3s;-webkit-tap-highlight-color:transparent}.empty-state{display:grid;width:100%;padding:1.5rem 1rem}.observe-empty-state:empty{display:none}.observe-empty-state:not(:empty)+.empty-state{display:none}.icon{width:1.2rem;height:1.2rem;fill:rgba(var(--text-color), 0.8);flex-shrink:0}.button__icon{height:1.2rem;width:1.2rem}.button__icon--left{margin-right:.5rem}.button__icon--right{margin-left:.5rem}.icon-button{padding:.6rem;border-radius:.8rem;background-color:rgba(var(--text-color), 0.1);height:-webkit-max-content;height:-moz-max-content;height:max-content}.icon-button .icon{fill:var(--accent-color)}#confirmation_popup,#prompt_popup{flex-direction:column}#confirmation_popup h4,#prompt_popup h4{font-weight:500;margin-bottom:.5rem}#confirmation_popup sm-button,#prompt_popup sm-button{margin:0}#confirmation_popup .flex,#prompt_popup .flex{padding:0;margin-top:1rem}#confirmation_popup .flex sm-button:first-of-type,#prompt_popup .flex sm-button:first-of-type{margin-right:.6rem;margin-left:auto}#prompt_message{margin-bottom:1.5rem}button:active,.button:active,sm-button:not([disabled]):active,.interact:active{transform:scale(0.96)}.popup__header{display:grid;gap:.5rem;width:100%;padding:0 1.5rem 0 .5rem;align-items:center;grid-template-columns:auto 1fr auto}.popup__header__close{padding:.5rem;cursor:pointer}.logo{display:grid;align-items:center;width:100%;grid-template-columns:auto 1fr;gap:0 .5rem;margin-right:1rem}.logo h4{text-transform:capitalize;font-size:.9rem;font-weight:600}.logo .main-logo{height:1.4rem;width:1.4rem;fill:rgba(var(--text-color), 1);stroke:none}details summary{display:flex;justify-content:space-between;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}details[open]>summary{margin-bottom:1rem}details[open]>summary .icon{transform:rotate(180deg)}sm-select,sm-option,strip-option{font-size:.9rem}strip-select{--gap: 0}strip-option{font-weight:500;--border-radius: 0.3rem;--active-option-color: var(--accent-color)}sm-checkbox{--height: 1rem;--width: 1rem;-webkit-tap-highlight-color:transparent}sm-menu{--background: var(--foreground-color)}menu-option{font-size:.9rem}sm-copy{font-size:.9rem;--button-border-radius: 0.2rem}.warning{background-color:khaki;color:rgba(0,0,0,.7);padding:1rem;border-radius:.5rem;line-height:1.5}.page{height:100%}.page-layout,#preview_page{display:grid;grid-template-columns:1rem minmax(0, 1fr) 1rem}.page-layout>*,#preview_page>*{grid-column:2/3}#landing{grid-template-rows:auto 1fr}#landing header{padding:1.5rem 0}#landing>section{align-items:center;text-align:center}#landing h1{margin-top:-2ch;font-size:clamp(2rem,5vw,5rem)}#landing p{max-width:100%}#sign_in,#sign_up{grid-template-rows:auto 1fr;align-items:center}#sign_in section,#sign_up section{margin-top:-6rem;justify-self:center;width:min(24rem,100%)}#sign_in sm-form,#sign_up sm-form{margin:2rem 0}#sign_in header,#sign_up header{padding:1.5rem 0}#sign_up .h2{margin-bottom:.5rem}#sign_up .card{margin:1.5rem 0}#sign_up h5{font-weight:500;color:rgba(var(--text-color), 0.8)}#sign_up .warning{margin-top:2rem}#loading{place-content:center;text-align:center}#loading sm-spinner{margin-bottom:1.5rem}#main_header{position:-webkit-sticky;position:sticky;top:0;display:grid;gap:1rem;padding:1rem;align-items:center;grid-template-columns:1fr auto auto;grid-column:1/-1;background-color:var(--foreground-color);z-index:2}#options_panel{position:-webkit-sticky;position:sticky;top:6.5rem;z-index:1;padding:.5rem 1.5rem;grid-column:1/-1;background-color:var(--foreground-color);overflow-x:auto;min-height:3.2rem}.outline-button{position:relative;white-space:nowrap;justify-content:center;padding:.5rem 0}.outline-button::after{position:absolute;content:"";width:1rem;border-radius:.5rem;height:.2rem;transition:transform .3s,opacity .1s;bottom:0;background-color:rgba(var(--text-color), 0.5);opacity:0}.outline-button:hover:not(.outline-button--active)::after{opacity:1;background-color:rgba(var(--text-color), 0.5)}.outline-button:active::after{opacity:1;transform:scaleX(2)}.outline-button--active::after{opacity:1;background-color:var(--accent-color)}.label{font-size:.8rem;color:rgba(var(--text-color), 0.8);margin-bottom:.2rem}.icon--success{fill:var(--green)}.icon--failure,.icon--error{fill:var(--danger-color)}#main_page{-ms-scroll-chaining:none;overscroll-behavior:contain;height:100%;overflow-y:hidden;grid-template-columns:minmax(0, 1fr);align-content:flex-start}#current_article_title{font-weight:700}#article_list_popup{--width: min(64rem, 100%);--min-height: 70vh}#article_list_popup::part(popup-header),#article_list_popup::part(popup-body){padding:.5rem}#article_list_popup .popup__header{padding:1rem;gap:1rem;padding-bottom:0;grid-template-columns:minmax(0, 1fr)}#article_list{grid-template-columns:repeat(auto-fill, minmax(30ch, 1fr))}.article-link{position:relative;padding:1rem;color:rgba(var(--text-color), 0.8);font-weight:500;border-radius:.3rem}.article-link::first-letter{text-transform:uppercase}.default-article::after{content:"";font-size:.7rem;background-color:var(--accent-color);padding:.3rem;border-radius:.5rem;font-weight:500;margin:auto 0 auto auto;color:var(--foreground-color)}#edit_sections_popup{--body-padding: 1.2rem}#section_list_container{gap:.5rem}.section-card{font-weight:500;font-size:.9rem}.section-card input{background-color:rgba(var(--text-color), 0.06);padding:.8rem;border-radius:.3rem;border:none;font-size:inherit;color:inherit;font-weight:inherit;width:100%}.section-card input:focus{outline:var(--accent-color) solid}.section-card .remove{padding:.3rem}#insert_section_button{align-self:flex-start}#article_wrapper{display:flex;flex-direction:column;padding:1rem;gap:1rem 0;height:100%;overflow-y:auto;scroll-padding-top:1.5rem}.heading{font-weight:700}.heading::before{content:"";width:.3rem;height:100%;margin-right:.7rem;border-radius:.5rem;background-color:var(--accent-color)}.heading button{margin-left:auto}.article-section{gap:1rem}.article-section:not(:last-of-type){margin-bottom:1.5rem}.article-section::-webkit-scrollbar{display:none}.content-card{border-radius:.5rem;background-color:var(--foreground-color);box-shadow:0 0 0 1px rgba(var(--text-color), 0.16) inset}.content-card.selected{box-shadow:0 0 0 .1rem var(--accent-color) inset}.content-card--empty{display:flex;flex-direction:column}.content-card--empty .content__area{min-height:calc(60vh + 3rem);height:100%;max-height:calc(60vh + 3rem)}.content-card .submit-entry{border-radius:.2rem;padding:.4rem .8rem;color:var(--accent-color)}.content-card .submit-entry sm-spinner{--height: 0.8rem;--width: 0.8rem}.content__header{padding:.5rem}.content__area{border-radius:inherit;padding:1rem;white-space:pre-line;font-size:.9rem;line-height:1.7;color:rgba(var(--text-color), 0.8);background-color:rgba(var(--text-color), 0.02);border-radius:.5rem;transition:box-shadow .1s;height:60vh;overflow-y:auto}.content__area:empty::before{content:attr(placeholder);opacity:.6;pointer-events:none}.content__area:focus-within{outline:none;box-shadow:0 0 0 .1rem var(--accent-color) inset}.content__options{gap:.5rem;padding:.5rem 1rem;grid-template-columns:auto auto 1fr auto}.content__contributors{font-size:.7rem;background-color:rgba(var(--text-color), 0.06);border-radius:.3rem;padding:.2rem .3rem;color:rgba(var(--text-color), 0.8);margin-right:.5rem}.content__author{display:grid;gap:.3rem;grid-template-columns:auto -webkit-max-content;grid-template-columns:auto max-content}.content__author div:first-of-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content__author div:last-of-type{flex:1}.content__score{font-size:.8rem;margin-left:.2rem;line-height:100%}.filled-star{fill:var(--yellow)}.actionable-button{padding:.5rem .8rem;background-color:rgba(var(--text-color), 0.1);border-radius:2rem;border:solid thin rgba(var(--text-color), 0.3)}.actionable-button__title{font-size:.8rem;margin-left:.3rem}#text_toolbar{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:fixed;z-index:10;left:0;right:0;bottom:0;transition:transform .1s;background-color:var(--foreground-color);border:solid thin rgba(var(--text-color), 0.2);padding:.2rem;border-radius:.3rem;box-shadow:0 .1rem .2rem rgba(0,0,0,.06),0 1rem 1.5rem -0.5rem rgba(0,0,0,.2)}.formatting-button{padding:.3rem;border-radius:.3rem;transition:background-color .1s}.formatting-button.active:hover{background-color:var(--accent-color)}.active{background-color:var(--accent-color)}.active .icon{fill:var(--foreground-color)}.quote-template{position:relative;padding:1rem;margin:1rem 0;border-radius:.2rem;border:solid thin rgba(var(--text-color), 0.3);box-shadow:.1rem .2rem 0 .1rem rgba(var(--text-color), 0.8);overflow:hidden;justify-self:center;padding-left:1.3rem figcaption;padding-left-margin-top:.5rem;padding-left-color:rgba(var(--text-color), 0.8);padding-left-font-size:.8rem;padding-left-margin-left:auto}#version_history_panel{border-radius:.5rem;width:min(24rem,100%);background-color:var(--foreground-color);overflow-y:auto}#version_history_panel>:first-child{padding:1rem}#version_timeline{padding:1rem;height:100%;overflow-y:auto}.history-entry{grid-template-columns:minmax(0, 1fr)}.history-entry:not(:last-of-type){padding-bottom:1rem;border-bottom:thin solid rgba(var(--text-color), 0.3)}.history-entry:last-of-type::before{content:"CREATED";letter-spacing:.03em;display:inline-flex;justify-self:flex-start;font-weight:500;padding:.2rem .3rem;font-size:.7rem;border-radius:.2rem;border:solid thin rgba(var(--text-color), 0.5)}.entry__time,.entry__author{font-size:.8rem;font-weight:500}.entry__changes{font-size:.9rem;line-height:1.7;color:rgba(var(--text-color), 0.8);overflow-wrap:break-word}.entry__changes .added>*,.entry__changes .removed>*{background-color:transparent}.entry__changes .added,.entry__changes .added>*{overflow-wrap:break-word;background-color:#00e67650}.entry__changes .removed,.entry__changes .removed>*{overflow-wrap:break-word;color:var(--danger-color);-webkit-text-decoration-color:var(--danger-color);text-decoration-color:var(--danger-color)}.contributor{gap:.5rem;grid-template-columns:auto 1fr}.contributor .icon{grid-row:span 2}.contributor__id{font-size:.8rem;font-weight:700}.contributor__time{font-size:.8rem}#preview_page{padding-bottom:3rem;grid-template-columns:1.5rem minmax(0, 1fr) 1.5rem;overflow-y:auto;height:100%;align-content:flex-start}#preview_page header{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:1.5rem 0 1rem 0;background-color:rgba(var(--background-color), 1)}#preview_page h3{margin-bottom:1rem}#preview_page h3:not(:first-of-type){margin-top:3rem}#preview_page p{font-family:"noto serif",serif;font-size:1rem}#preview_page p>*{font-family:inherit}#preview__body{padding-bottom:1.5rem}.preview-group:not(:last-of-type){margin-bottom:1.5rem}.preview-group__buttons{display:inline-flex;background-color:var(--foreground-color);border:solid thin rgba(var(--text-color), 0.2);padding:.2rem;border-radius:.3rem;box-shadow:0 .1rem .2rem rgba(0,0,0,.06),0 1rem 1.5rem -0.5rem rgba(0,0,0,.2)}.preview-group__buttons button{padding:.5rem}.preview-group__buttons button .icon{height:1rem;width:1rem}#publish_article_popup{--min-height: 50vh}@media screen and (max-width: 40rem){#article_name_wrapper,#selected_content_options{grid-row:2/3;grid-column:1/-1}#article_name_wrapper #article_outline_button,#selected_content_options #article_outline_button{margin-left:auto}#article_name_wrapper{justify-content:flex-start}.article-section{display:flex;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:auto;flex-shrink:0}.content-card{scroll-snap-align:start;flex-shrink:0;width:min(45ch,100% - 2rem)}.formatting-button{padding:.5rem}.hide-on-mobile{display:none}}@media screen and (min-width: 40rem){sm-popup{--width: 24rem}.h1{font-size:2rem}.h2{font-size:1.8rem}.h3{font-size:1.3rem}.h4{font-size:1rem}.popup__header{grid-column:1/-1;padding:1rem 1.5rem 0 .5rem}#confirmation_popup{--width: 24rem}.page-layout{grid-template-columns:1fr 90vw 1fr}.hide-on-desktop{display:none}#main_header{padding:1rem 1.5rem;grid-template-columns:auto 1fr auto auto}#options_panel{top:4.2rem}#main_page.active-sidebar{grid-template-rows:auto 1fr;grid-template-columns:minmax(0, 1fr) 24rem}#main_page.active-outline{grid-template-rows:auto 1fr;grid-template-columns:20rem minmax(0, 1fr)}#main_page.active-sidebar.active-outline{grid-template-rows:auto 1fr;grid-template-columns:20rem minmax(0, 1fr) 24rem}#version_history_panel,#article_outline_panel,#article_wrapper{-ms-scroll-chaining:none;overscroll-behavior:contain}#article_wrapper{padding:1.5rem}.article-section{display:grid;grid-template-columns:repeat(auto-fill, minmax(40ch, 1fr))}#article_list_popup .popup__header{grid-template-columns:auto 1fr auto;padding-bottom:1rem}#article_list_search{width:16rem}#preview_page{grid-template-columns:1fr 60ch 1fr}.preview-group{position:relative}.preview-group__buttons{position:absolute;right:0;bottom:100%}#text_toolbar{position:absolute;z-index:1;left:0;top:0;right:auto;bottom:auto}#create_article_popup{--width: 28rem}#user_popup{--width: 25rem}}@media(any-hover: hover){::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background:rgba(var(--text-color), 0.3);border-radius:1rem}::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-color), 0.5)}.interact,button{transition:background-color .3s,transform .3s}.interact:hover,button:hover{background-color:rgba(var(--text-color), 0.1)}.content-card:not(.selected) sm-checkbox{opacity:0;transition:opacity .2s}.content-card:hover sm-checkbox,.content-card:focus-within sm-checkbox{opacity:1}.preview-group__buttons{transition:opacity .1s;opacity:0}.preview-group{border-radius:.3rem}.preview-group:hover{background-color:rgba(var(--text-color), 0.06)}.preview-group:hover .preview-group__buttons{opacity:1}.preview-group .preview-group__buttons:focus-within{opacity:1}}
\ No newline at end of file
+*{padding:0;margin:0;box-sizing:border-box;font-family:"Inter",sans-serif}:root{font-size:clamp(1rem,1.2vmax,1.2rem)}html,body{height:100%;scroll-behavior:smooth}body{color:rgba(var(--text-color), 1);background:rgba(var(--background-color), 1)}body,body *{--accent-color: rgb(0, 156, 78);--text-color: 36, 36, 36;--background-color: 248, 248, 248;--foreground-color: rgb(255, 255, 255);--danger-color: rgb(255, 75, 75);--green: #1cad59;--yellow: #f3a600;scrollbar-width:thin}body[data-theme=dark],body[data-theme=dark] *{--accent-color: rgb(14, 230, 122);--text-color: 230, 230, 230;--text-color-light: 170, 170, 170;--background-color: 10, 10, 10;--foreground-color: rgb(24, 24, 24);--danger-color: rgb(255, 106, 106);--green: #00e676;--yellow: #ffd13a}body[data-theme=dark] sm-popup::part(popup){background-color:var(--foreground-color)}p,strong{font-size:.9rem;max-width:70ch;line-height:1.7;color:rgba(var(--text-color), 0.8)}p:not(:last-of-type),strong:not(:last-of-type){margin-bottom:1.5rem}a{color:var(--accent-color);text-decoration:none}a:focus-visible{box-shadow:0 0 0 .1rem rgba(var(--text-color), 1) inset}button,.button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:inline-flex;border:none;background-color:transparent;overflow:hidden;color:inherit;cursor:pointer;transition:transform .3s;-webkit-tap-highlight-color:transparent;align-items:center;font-size:.9rem;font-weight:500;overflow:hidden}.button{white-space:nowrap;padding:.5rem .8rem;border-radius:.3rem;background-color:rgba(var(--text-color), 0.06);color:rgba(var(--text-color), 0.8);justify-content:center}.button--primary{background-color:var(--accent-color);color:rgba(var(--background-color), 1)}.icon-only{padding:.5rem;border-radius:.3rem}button:disabled{opacity:.5}a:-webkit-any-link:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}a:-moz-any-link:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}a:any-link:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}sm-input,sm-textarea,tags-input{font-size:.9rem;--border-radius: 0.3rem}sm-button{--padding: 0.5rem 0.8rem;transition:transform .3s}sm-button[variant=primary] .icon{fill:rgba(var(--background-color), 1)}sm-button[disabled] .icon{fill:rgba(var(--text-color), 0.6)}sm-button.uppercase{letter-spacing:.05em}sm-button.danger{--background: var(--danger-color);color:rgba(var(--background-color), 1)}ul{list-style:none}.hide-completely{display:none !important}.overflow-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.breakable{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.full-bleed{grid-column:1/-1}.h1{font-size:1.5rem}.h2{font-size:1.2rem}.h3{font-size:1rem}.h4{font-size:.9rem}.h5{font-size:.8rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.flex{display:flex}.grid{display:grid}.flow-column{grid-auto-flow:column}.gap-0-5{gap:.5rem}.gap-1{gap:1rem}.gap-1-5{gap:1.5rem}.gap-2{gap:2rem}.gap-3{gap:3rem}.text-align-right{text-align:right}.align-start{align-items:flex-start}.align-center{align-items:center}.text-center{text-align:center}.justify-start{justify-content:start}.justify-center{justify-content:center}.justify-right{margin-left:auto}.align-self-center{align-self:center}.justify-self-center{justify-self:center}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.direction-column{flex-direction:column}.space-between{justify-content:space-between}.w-100{width:100%}.ripple{height:8rem;width:8rem;position:absolute;border-radius:50%;transform:scale(0);background:radial-gradient(circle, rgba(var(--text-color), 0.3) 0%, rgba(0, 0, 0, 0) 50%);pointer-events:none}.interact{position:relative;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}.empty-state{display:grid;width:100%;padding:1.5rem 1rem}.observe-empty-state:empty{display:none}.observe-empty-state:not(:empty)+.empty-state{display:none}.icon{width:1.2rem;height:1.2rem;fill:rgba(var(--text-color), 0.8);flex-shrink:0}.button__icon{height:1.2rem;width:1.2rem}.button__icon--left{margin-right:.5rem}.button__icon--right{margin-left:.5rem}.icon-button{padding:.6rem;border-radius:.8rem;background-color:rgba(var(--text-color), 0.1);height:-webkit-max-content;height:-moz-max-content;height:max-content}.icon-button .icon{fill:var(--accent-color)}#confirmation_popup,#prompt_popup{flex-direction:column}#confirmation_popup h4,#prompt_popup h4{font-weight:500;margin-bottom:.5rem}#confirmation_popup sm-button,#prompt_popup sm-button{margin:0}#confirmation_popup .flex,#prompt_popup .flex{padding:0;margin-top:1rem}#confirmation_popup .flex sm-button:first-of-type,#prompt_popup .flex sm-button:first-of-type{margin-right:.6rem;margin-left:auto}#prompt_message{margin-bottom:1.5rem}.popup__header{display:grid;gap:.5rem;width:100%;padding:0 1.5rem 0 .5rem;align-items:center;grid-template-columns:auto 1fr auto}.popup__header__close{padding:.5rem;cursor:pointer}.logo{display:grid;align-items:center;width:100%;grid-template-columns:auto 1fr;gap:0 .5rem;margin-right:1rem}.logo h4{text-transform:capitalize;font-size:.9rem;font-weight:600}.logo .main-logo{height:1.4rem;width:1.4rem;fill:rgba(var(--text-color), 1);stroke:none}details summary{display:flex;justify-content:space-between;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}details[open]>summary{margin-bottom:1rem}details[open]>summary .icon{transform:rotate(180deg)}sm-select,sm-option,strip-option{font-size:.9rem}strip-select{--gap: 0}strip-option{font-weight:500;--border-radius: 0.3rem;--active-option-color: var(--accent-color)}sm-checkbox{--height: 1rem;--width: 1rem;-webkit-tap-highlight-color:transparent}sm-menu{--background: var(--foreground-color)}menu-option{font-size:.9rem}sm-copy{font-size:.9rem;--button-border-radius: 0.2rem}.warning{background-color:khaki;color:rgba(0,0,0,.7);padding:1rem;border-radius:.5rem;line-height:1.5}.page{height:100%}.page-layout,#preview_page{display:grid;grid-template-columns:1rem minmax(0, 1fr) 1rem}.page-layout>*,#preview_page>*{grid-column:2/3}#landing{grid-template-rows:auto 1fr}#landing header{padding:1.5rem 0}#landing>section{align-items:center;text-align:center}#landing h1{margin-top:-2ch;font-size:clamp(2rem,5vw,5rem)}#landing p{max-width:100%}#sign_in,#sign_up{grid-template-rows:auto 1fr;align-items:center}#sign_in section,#sign_up section{margin-top:-6rem;justify-self:center;width:min(24rem,100%)}#sign_in sm-form,#sign_up sm-form{margin:2rem 0}#sign_in header,#sign_up header{padding:1.5rem 0}#sign_up .h2{margin-bottom:.5rem}#sign_up .card{margin:1.5rem 0}#sign_up h5{font-weight:500;color:rgba(var(--text-color), 0.8)}#sign_up .warning{margin-top:2rem}#loading{place-content:center;text-align:center}#loading sm-spinner{margin-bottom:1.5rem}#main_header{position:-webkit-sticky;position:sticky;top:0;display:grid;gap:1rem;padding:1rem;align-items:center;grid-template-columns:1fr auto auto;grid-column:1/-1;background-color:var(--foreground-color);z-index:2}#options_panel{position:-webkit-sticky;position:sticky;top:6.5rem;z-index:1;padding:.5rem 1.5rem;grid-column:1/-1;background-color:var(--foreground-color);overflow-x:auto;min-height:3.2rem}.outline-button{position:relative;white-space:nowrap;justify-content:center;padding:.5rem 0}.outline-button::after{position:absolute;content:"";width:1rem;border-radius:.5rem;height:.2rem;transition:transform .3s,opacity .1s;bottom:0;background-color:rgba(var(--text-color), 0.5);opacity:0}.outline-button:hover:not(.outline-button--active)::after{opacity:1;background-color:rgba(var(--text-color), 0.5)}.outline-button:active::after{opacity:1;transform:scaleX(2)}.outline-button--active::after{opacity:1;background-color:var(--accent-color)}.label{font-size:.8rem;color:rgba(var(--text-color), 0.8);margin-bottom:.2rem}.icon--success{fill:var(--green)}.icon--failure,.icon--error{fill:var(--danger-color)}#main_page{-ms-scroll-chaining:none;overscroll-behavior:contain;height:100%;overflow-y:hidden;grid-template-columns:minmax(0, 1fr);align-content:flex-start}#current_article_title{font-weight:700}#article_list_popup{--width: min(64rem, 100%);--min-height: 70vh}#article_list_popup .popup__header{padding:1rem;gap:1rem;padding-bottom:0;grid-template-columns:minmax(0, 1fr)}#article_list{grid-template-columns:repeat(auto-fill, minmax(30ch, 1fr))}.article-link{position:relative;padding:1rem;color:rgba(var(--text-color), 0.8);font-weight:500;border-radius:.3rem}.article-link::first-letter{text-transform:uppercase}.default-article::before{content:"";font-size:.7rem;background-color:var(--accent-color);height:2em;width:.3em;border-radius:.5rem;font-weight:500;margin-right:.5rem;align-self:center;color:var(--foreground-color)}#edit_sections_popup{--body-padding: 1.2rem}#section_list_container{gap:.5rem}.section-card{font-weight:500;font-size:.9rem}.section-card input{background-color:rgba(var(--text-color), 0.06);padding:.8rem;border-radius:.3rem;border:none;font-size:inherit;color:inherit;font-weight:inherit;width:100%}.section-card input:focus{outline:var(--accent-color) solid}.section-card .remove{padding:.3rem}#insert_section_button{align-self:flex-start}#article_wrapper{display:flex;flex-direction:column;padding:1rem;gap:1rem 0;height:100%;overflow-y:auto;scroll-padding-top:1.5rem}.heading{font-weight:700}.heading::before{content:"";width:.3rem;height:100%;margin-right:.7rem;border-radius:.5rem;background-color:var(--accent-color)}.heading button{margin-left:auto}.article-section{gap:1rem}.article-section:not(:last-of-type){margin-bottom:1.5rem}.article-section::-webkit-scrollbar{display:none}.content-card{border-radius:.5rem;background-color:var(--foreground-color);box-shadow:0 0 0 1px rgba(var(--text-color), 0.16) inset}.content-card.selected{box-shadow:0 0 0 .1rem var(--accent-color) inset}.content-card--empty{display:flex;flex-direction:column}.content-card--empty .content__area{min-height:calc(60vh + 3rem);height:100%;max-height:calc(60vh + 3rem)}.content-card .submit-entry{border-radius:.2rem;padding:.4rem .8rem;color:var(--accent-color)}.content-card .submit-entry sm-spinner{--height: 0.8rem;--width: 0.8rem}.content__header{padding:.5rem}.content__area{border-radius:inherit;padding:1rem;white-space:pre-line;font-size:.9rem;line-height:1.7;color:rgba(var(--text-color), 0.8);background-color:rgba(var(--text-color), 0.02);border-radius:.5rem;transition:box-shadow .1s;height:60vh;overflow-y:auto}.content__area:empty::before{content:attr(placeholder);opacity:.6;pointer-events:none}.content__area:focus-within{outline:none;box-shadow:0 0 0 .1rem var(--accent-color) inset}.content__options{gap:.5rem;padding:.5rem 1rem;grid-template-columns:auto auto 1fr auto}.content__contributors{font-size:.7rem;background-color:rgba(var(--text-color), 0.06);border-radius:.3rem;padding:.2rem .3rem;color:rgba(var(--text-color), 0.8);margin-right:.5rem}.content__author{display:grid;gap:.3rem;grid-template-columns:auto -webkit-max-content;grid-template-columns:auto max-content}.content__author div:first-of-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content__author div:last-of-type{flex:1}.content__score{font-size:.8rem;margin-left:.2rem;line-height:100%}.filled-star{fill:var(--yellow)}.actionable-button{padding:.5rem .8rem;background-color:rgba(var(--text-color), 0.1);border-radius:2rem;border:solid thin rgba(var(--text-color), 0.3)}.actionable-button__title{font-size:.8rem;margin-left:.3rem}#text_toolbar{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:fixed;z-index:10;left:0;right:0;bottom:0;transition:transform .1s;background-color:var(--foreground-color);border:solid thin rgba(var(--text-color), 0.2);padding:.2rem;border-radius:.3rem;box-shadow:0 .1rem .2rem rgba(0,0,0,.06),0 1rem 1.5rem -0.5rem rgba(0,0,0,.2)}.formatting-button{padding:.3rem;border-radius:.3rem;transition:background-color .1s}.formatting-button.active:hover{background-color:var(--accent-color)}.active{background-color:var(--accent-color)}.active .icon{fill:var(--foreground-color)}.quote-template{position:relative;padding:1rem;margin:1rem 0;border-radius:.2rem;border:solid thin rgba(var(--text-color), 0.3);box-shadow:.1rem .2rem 0 .1rem rgba(var(--text-color), 0.8);overflow:hidden;justify-self:center;padding-left:1.3rem figcaption;padding-left-margin-top:.5rem;padding-left-color:rgba(var(--text-color), 0.8);padding-left-font-size:.8rem;padding-left-margin-left:auto}#version_history_panel{border-radius:.5rem;width:min(24rem,100%);background-color:var(--foreground-color);overflow-y:auto}#version_history_panel>:first-child{padding:1rem}#version_timeline{padding:1rem;height:100%;overflow-y:auto}.history-entry{grid-template-columns:minmax(0, 1fr)}.history-entry:not(:last-of-type){padding-bottom:1rem;border-bottom:thin solid rgba(var(--text-color), 0.3)}.history-entry:last-of-type::before{content:"CREATED";letter-spacing:.03em;display:inline-flex;justify-self:flex-start;font-weight:500;padding:.2rem .3rem;font-size:.7rem;border-radius:.2rem;border:solid thin rgba(var(--text-color), 0.5)}.entry__time,.entry__author{font-size:.8rem;font-weight:500}.entry__changes{font-size:.9rem;line-height:1.7;color:rgba(var(--text-color), 0.8);overflow-wrap:break-word;white-space:pre-line}.entry__changes .added>*,.entry__changes .removed>*{background-color:transparent}.entry__changes .added,.entry__changes .added>*{overflow-wrap:break-word;background-color:#00e67650}.entry__changes .removed,.entry__changes .removed>*{overflow-wrap:break-word;color:var(--danger-color);-webkit-text-decoration-color:var(--danger-color);text-decoration-color:var(--danger-color)}.contributor{gap:.5rem;grid-template-columns:auto 1fr}.contributor .icon{grid-row:span 2}.contributor__id{font-size:.8rem;font-weight:700}.contributor__time{font-size:.8rem}#preview_page{padding-bottom:3rem;grid-template-columns:1.5rem minmax(0, 1fr) 1.5rem;overflow-y:auto;height:100%;align-content:flex-start}#preview_page header{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:1.5rem 0 1rem 0;background-color:rgba(var(--background-color), 1)}#preview_page h3{margin-bottom:1rem}#preview_page h3:not(:first-of-type){margin-top:3rem}#preview_page p{font-family:"noto serif",serif;font-size:1rem}#preview_page p>*{font-family:inherit}#preview__body{padding-bottom:1.5rem}.preview-group:not(:last-of-type){margin-bottom:1.5rem}.preview-group__buttons{display:inline-flex;background-color:var(--foreground-color);border:solid thin rgba(var(--text-color), 0.2);padding:.2rem;border-radius:.3rem;box-shadow:0 .1rem .2rem rgba(0,0,0,.06),0 1rem 1.5rem -0.5rem rgba(0,0,0,.2)}.preview-group__buttons button{padding:.5rem}.preview-group__buttons button .icon{height:1rem;width:1rem}#publish_article_popup{--min-height: 50vh}@media screen and (max-width: 40rem){#article_name_wrapper,#selected_content_options{grid-row:2/3;grid-column:1/-1}#article_name_wrapper #article_outline_button,#selected_content_options #article_outline_button{margin-left:auto}#article_name_wrapper{justify-content:flex-start}.article-section{display:flex;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:auto;flex-shrink:0}.content-card{scroll-snap-align:start;flex-shrink:0;width:min(45ch,100% - 2rem)}.formatting-button{padding:.5rem}.hide-on-mobile{display:none}}@media screen and (min-width: 40rem){sm-popup{--width: 24rem}.h1{font-size:2rem}.h2{font-size:1.8rem}.h3{font-size:1.3rem}.h4{font-size:1rem}.popup__header{grid-column:1/-1;padding:1rem 1.5rem 0 .5rem}#confirmation_popup{--width: 24rem}.page-layout{grid-template-columns:1fr 90vw 1fr}.hide-on-desktop{display:none}#main_header{padding:1rem 1.5rem;grid-template-columns:auto 1fr auto auto}#options_panel{top:4.2rem}#main_page.active-sidebar{grid-template-rows:auto 1fr;grid-template-columns:minmax(0, 1fr) 24rem}#main_page.active-outline{grid-template-rows:auto 1fr;grid-template-columns:20rem minmax(0, 1fr)}#main_page.active-sidebar.active-outline{grid-template-rows:auto 1fr;grid-template-columns:20rem minmax(0, 1fr) 24rem}#version_history_panel,#article_outline_panel,#article_wrapper{-ms-scroll-chaining:none;overscroll-behavior:contain}#article_wrapper{padding:1.5rem}.article-section{display:grid;grid-template-columns:repeat(auto-fill, minmax(40ch, 1fr))}#article_list_popup .popup__header{grid-template-columns:auto 1fr auto;padding-bottom:1rem}#article_list_search{width:16rem}#preview_page{grid-template-columns:1fr 60ch 1fr}.preview-group{position:relative}.preview-group__buttons{position:absolute;right:0;bottom:100%}#text_toolbar{position:absolute;z-index:1;left:0;top:0;right:auto;bottom:auto}#create_article_popup{--width: 28rem}#user_popup{--width: 25rem}}@media(any-hover: hover){::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background:rgba(var(--text-color), 0.3);border-radius:1rem}::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-color), 0.5)}.interact,button:not(.button--primary){transition:background-color .3s}.interact:hover,button:not(.button--primary):hover{background-color:rgba(var(--text-color), 0.06)}.button--primary{transition:filter .3s}.button--primary:hover{filter:brightness(120%)}.content-card:not(.selected) sm-checkbox{opacity:0;transition:opacity .2s}.content-card:hover sm-checkbox,.content-card:focus-within sm-checkbox{opacity:1}.preview-group__buttons{transition:opacity .1s;opacity:0}.preview-group{border-radius:.3rem}.preview-group:hover{background-color:rgba(var(--text-color), 0.06)}.preview-group:hover .preview-group__buttons{opacity:1}.preview-group .preview-group__buttons:focus-within{opacity:1}}
\ No newline at end of file
diff --git a/css/main.scss b/css/main.scss
index 5915311..ac76aa4 100644
--- a/css/main.scss
+++ b/css/main.scss
@@ -85,6 +85,7 @@ button,
align-items: center;
font-size: 0.9rem;
font-weight: 500;
+ overflow: hidden;
}
.button {
white-space: nowrap;
@@ -284,10 +285,23 @@ ul {
width: 100%;
}
+.ripple {
+ height: 8rem;
+ width: 8rem;
+ position: absolute;
+ border-radius: 50%;
+ transform: scale(0);
+ background: radial-gradient(
+ circle,
+ rgba(var(--text-color), 0.3) 0%,
+ rgba(0, 0, 0, 0) 50%
+ );
+ pointer-events: none;
+}
.interact {
position: relative;
+ overflow: hidden;
cursor: pointer;
- transition: transform 0.3s;
-webkit-tap-highlight-color: transparent;
}
.empty-state {
@@ -356,13 +370,6 @@ ul {
margin-bottom: 1.5rem;
}
-button:active,
-.button:active,
-sm-button:not([disabled]):active,
-.interact:active {
- transform: scale(0.96);
-}
-
.popup__header {
display: grid;
gap: 0.5rem;
@@ -597,10 +604,6 @@ sm-copy {
#article_list_popup {
--width: min(64rem, 100%);
--min-height: 70vh;
- &::part(popup-header),
- &::part(popup-body) {
- padding: 0.5rem;
- }
.popup__header {
padding: 1rem;
gap: 1rem;
@@ -623,14 +626,16 @@ sm-copy {
}
}
.default-article {
- &::after {
+ &::before {
content: "";
font-size: 0.7rem;
background-color: var(--accent-color);
- padding: 0.3rem;
+ height: 2em;
+ width: 0.3em;
border-radius: 0.5rem;
font-weight: 500;
- margin: auto 0 auto auto;
+ margin-right: 0.5rem;
+ align-self: center;
color: var(--foreground-color);
}
}
@@ -885,6 +890,7 @@ sm-copy {
line-height: 1.7;
color: rgba(var(--text-color), 0.8);
overflow-wrap: break-word;
+ white-space: pre-line;
.added > *,
.removed > * {
background-color: transparent;
@@ -1119,10 +1125,16 @@ sm-copy {
}
}
.interact,
- button {
- transition: background-color 0.3s, transform 0.3s;
+ button:not(.button--primary) {
+ transition: background-color 0.3s;
&:hover {
- background-color: rgba(var(--text-color), 0.1);
+ background-color: rgba(var(--text-color), 0.06);
+ }
+ }
+ .button--primary {
+ transition: filter 0.3s;
+ &:hover {
+ filter: brightness(120%);
}
}
.content-card {
diff --git a/index.html b/index.html
index df5d90e..3096abd 100644
--- a/index.html
+++ b/index.html
@@ -24,7 +24,7 @@
//Required for blockchain API operators
apiURL: {
- FLO: ['https://livenet.flocha.in/', 'https://flosight.duckdns.org/'],
+ FLO: ['https://flosight.duckdns.org/', 'https://livenet.flocha.in/'],
FLO_TEST: ['https://testnet-flosight.duckdns.org/', 'https://testnet.flocha.in/']
},
adminID: "FKAEdnPfjXLHSYwrXQu377ugN4tXU7VGdf",
@@ -37,7 +37,7 @@
//for cloud apps
subAdmins: [],
- application: "TEST_MODE",
+ application: "TEST_CC",
appObjects: {},
generalData: {},
lastVC: {}
@@ -887,7 +887,39 @@
document.addEventListener('copy', () => {
notify('copied', 'success')
})
+ document.addEventListener("pointerdown", (e) => {
+ if (e.target.closest("button, sm-button:not([disabled]), .interact")) {
+ createRipple(e, e.target.closest("button, sm-button, .interact"));
+ }
+ });
});
+ function createRipple(event, target) {
+ const circle = document.createElement("span");
+ const diameter = Math.max(target.clientWidth, target.clientHeight);
+ const radius = diameter / 2;
+ const targetDimensions = target.getBoundingClientRect();
+ circle.style.width = circle.style.height = `${diameter}px`;
+ circle.style.left = `${event.clientX - (targetDimensions.left + radius)}px`;
+ circle.style.top = `${event.clientY - (targetDimensions.top + radius)}px`;
+ circle.classList.add("ripple");
+ const rippleAnimation = circle.animate(
+ [
+ {
+ transform: "scale(4)",
+ opacity: 0,
+ },
+ ],
+ {
+ duration: 600,
+ fill: "forwards",
+ easing: "ease-out",
+ }
+ );
+ target.append(circle);
+ rippleAnimation.onfinish = () => {
+ circle.remove();
+ };
+ }
const pagesData = {
openedPages: [],
@@ -1069,45 +1101,8 @@
}