Browse Source

Roll up changes for 2.7.0 (also on feature branches)

kɜ:ʳ cybredragon 1 month ago
parent
commit
a0976ecb77

+ 3
- 2
app/javascript/mastodon/components/status.js View File

@@ -308,14 +308,15 @@ class Status extends ImmutablePureComponent {
308 308
 
309 309
             <StatusContent status={status} onClick={this.handleClick} expanded={!status.get('hidden')} onExpandedToggle={this.handleExpandedToggle} collapsable />
310 310
 
311
-            {media}
312
-
313 311
             {showThread && status.get('in_reply_to_id') && status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) && (
314 312
               <button className='status__content__read-more-button' onClick={this.handleClick}>
313
+                <i className='fa fa-fw fa-sort-amount-desc status__prepend-icon' />
315 314
                 <FormattedMessage id='status.show_thread' defaultMessage='Show thread' />
316 315
               </button>
317 316
             )}
318 317
 
318
+            {media}
319
+
319 320
             <StatusActionBar status={status} account={account} {...other} />
320 321
           </div>
321 322
         </div>

+ 1
- 1
app/javascript/mastodon/components/status_action_bar.js View File

@@ -211,7 +211,7 @@ class StatusActionBar extends ImmutablePureComponent {
211 211
 
212 212
     return (
213 213
       <div className='status__action-bar'>
214
-        <div className='status__action-bar__counter'><IconButton className='status__action-bar-button' disabled={anonymousAccess} title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} onClick={this.handleReplyClick} />/div>
214
+        <IconButton className='status__action-bar-button' disabled={anonymousAccess} title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} onClick={this.handleReplyClick} />
215 215
         <IconButton className='status__action-bar-button' disabled={anonymousAccess || !publicStatus} active={status.get('reblogged')} pressed={status.get('reblogged')} title={!publicStatus ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} />
216 216
         <IconButton className='status__action-bar-button star-icon' disabled={anonymousAccess} animate active={status.get('favourited')} pressed={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='floppy-o' onClick={this.handleFavouriteClick} />
217 217
         {shareButton}

+ 10
- 0
app/javascript/styles/cybre-base.scss View File

@@ -33,6 +33,16 @@
33 33
   }
34 34
 }
35 35
 
36
+/* Less emphatic show more */
37
+.status__content__read-more-button {
38
+  font-size: 14px;
39
+  color: $dark-text-color;
40
+
41
+  .status__prepend-icon {
42
+    padding-right: 4px;
43
+  }
44
+}
45
+
36 46
 /* Show a little arrowey thing after the time in a
37 47
  * status to signal that you can click it to see
38 48
  * a detailed view */

+ 11
- 0
app/javascript/styles/cybre-light.scss View File

@@ -7,6 +7,7 @@ $ui-secondary-color: #ead0d6; // "lightest"
7 7
 $ui-primary-color: #bf5677; // "lighter"
8 8
 $ui-highlight-color: #bf5677; // "vibrant"
9 9
 $primary-text-color: #382b32;
10
+$dark-text-color: #ca748f;
10 11
 $secondary-text-color: #382b32;
11 12
 
12 13
 $header-color: $ui-primary-color;
@@ -761,6 +762,16 @@ button.icon-button {
761 762
           }
762 763
         }
763 764
       }
765
+      a {
766
+        &.selected {
767
+          background-color: $ui-primary-color;
768
+          color: $white;
769
+
770
+          &:hover {
771
+            background-color: lighten($ui-primary-color, 10%);
772
+          }
773
+        }
774
+      }
764 775
     }
765 776
   }
766 777
 }

+ 94
- 53
app/javascript/styles/win95.scss View File

@@ -92,6 +92,9 @@ $ui-highlight-color: $win95-window-header;
92 92
 
93 93
 @import 'cybre-base';
94 94
 
95
+html {
96
+  scrollbar-color: $win95-mid-grey transparent;
97
+}
95 98
 
