Remove MastoFE-related backend code and frontend pieces
This commit is contained in:
parent
152cb3074e
commit
4f55d5123b
|
@ -1,65 +0,0 @@
|
||||||
# Pleroma: A lightweight social networking server
|
|
||||||
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
defmodule Pleroma.Web.MastoFEController do
|
|
||||||
use Pleroma.Web, :controller
|
|
||||||
|
|
||||||
alias Pleroma.User
|
|
||||||
alias Pleroma.Web.MastodonAPI.AuthController
|
|
||||||
alias Pleroma.Web.OAuth.Token
|
|
||||||
alias Pleroma.Web.Plugs.EnsurePublicOrAuthenticatedPlug
|
|
||||||
alias Pleroma.Web.Plugs.OAuthScopesPlug
|
|
||||||
|
|
||||||
plug(OAuthScopesPlug, %{scopes: ["write:accounts"]} when action == :put_settings)
|
|
||||||
|
|
||||||
# Note: :index action handles attempt of unauthenticated access to private instance with redirect
|
|
||||||
plug(:skip_plug, EnsurePublicOrAuthenticatedPlug when action == :index)
|
|
||||||
|
|
||||||
plug(
|
|
||||||
OAuthScopesPlug,
|
|
||||||
%{scopes: ["read"], fallback: :proceed_unauthenticated}
|
|
||||||
when action == :index
|
|
||||||
)
|
|
||||||
|
|
||||||
plug(
|
|
||||||
:skip_plug,
|
|
||||||
[OAuthScopesPlug, EnsurePublicOrAuthenticatedPlug] when action == :manifest
|
|
||||||
)
|
|
||||||
|
|
||||||
@doc "GET /web/*path"
|
|
||||||
def index(conn, _params) do
|
|
||||||
with %{assigns: %{user: %User{} = user, token: %Token{app_id: token_app_id} = token}} <- conn,
|
|
||||||
{:ok, %{id: ^token_app_id}} <- AuthController.local_mastofe_app() do
|
|
||||||
conn
|
|
||||||
|> put_layout(false)
|
|
||||||
|> render("index.html",
|
|
||||||
token: token.token,
|
|
||||||
user: user,
|
|
||||||
custom_emojis: Pleroma.Emoji.get_all()
|
|
||||||
)
|
|
||||||
else
|
|
||||||
_ ->
|
|
||||||
conn
|
|
||||||
|> put_session(:return_to, conn.request_path)
|
|
||||||
|> redirect(to: "/web/login")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
@doc "GET /web/manifest.json"
|
|
||||||
def manifest(conn, _params) do
|
|
||||||
render(conn, "manifest.json")
|
|
||||||
end
|
|
||||||
|
|
||||||
@doc "PUT /api/web/settings: Backend-obscure settings blob for MastoFE, don't parse/reuse elsewhere"
|
|
||||||
def put_settings(%{assigns: %{user: user}} = conn, %{"data" => settings} = _params) do
|
|
||||||
with {:ok, _} <- User.mastodon_settings_update(user, settings) do
|
|
||||||
json(conn, %{})
|
|
||||||
else
|
|
||||||
e ->
|
|
||||||
conn
|
|
||||||
|> put_status(:internal_server_error)
|
|
||||||
|> json(%{error: inspect(e)})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -26,9 +26,7 @@ defmodule Pleroma.Web.MastodonAPI.AppController do
|
||||||
)
|
)
|
||||||
|
|
||||||
plug(Pleroma.Web.ApiSpec.CastAndValidate)
|
plug(Pleroma.Web.ApiSpec.CastAndValidate)
|
||||||
|
|
||||||
@local_mastodon_name "Mastodon-Local"
|
|
||||||
|
|
||||||
defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.AppOperation
|
defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.AppOperation
|
||||||
|
|
||||||
@doc "POST /api/v1/apps"
|
@doc "POST /api/v1/apps"
|
||||||
|
@ -41,7 +39,6 @@ def create(%{body_params: params} = conn, _params) do
|
||||||
|> Map.put(:scopes, scopes)
|
|> Map.put(:scopes, scopes)
|
||||||
|
|
||||||
with cs <- App.register_changeset(%App{}, app_attrs),
|
with cs <- App.register_changeset(%App{}, app_attrs),
|
||||||
false <- cs.changes[:client_name] == @local_mastodon_name,
|
|
||||||
{:ok, app} <- Repo.insert(cs) do
|
{:ok, app} <- Repo.insert(cs) do
|
||||||
render(conn, "show.json", app: app)
|
render(conn, "show.json", app: app)
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,108 +0,0 @@
|
||||||
# Pleroma: A lightweight social networking server
|
|
||||||
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
defmodule Pleroma.Web.MastodonAPI.AuthController do
|
|
||||||
use Pleroma.Web, :controller
|
|
||||||
|
|
||||||
import Pleroma.Web.ControllerHelper, only: [json_response: 3]
|
|
||||||
|
|
||||||
alias Pleroma.Helpers.AuthHelper
|
|
||||||
alias Pleroma.Helpers.UriHelper
|
|
||||||
alias Pleroma.User
|
|
||||||
alias Pleroma.Web.OAuth.App
|
|
||||||
alias Pleroma.Web.OAuth.Authorization
|
|
||||||
alias Pleroma.Web.OAuth.Token
|
|
||||||
alias Pleroma.Web.OAuth.Token.Strategy.Revoke, as: RevokeToken
|
|
||||||
alias Pleroma.Web.TwitterAPI.TwitterAPI
|
|
||||||
|
|
||||||
action_fallback(Pleroma.Web.MastodonAPI.FallbackController)
|
|
||||||
|
|
||||||
plug(Pleroma.Web.Plugs.RateLimiter, [name: :password_reset] when action == :password_reset)
|
|
||||||
|
|
||||||
@local_mastodon_name "Mastodon-Local"
|
|
||||||
|
|
||||||
@doc "GET /web/login"
|
|
||||||
# Local Mastodon FE login callback action
|
|
||||||
def login(conn, %{"code" => auth_token} = params) do
|
|
||||||
with {:ok, app} <- local_mastofe_app(),
|
|
||||||
{:ok, auth} <- Authorization.get_by_token(app, auth_token),
|
|
||||||
{:ok, oauth_token} <- Token.exchange_token(app, auth) do
|
|
||||||
redirect_to =
|
|
||||||
conn
|
|
||||||
|> local_mastodon_post_login_path()
|
|
||||||
|> UriHelper.modify_uri_params(%{"access_token" => oauth_token.token})
|
|
||||||
|
|
||||||
conn
|
|
||||||
|> AuthHelper.put_session_token(oauth_token.token)
|
|
||||||
|> redirect(to: redirect_to)
|
|
||||||
else
|
|
||||||
_ -> redirect_to_oauth_form(conn, params)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def login(conn, params) do
|
|
||||||
with %{assigns: %{user: %User{}, token: %Token{app_id: app_id}}} <- conn,
|
|
||||||
{:ok, %{id: ^app_id}} <- local_mastofe_app() do
|
|
||||||
redirect(conn, to: local_mastodon_post_login_path(conn))
|
|
||||||
else
|
|
||||||
_ -> redirect_to_oauth_form(conn, params)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
defp redirect_to_oauth_form(conn, _params) do
|
|
||||||
with {:ok, app} <- local_mastofe_app() do
|
|
||||||
path =
|
|
||||||
o_auth_path(conn, :authorize,
|
|
||||||
response_type: "code",
|
|
||||||
client_id: app.client_id,
|
|
||||||
redirect_uri: ".",
|
|
||||||
scope: Enum.join(app.scopes, " ")
|
|
||||||
)
|
|
||||||
|
|
||||||
redirect(conn, to: path)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
@doc "DELETE /auth/sign_out"
|
|
||||||
def logout(conn, _) do
|
|
||||||
conn =
|
|
||||||
with %{assigns: %{token: %Token{} = oauth_token}} <- conn,
|
|
||||||
session_token = AuthHelper.get_session_token(conn),
|
|
||||||
{:ok, %Token{token: ^session_token}} <- RevokeToken.revoke(oauth_token) do
|
|
||||||
AuthHelper.delete_session_token(conn)
|
|
||||||
else
|
|
||||||
_ -> conn
|
|
||||||
end
|
|
||||||
|
|
||||||
redirect(conn, to: "/")
|
|
||||||
end
|
|
||||||
|
|
||||||
@doc "POST /auth/password"
|
|
||||||
def password_reset(conn, params) do
|
|
||||||
nickname_or_email = params["email"] || params["nickname"]
|
|
||||||
|
|
||||||
TwitterAPI.password_reset(nickname_or_email)
|
|
||||||
|
|
||||||
json_response(conn, :no_content, "")
|
|
||||||
end
|
|
||||||
|
|
||||||
defp local_mastodon_post_login_path(conn) do
|
|
||||||
case get_session(conn, :return_to) do
|
|
||||||
nil ->
|
|
||||||
masto_fe_path(conn, :index, ["getting-started"])
|
|
||||||
|
|
||||||
return_to ->
|
|
||||||
delete_session(conn, :return_to)
|
|
||||||
return_to
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
@spec local_mastofe_app() :: {:ok, App.t()} | {:error, Ecto.Changeset.t()}
|
|
||||||
def local_mastofe_app do
|
|
||||||
App.get_or_make(
|
|
||||||
%{client_name: @local_mastodon_name, redirect_uris: "."},
|
|
||||||
["read", "write", "follow", "push", "admin"]
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -600,9 +600,6 @@ def login(%User{} = user, %App{} = app, requested_scopes) when is_list(requested
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Special case: Local MastodonFE
|
|
||||||
defp redirect_uri(%Plug.Conn{} = conn, "."), do: auth_url(conn, :login)
|
|
||||||
|
|
||||||
defp redirect_uri(%Plug.Conn{}, redirect_uri), do: redirect_uri
|
defp redirect_uri(%Plug.Conn{}, redirect_uri), do: redirect_uri
|
||||||
|
|
||||||
defp get_session_registration_id(%Plug.Conn{} = conn), do: get_session(conn, :registration_id)
|
defp get_session_registration_id(%Plug.Conn{} = conn), do: get_session(conn, :registration_id)
|
||||||
|
|
|
@ -100,12 +100,6 @@ defmodule Pleroma.Web.Router do
|
||||||
plug(Pleroma.Web.Plugs.IdempotencyPlug)
|
plug(Pleroma.Web.Plugs.IdempotencyPlug)
|
||||||
end
|
end
|
||||||
|
|
||||||
pipeline :mastodon_html do
|
|
||||||
plug(:browser)
|
|
||||||
plug(:authenticate)
|
|
||||||
plug(:after_auth)
|
|
||||||
end
|
|
||||||
|
|
||||||
pipeline :pleroma_html do
|
pipeline :pleroma_html do
|
||||||
plug(:browser)
|
plug(:browser)
|
||||||
plug(:authenticate)
|
plug(:authenticate)
|
||||||
|
@ -538,13 +532,6 @@ defmodule Pleroma.Web.Router do
|
||||||
get("/timelines/list/:list_id", TimelineController, :list)
|
get("/timelines/list/:list_id", TimelineController, :list)
|
||||||
end
|
end
|
||||||
|
|
||||||
scope "/api/web", Pleroma.Web do
|
|
||||||
pipe_through(:authenticated_api)
|
|
||||||
|
|
||||||
# Backend-obscure settings blob for MastoFE, don't parse/reuse elsewhere
|
|
||||||
put("/settings", MastoFEController, :put_settings)
|
|
||||||
end
|
|
||||||
|
|
||||||
scope "/api/v1", Pleroma.Web.MastodonAPI do
|
scope "/api/v1", Pleroma.Web.MastodonAPI do
|
||||||
pipe_through(:app_api)
|
pipe_through(:app_api)
|
||||||
|
|
||||||
|
@ -745,25 +732,6 @@ defmodule Pleroma.Web.Router do
|
||||||
get("/:version", Nodeinfo.NodeinfoController, :nodeinfo)
|
get("/:version", Nodeinfo.NodeinfoController, :nodeinfo)
|
||||||
end
|
end
|
||||||
|
|
||||||
scope "/", Pleroma.Web do
|
|
||||||
pipe_through(:api)
|
|
||||||
|
|
||||||
get("/web/manifest.json", MastoFEController, :manifest)
|
|
||||||
end
|
|
||||||
|
|
||||||
scope "/", Pleroma.Web do
|
|
||||||
pipe_through(:mastodon_html)
|
|
||||||
|
|
||||||
get("/web/login", MastodonAPI.AuthController, :login)
|
|
||||||
delete("/auth/sign_out", MastodonAPI.AuthController, :logout)
|
|
||||||
|
|
||||||
post("/auth/password", MastodonAPI.AuthController, :password_reset)
|
|
||||||
|
|
||||||
get("/web/*path", MastoFEController, :index)
|
|
||||||
|
|
||||||
get("/embed/:id", EmbedController, :show)
|
|
||||||
end
|
|
||||||
|
|
||||||
scope "/proxy/", Pleroma.Web.MediaProxy do
|
scope "/proxy/", Pleroma.Web.MediaProxy do
|
||||||
get("/preview/:sig/:url", MediaProxyController, :preview)
|
get("/preview/:sig/:url", MediaProxyController, :preview)
|
||||||
get("/preview/:sig/:url/:filename", MediaProxyController, :preview)
|
get("/preview/:sig/:url/:filename", MediaProxyController, :preview)
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang='en'>
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8'>
|
|
||||||
<meta content='width=device-width, initial-scale=1' name='viewport'>
|
|
||||||
<title>
|
|
||||||
<%= Config.get([:instance, :name]) %>
|
|
||||||
</title>
|
|
||||||
<link rel="icon" type="image/png" href="/favicon.png"/>
|
|
||||||
<link rel="manifest" type="applicaton/manifest+json" href="<%= masto_fe_path(Pleroma.Web.Endpoint, :manifest) %>" />
|
|
||||||
|
|
||||||
<meta name="theme-color" content="<%= Config.get([:manifest, :theme_color]) %>" />
|
|
||||||
|
|
||||||
<script crossorigin='anonymous' src="/packs/locales.js"></script>
|
|
||||||
<script crossorigin='anonymous' src="/packs/locales/glitch/en.js"></script>
|
|
||||||
|
|
||||||
<link rel='preload' as='script' crossorigin='anonymous' href='/packs/features/getting_started.js'>
|
|
||||||
<link rel='preload' as='script' crossorigin='anonymous' href='/packs/features/compose.js'>
|
|
||||||
<link rel='preload' as='script' crossorigin='anonymous' href='/packs/features/home_timeline.js'>
|
|
||||||
<link rel='preload' as='script' crossorigin='anonymous' href='/packs/features/notifications.js'>
|
|
||||||
<script id='initial-state' type='application/json'><%= initial_state(@token, @user, @custom_emojis) %></script>
|
|
||||||
|
|
||||||
<script src="/packs/core/common.js"></script>
|
|
||||||
<link rel="stylesheet" media="all" href="/packs/core/common.css" />
|
|
||||||
|
|
||||||
<script src="/packs/flavours/glitch/common.js"></script>
|
|
||||||
<link rel="stylesheet" media="all" href="/packs/flavours/glitch/common.css" />
|
|
||||||
|
|
||||||
<script src="/packs/flavours/glitch/home.js"></script>
|
|
||||||
</head>
|
|
||||||
<body class='app-body no-reduce-motion system-font'>
|
|
||||||
<div class='app-holder' data-props='{"locale":"en"}' id='mastodon'>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,91 +0,0 @@
|
||||||
# Pleroma: A lightweight social networking server
|
|
||||||
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
defmodule Pleroma.Web.MastoFEView do
|
|
||||||
use Pleroma.Web, :view
|
|
||||||
alias Pleroma.Config
|
|
||||||
alias Pleroma.User
|
|
||||||
alias Pleroma.Web.MastodonAPI.AccountView
|
|
||||||
alias Pleroma.Web.MastodonAPI.CustomEmojiView
|
|
||||||
|
|
||||||
def initial_state(token, user, custom_emojis) do
|
|
||||||
limit = Config.get([:instance, :limit])
|
|
||||||
|
|
||||||
%{
|
|
||||||
meta: %{
|
|
||||||
streaming_api_base_url: Pleroma.Web.Endpoint.websocket_url(),
|
|
||||||
access_token: token,
|
|
||||||
locale: "en",
|
|
||||||
domain: Pleroma.Web.Endpoint.host(),
|
|
||||||
admin: "1",
|
|
||||||
me: "#{user.id}",
|
|
||||||
unfollow_modal: false,
|
|
||||||
boost_modal: false,
|
|
||||||
delete_modal: true,
|
|
||||||
auto_play_gif: false,
|
|
||||||
display_sensitive_media: false,
|
|
||||||
reduce_motion: false,
|
|
||||||
max_toot_chars: limit,
|
|
||||||
mascot: User.get_mascot(user)["url"]
|
|
||||||
},
|
|
||||||
poll_limits: Config.get([:instance, :poll_limits]),
|
|
||||||
rights: %{
|
|
||||||
delete_others_notice: present?(user.is_moderator),
|
|
||||||
admin: present?(user.is_admin)
|
|
||||||
},
|
|
||||||
compose: %{
|
|
||||||
me: "#{user.id}",
|
|
||||||
default_privacy: user.default_scope,
|
|
||||||
default_sensitive: false,
|
|
||||||
allow_content_types: Config.get([:instance, :allowed_post_formats])
|
|
||||||
},
|
|
||||||
media_attachments: %{
|
|
||||||
accept_content_types: [
|
|
||||||
".jpg",
|
|
||||||
".jpeg",
|
|
||||||
".png",
|
|
||||||
".gif",
|
|
||||||
".webm",
|
|
||||||
".mp4",
|
|
||||||
".m4v",
|
|
||||||
"image\/jpeg",
|
|
||||||
"image\/png",
|
|
||||||
"image\/gif",
|
|
||||||
"video\/webm",
|
|
||||||
"video\/mp4"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
settings: user.mastofe_settings || %{},
|
|
||||||
push_subscription: nil,
|
|
||||||
accounts: %{user.id => render(AccountView, "show.json", user: user, for: user)},
|
|
||||||
custom_emojis: render(CustomEmojiView, "index.json", custom_emojis: custom_emojis),
|
|
||||||
char_limit: limit
|
|
||||||
}
|
|
||||||
|> Jason.encode!()
|
|
||||||
|> Phoenix.HTML.raw()
|
|
||||||
end
|
|
||||||
|
|
||||||
defp present?(nil), do: false
|
|
||||||
defp present?(false), do: false
|
|
||||||
defp present?(_), do: true
|
|
||||||
|
|
||||||
def render("manifest.json", _params) do
|
|
||||||
%{
|
|
||||||
name: Config.get([:instance, :name]),
|
|
||||||
description: Config.get([:instance, :description]),
|
|
||||||
icons: Config.get([:manifest, :icons]),
|
|
||||||
theme_color: Config.get([:manifest, :theme_color]),
|
|
||||||
background_color: Config.get([:manifest, :background_color]),
|
|
||||||
display: "standalone",
|
|
||||||
scope: Pleroma.Web.base_url(),
|
|
||||||
start_url: masto_fe_path(Pleroma.Web.Endpoint, :index, ["getting-started"]),
|
|
||||||
categories: [
|
|
||||||
"social"
|
|
||||||
],
|
|
||||||
serviceworker: %{
|
|
||||||
src: "/sw.js"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{738:function(e,t,n){"use strict";n.r(t),n.d(t,"register",(function(){return s})),n.d(t,"setFocusTrapTest",(function(){return d})),n.d(t,"unregister",(function(){return l}));var r="a[href], area[href], input, select, textarea, button, iframe, object, embed, [contenteditable], [tabindex], video[controls], audio[controls], summary",o=["text","search","url","password","tel"],i=["checkbox","radio"],a=void 0;function c(e){for(var t=[],n=(function(e){if(!a)return;var t=e.parentElement;for(;t;){if(a(t))return t;t=t.parentElement}}(e)||document).querySelectorAll(r),o=n.length,i=0;i<o;i++){var c=n[i];c!==e&&(c.disabled||/^-/.test(c.getAttribute("tabindex")||"")||c.hasAttribute("inert")||!(c.offsetWidth>0||c.offsetHeight>0))||t.push(c)}return t}function u(e,t){var n=document.activeElement;if(!function(e,t){var n,r,i,a=e.tagName,c="TEXTAREA"===a,u="INPUT"===a&&-1!==o.indexOf(e.getAttribute("type").toLowerCase()),f=e.hasAttribute("contenteditable");if(!c&&!u&&!f)return!1;if(f){var s=getSelection();n=s.anchorOffset,r=s.focusOffset,i=e.textContent.length}else n=e.selectionStart,r=e.selectionEnd,i=e.value.length;return("ArrowLeft"!==t||n!==r||0!==n)&&("ArrowRight"!==t||n!==r||n!==i)}(n,t)){var r=c(n);if(r.length){var i=r.indexOf(n);("ArrowLeft"===t?r[i-1]||r[0]:r[i+1]||r[r.length-1]).focus(),e.preventDefault()}}}function f(e){if(!(e.altKey||e.metaKey||e.ctrlKey)){var t=e.key;switch(t){case"ArrowLeft":case"ArrowRight":u(e,t);break;case"Enter":!function(e){var t=document.activeElement;"INPUT"===t.tagName&&-1!==i.indexOf(t.getAttribute("type").toLowerCase())&&(t.click(),e.preventDefault())}(e)}}}function s(){addEventListener("keydown",f)}function l(){removeEventListener("keydown",f)}function d(e){a=e}}}]);
|
|
||||||
//# sourceMappingURL=arrow-key-navigation.js.map
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,5 +0,0 @@
|
||||||
/*
|
|
||||||
object-assign
|
|
||||||
(c) Sindre Sorhus
|
|
||||||
@license MIT
|
|
||||||
*/
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
/*! https://mths.be/punycode v1.4.1 by @mathias */
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,149 +0,0 @@
|
||||||
/*!
|
|
||||||
Copyright (c) 2017 Jed Watson.
|
|
||||||
Licensed under the MIT License (MIT), see
|
|
||||||
http://jedwatson.github.io/classnames
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* escape-html
|
|
||||||
* Copyright(c) 2012-2013 TJ Holowaychuk
|
|
||||||
* Copyright(c) 2015 Andreas Lubbe
|
|
||||||
* Copyright(c) 2015 Tiancheng "Timothy" Gu
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* wavesurfer.js 3.3.1 (2020-01-14)
|
|
||||||
* https://github.com/katspaugh/wavesurfer.js
|
|
||||||
* @license BSD-3-Clause
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! ./ajax */
|
|
||||||
|
|
||||||
/*! ./drawer */
|
|
||||||
|
|
||||||
/*! ./drawer.canvasentry */
|
|
||||||
|
|
||||||
/*! ./drawer.multicanvas */
|
|
||||||
|
|
||||||
/*! ./extend */
|
|
||||||
|
|
||||||
/*! ./fetch */
|
|
||||||
|
|
||||||
/*! ./frame */
|
|
||||||
|
|
||||||
/*! ./get-id */
|
|
||||||
|
|
||||||
/*! ./max */
|
|
||||||
|
|
||||||
/*! ./mediaelement */
|
|
||||||
|
|
||||||
/*! ./mediaelement-webaudio */
|
|
||||||
|
|
||||||
/*! ./min */
|
|
||||||
|
|
||||||
/*! ./observer */
|
|
||||||
|
|
||||||
/*! ./peakcache */
|
|
||||||
|
|
||||||
/*! ./prevent-click */
|
|
||||||
|
|
||||||
/*! ./request-animation-frame */
|
|
||||||
|
|
||||||
/*! ./style */
|
|
||||||
|
|
||||||
/*! ./util */
|
|
||||||
|
|
||||||
/*! ./util/get-id */
|
|
||||||
|
|
||||||
/*! ./util/style */
|
|
||||||
|
|
||||||
/*! ./webaudio */
|
|
||||||
|
|
||||||
/*! debounce */
|
|
||||||
|
|
||||||
/*! no static exports found */
|
|
||||||
|
|
||||||
/*!***********************!*\
|
|
||||||
!*** ./src/drawer.js ***!
|
|
||||||
\***********************/
|
|
||||||
|
|
||||||
/*!*************************!*\
|
|
||||||
!*** ./src/util/max.js ***!
|
|
||||||
\*************************/
|
|
||||||
|
|
||||||
/*!*************************!*\
|
|
||||||
!*** ./src/util/min.js ***!
|
|
||||||
\*************************/
|
|
||||||
|
|
||||||
/*!*************************!*\
|
|
||||||
!*** ./src/webaudio.js ***!
|
|
||||||
\*************************/
|
|
||||||
|
|
||||||
/*!**************************!*\
|
|
||||||
!*** ./src/peakcache.js ***!
|
|
||||||
\**************************/
|
|
||||||
|
|
||||||
/*!**************************!*\
|
|
||||||
!*** ./src/util/ajax.js ***!
|
|
||||||
\**************************/
|
|
||||||
|
|
||||||
/*!***************************!*\
|
|
||||||
!*** ./src/util/fetch.js ***!
|
|
||||||
\***************************/
|
|
||||||
|
|
||||||
/*!***************************!*\
|
|
||||||
!*** ./src/util/frame.js ***!
|
|
||||||
\***************************/
|
|
||||||
|
|
||||||
/*!***************************!*\
|
|
||||||
!*** ./src/util/index.js ***!
|
|
||||||
\***************************/
|
|
||||||
|
|
||||||
/*!***************************!*\
|
|
||||||
!*** ./src/util/style.js ***!
|
|
||||||
\***************************/
|
|
||||||
|
|
||||||
/*!***************************!*\
|
|
||||||
!*** ./src/wavesurfer.js ***!
|
|
||||||
\***************************/
|
|
||||||
|
|
||||||
/*!****************************!*\
|
|
||||||
!*** ./src/util/extend.js ***!
|
|
||||||
\****************************/
|
|
||||||
|
|
||||||
/*!****************************!*\
|
|
||||||
!*** ./src/util/get-id.js ***!
|
|
||||||
\****************************/
|
|
||||||
|
|
||||||
/*!*****************************!*\
|
|
||||||
!*** ./src/mediaelement.js ***!
|
|
||||||
\*****************************/
|
|
||||||
|
|
||||||
/*!******************************!*\
|
|
||||||
!*** ./src/util/observer.js ***!
|
|
||||||
\******************************/
|
|
||||||
|
|
||||||
/*!***********************************!*\
|
|
||||||
!*** ./src/drawer.canvasentry.js ***!
|
|
||||||
\***********************************/
|
|
||||||
|
|
||||||
/*!***********************************!*\
|
|
||||||
!*** ./src/drawer.multicanvas.js ***!
|
|
||||||
\***********************************/
|
|
||||||
|
|
||||||
/*!***********************************!*\
|
|
||||||
!*** ./src/util/prevent-click.js ***!
|
|
||||||
\***********************************/
|
|
||||||
|
|
||||||
/*!**************************************!*\
|
|
||||||
!*** ./src/mediaelement-webaudio.js ***!
|
|
||||||
\**************************************/
|
|
||||||
|
|
||||||
/*!****************************************!*\
|
|
||||||
!*** ./node_modules/debounce/index.js ***!
|
|
||||||
\****************************************/
|
|
||||||
|
|
||||||
/*!*********************************************!*\
|
|
||||||
!*** ./src/util/request-animation-frame.js ***!
|
|
||||||
\*********************************************/
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,7 +0,0 @@
|
||||||
/*!
|
|
||||||
* escape-html
|
|
||||||
* Copyright(c) 2012-2013 TJ Holowaychuk
|
|
||||||
* Copyright(c) 2015 Andreas Lubbe
|
|
||||||
* Copyright(c) 2015 Tiancheng "Timothy" Gu
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{944:function(e,t){window.addEventListener("message",(function(e){var t=e.data||{};function n(){window.parent.postMessage({type:"setHeight",id:t.id,height:document.getElementsByTagName("html")[0].scrollHeight},"*")}window.parent&&"setHeight"===t.type&&(["interactive","complete"].includes(document.readyState)?n():document.addEventListener("DOMContentLoaded",n))}))}},[[944,0]]]);
|
|
||||||
//# sourceMappingURL=embed.js.map
|
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/core/embed.js"],"names":["window","addEventListener","e","data","setEmbedHeight","parent","postMessage","type","id","height","document","getElementsByTagName","scrollHeight","includes","readyState"],"mappings":"2EAEAA,OAAOC,iBAAiB,WAAW,SAAAC,GACjC,IAAMC,EAAOD,EAAEC,MAAQ,GAMvB,SAASC,IACPJ,OAAOK,OAAOC,YAAY,CACxBC,KAAM,YACNC,GAAIL,EAAKK,GACTC,OAAQC,SAASC,qBAAqB,QAAQ,GAAGC,cAChD,KATAZ,OAAOK,QAAwB,cAAdF,EAAKI,OAYvB,CAAC,cAAe,YAAYM,SAASH,SAASI,YAChDV,IAEAM,SAAST,iBAAiB,mBAAoBG,S","file":"core/embed.js","sourcesContent":["// This file will be loaded on embed pages, regardless of theme.\n\nwindow.addEventListener('message', e => {\n const data = e.data || {};\n\n if (!window.parent || data.type !== 'setHeight') {\n return;\n }\n\n function setEmbedHeight () {\n window.parent.postMessage({\n type: 'setHeight',\n id: data.id,\n height: document.getElementsByTagName('html')[0].scrollHeight,\n }, '*');\n };\n\n if (['interactive', 'complete'].includes(document.readyState)) {\n setEmbedHeight();\n } else {\n document.addEventListener('DOMContentLoaded', setEmbedHeight);\n }\n});\n"],"sourceRoot":""}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{945:function(n,o,w){"use strict";w.r(o);w(946)},946:function(n,o,w){}},[[945,0]]]);
|
|
||||||
//# sourceMappingURL=mailer.js.map
|
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/core/mailer.js"],"names":[],"mappings":"0FAAA,e","file":"core/mailer.js","sourcesContent":["import 'styles/mailer.scss';\n"],"sourceRoot":""}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,7 +0,0 @@
|
||||||
/*!
|
|
||||||
* escape-html
|
|
||||||
* Copyright(c) 2012-2013 TJ Holowaychuk
|
|
||||||
* Copyright(c) 2015 Andreas Lubbe
|
|
||||||
* Copyright(c) 2015 Tiancheng "Timothy" Gu
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{812:function(n,r,i){"use strict";i.r(r);var o=i(1082);i.d(r,"Picker",(function(){return o.a}));var c=i(1058);i.d(r,"Emoji",(function(){return c.a}))}}]);
|
|
||||||
//# sourceMappingURL=emoji_picker.js.map
|
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/emoji/emoji_picker.js"],"names":[],"mappings":"2FAAA","file":"emoji_picker.js","sourcesContent":["import Picker from 'emoji-mart/dist-es/components/picker/picker';\nimport Emoji from 'emoji-mart/dist-es/components/emoji/emoji';\n\nexport {\n Picker,\n Emoji,\n};\n"],"sourceRoot":""}
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
/*! npm.im/object-fit-images 3.2.4 */
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{819:function(t,a,e){"use strict";e.r(a),e.d(a,"default",(function(){return _}));var s,o,i,c=e(0),n=e(2),p=(e(9),e(6),e(8)),r=e(1),u=(e(3),e(15)),d=e(16),l=e.n(d),h=e(5),b=e.n(h),m=e(26),j=e(36),I=e(1065),O=e(306),f=e(757),w=e(1084),v=e(764),g=e(4),R=e(21),y=e(7),M=e(291),L=e(1057);var S=Object(g.List)(),_=Object(u.connect)((function(t,a){var e=a.params.accountId,s=a.withReplies,o=void 0!==s&&s,i=o?e+":with_replies":e;return{isAccount:!!t.getIn(["accounts",e]),statusIds:t.getIn(["timelines","account:"+i,"items"],S),featuredStatusIds:o?Object(g.List)():t.getIn(["timelines","account:"+e+":pinned","items"],S),isLoading:t.getIn(["timelines","account:"+i,"isLoading"]),hasMore:t.getIn(["timelines","account:"+i,"hasMore"]),blockedBy:t.getIn(["relationships",e,"blocked_by"],!1)}}))((i=o=function(t){Object(p.a)(e,t);var a;a=e;function e(){for(var a,e=arguments.length,s=new Array(e),o=0;o<e;o++)s[o]=arguments[o];return a=t.call.apply(t,[this].concat(s))||this,Object(r.a)(Object(n.a)(a),"handleLoadMore",(function(t){a.props.dispatch(Object(j.q)(a.props.params.accountId,{maxId:t,withReplies:a.props.withReplies}))})),a}var s=e.prototype;return s.componentWillMount=function(){var t=this.props,a=t.params.accountId,e=t.withReplies;this.props.dispatch(Object(m.A)(a)),this.props.dispatch(Object(M.d)(a)),e||this.props.dispatch(Object(j.o)(a)),this.props.dispatch(Object(j.q)(a,{withReplies:e}))},s.componentWillReceiveProps=function(t){(t.params.accountId!==this.props.params.accountId&&t.params.accountId||t.withReplies!==this.props.withReplies)&&(this.props.dispatch(Object(m.A)(t.params.accountId)),this.props.dispatch(Object(M.d)(t.params.accountId)),t.withReplies||this.props.dispatch(Object(j.o)(t.params.accountId)),this.props.dispatch(Object(j.q)(t.params.accountId,{withReplies:t.params.withReplies})))},s.render=function(){var t=this.props,a=t.shouldUpdateScroll,e=t.statusIds,s=t.featuredStatusIds,o=t.isLoading,i=t.hasMore,n=t.blockedBy,p=t.isAccount,r=t.multiColumn;if(!p)return Object(c.a)(f.a,{},void 0,Object(c.a)(v.a,{multiColumn:r}),Object(c.a)(L.a,{}));if(!e&&o)return Object(c.a)(f.a,{},void 0,Object(c.a)(O.a,{}));var u=n?Object(c.a)(y.b,{id:"empty_column.account_unavailable",defaultMessage:"Profile unavailable"}):Object(c.a)(y.b,{id:"empty_column.account_timeline",defaultMessage:"No toots here!"});return(Object(c.a)(f.a,{},void 0,Object(c.a)(v.a,{multiColumn:r}),Object(c.a)(I.a,{prepend:Object(c.a)(w.a,{accountId:this.props.params.accountId}),alwaysPrepend:!0,scrollKey:"account_timeline",statusIds:n?S:e,featuredStatusIds:s,isLoading:o,hasMore:i,onLoadMore:this.handleLoadMore,shouldUpdateScroll:a,emptyMessage:u,bindToDocument:!r,timelineId:"account"})))},e}(R.a),Object(r.a)(o,"propTypes",{params:b.a.object.isRequired,dispatch:b.a.func.isRequired,shouldUpdateScroll:b.a.func,statusIds:l.a.list,featuredStatusIds:l.a.list,isLoading:b.a.bool,hasMore:b.a.bool,withReplies:b.a.bool,blockedBy:b.a.bool,isAccount:b.a.bool,multiColumn:b.a.bool}),s=i))||s}}]);
|
|
||||||
//# sourceMappingURL=account_timeline.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{827:function(e,t,a){"use strict";a.r(t),a.d(t,"default",(function(){return q}));var o,n,c,s=a(0),r=a(2),i=(a(9),a(6),a(8)),u=a(1),l=a(65),d=a.n(l),b=(a(3),a(15)),p=a(7),h=a(21),f=a(16),j=a.n(f),O=a(5),m=a.n(O),g=a(306),M=a(757),v=a(763),k=a(1053),y=a(230),w=a(1049);var I=Object(p.f)({heading:{id:"column.blocks",defaultMessage:"Blocked users"}}),q=Object(b.connect)((function(e){return{accountIds:e.getIn(["user_lists","blocks","items"]),hasMore:!!e.getIn(["user_lists","blocks","next"])}}))(o=Object(p.g)((c=n=function(e){Object(i.a)(a,e);var t;t=a;function a(){for(var t,a=arguments.length,o=new Array(a),n=0;n<a;n++)o[n]=arguments[n];return t=e.call.apply(e,[this].concat(o))||this,Object(u.a)(Object(r.a)(t),"handleLoadMore",d()((function(){t.props.dispatch(Object(y.d)())}),300,{leading:!0})),t}var o=a.prototype;return o.componentWillMount=function(){this.props.dispatch(Object(y.e)())},o.render=function(){var e=this.props,t=e.intl,a=e.accountIds,o=e.shouldUpdateScroll,n=e.hasMore,c=e.multiColumn;if(!a)return Object(s.a)(M.a,{},void 0,Object(s.a)(g.a,{}));var r=Object(s.a)(p.b,{id:"empty_column.blocks",defaultMessage:"You haven't blocked any users yet."});return(Object(s.a)(M.a,{bindToDocument:!c,icon:"ban",heading:t.formatMessage(I.heading)},void 0,Object(s.a)(v.a,{}),Object(s.a)(w.a,{scrollKey:"blocks",onLoadMore:this.handleLoadMore,hasMore:n,shouldUpdateScroll:o,emptyMessage:r,bindToDocument:!c},void 0,a.map((function(e){return Object(s.a)(k.a,{id:e},e)})))))},a}(h.a),Object(u.a)(n,"propTypes",{params:m.a.object.isRequired,dispatch:m.a.func.isRequired,shouldUpdateScroll:m.a.func,accountIds:j.a.list,hasMore:m.a.bool,intl:m.a.object.isRequired,multiColumn:m.a.bool}),o=c))||o)||o}}]);
|
|
||||||
//# sourceMappingURL=blocks.js.map
|
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/blocks/index.js"],"names":["messages","defineMessages","heading","Blocks","connect","state","accountIds","getIn","hasMore","injectIntl","props","dispatch","expandBlocks","leading","componentWillMount","this","fetchBlocks","render","intl","shouldUpdateScroll","multiColumn","emptyMessage","id","defaultMessage","bindToDocument","icon","formatMessage","scrollKey","onLoadMore","handleLoadMore","map","ImmutablePureComponent","params","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"oUAcA,IAAMA,EAAWC,YAAe,CAC9BC,QAAQ,CAAD,qDAUHC,EAFUC,mBALQ,SAAAC,GAAK,MAAK,CAChCC,WAAYD,EAAME,MAAM,CAAC,aAAc,SAAU,UACjDC,UAAWH,EAAME,MAAM,CAAC,aAAc,SAAU,Y,GAIjDE,a,8NAiBkB,KAAS,WACxB,EAAKC,MAAMC,SAASC,iBACnB,IAAK,CAAEC,SAAS,K,6BANnBC,mBAAA,WACEC,KAAKL,MAAMC,SAASK,gB,EAOtBC,OAAA,WAAW,IAAD,EAC+DF,KAAKL,MAApEQ,EADA,EACAA,KAAMZ,EADN,EACMA,WAAYa,EADlB,EACkBA,mBAAoBX,EADtC,EACsCA,QAASY,EAD/C,EAC+CA,YAEvD,IAAKd,EACH,OACE,YAAC,IAAD,UACE,YAAC,IAAD,KAKN,IAAMe,EAAe,YAAC,IAAD,CAAkBC,GAAG,sBAAsBC,eAAe,uCAE/E,OACE,YAAC,IAAD,CAAQC,gBAAiBJ,EAAaK,KAAK,MAAMvB,QAASgB,EAAKQ,cAAc1B,EAASE,eAAtF,EACE,YAAC,IAAD,IACA,YAAC,IAAD,CACEyB,UAAU,SACVC,WAAYb,KAAKc,eACjBrB,QAASA,EACTW,mBAAoBA,EACpBE,aAAcA,EACdG,gBAAiBJ,QANnB,EAQGd,EAAWwB,KAAI,SAAAR,GAAE,OAChB,YAAC,IAAD,CAA2BA,GAAIA,GAARA,U,GA7CdS,K,0BAEA,CACjBC,OAAQC,IAAUC,OAAOC,WACzBxB,SAAUsB,IAAUG,KAAKD,WACzBhB,mBAAoBc,IAAUG,KAC9B9B,WAAY+B,IAAmBC,KAC/B9B,QAASyB,IAAUM,KACnBrB,KAAMe,IAAUC,OAAOC,WACvBf,YAAaa,IAAUM,O","file":"features/blocks.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { debounce } from 'lodash';\nimport PropTypes from 'prop-types';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport ColumnBackButtonSlim from '../../components/column_back_button_slim';\nimport AccountContainer from '../../containers/account_container';\nimport { fetchBlocks, expandBlocks } from '../../actions/blocks';\nimport ScrollableList from '../../components/scrollable_list';\n\nconst messages = defineMessages({\n heading: { id: 'column.blocks', defaultMessage: 'Blocked users' },\n});\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['user_lists', 'blocks', 'items']),\n hasMore: !!state.getIn(['user_lists', 'blocks', 'next']),\n});\n\nexport default @connect(mapStateToProps)\n@injectIntl\nclass Blocks extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n accountIds: ImmutablePropTypes.list,\n hasMore: PropTypes.bool,\n intl: PropTypes.object.isRequired,\n multiColumn: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchBlocks());\n }\n\n handleLoadMore = debounce(() => {\n this.props.dispatch(expandBlocks());\n }, 300, { leading: true });\n\n render () {\n const { intl, accountIds, shouldUpdateScroll, hasMore, multiColumn } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n const emptyMessage = <FormattedMessage id='empty_column.blocks' defaultMessage=\"You haven't blocked any users yet.\" />;\n\n return (\n <Column bindToDocument={!multiColumn} icon='ban' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <ScrollableList\n scrollKey='blocks'\n onLoadMore={this.handleLoadMore}\n hasMore={hasMore}\n shouldUpdateScroll={shouldUpdateScroll}\n emptyMessage={emptyMessage}\n bindToDocument={!multiColumn}\n >\n {accountIds.map(id =>\n <AccountContainer key={id} id={id} />,\n )}\n </ScrollableList>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
|
|
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{826:function(t,e,o){"use strict";o.r(e),o.d(e,"default",(function(){return C}));var a,n,s,i=o(0),c=o(2),r=(o(9),o(6),o(8)),l=o(1),d=o(65),u=o.n(d),b=o(3),h=o.n(b),p=o(15),m=o(5),k=o.n(m),O=o(16),f=o.n(O),j=o(209),g=o(757),M=o(759),v=o(253),I=o(1065),w=o(7),y=o(21);var L=Object(w.f)({heading:{id:"column.bookmarks",defaultMessage:"Bookmarks"}}),C=Object(p.connect)((function(t){return{statusIds:t.getIn(["status_lists","bookmarks","items"]),isLoading:t.getIn(["status_lists","bookmarks","isLoading"],!0),hasMore:!!t.getIn(["status_lists","bookmarks","next"])}}))(a=Object(w.g)((s=n=function(t){Object(r.a)(o,t);var e;e=o;function o(){for(var e,o=arguments.length,a=new Array(o),n=0;n<o;n++)a[n]=arguments[n];return e=t.call.apply(t,[this].concat(a))||this,Object(l.a)(Object(c.a)(e),"handlePin",(function(){var t=e.props,o=t.columnId,a=t.dispatch;a(o?Object(v.h)(o):Object(v.e)("BOOKMARKS",{}))})),Object(l.a)(Object(c.a)(e),"handleMove",(function(t){var o=e.props,a=o.columnId;(0,o.dispatch)(Object(v.g)(a,t))})),Object(l.a)(Object(c.a)(e),"handleHeaderClick",(function(){e.column.scrollTop()})),Object(l.a)(Object(c.a)(e),"setRef",(function(t){e.column=t})),Object(l.a)(Object(c.a)(e),"handleLoadMore",u()((function(){e.props.dispatch(Object(j.g)())}),300,{leading:!0})),e}var a=o.prototype;return a.componentWillMount=function(){this.props.dispatch(Object(j.h)())},a.render=function(){var t=this.props,e=t.intl,o=t.shouldUpdateScroll,a=t.statusIds,n=t.columnId,s=t.multiColumn,c=t.hasMore,r=t.isLoading,l=!!n,d=Object(i.a)(w.b,{id:"empty_column.bookmarked_statuses",defaultMessage:"You don't have any bookmarked toots yet. When you bookmark one, it will show up here."});return h.a.createElement(g.a,{bindToDocument:!s,ref:this.setRef,label:e.formatMessage(L.heading)},Object(i.a)(M.a,{icon:"bookmark",title:e.formatMessage(L.heading),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:l,multiColumn:s,showBackButton:!0}),Object(i.a)(I.a,{trackScroll:!l,statusIds:a,scrollKey:"bookmarked_statuses-"+n,hasMore:c,isLoading:r,onLoadMore:this.handleLoadMore,shouldUpdateScroll:o,emptyMessage:d,bindToDocument:!s}))},o}(y.a),Object(l.a)(n,"propTypes",{dispatch:k.a.func.isRequired,shouldUpdateScroll:k.a.func,statusIds:f.a.list.isRequired,intl:k.a.object.isRequired,columnId:k.a.string,multiColumn:k.a.bool,hasMore:k.a.bool,isLoading:k.a.bool}),a=s))||a)||a}}]);
|
|
||||||
//# sourceMappingURL=bookmarked_statuses.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{861:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return U}));var o,i,c,a=n(0),l=n(2),d=(n(9),n(6),n(8)),r=n(1),s=n(3),u=n.n(s),m=n(15),p=n(7),h=n(5),b=n.n(h),f=n(1063),y=n(762),j=n(759),O=n(36),M=n(253),g=n(1172),v=n(74),I=Object(m.connect)((function(e,t){var n=t.columnId,o=e.getIn(["settings","columns"]),i=o.findIndex((function(e){return e.get("uuid")===n}));return{settings:n&&i>=0?o.get(i).get("params"):e.getIn(["settings","community"])}}),(function(e,t){var n=t.columnId;return{onChange:function(t,o){e(n?Object(M.f)(n,t,o):Object(v.c)(["community"].concat(t),o))}}}))(g.a),C=n(766);var w=Object(p.f)({title:{id:"column.community",defaultMessage:"Local timeline"}}),U=Object(m.connect)((function(e,t){var n=t.columnId,o=n,i=e.getIn(["settings","columns"]),c=i.findIndex((function(e){return e.get("uuid")===o})),a=n&&c>=0?i.get(c).getIn(["params","other","onlyMedia"]):e.getIn(["settings","community","other","onlyMedia"]),l=e.getIn(["timelines","community"+(a?":media":"")]);return{hasUnread:!!l&&l.get("unread")>0,onlyMedia:a}}))(o=Object(p.g)((c=i=function(e){Object(d.a)(n,e);var t;t=n;function n(){for(var t,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return t=e.call.apply(e,[this].concat(o))||this,Object(r.a)(Object(l.a)(t),"handlePin",(function(){var e=t.props,n=e.columnId,o=e.dispatch,i=e.onlyMedia;o(n?Object(M.h)(n):Object(M.e)("COMMUNITY",{other:{onlyMedia:i}}))})),Object(r.a)(Object(l.a)(t),"handleMove",(function(e){var n=t.props,o=n.columnId;(0,n.dispatch)(Object(M.g)(o,e))})),Object(r.a)(Object(l.a)(t),"handleHeaderClick",(function(){t.column.scrollTop()})),Object(r.a)(Object(l.a)(t),"setRef",(function(e){t.column=e})),Object(r.a)(Object(l.a)(t),"handleLoadMore",(function(e){var n=t.props,o=n.dispatch,i=n.onlyMedia;o(Object(O.r)({maxId:e,onlyMedia:i}))})),t}var o=n.prototype;return o.componentDidMount=function(){var e=this.props,t=e.dispatch,n=e.onlyMedia;t(Object(O.r)({onlyMedia:n})),this.disconnect=t(Object(C.a)({onlyMedia:n}))},o.componentDidUpdate=function(e){if(e.onlyMedia!==this.props.onlyMedia){var t=this.props,n=t.dispatch,o=t.onlyMedia;this.disconnect(),n(Object(O.r)({onlyMedia:o})),this.disconnect=n(Object(C.a)({onlyMedia:o}))}},o.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},o.render=function(){var e=this.props,t=e.intl,n=e.shouldUpdateScroll,o=e.hasUnread,i=e.columnId,c=e.multiColumn,l=e.onlyMedia,d=!!i;return u.a.createElement(y.a,{bindToDocument:!c,ref:this.setRef,label:t.formatMessage(w.title)},Object(a.a)(j.a,{icon:"users",active:o,title:t.formatMessage(w.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:d,multiColumn:c},void 0,Object(a.a)(I,{columnId:i})),Object(a.a)(f.a,{trackScroll:!d,scrollKey:"community_timeline-"+i,timelineId:"community"+(l?":media":""),onLoadMore:this.handleLoadMore,emptyMessage:Object(a.a)(p.b,{id:"empty_column.community",defaultMessage:"The local timeline is empty. Write something publicly to get the ball rolling!"}),shouldUpdateScroll:n,bindToDocument:!c}))},n}(u.a.PureComponent),Object(r.a)(i,"contextTypes",{router:b.a.object}),Object(r.a)(i,"defaultProps",{onlyMedia:!1}),o=c))||o)||o}}]);
|
|
||||||
//# sourceMappingURL=community_timeline.js.map
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{852:function(n,o,a){"use strict";a.r(o),a.d(o,"default",(function(){return S}));var e,t,i,c=a(0),r=a(2),s=(a(9),a(6),a(8)),d=a(1),l=a(65),u=a.n(l),m=(a(3),a(15)),b=a(7),f=a(21),p=a(5),j=a.n(p),O=a(16),h=a.n(O),k=a(306),g=a(757),v=a(763),M=a(84),y=a(53);var _,D,w,U=Object(b.f)({unblockDomain:{id:"account.unblock_domain",defaultMessage:"Unblock domain {domain}"}}),C=Object(b.g)((i=t=function(n){Object(s.a)(a,n);var o;o=a;function a(){for(var o,a=arguments.length,e=new Array(a),t=0;t<a;t++)e[t]=arguments[t];return o=n.call.apply(n,[this].concat(e))||this,Object(d.a)(Object(r.a)(o),"handleDomainUnblock",(function(){o.props.onUnblockDomain(o.props.domain)})),o}return a.prototype.render=function(){var n=this.props,o=n.domain,a=n.intl;return(Object(c.a)("div",{className:"domain"},void 0,Object(c.a)("div",{className:"domain__wrapper"},void 0,Object(c.a)("span",{className:"domain__domain-name"},void 0,Object(c.a)("strong",{},void 0,o)),Object(c.a)("div",{className:"domain__buttons"},void 0,Object(c.a)(y.a,{active:!0,icon:"unlock",title:a.formatMessage(U.unblockDomain,{domain:o}),onClick:this.handleDomainUnblock})))))},a}(f.a),Object(d.a)(t,"propTypes",{domain:j.a.string,onUnblockDomain:j.a.func.isRequired,intl:j.a.object.isRequired}),e=i))||e,R=a(48),q=Object(b.f)({blockDomainConfirm:{id:"confirmations.domain_block.confirm",defaultMessage:"Block entire domain"}}),N=Object(b.g)(Object(m.connect)((function(){return function(){return{}}}),(function(n,o){var a=o.intl;return{onBlockDomain:function(o){n(Object(R.d)("CONFIRM",{message:Object(c.a)(b.b,{id:"confirmations.domain_block.message",defaultMessage:"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",values:{domain:Object(c.a)("strong",{},void 0,o)}}),confirm:a.formatMessage(q.blockDomainConfirm),onConfirm:function(){return n(Object(M.e)(o))}}))},onUnblockDomain:function(o){n(Object(M.h)(o))}}}))(C)),T=a(1049);var I=Object(b.f)({heading:{id:"column.domain_blocks",defaultMessage:"Blocked domains"},unblockDomain:{id:"account.unblock_domain",defaultMessage:"Unblock domain {domain}"}}),S=Object(m.connect)((function(n){return{domains:n.getIn(["domain_lists","blocks","items"]),hasMore:!!n.getIn(["domain_lists","blocks","next"])}}))(_=Object(b.g)((w=D=function(n){Object(s.a)(a,n);var o;o=a;function a(){for(var o,a=arguments.length,e=new Array(a),t=0;t<a;t++)e[t]=arguments[t];return o=n.call.apply(n,[this].concat(e))||this,Object(d.a)(Object(r.a)(o),"handleLoadMore",u()((function(){o.props.dispatch(Object(M.f)())}),300,{leading:!0})),o}var e=a.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(M.g)())},e.render=function(){var n=this.props,o=n.intl,a=n.domains,e=n.shouldUpdateScroll,t=n.hasMore,i=n.multiColumn;if(!a)return Object(c.a)(g.a,{},void 0,Object(c.a)(k.a,{}));var r=Object(c.a)(b.b,{id:"empty_column.domain_blocks",defaultMessage:"There are no blocked domains yet."});return(Object(c.a)(g.a,{bindToDocument:!i,icon:"minus-circle",heading:o.formatMessage(I.heading)},void 0,Object(c.a)(v.a,{}),Object(c.a)(T.a,{scrollKey:"domain_blocks",onLoadMore:this.handleLoadMore,hasMore:t,shouldUpdateScroll:e,emptyMessage:r,bindToDocument:!i},void 0,a.map((function(n){return Object(c.a)(N,{domain:n},n)})))))},a}(f.a),Object(d.a)(D,"propTypes",{params:j.a.object.isRequired,dispatch:j.a.func.isRequired,shouldUpdateScroll:j.a.func,hasMore:j.a.bool,domains:h.a.orderedSet,intl:j.a.object.isRequired,multiColumn:j.a.bool}),_=w))||_)||_}}]);
|
|
||||||
//# sourceMappingURL=domain_blocks.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{825:function(t,e,a){"use strict";a.r(e),a.d(e,"default",(function(){return C}));var o,n,s,i=a(0),c=a(2),u=(a(9),a(6),a(8)),r=a(1),l=a(65),d=a.n(l),h=a(3),p=a.n(h),b=a(15),f=a(5),j=a.n(f),O=a(16),m=a.n(O),g=a(208),v=a(757),M=a(759),I=a(253),w=a(1065),y=a(7),L=a(21);var k=Object(y.f)({heading:{id:"column.favourites",defaultMessage:"Favourites"}}),C=Object(b.connect)((function(t){return{statusIds:t.getIn(["status_lists","favourites","items"]),isLoading:t.getIn(["status_lists","favourites","isLoading"],!0),hasMore:!!t.getIn(["status_lists","favourites","next"])}}))(o=Object(y.g)((s=n=function(t){Object(u.a)(a,t);var e;e=a;function a(){for(var e,a=arguments.length,o=new Array(a),n=0;n<a;n++)o[n]=arguments[n];return e=t.call.apply(t,[this].concat(o))||this,Object(r.a)(Object(c.a)(e),"handlePin",(function(){var t=e.props,a=t.columnId,o=t.dispatch;o(a?Object(I.h)(a):Object(I.e)("FAVOURITES",{}))})),Object(r.a)(Object(c.a)(e),"handleMove",(function(t){var a=e.props,o=a.columnId;(0,a.dispatch)(Object(I.g)(o,t))})),Object(r.a)(Object(c.a)(e),"handleHeaderClick",(function(){e.column.scrollTop()})),Object(r.a)(Object(c.a)(e),"setRef",(function(t){e.column=t})),Object(r.a)(Object(c.a)(e),"handleLoadMore",d()((function(){e.props.dispatch(Object(g.g)())}),300,{leading:!0})),e}var o=a.prototype;return o.componentWillMount=function(){this.props.dispatch(Object(g.h)())},o.render=function(){var t=this.props,e=t.intl,a=t.shouldUpdateScroll,o=t.statusIds,n=t.columnId,s=t.multiColumn,c=t.hasMore,u=t.isLoading,r=!!n,l=Object(i.a)(y.b,{id:"empty_column.favourited_statuses",defaultMessage:"You don't have any favourite toots yet. When you favourite one, it will show up here."});return p.a.createElement(v.a,{bindToDocument:!s,ref:this.setRef,label:e.formatMessage(k.heading)},Object(i.a)(M.a,{icon:"star",title:e.formatMessage(k.heading),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:r,multiColumn:s,showBackButton:!0}),Object(i.a)(w.a,{trackScroll:!r,statusIds:o,scrollKey:"favourited_statuses-"+n,hasMore:c,isLoading:u,onLoadMore:this.handleLoadMore,shouldUpdateScroll:a,emptyMessage:l,bindToDocument:!s}))},a}(L.a),Object(r.a)(n,"propTypes",{dispatch:j.a.func.isRequired,shouldUpdateScroll:j.a.func,statusIds:m.a.list.isRequired,intl:j.a.object.isRequired,columnId:j.a.string,multiColumn:j.a.bool,hasMore:j.a.bool,isLoading:j.a.bool}),o=s))||o)||o}}]);
|
|
||||||
//# sourceMappingURL=favourited_statuses.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{823:function(t,e,a){"use strict";a.r(e),a.d(e,"default",(function(){return q}));var s,o,r,n=a(0),c=a(2),i=(a(9),a(6),a(8)),u=a(1),p=(a(3),a(15)),d=a(21),l=a(5),h=a.n(l),f=a(16),b=a.n(f),m=a(306),j=a(46),O=a(7),v=a(1053),I=a(757),w=a(1049),y=a(27),g=a(759);var R=Object(O.f)({refresh:{id:"refresh",defaultMessage:"Refresh"}}),q=Object(p.connect)((function(t,e){return{accountIds:t.getIn(["user_lists","favourited_by",e.params.statusId])}}))(s=Object(O.g)((r=o=function(t){Object(i.a)(a,t);var e;e=a;function a(){for(var e,a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return e=t.call.apply(t,[this].concat(s))||this,Object(u.a)(Object(c.a)(e),"handleRefresh",(function(){e.props.dispatch(Object(j.q)(e.props.params.statusId))})),e}var s=a.prototype;return s.componentWillMount=function(){this.props.accountIds||this.props.dispatch(Object(j.q)(this.props.params.statusId))},s.componentWillReceiveProps=function(t){t.params.statusId!==this.props.params.statusId&&t.params.statusId&&this.props.dispatch(Object(j.q)(t.params.statusId))},s.render=function(){var t=this.props,e=t.intl,a=t.shouldUpdateScroll,s=t.accountIds,o=t.multiColumn;if(!s)return Object(n.a)(I.a,{},void 0,Object(n.a)(m.a,{}));var r=Object(n.a)(O.b,{id:"empty_column.favourites",defaultMessage:"No one has favourited this toot yet. When someone does, they will show up here."});return(Object(n.a)(I.a,{bindToDocument:!o},void 0,Object(n.a)(g.a,{showBackButton:!0,multiColumn:o,extraButton:Object(n.a)("button",{className:"column-header__button",title:e.formatMessage(R.refresh),"aria-label":e.formatMessage(R.refresh),onClick:this.handleRefresh},void 0,Object(n.a)(y.a,{id:"refresh"}))}),Object(n.a)(w.a,{scrollKey:"favourites",shouldUpdateScroll:a,emptyMessage:r,bindToDocument:!o},void 0,s.map((function(t){return Object(n.a)(v.a,{id:t,withNote:!1},t)})))))},a}(d.a),Object(u.a)(o,"propTypes",{params:h.a.object.isRequired,dispatch:h.a.func.isRequired,shouldUpdateScroll:h.a.func,accountIds:b.a.list,multiColumn:h.a.bool,intl:h.a.object.isRequired}),s=r))||s)||s}}]);
|
|
||||||
//# sourceMappingURL=favourites.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{851:function(e,t,a){"use strict";a.r(t),a.d(t,"default",(function(){return U}));var o,n,c,i=a(0),s=a(2),u=(a(9),a(6),a(8)),r=a(1),l=a(65),d=a.n(l),b=(a(3),a(15)),p=a(7),f=a(21),h=a(5),j=a.n(h),m=a(16),v=a.n(m),O=a(306),_=a(757),g=a(763),w=a(210),q=a(300),y=a(115),M=a(122),k=a(53);var z,R,I,N=Object(p.f)({authorize:{id:"follow_request.authorize",defaultMessage:"Authorize"},reject:{id:"follow_request.reject",defaultMessage:"Reject"}}),A=Object(p.g)((c=n=function(e){Object(u.a)(a,e);var t;t=a;function a(){return e.apply(this,arguments)||this}return a.prototype.render=function(){var e=this.props,t=e.intl,a=e.account,o=e.onAuthorize,n=e.onReject,c={__html:a.get("note_emojified")};return Object(i.a)("div",{className:"account-authorize__wrapper"},void 0,Object(i.a)("div",{className:"account-authorize"},void 0,Object(i.a)(q.a,{href:a.get("url"),to:"/accounts/"+a.get("id"),className:"detailed-status__display-name"},void 0,Object(i.a)("div",{className:"account-authorize__avatar"},void 0,Object(i.a)(y.a,{account:a,size:48})),Object(i.a)(M.a,{account:a})),Object(i.a)("div",{className:"account__header__content",dangerouslySetInnerHTML:c})),Object(i.a)("div",{className:"account--panel"},void 0,Object(i.a)("div",{className:"account--panel__button"},void 0,Object(i.a)(k.a,{title:t.formatMessage(N.authorize),icon:"check",onClick:o})),Object(i.a)("div",{className:"account--panel__button"},void 0,Object(i.a)(k.a,{title:t.formatMessage(N.reject),icon:"times",onClick:n}))))},a}(f.a),Object(r.a)(n,"propTypes",{account:v.a.map.isRequired,onAuthorize:j.a.func.isRequired,onReject:j.a.func.isRequired,intl:j.a.object.isRequired}),o=c))||o,T=a(26),x=Object(b.connect)((function(){var e=Object(w.d)();return function(t,a){return{account:e(t,a.id)}}}),(function(e,t){var a=t.id;return{onAuthorize:function(){e(Object(T.v)(a))},onReject:function(){e(Object(T.I)(a))}}}))(A),C=a(1049),L=a(22);var S=Object(p.f)({heading:{id:"column.follow_requests",defaultMessage:"Follow requests"}}),U=Object(b.connect)((function(e){return{accountIds:e.getIn(["user_lists","follow_requests","items"]),hasMore:!!e.getIn(["user_lists","follow_requests","next"]),locked:!!e.getIn(["accounts",L.n,"locked"]),domain:e.getIn(["meta","domain"])}}))(z=Object(p.g)((I=R=function(e){Object(u.a)(a,e);var t;t=a;function a(){for(var t,a=arguments.length,o=new Array(a),n=0;n<a;n++)o[n]=arguments[n];return t=e.call.apply(e,[this].concat(o))||this,Object(r.a)(Object(s.a)(t),"handleLoadMore",d()((function(){t.props.dispatch(Object(T.x)())}),300,{leading:!0})),t}var o=a.prototype;return o.componentWillMount=function(){this.props.dispatch(Object(T.B)())},o.render=function(){var e=this.props,t=e.intl,a=e.shouldUpdateScroll,o=e.accountIds,n=e.hasMore,c=e.multiColumn,s=e.locked,u=e.domain;if(!o)return Object(i.a)(_.a,{},void 0,Object(i.a)(O.a,{}));var r=Object(i.a)(p.b,{id:"empty_column.follow_requests",defaultMessage:"You don't have any follow requests yet. When you receive one, it will show up here."}),l=s?null:Object(i.a)("div",{className:"follow_requests-unlocked_explanation"},void 0,Object(i.a)(p.b,{id:"follow_requests.unlocked_explanation",defaultMessage:"Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",values:{domain:u}}));return Object(i.a)(_.a,{bindToDocument:!c,icon:"user-plus",heading:t.formatMessage(S.heading)},void 0,Object(i.a)(g.a,{}),Object(i.a)(C.a,{scrollKey:"follow_requests",onLoadMore:this.handleLoadMore,hasMore:n,shouldUpdateScroll:a,emptyMessage:r,bindToDocument:!c,prepend:l},void 0,o.map((function(e){return Object(i.a)(x,{id:e},e)}))))},a}(f.a),Object(r.a)(R,"propTypes",{params:j.a.object.isRequired,dispatch:j.a.func.isRequired,shouldUpdateScroll:j.a.func,hasMore:j.a.bool,accountIds:v.a.list,locked:j.a.bool,domain:j.a.string,intl:j.a.object.isRequired,multiColumn:j.a.bool}),z=I))||z)||z}}]);
|
|
||||||
//# sourceMappingURL=follow_requests.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{820:function(a,t,o){"use strict";o.r(t),o.d(t,"default",(function(){return C}));var c,e,s,n=o(0),r=o(2),p=(o(9),o(6),o(8)),i=o(1),u=o(65),d=o.n(u),l=(o(3),o(15)),b=o(21),h=o(5),m=o.n(h),f=o(16),j=o.n(f),I=o(306),O=o(26),y=o(7),v=o(1053),w=o(757),M=o(1084),g=o(764),k=o(1049),A=o(1057);var C=Object(l.connect)((function(a,t){return{isAccount:!!a.getIn(["accounts",t.params.accountId]),accountIds:a.getIn(["user_lists","followers",t.params.accountId,"items"]),hasMore:!!a.getIn(["user_lists","followers",t.params.accountId,"next"]),blockedBy:a.getIn(["relationships",t.params.accountId,"blocked_by"],!1)}}))((s=e=function(a){Object(p.a)(o,a);var t;t=o;function o(){for(var t,o=arguments.length,c=new Array(o),e=0;e<o;e++)c[e]=arguments[e];return t=a.call.apply(a,[this].concat(c))||this,Object(i.a)(Object(r.a)(t),"handleLoadMore",d()((function(){t.props.dispatch(Object(O.y)(t.props.params.accountId))}),300,{leading:!0})),t}var c=o.prototype;return c.componentWillMount=function(){this.props.accountIds||(this.props.dispatch(Object(O.A)(this.props.params.accountId)),this.props.dispatch(Object(O.C)(this.props.params.accountId)))},c.componentWillReceiveProps=function(a){a.params.accountId!==this.props.params.accountId&&a.params.accountId&&(this.props.dispatch(Object(O.A)(a.params.accountId)),this.props.dispatch(Object(O.C)(a.params.accountId)))},c.render=function(){var a=this.props,t=a.shouldUpdateScroll,o=a.accountIds,c=a.hasMore,e=a.blockedBy,s=a.isAccount,r=a.multiColumn;if(!s)return Object(n.a)(w.a,{},void 0,Object(n.a)(A.a,{}));if(!o)return Object(n.a)(w.a,{},void 0,Object(n.a)(I.a,{}));var p=e?Object(n.a)(y.b,{id:"empty_column.account_unavailable",defaultMessage:"Profile unavailable"}):Object(n.a)(y.b,{id:"account.followers.empty",defaultMessage:"No one follows this user yet."});return(Object(n.a)(w.a,{},void 0,Object(n.a)(g.a,{multiColumn:r}),Object(n.a)(k.a,{scrollKey:"followers",hasMore:c,onLoadMore:this.handleLoadMore,shouldUpdateScroll:t,prepend:Object(n.a)(M.a,{accountId:this.props.params.accountId,hideTabs:!0}),alwaysPrepend:!0,emptyMessage:p,bindToDocument:!r},void 0,e?[]:o.map((function(a){return Object(n.a)(v.a,{id:a,withNote:!1},a)})))))},o}(b.a),Object(i.a)(e,"propTypes",{params:m.a.object.isRequired,dispatch:m.a.func.isRequired,shouldUpdateScroll:m.a.func,accountIds:j.a.list,hasMore:m.a.bool,blockedBy:m.a.bool,isAccount:m.a.bool,multiColumn:m.a.bool}),c=s))||c}}]);
|
|
||||||
//# sourceMappingURL=followers.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{821:function(a,t,o){"use strict";o.r(t),o.d(t,"default",(function(){return _}));var c,e,n,s=o(0),r=o(2),i=(o(9),o(6),o(8)),p=o(1),u=o(65),d=o.n(u),l=(o(3),o(15)),b=o(21),h=o(5),m=o.n(h),f=o(16),j=o.n(f),I=o(306),O=o(26),y=o(7),v=o(1053),w=o(757),g=o(1084),M=o(764),k=o(1049),A=o(1057);var _=Object(l.connect)((function(a,t){return{isAccount:!!a.getIn(["accounts",t.params.accountId]),accountIds:a.getIn(["user_lists","following",t.params.accountId,"items"]),hasMore:!!a.getIn(["user_lists","following",t.params.accountId,"next"]),blockedBy:a.getIn(["relationships",t.params.accountId,"blocked_by"],!1)}}))((n=e=function(a){Object(i.a)(o,a);var t;t=o;function o(){for(var t,o=arguments.length,c=new Array(o),e=0;e<o;e++)c[e]=arguments[e];return t=a.call.apply(a,[this].concat(c))||this,Object(p.a)(Object(r.a)(t),"handleLoadMore",d()((function(){t.props.dispatch(Object(O.z)(t.props.params.accountId))}),300,{leading:!0})),t}var c=o.prototype;return c.componentWillMount=function(){this.props.accountIds||(this.props.dispatch(Object(O.A)(this.props.params.accountId)),this.props.dispatch(Object(O.D)(this.props.params.accountId)))},c.componentWillReceiveProps=function(a){a.params.accountId!==this.props.params.accountId&&a.params.accountId&&(this.props.dispatch(Object(O.A)(a.params.accountId)),this.props.dispatch(Object(O.D)(a.params.accountId)))},c.render=function(){var a=this.props,t=a.shouldUpdateScroll,o=a.accountIds,c=a.hasMore,e=a.blockedBy,n=a.isAccount,r=a.multiColumn;if(!n)return Object(s.a)(w.a,{},void 0,Object(s.a)(A.a,{}));if(!o)return Object(s.a)(w.a,{},void 0,Object(s.a)(I.a,{}));var i=e?Object(s.a)(y.b,{id:"empty_column.account_unavailable",defaultMessage:"Profile unavailable"}):Object(s.a)(y.b,{id:"account.follows.empty",defaultMessage:"This user doesn't follow anyone yet."});return(Object(s.a)(w.a,{},void 0,Object(s.a)(M.a,{multiColumn:r}),Object(s.a)(k.a,{scrollKey:"following",hasMore:c,onLoadMore:this.handleLoadMore,shouldUpdateScroll:t,prepend:Object(s.a)(g.a,{accountId:this.props.params.accountId,hideTabs:!0}),alwaysPrepend:!0,emptyMessage:i,bindToDocument:!r},void 0,e?[]:o.map((function(a){return Object(s.a)(v.a,{id:a,withNote:!1},a)})))))},o}(b.a),Object(p.a)(e,"propTypes",{params:m.a.object.isRequired,dispatch:m.a.func.isRequired,shouldUpdateScroll:m.a.func,accountIds:j.a.list,hasMore:m.a.bool,blockedBy:m.a.bool,isAccount:m.a.bool,multiColumn:m.a.bool}),c=n))||c}}]);
|
|
||||||
//# sourceMappingURL=following.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{824:function(a,n,e){"use strict";e.r(n);var t=e(0),c=(e(3),e(757)),o=e(1057);n.default=function(){return Object(t.a)(c.a,{},void 0,Object(t.a)(o.a,{fullPage:!0}))}}}]);
|
|
||||||
//# sourceMappingURL=generic_not_found.js.map
|
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/generic_not_found/index.js"],"names":["GenericNotFound","fullPage"],"mappings":"uIAUeA,UANS,kBACtB,YAAC,IAAD,UACE,YAAC,IAAD,CAAkBC,UAAQ","file":"features/generic_not_found.js","sourcesContent":["import React from 'react';\nimport Column from '../ui/components/column';\nimport MissingIndicator from '../../components/missing_indicator';\n\nconst GenericNotFound = () => (\n <Column>\n <MissingIndicator fullPage />\n </Column>\n);\n\nexport default GenericNotFound;\n"],"sourceRoot":""}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{848:function(t,e,n){"use strict";n.r(e),n.d(e,"default",(function(){return T}));var i,a,c,o=n(0),r=(n(9),n(6),n(8)),s=n(1),d=(n(3),n(5)),u=n.n(d),l=n(16),p=n.n(l),v=n(15),b=n(21),f=n(7),j=n(30),O=n(57),m=n(41),_=n(25);var R,g,I,h=Object(f.f)({remove:{id:"lists.account.remove",defaultMessage:"Remove from list"},add:{id:"lists.account.add",defaultMessage:"Add to list"}}),N=Object(v.connect)((function(t,e){var n=e.listId,i=e.added;return{list:t.get("lists").get(n),added:void 0===i?t.getIn(["listAdder","lists","items"]).includes(n):i}}),(function(t,e){var n=e.listId;return{onRemove:function(){return t(Object(j.J)(n))},onAdd:function(){return t(Object(j.A)(n))}}}))(i=Object(f.g)((c=a=function(t){Object(r.a)(n,t);var e;e=n;function n(){return t.apply(this,arguments)||this}return n.prototype.render=function(){var t,e=this.props,n=e.list,i=e.intl,a=e.onRemove,c=e.onAdd;return t=e.added?Object(o.a)(m.a,{icon:"times",title:i.formatMessage(h.remove),onClick:a}):Object(o.a)(m.a,{icon:"plus",title:i.formatMessage(h.add),onClick:c}),Object(o.a)("div",{className:"list"},void 0,Object(o.a)("div",{className:"list__wrapper"},void 0,Object(o.a)("div",{className:"list__display-name"},void 0,Object(o.a)(_.a,{id:"list-ul",className:"column-link__icon",fixedWidth:!0}),n.get("title")),Object(o.a)("div",{className:"account__relationship"},void 0,t)))},n}(b.a),Object(s.a)(a,"propTypes",{list:p.a.map.isRequired,intl:u.a.object.isRequired,onRemove:u.a.func.isRequired,onAdd:u.a.func.isRequired,added:u.a.bool}),Object(s.a)(a,"defaultProps",{added:!1}),i=c))||i)||i,q=n(108),y=n(96),w=n(98);var A,k,M,z=Object(v.connect)((function(){var t=Object(q.d)();return function(e,n){var i=n.accountId;return{account:t(e,i)}}}))(R=Object(f.g)((I=g=function(t){Object(r.a)(n,t);var e;e=n;function n(){return t.apply(this,arguments)||this}return n.prototype.render=function(){var t=this.props.account;return(Object(o.a)("div",{className:"account"},void 0,Object(o.a)("div",{className:"account__wrapper"},void 0,Object(o.a)("div",{className:"account__display-name"},void 0,Object(o.a)("div",{className:"account__avatar-wrapper"},void 0,Object(o.a)(y.a,{account:t,size:36})),Object(o.a)(w.a,{account:t})))))},n}(b.a),Object(s.a)(g,"propTypes",{account:p.a.map.isRequired}),R=I))||R)||R,C=n(1150);var J=Object(O.a)([function(t){return t.get("lists")}],(function(t){return t?t.toList().filter((function(t){return!!t})).sort((function(t,e){return t.get("title").localeCompare(e.get("title"))})):t})),T=Object(v.connect)((function(t){return{listIds:J(t).map((function(t){return t.get("id")}))}}),(function(t){return{onInitialize:function(e){return t(Object(j.N)(e))},onReset:function(){return t(Object(j.L)())}}}))(A=Object(f.g)((M=k=function(t){Object(r.a)(n,t);var e;e=n;function n(){return t.apply(this,arguments)||this}var i=n.prototype;return i.componentDidMount=function(){var t=this.props;(0,t.onInitialize)(t.accountId)},i.componentWillUnmount=function(){(0,this.props.onReset)()},i.render=function(){var t=this.props,e=t.accountId,n=t.listIds;return(Object(o.a)("div",{className:"modal-root__modal list-adder"},void 0,Object(o.a)("div",{className:"list-adder__account"},void 0,Object(o.a)(z,{accountId:e})),Object(o.a)(C.a,{}),Object(o.a)("div",{className:"list-adder__lists"},void 0,n.map((function(t){return Object(o.a)(N,{listId:t},t)})))))},n}(b.a),Object(s.a)(k,"propTypes",{accountId:u.a.string.isRequired,onClose:u.a.func.isRequired,intl:u.a.object.isRequired,onInitialize:u.a.func.isRequired,onReset:u.a.func.isRequired,listIds:p.a.list.isRequired}),A=M))||A)||A}}]);
|
|
||||||
//# sourceMappingURL=list_adder.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{810:function(a,e,c){"use strict";c.r(e);var r=c(0),d=(c(3),c(773)),i=c(1177);e.default=function(){return Object(r.a)("div",{className:"column search-page"},void 0,Object(r.a)(d.a,{}),Object(r.a)("div",{className:"drawer__pager"},void 0,Object(r.a)("div",{className:"drawer__inner darker"},void 0,Object(r.a)(i.a,{}))))}}}]);
|
|
||||||
//# sourceMappingURL=search.js.map
|
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/search/index.js"],"names":["Search","className"],"mappings":"uIAgBeA,UAZA,kBACb,mBAAKC,UAAU,2BAAf,EACE,YAAC,IAAD,IAEA,mBAAKA,UAAU,sBAAf,EACE,mBAAKA,UAAU,6BAAf,EACE,YAAC,IAAD","file":"features/glitch/async/search.js","sourcesContent":["import React from 'react';\nimport SearchContainer from 'flavours/glitch/features/compose/containers/search_container';\nimport SearchResultsContainer from 'flavours/glitch/features/compose/containers/search_results_container';\n\nconst Search = () => (\n <div className='column search-page'>\n <SearchContainer />\n\n <div className='drawer__pager'>\n <div className='drawer__inner darker'>\n <SearchResultsContainer />\n </div>\n </div>\n </div>\n);\n\nexport default Search;\n"],"sourceRoot":""}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{854:function(t,e,n){"use strict";n.r(e),n.d(e,"default",(function(){return T}));var i,a,c,o=n(0),r=(n(9),n(6),n(8)),s=n(1),d=(n(3),n(5)),u=n.n(d),l=n(16),p=n.n(l),v=n(15),b=n(21),f=n(7),j=n(31),O=n(57),m=n(53),_=n(27);var R,g,I,h=Object(f.f)({remove:{id:"lists.account.remove",defaultMessage:"Remove from list"},add:{id:"lists.account.add",defaultMessage:"Add to list"}}),N=Object(v.connect)((function(t,e){var n=e.listId,i=e.added;return{list:t.get("lists").get(n),added:void 0===i?t.getIn(["listAdder","lists","items"]).includes(n):i}}),(function(t,e){var n=e.listId;return{onRemove:function(){return t(Object(j.J)(n))},onAdd:function(){return t(Object(j.A)(n))}}}))(i=Object(f.g)((c=a=function(t){Object(r.a)(n,t);var e;e=n;function n(){return t.apply(this,arguments)||this}return n.prototype.render=function(){var t,e=this.props,n=e.list,i=e.intl,a=e.onRemove,c=e.onAdd;return t=e.added?Object(o.a)(m.a,{icon:"times",title:i.formatMessage(h.remove),onClick:a}):Object(o.a)(m.a,{icon:"plus",title:i.formatMessage(h.add),onClick:c}),Object(o.a)("div",{className:"list"},void 0,Object(o.a)("div",{className:"list__wrapper"},void 0,Object(o.a)("div",{className:"list__display-name"},void 0,Object(o.a)(_.a,{id:"list-ul",className:"column-link__icon",fixedWidth:!0}),n.get("title")),Object(o.a)("div",{className:"account__relationship"},void 0,t)))},n}(b.a),Object(s.a)(a,"propTypes",{list:p.a.map.isRequired,intl:u.a.object.isRequired,onRemove:u.a.func.isRequired,onAdd:u.a.func.isRequired,added:u.a.bool}),Object(s.a)(a,"defaultProps",{added:!1}),i=c))||i)||i,q=n(210),y=n(115),w=n(122);var A,k,M,z=Object(v.connect)((function(){var t=Object(q.d)();return function(e,n){var i=n.accountId;return{account:t(e,i)}}}))(R=Object(f.g)((I=g=function(t){Object(r.a)(n,t);var e;e=n;function n(){return t.apply(this,arguments)||this}return n.prototype.render=function(){var t=this.props.account;return(Object(o.a)("div",{className:"account"},void 0,Object(o.a)("div",{className:"account__wrapper"},void 0,Object(o.a)("div",{className:"account__display-name"},void 0,Object(o.a)("div",{className:"account__avatar-wrapper"},void 0,Object(o.a)(y.a,{account:t,size:36})),Object(o.a)(w.a,{account:t})))))},n}(b.a),Object(s.a)(g,"propTypes",{account:p.a.map.isRequired}),R=I))||R)||R,C=n(1175);var J=Object(O.a)([function(t){return t.get("lists")}],(function(t){return t?t.toList().filter((function(t){return!!t})).sort((function(t,e){return t.get("title").localeCompare(e.get("title"))})):t})),T=Object(v.connect)((function(t){return{listIds:J(t).map((function(t){return t.get("id")}))}}),(function(t){return{onInitialize:function(e){return t(Object(j.N)(e))},onReset:function(){return t(Object(j.L)())}}}))(A=Object(f.g)((M=k=function(t){Object(r.a)(n,t);var e;e=n;function n(){return t.apply(this,arguments)||this}var i=n.prototype;return i.componentDidMount=function(){var t=this.props;(0,t.onInitialize)(t.accountId)},i.componentWillUnmount=function(){(0,this.props.onReset)()},i.render=function(){var t=this.props,e=t.accountId,n=t.listIds;return(Object(o.a)("div",{className:"modal-root__modal list-adder"},void 0,Object(o.a)("div",{className:"list-adder__account"},void 0,Object(o.a)(z,{accountId:e})),Object(o.a)(C.a,{}),Object(o.a)("div",{className:"list-adder__lists"},void 0,n.map((function(t){return Object(o.a)(N,{listId:t},t)})))))},n}(b.a),Object(s.a)(k,"propTypes",{accountId:u.a.string.isRequired,onClose:u.a.func.isRequired,intl:u.a.object.isRequired,onInitialize:u.a.func.isRequired,onReset:u.a.func.isRequired,listIds:p.a.list.isRequired}),A=M))||A)||A}}]);
|
|
||||||
//# sourceMappingURL=list_adder.js.map
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{814:function(e,t,i){"use strict";i.r(t),i.d(t,"default",(function(){return D}));var n,a,s,c=i(0),o=i(2),l=(i(9),i(6),i(8)),d=i(1),r=i(3),p=i.n(r),u=i(15),b=i(5),h=i.n(b),m=i(1063),O=i(762),j=i(764),f=i(759),v=i(253),g=i(7),M=i(766),C=i(36),I=i(31),y=i(48),k=i(1057),_=i(306),w=i(27);var x=Object(g.f)({deleteMessage:{id:"confirmations.delete_list.message",defaultMessage:"Are you sure you want to permanently delete this list?"},deleteConfirm:{id:"confirmations.delete_list.confirm",defaultMessage:"Delete"}}),D=Object(u.connect)((function(e,t){return{list:e.getIn(["lists",t.params.id]),hasUnread:e.getIn(["timelines","list:"+t.params.id,"unread"])>0}}))(n=Object(g.g)((s=a=function(e){Object(l.a)(i,e);var t;t=i;function i(){for(var t,i=arguments.length,n=new Array(i),a=0;a<i;a++)n[a]=arguments[a];return t=e.call.apply(e,[this].concat(n))||this,Object(d.a)(Object(o.a)(t),"handlePin",(function(){var e=t.props,i=e.columnId,n=e.dispatch;i?n(Object(v.h)(i)):(n(Object(v.e)("LIST",{id:t.props.params.id})),t.context.router.history.push("/"))})),Object(d.a)(Object(o.a)(t),"handleMove",(function(e){var i=t.props,n=i.columnId;(0,i.dispatch)(Object(v.g)(n,e))})),Object(d.a)(Object(o.a)(t),"handleHeaderClick",(function(){t.column.scrollTop()})),Object(d.a)(Object(o.a)(t),"setRef",(function(e){t.column=e})),Object(d.a)(Object(o.a)(t),"handleLoadMore",(function(e){var i=t.props.params.id;t.props.dispatch(Object(C.u)(i,{maxId:e}))})),Object(d.a)(Object(o.a)(t),"handleEditClick",(function(){t.props.dispatch(Object(y.d)("LIST_EDITOR",{listId:t.props.params.id}))})),Object(d.a)(Object(o.a)(t),"handleDeleteClick",(function(){var e=t.props,i=e.dispatch,n=e.columnId,a=e.intl,s=t.props.params.id;i(Object(y.d)("CONFIRM",{message:a.formatMessage(x.deleteMessage),confirm:a.formatMessage(x.deleteConfirm),onConfirm:function(){i(Object(I.F)(s)),n?i(Object(v.h)(n)):t.context.router.history.push("/lists")}}))})),t}var n=i.prototype;return n.componentDidMount=function(){var e=this.props.dispatch,t=this.props.params.id;e(Object(I.G)(t)),e(Object(C.u)(t)),this.disconnect=e(Object(M.d)(t))},n.componentWillReceiveProps=function(e){var t=this.props.dispatch,i=e.params.id;i!==this.props.params.id&&(this.disconnect&&(this.disconnect(),this.disconnect=null),t(Object(I.G)(i)),t(Object(C.u)(i)),this.disconnect=t(Object(M.d)(i)))},n.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},n.render=function(){var e=this.props,t=e.shouldUpdateScroll,i=e.hasUnread,n=e.columnId,a=e.multiColumn,s=e.list,o=this.props.params.id,l=!!n,d=s?s.get("title"):o;return void 0===s?Object(c.a)(O.a,{},void 0,Object(c.a)("div",{className:"scrollable"},void 0,Object(c.a)(_.a,{}))):!1===s?Object(c.a)(O.a,{},void 0,Object(c.a)(j.a,{multiColumn:a}),Object(c.a)(k.a,{})):p.a.createElement(O.a,{bindToDocument:!a,ref:this.setRef,label:d},Object(c.a)(f.a,{icon:"list-ul",active:i,title:d,onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:l,multiColumn:a},void 0,Object(c.a)("div",{className:"column-header__links"},void 0,Object(c.a)("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.handleEditClick},void 0,Object(c.a)(w.a,{id:"pencil"})," ",Object(c.a)(g.b,{id:"lists.edit",defaultMessage:"Edit list"})),Object(c.a)("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.handleDeleteClick},void 0,Object(c.a)(w.a,{id:"trash"})," ",Object(c.a)(g.b,{id:"lists.delete",defaultMessage:"Delete list"})))),Object(c.a)(m.a,{trackScroll:!l,scrollKey:"list_timeline-"+n,timelineId:"list:"+o,onLoadMore:this.handleLoadMore,emptyMessage:Object(c.a)(g.b,{id:"empty_column.list",defaultMessage:"There is nothing in this list yet. When members of this list post new statuses, they will appear here."}),shouldUpdateScroll:t,bindToDocument:!a}))},i}(p.a.PureComponent),Object(d.a)(a,"contextTypes",{router:h.a.object}),n=s))||n)||n}}]);
|
|
||||||
//# sourceMappingURL=list_timeline.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{815:function(t,e,i){"use strict";i.r(e),i.d(e,"default",(function(){return T}));var n,s,a,o=i(0),u=(i(9),i(6),i(8)),r=i(1),c=(i(3),i(15)),l=i(5),d=i.n(l),p=i(16),b=i.n(p),f=i(306),g=i(757),h=i(763),j=i(31),m=i(7),O=i(21),v=i(1173),y=i(1174),w=i(1175),M=i(57),q=i(1049);var C=Object(m.f)({heading:{id:"column.lists",defaultMessage:"Lists"},subheading:{id:"lists.subheading",defaultMessage:"Your lists"}}),R=Object(M.a)([function(t){return t.get("lists")}],(function(t){return t?t.toList().filter((function(t){return!!t})).sort((function(t,e){return t.get("title").localeCompare(e.get("title"))})):t})),T=Object(c.connect)((function(t){return{lists:R(t)}}))(n=Object(m.g)((a=s=function(t){Object(u.a)(i,t);var e;e=i;function i(){return t.apply(this,arguments)||this}var n=i.prototype;return n.componentWillMount=function(){this.props.dispatch(Object(j.I)())},n.render=function(){var t=this.props,e=t.intl,i=t.shouldUpdateScroll,n=t.lists,s=t.multiColumn;if(!n)return Object(o.a)(g.a,{},void 0,Object(o.a)(f.a,{}));var a=Object(o.a)(m.b,{id:"empty_column.lists",defaultMessage:"You don't have any lists yet. When you create one, it will show up here."});return(Object(o.a)(g.a,{bindToDocument:!s,icon:"list-ul",heading:e.formatMessage(C.heading)},void 0,Object(o.a)(h.a,{}),Object(o.a)(w.a,{}),Object(o.a)(q.a,{scrollKey:"lists",shouldUpdateScroll:i,emptyMessage:a,prepend:Object(o.a)(y.a,{text:e.formatMessage(C.subheading)}),bindToDocument:!s},void 0,n.map((function(t){return Object(o.a)(v.a,{to:"/timelines/list/"+t.get("id"),icon:"list-ul",text:t.get("title")},t.get("id"))})))))},i}(O.a),Object(r.a)(s,"propTypes",{params:d.a.object.isRequired,dispatch:d.a.func.isRequired,lists:b.a.list,intl:d.a.object.isRequired,multiColumn:d.a.bool}),n=a))||n)||n}}]);
|
|
||||||
//# sourceMappingURL=lists.js.map
|
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/lists/index.js"],"names":["messages","defineMessages","heading","subheading","getOrderedLists","createSelector","state","get","lists","toList","filter","item","sort","a","b","localeCompare","Lists","connect","injectIntl","componentWillMount","this","props","dispatch","fetchLists","render","intl","shouldUpdateScroll","multiColumn","emptyMessage","id","defaultMessage","bindToDocument","icon","formatMessage","scrollKey","prepend","text","map","list","to","ImmutablePureComponent","params","PropTypes","object","isRequired","func","ImmutablePropTypes","bool"],"mappings":"uUAgBA,IAAMA,EAAWC,YAAe,CAC9BC,QAAQ,CAAD,0CACPC,WAAW,CAAD,qDAGNC,EAAkBC,YAAe,CAAC,SAAAC,GAAK,OAAIA,EAAMC,IAAI,YAAW,SAAAC,GACpE,OAAKA,EAIEA,EAAMC,SAASC,QAAO,SAAAC,GAAI,QAAMA,KAAMC,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAEN,IAAI,SAASQ,cAAcD,EAAEP,IAAI,aAHtFC,KAYLQ,EAFUC,mBAJQ,SAAAX,GAAK,MAAK,CAChCE,MAAOJ,EAAgBE,M,GAIxBY,a,wHAWCC,mBAAA,WACEC,KAAKC,MAAMC,SAASC,gB,EAGtBC,OAAA,WAAW,IAAD,EACiDJ,KAAKC,MAAtDI,EADA,EACAA,KAAMC,EADN,EACMA,mBAAoBlB,EAD1B,EAC0BA,MAAOmB,EADjC,EACiCA,YAEzC,IAAKnB,EACH,OACE,YAAC,IAAD,UACE,YAAC,IAAD,KAKN,IAAMoB,EAAe,YAAC,IAAD,CAAkBC,GAAG,qBAAqBC,eAAe,6EAE9E,OACE,YAAC,IAAD,CAAQC,gBAAiBJ,EAAaK,KAAK,UAAU9B,QAASuB,EAAKQ,cAAcjC,EAASE,eAA1F,EACE,YAAC,IAAD,IAEA,YAAC,IAAD,IAEA,YAAC,IAAD,CACEgC,UAAU,QACVR,mBAAoBA,EACpBE,aAAcA,EACdO,QAAS,YAAC,IAAD,CAAkBC,KAAMX,EAAKQ,cAAcjC,EAASG,cAC7D4B,gBAAiBJ,QALnB,EAOGnB,EAAM6B,KAAI,SAAAC,GAAI,OACb,YAAC,IAAD,CAAiCC,GAAE,mBAAqBD,EAAK/B,IAAI,MAASyB,KAAK,UAAUI,KAAME,EAAK/B,IAAI,UAAvF+B,EAAK/B,IAAI,c,GAzClBiC,K,0BAEC,CACjBC,OAAQC,IAAUC,OAAOC,WACzBtB,SAAUoB,IAAUG,KAAKD,WACzBpC,MAAOsC,IAAmBR,KAC1Bb,KAAMiB,IAAUC,OAAOC,WACvBjB,YAAae,IAAUK,O","file":"features/lists.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport ColumnBackButtonSlim from '../../components/column_back_button_slim';\nimport { fetchLists } from '../../actions/lists';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ColumnLink from '../ui/components/column_link';\nimport ColumnSubheading from '../ui/components/column_subheading';\nimport NewListForm from './components/new_list_form';\nimport { createSelector } from 'reselect';\nimport ScrollableList from '../../components/scrollable_list';\n\nconst messages = defineMessages({\n heading: { id: 'column.lists', defaultMessage: 'Lists' },\n subheading: { id: 'lists.subheading', defaultMessage: 'Your lists' },\n});\n\nconst getOrderedLists = createSelector([state => state.get('lists')], lists => {\n if (!lists) {\n return lists;\n }\n\n return lists.toList().filter(item => !!item).sort((a, b) => a.get('title').localeCompare(b.get('title')));\n});\n\nconst mapStateToProps = state => ({\n lists: getOrderedLists(state),\n});\n\nexport default @connect(mapStateToProps)\n@injectIntl\nclass Lists extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n lists: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n multiColumn: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchLists());\n }\n\n render () {\n const { intl, shouldUpdateScroll, lists, multiColumn } = this.props;\n\n if (!lists) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n const emptyMessage = <FormattedMessage id='empty_column.lists' defaultMessage=\"You don't have any lists yet. When you create one, it will show up here.\" />;\n\n return (\n <Column bindToDocument={!multiColumn} icon='list-ul' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n\n <NewListForm />\n\n <ScrollableList\n scrollKey='lists'\n shouldUpdateScroll={shouldUpdateScroll}\n emptyMessage={emptyMessage}\n prepend={<ColumnSubheading text={intl.formatMessage(messages.subheading)} />}\n bindToDocument={!multiColumn}\n >\n {lists.map(list =>\n <ColumnLink key={list.get('id')} to={`/timelines/list/${list.get('id')}`} icon='list-ul' text={list.get('title')} />,\n )}\n </ScrollableList>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
|
|
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{828:function(e,t,a){"use strict";a.r(t),a.d(t,"default",(function(){return L}));var n,o,s,c=a(0),u=a(2),r=(a(9),a(6),a(8)),i=a(1),d=a(65),l=a.n(d),p=(a(3),a(15)),b=a(7),h=a(21),m=a(5),f=a.n(m),j=a(16),O=a.n(j),M=a(306),g=a(757),v=a(763),y=a(1053),w=a(212),I=a(1049);var q=Object(b.f)({heading:{id:"column.mutes",defaultMessage:"Muted users"}}),L=Object(p.connect)((function(e){return{accountIds:e.getIn(["user_lists","mutes","items"]),hasMore:!!e.getIn(["user_lists","mutes","next"])}}))(n=Object(b.g)((s=o=function(e){Object(r.a)(a,e);var t;t=a;function a(){for(var t,a=arguments.length,n=new Array(a),o=0;o<a;o++)n[o]=arguments[o];return t=e.call.apply(e,[this].concat(n))||this,Object(i.a)(Object(u.a)(t),"handleLoadMore",l()((function(){t.props.dispatch(Object(w.e)())}),300,{leading:!0})),t}var n=a.prototype;return n.componentWillMount=function(){this.props.dispatch(Object(w.f)())},n.render=function(){var e=this.props,t=e.intl,a=e.shouldUpdateScroll,n=e.hasMore,o=e.accountIds,s=e.multiColumn;if(!o)return Object(c.a)(g.a,{},void 0,Object(c.a)(M.a,{}));var u=Object(c.a)(b.b,{id:"empty_column.mutes",defaultMessage:"You haven't muted any users yet."});return(Object(c.a)(g.a,{bindToDocument:!s,icon:"volume-off",heading:t.formatMessage(q.heading)},void 0,Object(c.a)(v.a,{}),Object(c.a)(I.a,{scrollKey:"mutes",onLoadMore:this.handleLoadMore,hasMore:n,shouldUpdateScroll:a,emptyMessage:u,bindToDocument:!s},void 0,o.map((function(e){return Object(c.a)(y.a,{id:e},e)})))))},a}(h.a),Object(i.a)(o,"propTypes",{params:f.a.object.isRequired,dispatch:f.a.func.isRequired,shouldUpdateScroll:f.a.func,hasMore:f.a.bool,accountIds:O.a.list,intl:f.a.object.isRequired,multiColumn:f.a.bool}),n=s))||n)||n}}]);
|
|
||||||
//# sourceMappingURL=mutes.js.map
|
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/mutes/index.js"],"names":["messages","defineMessages","heading","Mutes","connect","state","accountIds","getIn","hasMore","injectIntl","props","dispatch","expandMutes","leading","componentWillMount","this","fetchMutes","render","intl","shouldUpdateScroll","multiColumn","emptyMessage","id","defaultMessage","bindToDocument","icon","formatMessage","scrollKey","onLoadMore","handleLoadMore","map","ImmutablePureComponent","params","PropTypes","object","isRequired","func","bool","ImmutablePropTypes","list"],"mappings":"oUAcA,IAAMA,EAAWC,YAAe,CAC9BC,QAAQ,CAAD,kDAUHC,EAFUC,mBALQ,SAAAC,GAAK,MAAK,CAChCC,WAAYD,EAAME,MAAM,CAAC,aAAc,QAAS,UAChDC,UAAWH,EAAME,MAAM,CAAC,aAAc,QAAS,Y,GAIhDE,a,8NAiBkB,KAAS,WACxB,EAAKC,MAAMC,SAASC,iBACnB,IAAK,CAAEC,SAAS,K,6BANnBC,mBAAA,WACEC,KAAKL,MAAMC,SAASK,gB,EAOtBC,OAAA,WAAW,IAAD,EAC+DF,KAAKL,MAApEQ,EADA,EACAA,KAAMC,EADN,EACMA,mBAAoBX,EAD1B,EAC0BA,QAASF,EADnC,EACmCA,WAAYc,EAD/C,EAC+CA,YAEvD,IAAKd,EACH,OACE,YAAC,IAAD,UACE,YAAC,IAAD,KAKN,IAAMe,EAAe,YAAC,IAAD,CAAkBC,GAAG,qBAAqBC,eAAe,qCAE9E,OACE,YAAC,IAAD,CAAQC,gBAAiBJ,EAAaK,KAAK,aAAavB,QAASgB,EAAKQ,cAAc1B,EAASE,eAA7F,EACE,YAAC,IAAD,IACA,YAAC,IAAD,CACEyB,UAAU,QACVC,WAAYb,KAAKc,eACjBrB,QAASA,EACTW,mBAAoBA,EACpBE,aAAcA,EACdG,gBAAiBJ,QANnB,EAQGd,EAAWwB,KAAI,SAAAR,GAAE,OAChB,YAAC,IAAD,CAA2BA,GAAIA,GAARA,U,GA7CfS,K,0BAEC,CACjBC,OAAQC,IAAUC,OAAOC,WACzBxB,SAAUsB,IAAUG,KAAKD,WACzBhB,mBAAoBc,IAAUG,KAC9B5B,QAASyB,IAAUI,KACnB/B,WAAYgC,IAAmBC,KAC/BrB,KAAMe,IAAUC,OAAOC,WACvBf,YAAaa,IAAUI,O","file":"features/mutes.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { debounce } from 'lodash';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport ColumnBackButtonSlim from '../../components/column_back_button_slim';\nimport AccountContainer from '../../containers/account_container';\nimport { fetchMutes, expandMutes } from '../../actions/mutes';\nimport ScrollableList from '../../components/scrollable_list';\n\nconst messages = defineMessages({\n heading: { id: 'column.mutes', defaultMessage: 'Muted users' },\n});\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['user_lists', 'mutes', 'items']),\n hasMore: !!state.getIn(['user_lists', 'mutes', 'next']),\n});\n\nexport default @connect(mapStateToProps)\n@injectIntl\nclass Mutes extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n hasMore: PropTypes.bool,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n multiColumn: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchMutes());\n }\n\n handleLoadMore = debounce(() => {\n this.props.dispatch(expandMutes());\n }, 300, { leading: true });\n\n render () {\n const { intl, shouldUpdateScroll, hasMore, accountIds, multiColumn } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n const emptyMessage = <FormattedMessage id='empty_column.mutes' defaultMessage=\"You haven't muted any users yet.\" />;\n\n return (\n <Column bindToDocument={!multiColumn} icon='volume-off' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <ScrollableList\n scrollKey='mutes'\n onLoadMore={this.handleLoadMore}\n hasMore={hasMore}\n shouldUpdateScroll={shouldUpdateScroll}\n emptyMessage={emptyMessage}\n bindToDocument={!multiColumn}\n >\n {accountIds.map(id =>\n <AccountContainer key={id} id={id} />,\n )}\n </ScrollableList>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
|
|
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue