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: "]";
}
}