diff --git a/app/controllers/api/v1/timelines/public_controller.rb b/app/controllers/api/v1/timelines/public_controller.rb index f9bc54c9a..ccc10f966 100644 --- a/app/controllers/api/v1/timelines/public_controller.rb +++ b/app/controllers/api/v1/timelines/public_controller.rb @@ -18,15 +18,7 @@ class Api::V1::Timelines::PublicController < Api::BaseController end def load_statuses - (cached_0_pinned_statuses + cached_public_statuses).uniq(&:id) - end - - def cached_0_pinned_statuses - if not params_slice(:max_id, :since_id, :min_id).empty? - return [] - end - z_pinned = Account.find(1).pinned_statuses - cache_collection z_pinned, Status + cached_public_statuses end def cached_public_statuses diff --git a/app/javascript/mastodon/features/compose/index.js b/app/javascript/mastodon/features/compose/index.js index e2de8b0e6..3ae236048 100644 --- a/app/javascript/mastodon/features/compose/index.js +++ b/app/javascript/mastodon/features/compose/index.js @@ -14,13 +14,14 @@ import SearchResultsContainer from './containers/search_results_container'; import { changeComposing } from '../../actions/compose'; import { openModal } from 'mastodon/actions/modal'; import elephantUIPlane from '../../../images/elephant_ui_plane.svg'; -import { mascot } from '../../initial_state'; +import { mascot, treeRoot } from '../../initial_state'; import Icon from 'mastodon/components/icon'; import { logOut } from 'mastodon/utils/log_out'; const messages = defineMessages({ start: { id: 'getting_started.heading', defaultMessage: 'Getting started' }, home_timeline: { id: 'tabs_bar.home', defaultMessage: 'Home' }, + tree: {id: 'tabs_bar.tree', defaultMessage: 'Tree'}, notifications: { id: 'tabs_bar.notifications', defaultMessage: 'Notifications' }, public: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' }, community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' }, @@ -101,6 +102,9 @@ class Compose extends React.PureComponent { {!columns.some(column => column.get('id') === 'HOME') && ( )} + {!columns.some(column => column.get('id') === 'TREE') && ( + + )} {!columns.some(column => column.get('id') === 'NOTIFICATIONS') && ( )} diff --git a/app/javascript/mastodon/features/ui/components/navigation_panel.js b/app/javascript/mastodon/features/ui/components/navigation_panel.js index 204ee9294..b4b741c27 100644 --- a/app/javascript/mastodon/features/ui/components/navigation_panel.js +++ b/app/javascript/mastodon/features/ui/components/navigation_panel.js @@ -2,7 +2,7 @@ import React from 'react'; import { NavLink, withRouter } from 'react-router-dom'; import { FormattedMessage } from 'react-intl'; import Icon from 'mastodon/components/icon'; -import { profile_directory, showTrends } from 'mastodon/initial_state'; +import { profile_directory, showTrends, treeRoot } from 'mastodon/initial_state'; import NotificationsCounterIcon from './notifications_counter_icon'; import FollowRequestsNavLink from './follow_requests_nav_link'; import ListPanel from './list_panel'; @@ -11,7 +11,7 @@ import TrendsContainer from 'mastodon/features/getting_started/containers/trends const NavigationPanel = () => (
- + diff --git a/app/javascript/mastodon/features/ui/components/tabs_bar.js b/app/javascript/mastodon/features/ui/components/tabs_bar.js index 1911da8ba..e2bc34a2d 100644 --- a/app/javascript/mastodon/features/ui/components/tabs_bar.js +++ b/app/javascript/mastodon/features/ui/components/tabs_bar.js @@ -7,8 +7,11 @@ import { isUserTouching } from '../../../is_mobile'; import Icon from 'mastodon/components/icon'; import NotificationsCounterIcon from './notifications_counter_icon'; +import { treeRoot } from '../../../initial_state'; + export const links = [ , + , , , , diff --git a/app/javascript/mastodon/initial_state.js b/app/javascript/mastodon/initial_state.js index 56fb58546..84afb2c82 100644 --- a/app/javascript/mastodon/initial_state.js +++ b/app/javascript/mastodon/initial_state.js @@ -25,4 +25,6 @@ export const usePendingItems = getMeta('use_pending_items'); export const showTrends = getMeta('trends'); export const title = getMeta('title'); +export const treeRoot = getMeta('tree_root'); + export default initialState; diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index c50bdb8d3..f4b6d0797 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -58,6 +58,7 @@ "column.favourites": "Favourites", "column.follow_requests": "Follow requests", "column.home": "Home", + "column.tree": "Tree", "column.lists": "Lists", "column.mutes": "Muted users", "column.notifications": "Notifications", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 14456e333..8792013bb 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -58,6 +58,7 @@ "column.favourites": "赞藏", "column.follow_requests": "关注请求", "column.home": "主页", + "column.tree": "闭社树", "column.lists": "列表", "column.mutes": "已隐藏的用户", "column.notifications": "通知", diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb index fb53ea314..fdba2267b 100644 --- a/app/serializers/initial_state_serializer.rb +++ b/app/serializers/initial_state_serializer.rb @@ -22,6 +22,7 @@ class InitialStateSerializer < ActiveModel::Serializer mascot: instance_presenter.mascot&.file&.url, profile_directory: Setting.profile_directory, trends: Setting.trends, + tree_root: Setting.site_description, } if object.current_account