96 99
 body {
97 100
   font-size:13px;
@@ -112,7 +115,7 @@ body.admin {
112 115
 
113 116
 .tabs-bar {
114 117
   background: $win95-bg;
115
-  @include win95-outset()
118
+  @include win95-outset();
116 119
   height: 30px;
117 120
 }
118 121
 
@@ -190,7 +193,7 @@ body.admin {
190 193
 
191 194
 .column > .scrollable {
192 195
   background: $win95-bg;
193
-  @include win95-border-outset()
196
+  @include win95-border-outset();
194 197
   border-top-width:0px;
195 198
 }
196 199
 
@@ -204,7 +207,7 @@ body.admin {
204 207
   padding:0px;
205 208
   font-size:13px;
206 209
   background:#7f7f7f;
207
-  @include win95-border-outset()
210
+  @include win95-border-outset();
208 211
   border-bottom-width:0px;
209 212
   color:white;
210 213
   font-weight:bold;
@@ -246,7 +249,7 @@ body.admin {
246 249
 .column-header__button {
247 250
   background: $win95-bg;
248 251
   color: black;
249
-  @include win95-outset()
252
+  @include win95-outset();
250 253
 
251 254
   line-height:0px;
252 255
   font-size:14px;
@@ -271,7 +274,7 @@ body.admin {
271 274
   max-height: 20px;
272 275
   min-height: unset;
273 276
   margin: 2px;
274
-  @include win95-outset()
277
+  @include win95-outset();
275 278
   font-size: 13px;
276 279
   line-height: 17px;
277 280
   font-weight:bold;
@@ -284,7 +287,7 @@ body.admin {
284 287
 .column-back-button {
285 288
   background:$win95-bg;
286 289
   color:black;
287
-  @include win95-outset()
290
+  @include win95-outset();
288 291
   font-size:13px;
289 292
   font-weight:bold;
290 293
 
@@ -413,7 +416,7 @@ body.admin {
413 416
 
414 417
 .text-btn {
415 418
   background-color:$win95-bg;
416
-  @include win95-outset()
419
+  @include win95-outset();
417 420
   padding:4px;
418 421
 }
419 422
 
@@ -451,12 +454,11 @@ body.admin {
451 454
 .missing-indicator {
452 455
   background-color:$win95-bg;
453 456
   color:black;
454
-  @include win95-outset()
457
+  @include win95-outset();
455 458
 }
456 459
 
457 460
 .missing-indicator > div {
458
-  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAF3pUWHRUaXRsZQAACJnLyy9Jyy/NSwEAD5IDblIFOhoAAAAXelRYdEF1dGhvcgAACJlLzijKz0vMAQALmgLoDsFj8gAAAQpJREFUOMuVlD0OwjAMhd2oQl04Axfo0IGBgYELcAY6cqQuSO0ZOEAZGBg6VKg74gwsEaoESRVHjusI8aQqzY8/PbtOEz1qkFSn2YevlaNOpLMJh2DwvixhuXtOa6/LCh51DUMEFkAsgAZD207Doin8mQ562JpRE5CHBAAhmIqD1L8AqzUUUJkxc6kr3AgAJ+NuvIWRdk7WcrKl0AUqcIBBHOiEbpS4m27mIL5Onfg3k0rgggeQuS2sDOGSahKR+glgqaGLgUJs951NN1q9D72cQqQWR9cr3sm9YcEssEuz6eEuZh2bu0aSOhQ1MBezu2O/+TVSvEFII3qLsZWrSA2AAUQIh1HpyP/kC++zjVSMj6ntAAAAAElFTkSuQmCC')
459
-    no-repeat;
461
+  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAF3pUWHRUaXRsZQAACJnLyy9Jyy/NSwEAD5IDblIFOhoAAAAXelRYdEF1dGhvcgAACJlLzijKz0vMAQALmgLoDsFj8gAAAQpJREFUOMuVlD0OwjAMhd2oQl04Axfo0IGBgYELcAY6cqQuSO0ZOEAZGBg6VKg74gwsEaoESRVHjusI8aQqzY8/PbtOEz1qkFSn2YevlaNOpLMJh2DwvixhuXtOa6/LCh51DUMEFkAsgAZD207Doin8mQ562JpRE5CHBAAhmIqD1L8AqzUUUJkxc6kr3AgAJ+NuvIWRdk7WcrKl0AUqcIBBHOiEbpS4m27mIL5Onfg3k0rgggeQuS2sDOGSahKR+glgqaGLgUJs951NN1q9D72cQqQWR9cr3sm9YcEssEuz6eEuZh2bu0aSOhQ1MBezu2O/+TVSvEFII3qLsZWrSA2AAUQIh1HpyP/kC++zjVSMj6ntAAAAAElFTkSuQmCC') no-repeat;
460 462
   background-position:center center;
461 463
 }
462 464
 
@@ -466,6 +468,35 @@ body.admin {
466 468
   color: black;
467 469
 }
468 470
 
471
+.notification__filter-bar {
472
+  background: $win95-bg;
473
+  @include win95-border-outset-sides-only();
474
+  padding-top: 10px;
475
+  padding-left: 10px;
476
+  padding-right: 10px;
477
+  border-bottom: 2px solid #efefef;
478
+  overflow-y: visible;
479
+
480
+  button {
481
+    background: transparent;
482
+    color: black;
483
+    padding: 4px 0;
484
+    align-self: end;
485
+    @include win95-tab();
486
+
487
+    &.active {
488
+      color: black;
489
+      top: 2px;
490
+      padding:8px 0;
491
+      background-color: $win95-bg;
492
+
493
+      &::before, &::after {
494
+        display:none;
495
+      }
496
+    }
497
+  }
498
+}
499
+
469 500
 .status__wrapper {
470 501
   border: 2px groove $win95-bg;
471 502
   margin:4px;
@@ -484,6 +515,10 @@ body.admin {
484 515
   &:focus, &:active {
485 516
     background:$win95-bg;
486 517
   }
518
+
519
+  &:not(.read) {
520
+    background: white;
521
+  }
487 522
 }
488 523
 .focusable:focus .status.status-direct {
489 524
   background:$win95-bg;
@@ -494,6 +529,14 @@ body.admin {
494 529
   .status__wrapper:focus, .status__content__text:focus {
495 530
     background-color: $win95-bg;
496 531
   }
532
+
533
+  .status.status-direct, .detailed-status {
534
+    &:not(.read) {
535
+      .status__content:focus {
536
+        background-color: white;
537
+      }
538
+    }
539
+  }
497 540
 }
498 541
 
499 542
 .status__content, .reply-indicator__content {
@@ -541,10 +584,6 @@ body.admin {
541 584
   color:blue;
542 585
 }
543 586
 
544
-.status__content {
545
-  padding-bottom: 40px;
546
-}
547
-
548 587
 .focusable:focus {
549 588
   background: $win95-bg;
550 589
   .detailed-status__action-bar {
@@ -601,7 +640,7 @@ body.admin {
601 640
 
602 641
 .icon-button {
603 642
   background:$win95-bg;
604
-  @include win95-border-outset()
643
+  @include win95-border-outset();
605 644
   padding:0px 0px 0px 0px;
606 645
   margin-right:4px;
607 646
 
@@ -635,7 +674,7 @@ body.admin {
635 674
 
636 675
 .icon-button.star-icon > i {
637 676
   background:$win95-bg;
638
-  @include win95-border-outset()
677
+  @include win95-border-outset();
639 678
   padding-bottom:3px;
640 679
 }
641 680
 
@@ -662,15 +701,15 @@ body.admin {
662 701
   padding-right:25px;
663 702
 }
664 703
 
665
-.status-card {
704
+.status-card, .status-card.compact, a.status-card, a.status-card.compact {
666 705
   border-radius:0px;
667 706
   background:white;
668 707
   border: 1px solid black;
669 708
   color:black;
670
-}
671 709
 
672
-.status-card:hover {
673
-  background-color:white;
710
+  &:hover {
711
+    background-color:white;
712
+  }
674 713
 }
675 714
 
676 715
 .status-card__title {
@@ -712,7 +751,7 @@ body.admin {
712 751
 
713 752
 .reply-indicator__content .status__content__spoiler-link, .status__content .status__content__spoiler-link {
714 753
   background:$win95-bg;
715
-  @include win95-outset()
754
+  @include win95-outset();
716 755
 }
717 756
 
718 757
 .reply-indicator__content .status__content__spoiler-link:hover, .status__content .status__content__spoiler-link:hover {
@@ -744,7 +783,7 @@ body.admin {
744 783
 
745 784
 .drawer__header {
746 785
   background: $win95-bg;
747
-  @include win95-border-outset()
786
+  @include win95-border-outset();
748 787
   justify-content:left;
749 788
   margin-bottom:0px;
750 789
   padding-bottom:2px;
@@ -753,7 +792,7 @@ body.admin {
753 792
 
754 793
 .drawer__tab {
755 794
   color:black;
756
-  @include win95-outset()
795
+  @include win95-outset();
757 796
   padding:5px;
758 797
   margin:2px;
759 798
   flex: 0 0 auto;
@@ -969,7 +1008,7 @@ body.admin {
969 1008
 {
970 1009
   box-shadow:unset;
971 1010
   color:black;
972
-  @include win95-outset()
1011
+  @include win95-outset();
973 1012
   background: $win95-bg;
974 1013
 }
975 1014
 
@@ -981,32 +1020,34 @@ body.admin {
981 1020
   font-weight:bold;
982 1021
 }
983 1022
 
984
-.compose-form__warning::before {
985
-  content:"Tip:";
986
-  font-weight:bold;
987
-  display:block;
988
-  position:absolute;
989
-  top:-10px;
990
-  background-color:$win95-bg;
991
-  font-size:11px;
992
-  padding: 0px 5px;
993
-}
1023
+.compose-form {
1024
+  .compose-form__warning::before {
1025
+    content:"Tip:";
1026
+    font-weight:bold;
1027
+    display:block;
1028
+    position:absolute;
1029
+    top:-10px;
1030
+    background-color:$win95-bg;
1031
+    font-size:11px;
1032
+    padding: 0px 5px;
1033
+  }
994 1034
 
995
-.compose-form__warning {
996
-  position:relative;
997
-  box-shadow:unset;
998
-  border:2px groove $win95-bg;
999
-  background-color:$win95-bg;
1000
-  color:black;
1001
-}
1035
+  .compose-form__warning {
1036
+    position:relative;
1037
+    box-shadow:unset;
1038
+    border:2px groove $win95-bg;
1039
+    background-color:$win95-bg;
1040
+    color:black;
1041
+  }
1002 1042
 
1003
-.compose-form__warning a {
1004
-  color:blue;
1005
-}
1043
+  .compose-form__warning a {
1044
+    color:blue;
1045
+  }
1006 1046
 
1007
-.compose-form__warning strong {
1008
-  color:black;
1009
-  text-decoration:underline;
1047
+  .compose-form__warning strong {
1048
+    color:black;
1049
+    text-decoration:underline;
1050
+  }
1010 1051
 }
1011 1052
 
1012 1053
 .compose-form__buttons button.active:last-child {
@@ -1077,7 +1118,7 @@ body.admin {
1077 1118
 
1078 1119
 .button {
1079 1120
   background-color:$win95-bg;
1080
-  @include win95-outset()
1121
+  @include win95-outset();
1081 1122
   border-radius:0px;
1082 1123
   color:black;
1083 1124
   font-weight:bold;
@@ -1389,7 +1430,7 @@ body.admin {
1389 1430
   background-image: url("../images/icon_tos.png");
1390 1431
   &:hover { background-image: url("../images/icon_tos.png"); }
1391 1432
 }
1392
-.getting-started__footer ul li a[href="https://github.com/tootsuite/documentation#documentation"] {
1433
+.getting-started__footer ul li a[href="https://docs.joinmastodon.org"] {
1393 1434
   background-image: url("../images/icon_docs.png");
1394 1435
   &:hover { background-image: url("../images/icon_docs.png"); }
1395 1436
 }
@@ -1638,7 +1679,7 @@ body.admin {
1638 1679
 
1639 1680
 .embed-modal, .error-modal, .onboarding-modal,
1640 1681
 .actions-modal, .boost-modal, .confirmation-modal, .report-modal {
1641
-  @include win95-outset()
1682
+  @include win95-outset();
1642 1683
   background:$win95-bg;
1643 1684
 }
1644 1685
 
@@ -1762,7 +1803,7 @@ body.admin {
1762 1803
 .admin-wrapper {
1763 1804
   position:relative;
1764 1805
   background: $win95-bg;
1765
-  @include win95-outset()
1806
+  @include win95-outset();
1766 1807
   width:70vw;
1767 1808
   height:80vh;
1768 1809
   margin:10vh auto;
@@ -1799,7 +1840,7 @@ body.admin {
1799 1840
 .admin-wrapper .content-wrapper {
1800 1841
   flex: 1 1 auto;
1801 1842
   width:calc(100% - 20px);
1802
-  @include win95-border-outset()
1843
+  @include win95-border-outset();
1803 1844
   position:relative;
1804 1845
   margin-left:10px;
1805 1846
   margin-right:10px;
@@ -2053,7 +2094,7 @@ a.table-action-link:hover,
2053 2094
 .simple_form .block-button
2054 2095
 {
2055 2096
   background: $win95-bg;
2056
-  @include win95-outset()
2097
+  @include win95-outset();
2057 2098
   color:black;
2058 2099
   font-weight: normal;
2059 2100
 

+ 1
- 0
config/locales/en.yml View File

@@ -934,6 +934,7 @@ en:
934 934
     mastodon: Mastodon
935 935
     mastodon-light: Mastodon (light)
936 936
     win95: Windows 95
937
+    light: Cybre Lite
937 938
   time:
938 939
     formats:
939 940
       default: "%b %d, %Y, %H:%M"

+ 78
- 17
config/locales/simple_form.en-CY.yml View File

@@ -2,63 +2,124 @@
2 2
 en-CY:
3 3
   simple_form:
4 4
     hints:
5
+      account_warning_preset:
6
+        text: You can use ping syntax, such as URLs, hashtags and mentions
7
+      admin_account_action:
8
+        send_email_notification: The user will receive an explanation of what happened with their account
9
+        text_html: Optional. You can use ping syntax. You can <a href="%{path}">add warning presets</a> to save time
10
+        type_html: Choose what to do with <strong>%{acct}</strong>
11
+        warning_preset_id: Optional. You can still add custom text to end of the preset
5 12
       defaults:
6
-        avatar: PNG, GIF or JPG. At most 2MB. Will be downscaled to 120x120px
7
-        display_name:
8
-          one: <span class="name-counter">1</span> character left
9
-          other: <span class="name-counter">%{count}</span> characters left
10
-        header: PNG, GIF or JPG. At most 2MB. Will be downscaled to 700x335px
11
-        locked: Requires you to manually approve followers and defaults ping privacy to followers-only
12
-        note:
13
-          one: <span class="note-counter">1</span> character left
14
-          other: <span class="note-counter">%{count}</span> characters left
13
+        autofollow: People who sign up through the invite will automatically follow you
14
+        avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
15
+        bot: This account mainly performs automated actions and might not be monitored
16
+        context: One or multiple contexts where the filter should apply
17
+        digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence
18
+        discoverable_html: The <a href="%{path}" target="_blank">directory</a> lets people find accounts based on interests and activity. Requires at least %{min_followers} followers
19
+        email: You will be sent a confirmation e-mail
20
+        fields: You can have up to 4 items displayed as a table on your profile
21
+        header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
22
+        inbox_url: Copy the URL from the frontpage of the relay you want to use
23
+        irreversible: Filtered pings will disappear irreversibly, even if filter is later removed
24
+        locale: The language of the user interface, e-mails and push notifications
25
+        locked: Requires you to manually approve followers
26
+        password: Use at least 8 characters
27
+        phrase: Will be matched regardless of casing in text or content warning of a pings
28
+        scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones.
29
+        setting_aggregate_reblogs: Do not show new relays for pings that have been recently relayed (only affects newly-received relays)
30
+        setting_default_language: The language of your pings can be detected automatically, but it's not always accurate
31
+        setting_display_media_default: Hide media marked as sensitive
32
+        setting_display_media_hide_all: Always hide all media
33
+        setting_display_media_show_all: Always show media marked as sensitive
34
+        setting_hide_network: Who you follow and who follows you will not be shown on your profile
15 35
         setting_noindex: Affects your public profile and status pages
16 36
         setting_theme: Affects how Mastodon looks when you're logged in from any device.
37
+        username: Your username will be unique on %{domain}
38
+        whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word
17 39
       imports:
18 40
         data: CSV file exported from another Mastodon instance
19 41
       sessions:
20
-        otp: Enter the Two-factor code from your phone or use one of your recovery codes.
42
+        otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:'
21 43
       user:
22
-        filtered_languages: Selected languages will be removed from your public timelines.
44
+        chosen_languages: When checked, only pings in selected languages will be displayed in public timelines
23 45
     labels:
46
+      account:
47
+        fields:
48
+          name: Label
49
+          value: Content
50
+      account_warning_preset:
51
+        text: Preset text
52
+      admin_account_action:
53
+        send_email_notification: Notify the user per e-mail
54
+        text: Custom warning
55
+        type: Action
56
+        types:
57
+          disable: Disable
58
+          none: Do nothing
59
+          silence: Silence
60
+          suspend: Suspend and irreversibly delete account data
61
+        warning_preset_id: Use a warning preset
24 62
       defaults:
63
+        autofollow: Invite to follow your account
25 64
         avatar: Avatar
65
+        bot: This is a bot account
66
+        chosen_languages: Filter languages
26 67
         confirm_new_password: Confirm new password
27 68
         confirm_password: Confirm password
69
+        context: Filter contexts
28 70
         current_password: Current password
29 71
         data: Data
72
+        discoverable: List this account on the directory
30 73
         display_name: Display name
31 74
         email: E-mail address
32
-        filtered_languages: Filtered languages
75
+        expires_in: Expire after
76
+        fields: Profile metadata
33 77
         header: Header
34
-        locale: Language
78
+        inbox_url: URL of the relay inbox
79
+        irreversible: Drop instead of hide
80
+        locale: Interface language
35 81
         locked: Lock account
82
+        max_uses: Max number of uses
36 83
         new_password: New password
37 84
         note: Bio
38 85
         otp_attempt: Two-factor code
39 86
         password: Password
87
+        phrase: Keyword or phrase
88
+        setting_aggregate_reblogs: Group relays in timelines
40 89
         setting_auto_play_gif: Auto-play animated GIFs
41
-        setting_boost_modal: Show confirmation dialog before boosting
90
+        setting_boost_modal: Show confirmation dialog before relaying
91
+        setting_default_language: Posting language
42 92
         setting_default_privacy: Post privacy
43 93
         setting_default_sensitive: Always mark media as sensitive
44 94
         setting_delete_modal: Show confirmation dialog before deleting a ping
95
+        setting_display_media: Media display
96
+        setting_display_media_default: Default
97
+        setting_display_media_hide_all: Hide all
98
+        setting_display_media_show_all: Show all
99
+        setting_expand_spoilers: Always expand pings marked with content warnings
100
+        setting_hide_network: Hide your network
45 101
         setting_noindex: Opt-out of search engine indexing
46
-        setting_system_font_ui: Use a heuristic-based approximation of what Mastodon thinks your system font might be
102
+        setting_reduce_motion: Reduce motion in animations
103
+        setting_system_font_ui: Use system's default font
47 104
         setting_theme: Site theme
48 105
         setting_unfollow_modal: Show confirmation dialog before unfollowing someone
49 106
         severity: Severity
50 107
         type: Import type
51 108
         username: Username
109
+        username_or_email: Username or Email
110
+        whole_word: Whole word
52 111
       interactions:
53 112
         must_be_follower: Block notifications from non-followers
54 113
         must_be_following: Block notifications from people you don't follow
114
+        must_be_following_dm: Block direct messages from people you don't follow
55 115
       notification_emails:
56 116
         digest: Send digest e-mails
57
-        favourite: Send e-mail when someone florps your ping
117
+        favourite: Send e-mail when someone favourites your status
58 118
         follow: Send e-mail when someone follows you
59 119
         follow_request: Send e-mail when someone requests to follow you
60 120
         mention: Send e-mail when someone mentions you
61
-        reblog: Send e-mail when someone boosts your ping
121
+        reblog: Send e-mail when someone relays your status
122
+        report: Send e-mail when a new report is submitted
62 123
     'no': 'No'
63 124
     required:
64 125
       mark: "*"

Loading…
Cancel
Save