From: sadposter Date: Fri, 19 Jun 2020 09:40:55 +0000 (+0100) Subject: Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop X-Git-Url: http://git.squeep.com/?a=commitdiff_plain;h=be48c1bafb0765675012c71d79a41ac490a964b7;hp=d772361e6209e6b5733e9fe52b3671cd222060b3;p=akkoma Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop --- diff --git a/.gitignore b/.gitignore index 198e80139..c108ad262 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ # App artifacts +secret /_build /db /deps diff --git a/config/config.exs b/config/config.exs index 6a7bb9e06..d16cdf43f 100644 --- a/config/config.exs +++ b/config/config.exs @@ -222,6 +222,7 @@ config :pleroma, :instance, ], mrf_transparency: true, mrf_transparency_exclusions: [], + staff_transparency: [], autofollowed_nicknames: [], max_pinned_statuses: 1, attachment_links: false, diff --git a/config/custom_emoji.txt b/config/custom_emoji.txt new file mode 100644 index 000000000..e69de29bb diff --git a/lib/mix/tasks/pleroma/activity.ex b/lib/mix/tasks/pleroma/activity.ex new file mode 100644 index 000000000..b4ab2f7df --- /dev/null +++ b/lib/mix/tasks/pleroma/activity.ex @@ -0,0 +1,24 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2018 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Mix.Tasks.Pleroma.Activity do + alias Pleroma.Activity + require Logger + import Mix.Pleroma + use Mix.Task + + @shortdoc "A collection of activity debug tasks" + @moduledoc """ + A collection of activity related tasks + + mix pleroma.activity get + """ + def run(["get", id | _rest]) do + start_pleroma() + + id + |> Activity.get_by_id() + |> IO.inspect() + end +end diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex index bca7e87bf..b8d65b03e 100644 --- a/lib/mix/tasks/pleroma/user.ex +++ b/lib/mix/tasks/pleroma/user.ex @@ -338,6 +338,39 @@ defmodule Mix.Tasks.Pleroma.User do end end + def run(["change_email", nickname, email]) do + start_pleroma() + + with %User{} = user <- User.get_cached_by_nickname(nickname) do + user + |> User.update_changeset(%{"email" => email}) + |> User.update_and_set_cache() + + shell_info("#{nickname}'s email updated") + end + end + + def run(["show", nickname]) do + start_pleroma() + + nickname + |> User.get_cached_by_nickname() + |> IO.inspect() + end + + def run(["send_confirmation", nickname]) do + start_pleroma() + + with %User{} = user <- User.get_cached_by_nickname(nickname) do + user + |> Pleroma.Emails.UserEmail.account_confirmation_email() + |> IO.inspect() + |> Pleroma.Emails.Mailer.deliver!() + + shell_info("#{nickname}'s email sent") + end + end + def run(["toggle_confirmed", nickname]) do start_pleroma() diff --git a/lib/pleroma/pool/request.ex b/lib/pleroma/pool/request.ex index 3fb930db7..1da8952a3 100644 --- a/lib/pleroma/pool/request.ex +++ b/lib/pleroma/pool/request.ex @@ -24,42 +24,42 @@ defmodule Pleroma.Pool.Request do def handle_call({:execute, client, request}, _from, state) do response = Pleroma.HTTP.request(client, request) - {:reply, response, state} + {:reply, response, state, :hibernate} end @impl true def handle_info({:gun_data, _conn, _stream, _, _}, state) do - {:noreply, state} + {:noreply, state, :hibernate} end @impl true def handle_info({:gun_up, _conn, _protocol}, state) do - {:noreply, state} + {:noreply, state, :hibernate} end @impl true def handle_info({:gun_down, _conn, _protocol, _reason, _killed}, state) do - {:noreply, state} + {:noreply, state, :hibernate} end @impl true def handle_info({:gun_error, _conn, _stream, _error}, state) do - {:noreply, state} + {:noreply, state, :hibernate} end @impl true def handle_info({:gun_push, _conn, _stream, _new_stream, _method, _uri, _headers}, state) do - {:noreply, state} + {:noreply, state, :hibernate} end @impl true def handle_info({:gun_response, _conn, _stream, _, _status, _headers}, state) do - {:noreply, state} + {:noreply, state, :hibernate} end @impl true def handle_info(msg, state) do Logger.warn("Received unexpected message #{inspect(__MODULE__)} #{inspect(msg)}") - {:noreply, state} + {:noreply, state, :hibernate} end end diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex index 721b599d4..b9c12374c 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex @@ -37,6 +37,7 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do staff_accounts = User.all_superusers() |> Enum.map(fn u -> u.ap_id end) + |> Enum.filter(fn u -> not Enum.member?(Config.get([:instance, :staff_transparency]), u) end) features = InstanceView.features() federation = InstanceView.federation() diff --git a/priv/static/emoji/laffeydrink.apng b/priv/static/emoji/laffeydrink.apng new file mode 100644 index 000000000..78afd4bb6 Binary files /dev/null and b/priv/static/emoji/laffeydrink.apng differ diff --git a/priv/static/images/5cm.jpg b/priv/static/images/5cm.jpg new file mode 100644 index 000000000..3d2434587 Binary files /dev/null and b/priv/static/images/5cm.jpg differ diff --git a/priv/static/images/5cm.png b/priv/static/images/5cm.png new file mode 100644 index 000000000..c56a71ccc Binary files /dev/null and b/priv/static/images/5cm.png differ diff --git a/priv/static/images/akari.png b/priv/static/images/akari.png new file mode 100644 index 000000000..788bb63e1 Binary files /dev/null and b/priv/static/images/akari.png differ diff --git a/priv/static/images/shinji.png b/priv/static/images/shinji.png new file mode 100644 index 000000000..7867ab7b4 Binary files /dev/null and b/priv/static/images/shinji.png differ diff --git a/priv/static/sounds/kommsussertod.mp3 b/priv/static/sounds/kommsussertod.mp3 new file mode 100644 index 000000000..3dfc77392 Binary files /dev/null and b/priv/static/sounds/kommsussertod.mp3 differ diff --git a/priv/static/static/css/app.1055039ce3f2fe4dd110.css b/priv/static/static/css/app.1055039ce3f2fe4dd110.css new file mode 100644 index 000000000..1867ca81a --- /dev/null +++ b/priv/static/static/css/app.1055039ce3f2fe4dd110.css @@ -0,0 +1,108 @@ +.with-load-more-footer { + padding: 10px; + text-align: center; + border-top: 1px solid; + border-top-color: #222; + border-top-color: var(--border, #222); +} +.with-load-more-footer .error { + font-size: 14px; +} +.tab-switcher { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} +.tab-switcher .contents { + -ms-flex: 1 0 auto; + flex: 1 0 auto; + min-height: 0px; +} +.tab-switcher .contents .hidden { + display: none; +} +.tab-switcher .contents.scrollable-tabs { + -ms-flex-preferred-size: 0; + flex-basis: 0; + overflow-y: auto; +} +.tab-switcher .tabs { + display: -ms-flexbox; + display: flex; + position: relative; + width: 100%; + overflow-y: hidden; + overflow-x: auto; + padding-top: 5px; + box-sizing: border-box; +} +.tab-switcher .tabs::after, .tab-switcher .tabs::before { + display: block; + content: ""; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + border-bottom: 1px solid; + border-bottom-color: #222; + border-bottom-color: var(--border, #222); +} +.tab-switcher .tabs .tab-wrapper { + height: 28px; + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex: 0 0 auto; + flex: 0 0 auto; +} +.tab-switcher .tabs .tab-wrapper .tab { + width: 100%; + min-width: 1px; + position: relative; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + padding: 6px 1em; + padding-bottom: 99px; + margin-bottom: -93px; + white-space: nowrap; + color: #b9b9ba; + color: var(--tabText, #b9b9ba); + background-color: #182230; + background-color: var(--tab, #182230); +} +.tab-switcher .tabs .tab-wrapper .tab:not(.active) { + z-index: 4; +} +.tab-switcher .tabs .tab-wrapper .tab:not(.active):hover { + z-index: 6; +} +.tab-switcher .tabs .tab-wrapper .tab.active { + background: transparent; + z-index: 5; + color: #b9b9ba; + color: var(--tabActiveText, #b9b9ba); +} +.tab-switcher .tabs .tab-wrapper .tab img { + max-height: 26px; + vertical-align: top; + margin-top: -5px; +} +.tab-switcher .tabs .tab-wrapper:not(.active)::after { + content: ""; + position: absolute; + left: 0; + right: 0; + bottom: 0; + z-index: 7; + border-bottom: 1px solid; + border-bottom-color: #222; + border-bottom-color: var(--border, #222); +} +.with-subscription-loading { + padding: 10px; + text-align: center; +} +.with-subscription-loading .error { + font-size: 14px; +} + +/*# sourceMappingURL=app.1055039ce3f2fe4dd110.css.map*/ \ No newline at end of file diff --git a/priv/static/static/css/app.1055039ce3f2fe4dd110.css.map b/priv/static/static/css/app.1055039ce3f2fe4dd110.css.map new file mode 100644 index 000000000..861ee8313 --- /dev/null +++ b/priv/static/static/css/app.1055039ce3f2fe4dd110.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/hocs/with_load_more/with_load_more.scss","webpack:///./src/components/tab_switcher/tab_switcher.scss","webpack:///./src/hocs/with_subscription/with_subscription.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA,C","file":"static/css/app.1055039ce3f2fe4dd110.css","sourcesContent":[".with-load-more-footer {\n padding: 10px;\n text-align: center;\n border-top: 1px solid;\n border-top-color: #222;\n border-top-color: var(--border, #222);\n}\n.with-load-more-footer .error {\n font-size: 14px;\n}",".tab-switcher {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher .contents {\n -ms-flex: 1 0 auto;\n flex: 1 0 auto;\n min-height: 0px;\n}\n.tab-switcher .contents .hidden {\n display: none;\n}\n.tab-switcher .contents.scrollable-tabs {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n overflow-y: auto;\n}\n.tab-switcher .tabs {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n width: 100%;\n overflow-y: hidden;\n overflow-x: auto;\n padding-top: 5px;\n box-sizing: border-box;\n}\n.tab-switcher .tabs::after, .tab-switcher .tabs::before {\n display: block;\n content: \"\";\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}\n.tab-switcher .tabs .tab-wrapper {\n height: 28px;\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n.tab-switcher .tabs .tab-wrapper .tab {\n width: 100%;\n min-width: 1px;\n position: relative;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n padding: 6px 1em;\n padding-bottom: 99px;\n margin-bottom: -93px;\n white-space: nowrap;\n color: #b9b9ba;\n color: var(--tabText, #b9b9ba);\n background-color: #182230;\n background-color: var(--tab, #182230);\n}\n.tab-switcher .tabs .tab-wrapper .tab:not(.active) {\n z-index: 4;\n}\n.tab-switcher .tabs .tab-wrapper .tab:not(.active):hover {\n z-index: 6;\n}\n.tab-switcher .tabs .tab-wrapper .tab.active {\n background: transparent;\n z-index: 5;\n color: #b9b9ba;\n color: var(--tabActiveText, #b9b9ba);\n}\n.tab-switcher .tabs .tab-wrapper .tab img {\n max-height: 26px;\n vertical-align: top;\n margin-top: -5px;\n}\n.tab-switcher .tabs .tab-wrapper:not(.active)::after {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 7;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}",".with-subscription-loading {\n padding: 10px;\n text-align: center;\n}\n.with-subscription-loading .error {\n font-size: 14px;\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/css/vendors~app.b2603a50868c68a1c192.css b/priv/static/static/css/vendors~app.b2603a50868c68a1c192.css new file mode 100644 index 000000000..a2e625f5e --- /dev/null +++ b/priv/static/static/css/vendors~app.b2603a50868c68a1c192.css @@ -0,0 +1,307 @@ +/*! + * Cropper.js v1.4.3 + * https://fengyuanchen.github.io/cropperjs + * + * Copyright 2015-present Chen Fengyuan + * Released under the MIT license + * + * Date: 2018-10-24T13:07:11.429Z + */ + +.cropper-container { + direction: ltr; + font-size: 0; + line-height: 0; + position: relative; + -ms-touch-action: none; + touch-action: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.cropper-container img { + display: block; + height: 100%; + image-orientation: 0deg; + max-height: none !important; + max-width: none !important; + min-height: 0 !important; + min-width: 0 !important; + width: 100%; +} + +.cropper-wrap-box, +.cropper-canvas, +.cropper-drag-box, +.cropper-crop-box, +.cropper-modal { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; +} + +.cropper-wrap-box, +.cropper-canvas { + overflow: hidden; +} + +.cropper-drag-box { + background-color: #fff; + opacity: 0; +} + +.cropper-modal { + background-color: #000; + opacity: .5; +} + +.cropper-view-box { + display: block; + height: 100%; + outline-color: rgba(51, 153, 255, 0.75); + outline: 1px solid #39f; + overflow: hidden; + width: 100%; +} + +.cropper-dashed { + border: 0 dashed #eee; + display: block; + opacity: .5; + position: absolute; +} + +.cropper-dashed.dashed-h { + border-bottom-width: 1px; + border-top-width: 1px; + height: calc(100% / 3); + left: 0; + top: calc(100% / 3); + width: 100%; +} + +.cropper-dashed.dashed-v { + border-left-width: 1px; + border-right-width: 1px; + height: 100%; + left: calc(100% / 3); + top: 0; + width: calc(100% / 3); +} + +.cropper-center { + display: block; + height: 0; + left: 50%; + opacity: .75; + position: absolute; + top: 50%; + width: 0; +} + +.cropper-center:before, +.cropper-center:after { + background-color: #eee; + content: ' '; + display: block; + position: absolute; +} + +.cropper-center:before { + height: 1px; + left: -3px; + top: 0; + width: 7px; +} + +.cropper-center:after { + height: 7px; + left: 0; + top: -3px; + width: 1px; +} + +.cropper-face, +.cropper-line, +.cropper-point { + display: block; + height: 100%; + opacity: .1; + position: absolute; + width: 100%; +} + +.cropper-face { + background-color: #fff; + left: 0; + top: 0; +} + +.cropper-line { + background-color: #39f; +} + +.cropper-line.line-e { + cursor: ew-resize; + right: -3px; + top: 0; + width: 5px; +} + +.cropper-line.line-n { + cursor: ns-resize; + height: 5px; + left: 0; + top: -3px; +} + +.cropper-line.line-w { + cursor: ew-resize; + left: -3px; + top: 0; + width: 5px; +} + +.cropper-line.line-s { + bottom: -3px; + cursor: ns-resize; + height: 5px; + left: 0; +} + +.cropper-point { + background-color: #39f; + height: 5px; + opacity: .75; + width: 5px; +} + +.cropper-point.point-e { + cursor: ew-resize; + margin-top: -3px; + right: -3px; + top: 50%; +} + +.cropper-point.point-n { + cursor: ns-resize; + left: 50%; + margin-left: -3px; + top: -3px; +} + +.cropper-point.point-w { + cursor: ew-resize; + left: -3px; + margin-top: -3px; + top: 50%; +} + +.cropper-point.point-s { + bottom: -3px; + cursor: s-resize; + left: 50%; + margin-left: -3px; +} + +.cropper-point.point-ne { + cursor: nesw-resize; + right: -3px; + top: -3px; +} + +.cropper-point.point-nw { + cursor: nwse-resize; + left: -3px; + top: -3px; +} + +.cropper-point.point-sw { + bottom: -3px; + cursor: nesw-resize; + left: -3px; +} + +.cropper-point.point-se { + bottom: -3px; + cursor: nwse-resize; + height: 20px; + opacity: 1; + right: -3px; + width: 20px; +} + +@media (min-width: 768px) { + .cropper-point.point-se { + height: 15px; + width: 15px; + } +} + +@media (min-width: 992px) { + .cropper-point.point-se { + height: 10px; + width: 10px; + } +} + +@media (min-width: 1200px) { + .cropper-point.point-se { + height: 5px; + opacity: .75; + width: 5px; + } +} + +.cropper-point.point-se:before { + background-color: #39f; + bottom: -50%; + content: ' '; + display: block; + height: 200%; + opacity: 0; + position: absolute; + right: -50%; + width: 200%; +} + +.cropper-invisible { + opacity: 0; +} + +.cropper-bg { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC'); +} + +.cropper-hide { + display: block; + height: 0; + position: absolute; + width: 0; +} + +.cropper-hidden { + display: none !important; +} + +.cropper-move { + cursor: move; +} + +.cropper-crop { + cursor: crosshair; +} + +.cropper-disabled .cropper-drag-box, +.cropper-disabled .cropper-face, +.cropper-disabled .cropper-line, +.cropper-disabled .cropper-point { + cursor: not-allowed; +} + + +/*# sourceMappingURL=vendors~app.b2603a50868c68a1c192.css.map*/ \ No newline at end of file diff --git a/priv/static/static/css/vendors~app.b2603a50868c68a1c192.css.map b/priv/static/static/css/vendors~app.b2603a50868c68a1c192.css.map new file mode 100644 index 000000000..e7013b291 --- /dev/null +++ b/priv/static/static/css/vendors~app.b2603a50868c68a1c192.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./node_modules/cropperjs/dist/cropper.css"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA","file":"static/css/vendors~app.b2603a50868c68a1c192.css","sourcesContent":["/*!\n * Cropper.js v1.4.3\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-10-24T13:07:11.429Z\n */\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.cropper-container img {\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: .5;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n outline-color: rgba(51, 153, 255, 0.75);\n outline: 1px solid #39f;\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: .5;\n position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: calc(100% / 3);\n left: 0;\n top: calc(100% / 3);\n width: 100%;\n}\n\n.cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: calc(100% / 3);\n top: 0;\n width: calc(100% / 3);\n}\n\n.cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: .75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n\n.cropper-center:before,\n.cropper-center:after {\n background-color: #eee;\n content: ' ';\n display: block;\n position: absolute;\n}\n\n.cropper-center:before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n}\n\n.cropper-center:after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n}\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: .1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n\n.cropper-line {\n background-color: #39f;\n}\n\n.cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n}\n\n.cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n}\n\n.cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: .75;\n width: 5px;\n}\n\n.cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n}\n\n.cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n}\n\n.cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n}\n\n.cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n}\n\n.cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n}\n\n.cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n}\n\n@media (min-width: 768px) {\n .cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n}\n\n@media (min-width: 1200px) {\n .cropper-point.point-se {\n height: 5px;\n opacity: .75;\n width: 5px;\n }\n}\n\n.cropper-point.point-se:before {\n background-color: #39f;\n bottom: -50%;\n content: ' ';\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n}\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-bg {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/font/css/lato.css b/priv/static/static/font/css/lato.css new file mode 100644 index 000000000..b75a48d70 --- /dev/null +++ b/priv/static/static/font/css/lato.css @@ -0,0 +1,13 @@ +/* lato-regular - latin */ +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 400; + src: url('../font/lato-v15-latin-regular.eot'); /* IE9 Compat Modes */ + src: local('Lato Regular'), local('Lato-Regular'), + url('../font/lato-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../font/lato-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../font/lato-v15-latin-regular.woff') format('woff'), /* Modern Browsers */ + url('../font/lato-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../font/lato-v15-latin-regular.svg#Lato') format('svg'); /* Legacy iOS */ +} diff --git a/priv/static/static/font/font/lato-v15-latin-regular.eot b/priv/static/static/font/font/lato-v15-latin-regular.eot new file mode 100644 index 000000000..c64130696 Binary files /dev/null and b/priv/static/static/font/font/lato-v15-latin-regular.eot differ diff --git a/priv/static/static/font/font/lato-v15-latin-regular.svg b/priv/static/static/font/font/lato-v15-latin-regular.svg new file mode 100644 index 000000000..55b43fb86 --- /dev/null +++ b/priv/static/static/font/font/lato-v15-latin-regular.svg @@ -0,0 +1,435 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/priv/static/static/font/font/lato-v15-latin-regular.ttf b/priv/static/static/font/font/lato-v15-latin-regular.ttf new file mode 100644 index 000000000..3c2d417ea Binary files /dev/null and b/priv/static/static/font/font/lato-v15-latin-regular.ttf differ diff --git a/priv/static/static/font/font/lato-v15-latin-regular.woff b/priv/static/static/font/font/lato-v15-latin-regular.woff new file mode 100644 index 000000000..189a0feb5 Binary files /dev/null and b/priv/static/static/font/font/lato-v15-latin-regular.woff differ diff --git a/priv/static/static/font/font/lato-v15-latin-regular.woff2 b/priv/static/static/font/font/lato-v15-latin-regular.woff2 new file mode 100644 index 000000000..6904b6649 Binary files /dev/null and b/priv/static/static/font/font/lato-v15-latin-regular.woff2 differ diff --git a/priv/static/static/font/lato-v15-latin-regular.eot b/priv/static/static/font/lato-v15-latin-regular.eot new file mode 100644 index 000000000..c64130696 Binary files /dev/null and b/priv/static/static/font/lato-v15-latin-regular.eot differ diff --git a/priv/static/static/font/lato-v15-latin-regular.svg b/priv/static/static/font/lato-v15-latin-regular.svg new file mode 100644 index 000000000..55b43fb86 --- /dev/null +++ b/priv/static/static/font/lato-v15-latin-regular.svg @@ -0,0 +1,435 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/priv/static/static/font/lato-v15-latin-regular.ttf b/priv/static/static/font/lato-v15-latin-regular.ttf new file mode 100644 index 000000000..3c2d417ea Binary files /dev/null and b/priv/static/static/font/lato-v15-latin-regular.ttf differ diff --git a/priv/static/static/font/lato-v15-latin-regular.woff b/priv/static/static/font/lato-v15-latin-regular.woff new file mode 100644 index 000000000..189a0feb5 Binary files /dev/null and b/priv/static/static/font/lato-v15-latin-regular.woff differ diff --git a/priv/static/static/font/lato-v15-latin-regular.woff2 b/priv/static/static/font/lato-v15-latin-regular.woff2 new file mode 100644 index 000000000..6904b6649 Binary files /dev/null and b/priv/static/static/font/lato-v15-latin-regular.woff2 differ diff --git a/priv/static/static/img/nsfw.ca95de9.png b/priv/static/static/img/nsfw.ca95de9.png new file mode 100644 index 000000000..e0d1fc2a9 Binary files /dev/null and b/priv/static/static/img/nsfw.ca95de9.png differ diff --git a/priv/static/static/js/2.f9a5c4aba770b3f9f9e0.js b/priv/static/static/js/2.f9a5c4aba770b3f9f9e0.js new file mode 100644 index 000000000..f366644a2 --- /dev/null +++ b/priv/static/static/js/2.f9a5c4aba770b3f9f9e0.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{582:function(t,e,i){var c=i(583);"string"==typeof c&&(c=[[t.i,c,""]]),c.locals&&(t.exports=c.locals);(0,i(3).default)("cc6cdea4",c,!0,{})},583:function(t,e,i){(t.exports=i(2)(!1)).push([t.i,".sticker-picker{width:100%}.sticker-picker .contents{min-height:250px}.sticker-picker .contents .sticker-picker-content{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 4px}.sticker-picker .contents .sticker-picker-content .sticker{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;margin:4px;width:56px;height:56px}.sticker-picker .contents .sticker-picker-content .sticker img{height:100%}.sticker-picker .contents .sticker-picker-content .sticker img:hover{filter:drop-shadow(0 0 5px var(--accent,#d8a070))}",""])},584:function(t,e,i){"use strict";i.r(e);var c=i(90),a={components:{TabSwitcher:i(52).a},data:function(){return{meta:{stickers:[]},path:""}},computed:{pack:function(){return this.$store.state.instance.stickers||[]}},methods:{clear:function(){this.meta={stickers:[]}},pick:function(t,e){var i=this,a=this.$store;fetch(t).then(function(t){t.blob().then(function(t){var n=new File([t],e,{mimetype:"image/png"}),s=new FormData;s.append("file",n),c.a.uploadMedia({store:a,formData:s}).then(function(t){i.$emit("uploaded",t),i.clear()},function(t){console.warn("Can't attach sticker"),console.warn(t),i.$emit("upload-failed","default")})})})}}},n=i(0);var s=function(t){i(582)},r=Object(n.a)(a,function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"sticker-picker"},[i("tab-switcher",{staticClass:"tab-switcher",attrs:{"render-only-focused":!0,"scrollable-tabs":""}},t._l(t.pack,function(e){return i("div",{key:e.path,staticClass:"sticker-picker-content",attrs:{"image-tooltip":e.meta.title,image:e.path+e.meta.tabIcon}},t._l(e.meta.stickers,function(c){return i("div",{key:c,staticClass:"sticker",on:{click:function(i){i.stopPropagation(),i.preventDefault(),t.pick(e.path+c,e.meta.title)}}},[i("img",{attrs:{src:e.path+c}})])}),0)}),0)],1)},[],!1,s,null,null);e.default=r.exports}}]); +//# sourceMappingURL=2.f9a5c4aba770b3f9f9e0.js.map \ No newline at end of file diff --git a/priv/static/static/js/2.f9a5c4aba770b3f9f9e0.js.map b/priv/static/static/js/2.f9a5c4aba770b3f9f9e0.js.map new file mode 100644 index 000000000..76a131851 --- /dev/null +++ b/priv/static/static/js/2.f9a5c4aba770b3f9f9e0.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/components/sticker_picker/sticker_picker.vue?d6cd","webpack:///./src/components/sticker_picker/sticker_picker.vue?d5ea","webpack:///./src/components/sticker_picker/sticker_picker.js","webpack:///./src/components/sticker_picker/sticker_picker.vue","webpack:///./src/components/sticker_picker/sticker_picker.vue?7504"],"names":["content","__webpack_require__","module","i","locals","exports","add","default","push","StickerPicker","components","TabSwitcher","data","meta","stickers","path","computed","pack","this","$store","state","instance","methods","clear","pick","sticker","name","_this","store","fetch","then","res","blob","file","File","mimetype","formData","FormData","append","statusPosterService","uploadMedia","fileData","$emit","error","console","warn","__vue_styles__","context","Component","Object","component_normalizer","sticker_picker","_vm","_h","$createElement","_c","_self","staticClass","attrs","render-only-focused","scrollable-tabs","_l","stickerpack","key","image-tooltip","title","image","tabIcon","on","click","$event","stopPropagation","preventDefault","src","__webpack_exports__"],"mappings":"6EAGA,IAAAA,EAAcC,EAAQ,KACtB,iBAAAD,MAAA,EAA4CE,EAAAC,EAASH,EAAA,MACrDA,EAAAI,SAAAF,EAAAG,QAAAL,EAAAI,SAGAE,EADUL,EAAQ,GAAgEM,SAClF,WAAAP,GAAA,4BCRAE,EAAAG,QAA2BJ,EAAQ,EAARA,EAA0D,IAKrFO,KAAA,CAAcN,EAAAC,EAAS,4iBAA4iB,0DC8CpjBM,EA/CO,CACpBC,WAAY,CACVC,qBAEFC,KAJoB,WAKlB,MAAO,CACLC,KAAM,CACJC,SAAU,IAEZC,KAAM,KAGVC,SAAU,CACRC,KADQ,WAEN,OAAOC,KAAKC,OAAOC,MAAMC,SAASP,UAAY,KAGlDQ,QAAS,CACPC,MADO,WAELL,KAAKL,KAAO,CACVC,SAAU,KAGdU,KANO,SAMDC,EAASC,GAAM,IAAAC,EAAAT,KACbU,EAAQV,KAAKC,OAEnBU,MAAMJ,GACHK,KAAK,SAACC,GACLA,EAAIC,OAAOF,KAAK,SAACE,GACf,IAAIC,EAAO,IAAIC,KAAK,CAACF,GAAON,EAAM,CAAES,SAAU,cAC1CC,EAAW,IAAIC,SACnBD,EAASE,OAAO,OAAQL,GACxBM,IAAoBC,YAAY,CAAEZ,QAAOQ,aACtCN,KAAK,SAACW,GACLd,EAAKe,MAAM,WAAYD,GACvBd,EAAKJ,SACJ,SAACoB,GACFC,QAAQC,KAAK,wBACbD,QAAQC,KAAKF,GACbhB,EAAKe,MAAM,gBAAiB,2BCnC5C,IAEAI,EAVA,SAAAC,GACE9C,EAAQ,MAeV+C,EAAgBC,OAAAC,EAAA,EAAAD,CACdE,ECjBF,WAA0B,IAAAC,EAAAlC,KAAamC,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,kBAA6B,CAAAF,EAAA,gBAAqBE,YAAA,eAAAC,MAAA,CAAkCC,uBAAA,EAAAC,kBAAA,KAAiDR,EAAAS,GAAAT,EAAA,cAAAU,GAAyC,OAAAP,EAAA,OAAiBQ,IAAAD,EAAA/C,KAAA0C,YAAA,yBAAAC,MAAA,CAAiEM,gBAAAF,EAAAjD,KAAAoD,MAAAC,MAAAJ,EAAA/C,KAAA+C,EAAAjD,KAAAsD,UAA4Ff,EAAAS,GAAAC,EAAAjD,KAAA,kBAAAY,GAAsD,OAAA8B,EAAA,OAAiBQ,IAAAtC,EAAAgC,YAAA,UAAAW,GAAA,CAAsCC,MAAA,SAAAC,GAAyBA,EAAAC,kBAAyBD,EAAAE,iBAAwBpB,EAAA5B,KAAAsC,EAAA/C,KAAAU,EAAAqC,EAAAjD,KAAAoD,UAA+D,CAAAV,EAAA,OAAYG,MAAA,CAAOe,IAAAX,EAAA/C,KAAAU,SAAsC,KAAK,QAC1vB,IDOA,EAaAqB,EATA,KAEA,MAYe4B,EAAA,QAAA1B,EAAiB","file":"static/js/2.f9a5c4aba770b3f9f9e0.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a