diff --git a/app/soapbox/actions/account_notes.js b/app/soapbox/actions/account_notes.js new file mode 100644 index 0000000000..d6aeefc499 Binary files /dev/null and b/app/soapbox/actions/account_notes.js differ diff --git a/app/soapbox/features/account/components/header.js b/app/soapbox/features/account/components/header.js index b38ff492cb..8b5a5f258a 100644 Binary files a/app/soapbox/features/account/components/header.js and b/app/soapbox/features/account/components/header.js differ diff --git a/app/soapbox/features/account_timeline/components/header.js b/app/soapbox/features/account_timeline/components/header.js index 51120dfcf6..5886979433 100644 Binary files a/app/soapbox/features/account_timeline/components/header.js and b/app/soapbox/features/account_timeline/components/header.js differ diff --git a/app/soapbox/features/account_timeline/containers/header_container.js b/app/soapbox/features/account_timeline/containers/header_container.js index cec3c29fe0..6087217ca7 100644 Binary files a/app/soapbox/features/account_timeline/containers/header_container.js and b/app/soapbox/features/account_timeline/containers/header_container.js differ diff --git a/app/soapbox/features/ui/components/account_note_modal.js b/app/soapbox/features/ui/components/account_note_modal.js new file mode 100644 index 0000000000..8990ab582a Binary files /dev/null and b/app/soapbox/features/ui/components/account_note_modal.js differ diff --git a/app/soapbox/features/ui/components/modal_root.js b/app/soapbox/features/ui/components/modal_root.js index 5b7e43a8aa..2ef13cb034 100644 Binary files a/app/soapbox/features/ui/components/modal_root.js and b/app/soapbox/features/ui/components/modal_root.js differ diff --git a/app/soapbox/features/ui/components/profile_info_panel.js b/app/soapbox/features/ui/components/profile_info_panel.js index 8cd4dfb5dc..35d12a627b 100644 Binary files a/app/soapbox/features/ui/components/profile_info_panel.js and b/app/soapbox/features/ui/components/profile_info_panel.js differ diff --git a/app/soapbox/features/ui/util/async-components.js b/app/soapbox/features/ui/util/async-components.js index 5f44a28017..9c2218f8e5 100644 Binary files a/app/soapbox/features/ui/util/async-components.js and b/app/soapbox/features/ui/util/async-components.js differ diff --git a/app/soapbox/reducers/account_notes.js b/app/soapbox/reducers/account_notes.js new file mode 100644 index 0000000000..67cd83e1d4 Binary files /dev/null and b/app/soapbox/reducers/account_notes.js differ diff --git a/app/soapbox/reducers/index.js b/app/soapbox/reducers/index.js index a5c178b3c4..c7b48cc229 100644 Binary files a/app/soapbox/reducers/index.js and b/app/soapbox/reducers/index.js differ diff --git a/app/soapbox/reducers/relationships.js b/app/soapbox/reducers/relationships.js index 29276c5c32..129040d991 100644 Binary files a/app/soapbox/reducers/relationships.js and b/app/soapbox/reducers/relationships.js differ diff --git a/app/soapbox/utils/features.js b/app/soapbox/utils/features.js index 54355e0056..0516ef02dd 100644 Binary files a/app/soapbox/utils/features.js and b/app/soapbox/utils/features.js differ diff --git a/app/styles/components/modal.scss b/app/styles/components/modal.scss index aa12f40927..7d40aab68c 100644 --- a/app/styles/components/modal.scss +++ b/app/styles/components/modal.scss @@ -126,7 +126,9 @@ top: 0; bottom: 0; - @media screen and (max-width: 600px) { padding: 30px 2px; } + @media screen and (max-width: 600px) { + padding: 30px 2px; + } .svg-icon { width: 24px; @@ -342,7 +344,8 @@ .mute-modal, .reactions-modal, .reblogs-modal, -.mentions-modal { +.mentions-modal, +.account-note-modal { position: relative; flex-direction: column; overflow: hidden; @@ -411,7 +414,8 @@ .boost-modal__action-bar, .confirmation-modal__action-bar, -.mute-modal__action-bar { +.mute-modal__action-bar, +.account-note-modal__action-bar { display: flex; align-items: center; justify-content: space-between; @@ -464,7 +468,8 @@ vertical-align: middle; } -.report-modal { +.report-modal, +.account-note-modal { width: 90vw; max-width: 700px; } @@ -521,27 +526,6 @@ margin-bottom: 20px; } - .setting-text { - display: block; - box-sizing: border-box; - width: 100%; - margin: 0; - color: var(--primary-text-color); - background: var(--background-color); - padding: 10px; - font-family: inherit; - font-size: 14px; - resize: vertical; - outline: 0; - border: 1px solid var(--background-color); - border-radius: 4px; - margin-bottom: 20px; - - &:focus { - border: 1px solid var(--background-color); - } - } - .setting-toggle { margin-top: 20px; margin-bottom: 24px; @@ -574,7 +558,9 @@ max-height: 300px; } - .actions-modal__item-label { font-weight: 500; } + .actions-modal__item-label { + font-weight: 500; + } ul { overflow-y: auto; @@ -582,12 +568,18 @@ max-height: calc(100vh - 147px); // NOTE - not sure what this is yet, leaving alone for now until I find out. - &.with-status { max-height: calc(80vh - 75px); } + &.with-status { + max-height: calc(80vh - 75px); + } - li:empty { margin: 0; } + li:empty { + margin: 0; + } li:not(:empty) { - &:first-of-type { margin: 10px 0 0; } + &:first-of-type { + margin: 10px 0 0; + } a { display: flex; @@ -654,10 +646,12 @@ } .confirmation-modal__action-bar, -.mute-modal__action-bar { +.mute-modal__action-bar, +.account-note-modal__action-bar { .confirmation-modal__secondary-button, .confirmation-modal__cancel-button, - .mute-modal__cancel-button { + .mute-modal__cancel-button, + .account-note-modal__cancel-button { background-color: transparent; color: var(--highlight-text-color); font-size: 14px; @@ -726,7 +720,9 @@ } .modal-layout { - background: var(--brand-color--med) url('data:image/svg+xml;utf8,') repeat-x bottom fixed; + background: var(--brand-color--med) + url('data:image/svg+xml;utf8,') + repeat-x bottom fixed; display: flex; flex-direction: column; height: 100vh; @@ -1068,7 +1064,8 @@ } .confirmation-modal, -.mute-modal { +.mute-modal, +.account-note-modal { &__header { display: flex; align-items: center; @@ -1090,3 +1087,35 @@ text-align: left; } } + +.report-modal__comment, +.account-note-modal__container { + .setting-text { + display: block; + box-sizing: border-box; + width: 100%; + margin: 0; + color: var(--primary-text-color); + background: var(--background-color); + padding: 10px; + font-family: inherit; + font-size: 14px; + resize: vertical; + outline: 0; + border: 1px solid var(--background-color); + border-radius: 4px; + margin-bottom: 20px; + + &:focus { + border: 1px solid var(--background-color); + } + } +} + +.account-note-modal { + .setting-text { + margin-top: 20px; + margin-bottom: 0; + resize: none; + } +} diff --git a/app/styles/components/profile-info-panel.scss b/app/styles/components/profile-info-panel.scss index a3c3f6dc56..65e70c4bd4 100644 --- a/app/styles/components/profile-info-panel.scss +++ b/app/styles/components/profile-info-panel.scss @@ -23,7 +23,8 @@ } &__join-date, - &__birthday { + &__birthday, + &__note { display: flex; font-size: 14px; color: var(--primary-text-color--faint); @@ -39,6 +40,15 @@ } } + &__note { + text-decoration: none; + + &:hover, + &:focus { + text-decoration: underline; + } + } + &__stats { margin: 15px 0; @@ -163,10 +173,10 @@ } .profile-info-panel__name-content::before { - content: '['; + content: "["; } .profile-info-panel__name-content::after { - content: ']'; + content: "]"; } }