diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2a17f5274..effcccab6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@
- LDAP Authentication ([#3296](https://github.com/pixelfed/pixelfed/pull/3296))
### Metro 2.0 UI
+- Dark Mode ([cb540373](https://github.com/pixelfed/pixelfed/commit/cb540373))
- Added Hovercards ([16ced7b4](https://github.com/pixelfed/pixelfed/commit/16ced7b4))
- Fix word-break on statuses ([16ced7b4](https://github.com/pixelfed/pixelfed/commit/16ced7b4))
- Add pronouns to hovercards ([33f863e8](https://github.com/pixelfed/pixelfed/commit/33f863e8))
diff --git a/app/Http/Controllers/PublicApiController.php b/app/Http/Controllers/PublicApiController.php
index 7871d8ab9..74bcb6715 100644
--- a/app/Http/Controllers/PublicApiController.php
+++ b/app/Http/Controllers/PublicApiController.php
@@ -378,7 +378,7 @@ class PublicApiController extends Controller
return $status;
})
->filter(function($s) use($filtered) {
- return $s && in_array($s['account']['id'], $filtered) == false;
+ return $s && isset($s['account']) && in_array($s['account']['id'], $filtered) == false;
})
->values();
@@ -402,7 +402,7 @@ class PublicApiController extends Controller
$res = collect($feed)
->map(function($k) use($user) {
$status = StatusService::get($k);
- if($user) {
+ if($status && isset($status['account']) && $user) {
$status['favourited'] = (bool) LikeService::liked($user->profile_id, $k);
$status['bookmarked'] = (bool) BookmarkService::get($user->profile_id, $k);
$status['reblogged'] = (bool) ReblogService::get($user->profile_id, $k);
@@ -411,7 +411,7 @@ class PublicApiController extends Controller
return $status;
})
->filter(function($s) use($filtered) {
- return isset($s['account']) && in_array($s['account']['id'], $filtered) == false;
+ return $s && isset($s['account']) && in_array($s['account']['id'], $filtered) == false;
})
->values()
->toArray();
diff --git a/public/css/spa.css b/public/css/spa.css
index e520e9d18..238156387 100644
Binary files a/public/css/spa.css and b/public/css/spa.css differ
diff --git a/public/js/compose-m9we36ik.js b/public/js/compose-m9we36ik.js
index 85ae7c5ed..cba348e80 100644
Binary files a/public/js/compose-m9we36ik.js and b/public/js/compose-m9we36ik.js differ
diff --git a/public/js/compose.js b/public/js/compose.js
index ffe4bcf20..d2d6ef224 100644
Binary files a/public/js/compose.js and b/public/js/compose.js differ
diff --git a/public/js/daci-m9we36ik.js b/public/js/daci-m9we36ik.js
index 711561eb9..436e688ea 100644
Binary files a/public/js/daci-m9we36ik.js and b/public/js/daci-m9we36ik.js differ
diff --git a/public/js/dffc-m9we36ik.js b/public/js/dffc-m9we36ik.js
index 76a260f3c..37539370a 100644
Binary files a/public/js/dffc-m9we36ik.js and b/public/js/dffc-m9we36ik.js differ
diff --git a/public/js/dmyh-m9we36ik.js b/public/js/dmyh-m9we36ik.js
index 40a24cd8d..4d225f46d 100644
Binary files a/public/js/dmyh-m9we36ik.js and b/public/js/dmyh-m9we36ik.js differ
diff --git a/public/js/dmym-m9we36ik.js b/public/js/dmym-m9we36ik.js
index 93aca305f..bd0426c5b 100644
Binary files a/public/js/dmym-m9we36ik.js and b/public/js/dmym-m9we36ik.js differ
diff --git a/public/js/dsfc-m9we36ik.js b/public/js/dsfc-m9we36ik.js
index cc6975cdc..9582843a2 100644
Binary files a/public/js/dsfc-m9we36ik.js and b/public/js/dsfc-m9we36ik.js differ
diff --git a/public/js/dssc-m9we36ik.js b/public/js/dssc-m9we36ik.js
index d7523a35b..f2804b5be 100644
Binary files a/public/js/dssc-m9we36ik.js and b/public/js/dssc-m9we36ik.js differ
diff --git a/public/js/home-m9we36ik.js b/public/js/home-m9we36ik.js
index f44da7144..7fb1dde10 100644
Binary files a/public/js/home-m9we36ik.js and b/public/js/home-m9we36ik.js differ
diff --git a/public/js/post-m9we36ik.js b/public/js/post-m9we36ik.js
index 5759aaafc..a70e69b00 100644
Binary files a/public/js/post-m9we36ik.js and b/public/js/post-m9we36ik.js differ
diff --git a/public/js/profile-m9we36ik.js b/public/js/profile-m9we36ik.js
index 8a5ef7a64..060a836e9 100644
Binary files a/public/js/profile-m9we36ik.js and b/public/js/profile-m9we36ik.js differ
diff --git a/public/js/spa.js b/public/js/spa.js
index 7c084961a..148f12660 100644
Binary files a/public/js/spa.js and b/public/js/spa.js differ
diff --git a/public/mix-manifest.json b/public/mix-manifest.json
index 8e3394c03..54481238e 100644
Binary files a/public/mix-manifest.json and b/public/mix-manifest.json differ
diff --git a/resources/assets/js/components/ComposeModal.vue b/resources/assets/js/components/ComposeModal.vue
index 1e2b986db..a51c911ea 100644
--- a/resources/assets/js/components/ComposeModal.vue
+++ b/resources/assets/js/components/ComposeModal.vue
@@ -1878,11 +1878,11 @@ export default {
}
a.list-group-item:hover {
text-decoration: none;
- background-color: #f8f9fa !important;
+ background-color: #f8f9fa;
}
.compose-action:hover {
cursor: pointer;
- background-color: #f8f9fa !important;
+ background-color: #f8f9fa;
}
.collections-list-group {
max-height: 500px;
diff --git a/resources/assets/js/components/presenter/PhotoAlbumPresenter.vue b/resources/assets/js/components/presenter/PhotoAlbumPresenter.vue
index 35b78fe7e..033727f9f 100644
--- a/resources/assets/js/components/presenter/PhotoAlbumPresenter.vue
+++ b/resources/assets/js/components/presenter/PhotoAlbumPresenter.vue
@@ -21,8 +21,8 @@
:hash="status.media_attachments[0].blurhash"
:alt="altText(status)"/>
-
-
+
-
+
+
diff --git a/resources/assets/js/i18n/uk.json b/resources/assets/js/i18n/uk.json
index 1acb08636..0eb681d9e 100644
--- a/resources/assets/js/i18n/uk.json
+++ b/resources/assets/js/i18n/uk.json
@@ -1,150 +1,170 @@
{
"common": {
- "comment": "Comment",
- "commented": "Commented",
- "comments": "Comments",
- "like": "Like",
- "liked": "Liked",
- "likes": "Likes",
- "share": "Share",
- "shared": "Shared",
- "shares": "Shares",
- "unshare": "Unshare",
- "cancel": "Cancel",
- "copyLink": "Copy Link",
- "delete": "Delete",
- "error": "Error",
- "errorMsg": "Something went wrong. Please try again later.",
- "oops": "Oops!",
- "other": "Other",
- "readMore": "Read more",
- "success": "Success",
- "sensitive": "Sensitive",
- "sensitiveContent": "Sensitive Content",
- "sensitiveContentWarning": "This post may contain sensitive content"
+ "comment": "\u041a\u043e\u043c\u0435\u043d\u0442\u0443\u0432\u0430\u0442\u0438",
+ "commented": "\u041f\u0440\u043e\u043a\u043e\u043c\u0435\u043d\u0442\u043e\u0432\u0430\u043d\u043e",
+ "comments": "\u041a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0456",
+ "like": "\u0412\u043f\u043e\u0434\u043e\u0431\u0430\u0442\u0438",
+ "liked": "\u0412\u043f\u043e\u0434\u043e\u0431\u0430\u043d\u043e",
+ "likes": "\u0412\u043f\u043e\u0434\u043e\u0431\u0430\u043d\u043d\u044f",
+ "share": "\u041f\u043e\u0448\u0438\u0440\u0438\u0442\u0438",
+ "shared": "\u041f\u043e\u0448\u0438\u0440\u0435\u043d\u043e",
+ "shares": "\u041f\u043e\u0448\u0438\u0440\u0435\u043d\u043d\u044f",
+ "unshare": "\u041d\u0435 \u043f\u043e\u0448\u0438\u0440\u044e\u0432\u0430\u0442\u0438",
+ "bookmark": "\u0417\u0430\u043a\u043b\u0430\u0434\u043a\u0430",
+ "cancel": "\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
+ "copyLink": "\u041a\u043e\u043f\u0456\u044e\u0432\u0430\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f",
+ "delete": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438",
+ "error": "\u041f\u043e\u043c\u0438\u043b\u043a\u0430",
+ "errorMsg": "\u0429\u043e\u0441\u044c \u043f\u0456\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a. \u041f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c \u0441\u043f\u0440\u043e\u0431\u0443 \u0437\u0433\u043e\u0434\u043e\u043c",
+ "oops": "\u0419\u043e\u0439!",
+ "other": "\u0406\u043d\u0448\u0435",
+ "readMore": "\u0414\u043e\u043a\u043b\u0430\u0434\u043d\u0456\u0448\u0435",
+ "success": "\u0423\u0441\u043f\u0456\u0445",
+ "proceed": "\u041f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438",
+ "next": "\u0414\u0430\u043b\u0456",
+ "close": "\u0417\u0430\u043a\u0440\u0438\u0442\u0438",
+ "clickHere": "\u043d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u0442\u0443\u0442",
+ "sensitive": "\u0427\u0443\u0442\u043b\u0438\u0432\u0435",
+ "sensitiveContent": "\u0427\u0443\u0442\u043b\u0438\u0432\u0438\u0439 \u0432\u043c\u0456\u0441\u0442",
+ "sensitiveContentWarning": "\u0426\u0435\u0439 \u0434\u043e\u043f\u0438\u0441 \u043c\u043e\u0436\u0435 \u043c\u0456\u0441\u0442\u0438\u0442\u0438 \u0447\u0443\u0442\u043b\u0438\u0432\u0438\u0439 \u0432\u043c\u0456\u0441\u0442"
},
"site": {
- "terms": "Terms of Use",
- "privacy": "Privacy Policy"
+ "terms": "\u0423\u043c\u043e\u0432\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f",
+ "privacy": "\u041f\u043e\u043b\u0456\u0442\u0438\u043a\u0430 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u0456"
},
"navmenu": {
- "search": "Search",
- "admin": "Admin Dashboard",
- "homeFeed": "Home Feed",
- "localFeed": "Local Feed",
- "globalFeed": "Global Feed",
- "discover": "Discover",
- "directMessages": "Direct Messages",
- "notifications": "Notifications",
- "groups": "Groups",
- "stories": "Stories",
- "profile": "Profile",
- "drive": "Drive",
- "settings": "Settings",
- "compose": "Create New",
- "logout": "Logout",
- "about": "About",
- "help": "Help",
- "language": "Language",
- "privacy": "Privacy",
- "terms": "Terms",
- "backToPreviousDesign": "Go back to previous design"
+ "search": "\u041f\u043e\u0448\u0443\u043a",
+ "admin": "\u0410\u0434\u043c\u0456\u043d\u043f\u0430\u043d\u0435\u043b\u044c",
+ "homeFeed": "\u0414\u043e\u043c\u0430\u0448\u043d\u044f \u0441\u0442\u0440\u0456\u0447\u043a\u0430",
+ "localFeed": "\u041c\u0456\u0441\u0446\u0435\u0432\u0430 \u0441\u0442\u0440\u0456\u0447\u043a\u0430",
+ "globalFeed": "\u0421\u0432\u0456\u0442\u043e\u0432\u0430 \u0441\u0442\u0440\u0456\u0447\u043a\u0430",
+ "discover": "\u0426\u0456\u043a\u0430\u0432\u0435",
+ "directMessages": "\u041f\u0440\u044f\u043c\u0456 \u043b\u0438\u0441\u0442\u0438",
+ "notifications": "\u0421\u043f\u043e\u0432\u0456\u0449\u0435\u043d\u043d\u044f",
+ "groups": "\u0413\u0440\u0443\u043f\u0438",
+ "stories": "\u0421\u0442\u043e\u0440\u0456",
+ "profile": "\u041f\u0440\u043e\u0444\u0456\u043b\u044c",
+ "drive": "\u0421\u0445\u043e\u0432\u0438\u0449\u0435",
+ "settings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438",
+ "compose": "\u0421\u0442\u0432\u043e\u0440\u0438\u0442\u0438",
+ "logout": "\u0412\u0438\u0439\u0442\u0438",
+ "about": "\u041f\u0440\u043e \u0437\u0430\u0441\u0442\u043e\u0441\u0443\u043d\u043e\u043a",
+ "help": "\u0414\u043e\u0432\u0456\u0434\u043a\u0430",
+ "language": "\u041c\u043e\u0432\u0430",
+ "privacy": "\u041f\u0440\u0438\u0432\u0430\u0442\u043d\u0456\u0441\u0442\u044c",
+ "terms": "\u0423\u043c\u043e\u0432\u0438",
+ "backToPreviousDesign": "\u041f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u0438 \u043c\u0438\u043d\u0443\u043b\u0438\u0439 \u0434\u0438\u0437\u0430\u0439\u043d"
},
"directMessages": {
- "inbox": "Inbox",
- "sent": "Sent",
- "requests": "Requests"
+ "inbox": "\u0412\u0445\u0456\u0434\u043d\u0456",
+ "sent": "\u041d\u0430\u0434\u0456\u0441\u043b\u0430\u043d\u0456",
+ "requests": "\u0417\u0430\u043f\u0438\u0442\u0438"
},
"notifications": {
- "liked": "liked your",
- "commented": "commented on your",
- "reacted": "reacted to your",
- "shared": "shared your",
- "tagged": "tagged you in a",
- "updatedA": "updated a",
- "sentA": "sent a",
- "followed": "followed",
- "mentioned": "mentioned",
- "you": "you",
- "yourApplication": "Your application to join",
- "applicationApproved": "was approved!",
- "applicationRejected": "was rejected. You can re-apply to join in 6 months.",
- "dm": "dm",
- "groupPost": "group post",
- "modlog": "modlog",
- "post": "post",
- "story": "story"
+ "liked": "\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0443\u043f\u043e\u0434\u043e\u0431\u0430\u043d\u043d\u044f \u043f\u0456\u0434 \u0432\u0430\u0448",
+ "commented": "\u043a\u043e\u043c\u0435\u043d\u0442\u0443\u0454 \u0432\u0430\u0448",
+ "reacted": "\u0440\u0435\u0430\u0433\u0443\u0454 \u043d\u0430 \u0432\u0430\u0448",
+ "shared": "\u043f\u043e\u0448\u0438\u0440\u044e\u0454 \u0432\u0430\u0448",
+ "tagged": "\u043f\u043e\u0437\u043d\u0430\u0447\u0430\u0454 \u0432\u0430\u0441 \u0447\u0435\u0440\u0435\u0437",
+ "updatedA": "\u043e\u043d\u043e\u0432\u043b\u044e\u0454",
+ "sentA": "\u043d\u0430\u0434\u0441\u0438\u043b\u0430\u0454",
+ "followed": "\u0432\u0456\u0434\u0441\u0442\u0435\u0436\u0443\u0454",
+ "mentioned": "\u0437\u0433\u0430\u0434\u0443\u0454",
+ "you": "\u0432\u0430\u0441",
+ "yourApplication": "\u0412\u0430\u0448\u0443 \u0440\u0435\u0454\u0441\u0442\u0440\u0430\u0446\u0456\u0439\u043d\u0443 \u0437\u0430\u044f\u0432\u043a\u0443",
+ "applicationApproved": "\u043f\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043d\u043e!",
+ "applicationRejected": "\u0432\u0456\u0434\u0445\u0438\u043b\u0435\u043d\u043e. \u041c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0438 \u0441\u043f\u0440\u043e\u0431\u0443 \u0447\u0435\u0440\u0435\u0437 6 \u043c\u0456\u0441\u044f\u0446\u0456\u0432.",
+ "dm": "\u043b\u0438\u0441\u0442",
+ "groupPost": "\u0434\u043e\u043f\u0438\u0441 \u0443 \u0433\u0440\u0443\u043f\u0456",
+ "modlog": "\u043c\u043e\u0434\u0436\u0443\u0440\u043d\u0430\u043b",
+ "post": "\u0434\u043e\u043f\u0438\u0441",
+ "story": "\u0441\u0442\u043e\u0440\u0456",
+ "noneFound": "\u0421\u043f\u043e\u0432\u0456\u0449\u0435\u043d\u044c \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e"
},
"post": {
- "shareToFollowers": "Share to followers",
- "shareToOther": "Share to other",
- "noLikes": "No likes yet",
- "uploading": "Uploading"
+ "shareToFollowers": "\u041f\u043e\u0448\u0438\u0440\u0438\u0442\u0438 \u0430\u0432\u0434\u0438\u0442\u043e\u0440\u0456\u0457",
+ "shareToOther": "\u041f\u043e\u0448\u0438\u0440\u0438\u0442\u0438 \u0456\u043d\u0448\u0438\u043c",
+ "noLikes": "\u0412\u043f\u043e\u0434\u043e\u0431\u0430\u043d\u044c \u043f\u043e\u043a\u0438 \u043d\u0435\u043c\u0430",
+ "uploading": "\u0412\u0438\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f"
},
"profile": {
- "posts": "Posts",
- "followers": "Followers",
- "following": "Following",
- "admin": "Admin",
- "collections": "Collections",
- "follow": "Follow",
- "unfollow": "Unfollow",
- "editProfile": "Edit Profile",
- "followRequested": "Follow Requested",
- "joined": "Joined",
- "emptyCollections": "We can't seem to find any collections",
- "emptyPosts": "We can't seem to find any posts"
+ "posts": "\u0414\u043e\u043f\u0438\u0441\u0438",
+ "followers": "\u0410\u0432\u0434\u0438\u0442\u043e\u0440\u0456\u044f",
+ "following": "\u041f\u0456\u0434\u043f\u0438\u0441\u043a\u0438",
+ "admin": "\u0410\u0434\u043c\u0456\u043d\u0456\u0441\u0442\u0440\u0430\u0446\u0456\u044f",
+ "collections": "\u0417\u0431\u0456\u0440\u043a\u0438",
+ "follow": "\u0421\u0442\u0435\u0436\u0438\u0442\u0438",
+ "unfollow": "\u041d\u0435 \u0441\u0442\u0435\u0436\u0438\u0442\u0438",
+ "editProfile": "\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043f\u0440\u043e\u0444\u0456\u043b\u044c",
+ "followRequested": "\u0417\u0430\u043f\u0438\u0442 \u043d\u0430 \u0441\u0442\u0435\u0436\u0435\u043d\u043d\u044f",
+ "joined": "\u0414\u043e\u043b\u0443\u0447\u0430\u0454\u0442\u044c\u0441\u044f",
+ "emptyCollections": "\u0417\u0431\u0456\u0440\u043e\u043a \u0443 \u0432\u0430\u0441 \u043f\u043e\u043a\u0438 \u043d\u0435\u043c\u0430",
+ "emptyPosts": "\u0414\u043e\u043f\u0438\u0441\u0456\u0432 \u0443 \u0432\u0430\u0441 \u043f\u043e\u043a\u0438 \u043d\u0435\u043c\u0430"
},
"menu": {
- "viewPost": "View Post",
- "viewProfile": "View Profile",
- "moderationTools": "Moderation Tools",
- "report": "Report",
- "archive": "Archive",
- "unarchive": "Unarchive",
- "embed": "Embed",
- "selectOneOption": "Select one of the following options",
- "unlistFromTimelines": "Unlist from Timelines",
- "addCW": "Add Content Warning",
- "removeCW": "Remove Content Warning",
- "markAsSpammer": "Mark as Spammer",
- "markAsSpammerText": "Unlist + CW existing and future posts",
- "spam": "Spam",
- "sensitive": "Sensitive Content",
- "abusive": "Abusive or Harmful",
- "underageAccount": "Underage Account",
- "copyrightInfringement": "Copyright Infringement",
- "impersonation": "Impersonation",
- "scamOrFraud": "Scam or Fraud",
- "confirmReport": "Confirm Report",
- "confirmReportText": "Are you sure you want to report this post?",
- "reportSent": "Report Sent!",
- "reportSentText": "We have successfully received your report.",
- "reportSentError": "There was an issue reporting this post.",
- "modAddCWConfirm": "Are you sure you want to add a content warning to this post?",
- "modCWSuccess": "Successfully added content warning",
- "modRemoveCWConfirm": "Are you sure you want to remove the content warning on this post?",
- "modRemoveCWSuccess": "Successfully removed content warning",
- "modUnlistConfirm": "Are you sure you want to unlist this post?",
- "modUnlistSuccess": "Successfully unlisted post",
- "modMarkAsSpammerConfirm": "Are you sure you want to mark this user as a spammer? All existing and future posts will be unlisted on timelines and a content warning will be applied.",
- "modMarkAsSpammerSuccess": "Successfully marked account as spammer",
- "toFollowers": "to Followers",
- "showCaption": "Show Caption",
- "showLikes": "Show Likes",
- "compactMode": "Compact Mode",
- "embedConfirmText": "By using this embed, you agree to our",
- "deletePostConfirm": "Are you sure you want to delete this post?",
- "archivePostConfirm": "Are you sure you want to archive this post?",
- "unarchivePostConfirm": "Are you sure you want to unarchive this post?"
+ "viewPost": "\u041f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u0443\u0442\u0438 \u0434\u043e\u043f\u0438\u0441",
+ "viewProfile": "\u041f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u0443\u0442\u0438 \u043f\u0440\u043e\u0444\u0456\u043b\u044c",
+ "moderationTools": "\u0417\u0430\u0441\u043e\u0431\u0438 \u043c\u043e\u0434\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f",
+ "report": "\u0421\u043a\u0430\u0440\u0433\u0430",
+ "archive": "\u0410\u0440\u0445\u0456\u0432\u0443\u0432\u0430\u0442\u0438",
+ "unarchive": "\u0420\u043e\u0437\u0430\u0440\u0445\u0456\u0432\u0443\u0432\u0430\u0442\u0438",
+ "embed": "\u0415\u043a\u0441\u043f\u043e\u0440\u0442",
+ "selectOneOption": "\u041e\u0431\u0435\u0440\u0456\u0442\u044c \u043e\u0434\u0438\u043d \u0456\u0437 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043d\u0442\u0456\u0432",
+ "unlistFromTimelines": "\u0421\u0445\u043e\u0432\u0430\u0442\u0438 \u0437\u0456 \u0441\u0442\u0440\u0456\u0447\u043e\u043a",
+ "addCW": "\u0417\u0430\u0441\u0442\u0435\u0440\u0435\u0433\u0442\u0438 \u043f\u0440\u043e \u0432\u043c\u0456\u0441\u0442",
+ "removeCW": "\u0412\u0438\u043b\u0443\u0447\u0438\u0442\u0438 \u0437\u0430\u0441\u0442\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f",
+ "markAsSpammer": "\u041f\u043e\u0437\u043d\u0430\u0447\u0438\u0442\u0438 \u044f\u043a \u0441\u043f\u0430\u043c",
+ "markAsSpammerText": "\u0421\u0445\u043e\u0432\u0430\u0442\u0438 \u0446\u0435\u0439 \u0456 \u043c\u0430\u0439\u0431\u0443\u0442\u043d\u0456 \u0434\u043e\u043f\u0438\u0441\u0438, \u0434\u043e\u0434\u0430\u044e\u0447\u0438 \u0437\u0430\u0441\u0442\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f",
+ "spam": "\u0421\u043f\u0430\u043c",
+ "sensitive": "\u0427\u0443\u0442\u043b\u0438\u0432\u0438\u0439 \u0432\u043c\u0456\u0441\u0442",
+ "abusive": "\u041e\u0431\u0440\u0430\u0436\u0430\u0454 \u0447\u0438 \u0448\u043a\u043e\u0434\u0438\u0442\u044c",
+ "underageAccount": "\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043d\u0456\u0439 \u0432\u0456\u043a",
+ "copyrightInfringement": "\u041f\u043e\u0440\u0443\u0448\u0443\u0454 \u0430\u0432\u0442\u043e\u0440\u0441\u044c\u043a\u0456 \u043f\u0440\u0430\u0432\u0430",
+ "impersonation": "\u0412\u0434\u0430\u0454 \u043a\u043e\u0433\u043e\u0441\u044c",
+ "scamOrFraud": "\u0428\u0430\u0445\u0440\u0430\u0439\u0441\u0442\u0432\u043e",
+ "confirmReport": "\u041f\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u0441\u043a\u0430\u0440\u0433\u0443",
+ "confirmReportText": "\u0422\u043e\u0447\u043d\u043e \u043f\u043e\u0441\u043a\u0430\u0440\u0436\u0438\u0442\u0438\u0441\u044c \u043d\u0430 \u0434\u043e\u043f\u0438\u0441?",
+ "reportSent": "\u0421\u043a\u0430\u0440\u0433\u0443 \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u043d\u043e!",
+ "reportSentText": "\u041c\u0438 \u0443\u0441\u043f\u0456\u0448\u043d\u043e \u043e\u0442\u0440\u0438\u043c\u0430\u043b\u0438 \u0432\u0430\u0448\u0443 \u0441\u043a\u0430\u0440\u0433\u0443.",
+ "reportSentError": "\u0412\u0438\u043d\u0438\u043a\u043b\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0440\u0438 \u043d\u0430\u0434\u0441\u0438\u043b\u0430\u043d\u043d\u0456 \u0441\u043a\u0430\u0440\u0433\u0438.",
+ "modAddCWConfirm": "\u0422\u043e\u0447\u043d\u043e \u0434\u043e\u0434\u0430\u0442\u0438 \u0437\u0430\u0441\u0442\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u043f\u0440\u043e \u0432\u043c\u0456\u0441\u0442 \u0446\u044c\u043e\u043c\u0443 \u0434\u043e\u043f\u0438\u0441\u0443?",
+ "modCWSuccess": "\u0417\u0430\u0441\u0442\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u043f\u0440\u043e \u0432\u043c\u0456\u0441\u0442 \u0443\u0441\u043f\u0456\u0448\u043d\u043e \u0434\u043e\u0434\u0430\u043d\u043e",
+ "modRemoveCWConfirm": "\u0422\u043e\u0447\u043d\u043e \u0432\u0438\u043b\u0443\u0447\u0438\u0442\u0438 \u0437\u0430\u0441\u0442\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u043f\u0440\u043e \u0432\u043c\u0456\u0441\u0442 \u0456\u0437 \u0446\u044c\u043e\u0433\u043e \u0434\u043e\u043f\u0438\u0441\u0443?",
+ "modRemoveCWSuccess": "\u0417\u0430\u0441\u0442\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u043f\u0440\u043e \u0432\u043c\u0456\u0441\u0442 \u0443\u0441\u043f\u0456\u0448\u043d\u043e \u0432\u0438\u043b\u0443\u0447\u0435\u043d\u043e",
+ "modUnlistConfirm": "\u0422\u043e\u0447\u043d\u043e \u0441\u0445\u043e\u0432\u0430\u0442\u0438 \u0446\u0435\u0439 \u0434\u043e\u043f\u0438\u0441?",
+ "modUnlistSuccess": "\u0414\u043e\u043f\u0438\u0441 \u0443\u0441\u043f\u0456\u0448\u043d\u043e \u0441\u0445\u043e\u0432\u0430\u043d\u043e",
+ "modMarkAsSpammerConfirm": "\u0422\u043e\u0447\u043d\u043e \u043f\u043e\u0437\u043d\u0430\u0447\u0438\u0442\u0438 \u0446\u0435\u0439 \u043e\u0431\u043b\u0456\u043a\u043e\u0432\u0438\u0439 \u0437\u0430\u043f\u0438\u0441 \u044f\u043a \u0441\u043f\u0430\u043c? \u0423\u0441\u0456 \u043d\u0430\u044f\u0432\u043d\u0456 \u0439 \u043c\u0430\u0439\u0431\u0443\u0442\u043d\u0456 \u0434\u043e\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0435 \u0441\u0445\u043e\u0432\u0430\u043d\u043e \u0437\u0456 \u0441\u0442\u0440\u0456\u0447\u043e\u043a, \u0456 \u0457\u043c \u0431\u0443\u0434\u0435 \u0434\u043e\u0434\u0430\u043d\u043e \u0437\u0430\u0441\u0442\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u043f\u0440\u043e \u0432\u043c\u0456\u0441\u0442.",
+ "modMarkAsSpammerSuccess": "\u041e\u0431\u043b\u0456\u043a\u043e\u0432\u0438\u0439 \u0437\u0430\u043f\u0438\u0441 \u0443\u0441\u043f\u0456\u0448\u043d\u043e \u043f\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u044f\u043a \u0441\u043f\u0430\u043c",
+ "toFollowers": "\u0434\u043e \u0430\u0432\u0434\u0438\u0442\u043e\u0440\u0456\u0457",
+ "showCaption": "\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u043f\u0456\u0434\u043f\u0438\u0441",
+ "showLikes": "\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0432\u043f\u043e\u0434\u043e\u0431\u0430\u043d\u043d\u044f",
+ "compactMode": "\u041a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c",
+ "embedConfirmText": "\u0415\u043a\u0441\u043f\u043e\u0440\u0442\u0443\u044e\u0447\u0438 \u043a\u0443\u0434\u0438\u0441\u044c \u0434\u043e\u043f\u0438\u0441, \u0432\u0438 \u043f\u043e\u0433\u043e\u0434\u0436\u0443\u0454\u0442\u0435 \u043d\u0430\u0448\u0456",
+ "deletePostConfirm": "\u0422\u043e\u0447\u043d\u043e \u0432\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0434\u043e\u043f\u0438\u0441?",
+ "archivePostConfirm": "\u0422\u043e\u0447\u043d\u043e \u0430\u0440\u0445\u0456\u0432\u0443\u0432\u0430\u0442\u0438 \u0434\u043e\u043f\u0438\u0441?",
+ "unarchivePostConfirm": "\u0422\u043e\u0447\u043d\u043e \u0440\u043e\u0437\u0430\u0440\u0445\u0456\u0432\u0443\u0432\u0430\u0442\u0438 \u0434\u043e\u043f\u0438\u0441?"
},
"story": {
- "add": "Add Story"
+ "add": "\u0414\u043e\u0434\u0430\u0442\u0438 \u0441\u0442\u043e\u0440\u0456"
},
"timeline": {
- "peopleYouMayKnow": "People you may know"
+ "peopleYouMayKnow": "\u0419\u043c\u043e\u0432\u0456\u0440\u043d\u0456 \u0437\u043d\u0430\u0439\u043e\u043c\u0456",
+ "onboarding": {
+ "welcome": "\u0412\u0456\u0442\u0430\u0454\u043c\u043e",
+ "thisIsYourHomeFeed": "\u0426\u0435 \u0432\u0430\u0448\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u044f \u0441\u0442\u0440\u0456\u0447\u043a\u0430 \u2014 \u0442\u0443\u0442 \u0431\u0443\u0434\u0443\u0442\u044c \u0434\u043e\u043f\u0438\u0441\u0438 \u0432\u0456\u0434 \u043e\u0431\u043b\u0456\u043a\u043e\u0432\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0456\u0432, \u0437\u0430 \u044f\u043a\u0438\u043c\u0438 \u0432\u0438 \u0441\u0442\u0435\u0436\u0438\u0442\u0435, \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u0434\u043e\u0434\u0430\u043d\u043d\u044f.",
+ "letUsHelpYouFind": "\u041c\u043e\u0436\u0435\u043c\u043e \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u0442\u0438 \u0432\u0430\u043c \u0437\u043d\u0430\u0439\u0442\u0438 \u0446\u0456\u043a\u0430\u0432\u0438\u0445 \u043b\u044e\u0434\u0435\u0439, \u0437\u0430 \u044f\u043a\u0438\u043c\u0438 \u0432\u0430\u0440\u0442\u043e \u0441\u0442\u0435\u0436\u0438\u0442\u0438",
+ "refreshFeed": "\u041e\u043d\u043e\u0432\u0438\u0442\u0438 \u043c\u043e\u044e \u0441\u0442\u0440\u0456\u0447\u043a\u0443"
+ }
},
"hashtags": {
- "emptyFeed": "We can't seem to find any posts for this hashtag"
+ "emptyFeed": "\u0414\u043e\u043f\u0438\u0441\u0456\u0432 \u0456\u0437 \u0446\u0438\u043c \u0445\u0435\u0448\u0442\u0435\u0433\u043e\u043c \u043f\u043e\u043a\u0438 \u043d\u0435\u043c\u0430"
+ },
+ "report": {
+ "report": "\u0421\u043a\u0430\u0440\u0433\u0430",
+ "selectReason": "\u041e\u0431\u0435\u0440\u0456\u0442\u044c \u043f\u0456\u0434\u0441\u0442\u0430\u0432\u0443",
+ "reported": "\u0421\u043a\u0430\u0440\u0433\u0443 \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u043d\u043e",
+ "sendingReport": "\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u043d\u043d\u044f \u0441\u043a\u0430\u0440\u0433\u0438",
+ "thanksMsg": "\u0414\u044f\u043a\u0443\u0454\u043c\u043e \u0437\u0430 \u0441\u043a\u0430\u0440\u0433\u0443: \u0432\u0438 \u0434\u043e\u043f\u043e\u043c\u0430\u0433\u0430\u0454\u0442\u0435 \u0432\u0431\u0435\u0437\u043f\u0435\u0447\u0438\u0442\u0438 \u043d\u0430\u0448\u0443 \u0441\u043f\u0456\u043b\u044c\u043d\u043e\u0442\u0443!",
+ "contactAdminMsg": "\u042f\u043a\u0449\u043e \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0441\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0443\u0432\u0430\u0442\u0438 \u0437 \u0430\u0434\u043c\u0456\u043d\u0456\u0441\u0442\u0440\u0430\u0446\u0456\u0454\u044e \u043f\u0440\u043e \u0446\u0435\u0439 \u0434\u043e\u043f\u0438\u0441 \u0447\u0438 \u0441\u043a\u0430\u0440\u0433\u0443"
}
}
\ No newline at end of file
diff --git a/resources/assets/sass/spa.scss b/resources/assets/sass/spa.scss
index 6cb2ac306..43a9a949c 100644
--- a/resources/assets/sass/spa.scss
+++ b/resources/assets/sass/spa.scss
@@ -1,18 +1,123 @@
@import "lib/ibmplexsans";
-body {
- background: rgba(243,244,246,1);
- font-family: 'IBM Plex Sans', sans-serif;
+:root {
+ --light: #fff;
+ --dark: #000;
+ --body-bg: rgba(243,244,246,1);
+ --body-color: #212529;
+ --nav-bg: #fff;
+ --bg-light: #f8f9fa;
+
+ --primary: #3B82F6;
+ --light-gray: #f8f9fa;
+ --text-lighter: #94a3b8;
+
+ --card-bg: #fff;
+ --light-hover-bg: #f9fafb;
+ --btn-light-border: #fff;
+ --input-border: #e2e8f0;
+ --comment-bg: #eff2f5;
+ --border-color: #dee2e6;
+ --card-header-accent: #f9fafb;
+
+ --dropdown-item-hover-bg: #e9ecef;
+ --dropdown-item-hover-color: #16181b;
+ --dropdown-item-color: #64748b;
+ --dropdown-item-active-color: #334155;
}
-.primary {
- color: #3B82F6;
+@media (prefers-color-scheme: dark) {
+ :root {
+ --light: #000;
+ --dark: #fff;
+ --body-bg: #000;
+ --body-color: #9ca3af;
+ --nav-bg: #000;
+ --bg-light: #212124;
+
+ --light-gray: #212124;
+ --text-lighter: #818181;
+
+ --card-bg: #161618;
+ --light-hover-bg: #212124;
+ --btn-light-border: #161618;
+ --input-border: #161618;
+ --comment-bg: #212124;
+ --border-color: #212124;
+ --card-header-accent: #212124;
+
+ --dropdown-item-hover-bg: #000;
+ --dropdown-item-hover-color: #818181;
+ --dropdown-item-color: #64748b;
+ --dropdown-item-active-color: #fff;
+ }
+}
+
+.force-light-mode {
+ --light: #fff;
+ --dark: #000;
+ --body-bg: rgba(243,244,246,1);
+ --body-color: #212529;
+ --nav-bg: #fff;
+ --bg-light: #f8f9fa;
+
+ --primary: #3B82F6;
+ --light-gray: #f8f9fa;
+ --text-lighter: #94a3b8;
+
+ --card-bg: #fff;
+ --light-hover-bg: #f9fafb;
+ --btn-light-border: #fff;
+ --input-border: #e2e8f0;
+ --comment-bg: #eff2f5;
+ --border-color: #dee2e6;
+ --card-header-accent: #f9fafb;
+
+ --dropdown-item-hover-bg: #e9ecef;
+ --dropdown-item-hover-color: #16181b;
+ --dropdown-item-color: #64748b;
+ --dropdown-item-active-color: #334155;
+}
+
+.force-dark-mode {
+ --light: #000;
+ --dark: #fff;
+ --body-bg: #000;
+ --body-color: #9ca3af;
+ --nav-bg: #000;
+ --bg-light: #212124;
+
+ --light-gray: #212124;
+ --text-lighter: #818181;
+
+ --card-bg: #161618;
+ --light-hover-bg: #212124;
+ --btn-light-border: #161618;
+ --input-border: #161618;
+ --comment-bg: #212124;
+ --border-color: #212124;
+ --card-header-accent: #212124;
+
+ --dropdown-item-hover-bg: #000;
+ --dropdown-item-hover-color: #818181;
+ --dropdown-item-color: #64748b;
+ --dropdown-item-active-color: #b3b3b3;
+}
+
+body {
+ background: var(--body-bg);
+ font-family: 'IBM Plex Sans', sans-serif;
+ color: var(--body-color);
}
.web-wrapper {
margin-bottom: 10rem;
}
+.container-fluid {
+ max-width: 1440px !important;
+}
+
.jumbotron {
border-radius: 18px;
}
@@ -27,23 +132,162 @@ body {
}
}
+.navbar-laravel {
+ background-color: var(--nav-bg);
+}
+
.sticky-top {
z-index: 2;
}
-.container-fluid {
- max-width: 1440px !important;
+.navbar-light .navbar-brand {
+ color: var(--dark);
+
+ &:hover {
+ color: var(--dark);
+ }
+}
+
+.primary {
+ color: var(--primary);
}
.text-lighter {
- color: #94a3b8 !important;
+ color: var(--text-lighter) !important;
+}
+
+.text-dark {
+ color: var(--body-color) !important;
+
+ &:hover {
+ color: var(--dark) !important;
+ }
+}
+
+a.text-dark:hover {
+ color: var(--dark) !important;
}
.badge-primary {
- background-color: #3B82F6;
+ background-color: var(--primary);
}
-.btn-primary.primary {
- background-color: #3B82F6;
+.btn-primary {
+ background-color: var(--primary);
color: #fff !important;
}
+
+.btn-outline-light {
+ border-color: var(--light-gray);
+}
+
+.border {
+ border: 1px solid var(--border-color) !important;
+}
+
+.bg-white,
+.bg-light {
+ background-color: var(--bg-light) !important;
+ border-color: var(--bg-light) !important;
+}
+
+.btn-light {
+ background-color: var(--light-gray);
+ border-color: var(--btn-light-border);
+ color: var(--body-color);
+
+ &:hover {
+ color: var(--body-color);
+ background-color: var(--card-bg);
+ border-color: var(--btn-light-border);
+ }
+}
+
+.autocomplete-input {
+ border: 1px solid var(--light-gray) !important;
+ color: var(--body-color);
+}
+
+.autocomplete-result-list {
+ background: var(--light) !important;
+}
+
+.dropdown-menu,
+span.twitter-typeahead .tt-menu,
+.form-control {
+ border: 1px solid var(--border-color) !important;
+ color: var(--body-color);
+ background-color: var(--card-bg);
+}
+
+.tribute-container li,
+.dropdown-item,
+span.twitter-typeahead .tt-suggestion {
+ color: var(--body-color);
+}
+
+.dropdown-item:hover,
+span.twitter-typeahead .tt-suggestion:hover,
+.dropdown-item:focus,
+span.twitter-typeahead .tt-suggestion:focus {
+ color: var(--dropdown-item-hover-color);
+ background-color: var(--dropdown-item-hover-bg);
+ text-decoration: none;
+}
+
+.popover,
+.modal-content,
+.form-control:focus,
+.tribute-container ul,
+.list-group-item,
+.card,
+.card-header,
+.card-footer,
+.ph-item {
+ background-color: var(--card-bg);
+}
+
+.badge-light,
+.breadcrumb,
+.ph-avatar,
+.ph-picture,
+.ph-row div {
+ background-color: var(--light-gray);
+}
+
+.card-header,
+.border-top,
+.border-bottom {
+ border-color: var(--border-color) !important;
+}
+
+.modal-header {
+ border-color: var(--border-color);
+}
+
+.compose-action:hover {
+ background-color: var(--light-gray) !important;
+}
+
+.dropdown-divider {
+ border-color: var(--dropdown-item-hover-bg);
+}
+
+.metro-nav {
+ &.flex-column {
+ background-color: var(--card-bg);
+
+ .nav-item {
+ .nav-link:hover {
+ background-color: var(--light-hover-bg);
+ }
+ }
+ }
+}
+
+.child-reply-form {
+ .form-control {
+ border-color: var(--input-border);
+ color: var(--body-color);
+ }
+}
diff --git a/resources/views/settings/labs.blade.php b/resources/views/settings/labs.blade.php
index c20987f8b..bec7f7847 100644
--- a/resources/views/settings/labs.blade.php
+++ b/resources/views/settings/labs.blade.php
@@ -6,14 +6,7 @@
Experimental features
-
- We are deprecating Labs in a future version. Some features will no longer be supported. For more information, click
here.
-
-
-
@endsection
@push('scripts')
-
-@if(!now()->gt(now()->parse('2021-06-14 07:22:46')))
-@endif
-@endpush
\ No newline at end of file
+@endpush