forked from AkkomaGang/akkoma
Remove now useless flavours switching
This commit is contained in:
parent
aa9f52edd2
commit
5d3ece2861
6 changed files with 5 additions and 97 deletions
|
@ -126,20 +126,6 @@ Request parameters can be passed via [query strings](https://en.wikipedia.org/wi
|
||||||
## `/api/pleroma/admin/`…
|
## `/api/pleroma/admin/`…
|
||||||
See [Admin-API](Admin-API.md)
|
See [Admin-API](Admin-API.md)
|
||||||
|
|
||||||
## `/api/v1/pleroma/flavour/:flavour`
|
|
||||||
* Method `POST`
|
|
||||||
* Authentication: required
|
|
||||||
* Response: JSON string. Returns the user flavour or the default one on success, otherwise returns `{"error": "error_msg"}`
|
|
||||||
* Example response: "glitch"
|
|
||||||
* Note: This is intended to be used only by mastofe
|
|
||||||
|
|
||||||
## `/api/v1/pleroma/flavour`
|
|
||||||
* Method `GET`
|
|
||||||
* Authentication: required
|
|
||||||
* Response: JSON string. Returns the user flavour or the default one.
|
|
||||||
* Example response: "glitch"
|
|
||||||
* Note: This is intended to be used only by mastofe
|
|
||||||
|
|
||||||
## `/api/pleroma/notifications/read`
|
## `/api/pleroma/notifications/read`
|
||||||
### Mark a single notification as read
|
### Mark a single notification as read
|
||||||
* Method `POST`
|
* Method `POST`
|
||||||
|
|
|
@ -42,7 +42,6 @@ defmodule Pleroma.User.Info do
|
||||||
field(:hide_follows, :boolean, default: false)
|
field(:hide_follows, :boolean, default: false)
|
||||||
field(:hide_favorites, :boolean, default: true)
|
field(:hide_favorites, :boolean, default: true)
|
||||||
field(:pinned_activities, {:array, :string}, default: [])
|
field(:pinned_activities, {:array, :string}, default: [])
|
||||||
field(:flavour, :string, default: nil)
|
|
||||||
field(:mascot, :map, default: nil)
|
field(:mascot, :map, default: nil)
|
||||||
field(:emoji, {:array, :map}, default: [])
|
field(:emoji, {:array, :map}, default: [])
|
||||||
|
|
||||||
|
@ -241,14 +240,6 @@ def mastodon_settings_update(info, settings) do
|
||||||
|> validate_required([:settings])
|
|> validate_required([:settings])
|
||||||
end
|
end
|
||||||
|
|
||||||
def mastodon_flavour_update(info, flavour) do
|
|
||||||
params = %{flavour: flavour}
|
|
||||||
|
|
||||||
info
|
|
||||||
|> cast(params, [:flavour])
|
|
||||||
|> validate_required([:flavour])
|
|
||||||
end
|
|
||||||
|
|
||||||
def mascot_update(info, url) do
|
def mascot_update(info, url) do
|
||||||
params = %{mascot: url}
|
params = %{mascot: url}
|
||||||
|
|
||||||
|
|
|
@ -1346,8 +1346,6 @@ def index(%{assigns: %{user: user}} = conn, _params) do
|
||||||
accounts =
|
accounts =
|
||||||
Map.put(%{}, user.id, AccountView.render("account.json", %{user: user, for: user}))
|
Map.put(%{}, user.id, AccountView.render("account.json", %{user: user, for: user}))
|
||||||
|
|
||||||
flavour = get_user_flavour(user)
|
|
||||||
|
|
||||||
initial_state =
|
initial_state =
|
||||||
%{
|
%{
|
||||||
meta: %{
|
meta: %{
|
||||||
|
@ -1433,7 +1431,7 @@ def index(%{assigns: %{user: user}} = conn, _params) do
|
||||||
conn
|
conn
|
||||||
|> put_layout(false)
|
|> put_layout(false)
|
||||||
|> put_view(MastodonView)
|
|> put_view(MastodonView)
|
||||||
|> render("index.html", %{initial_state: initial_state, flavour: flavour})
|
|> render("index.html", %{initial_state: initial_state})
|
||||||
else
|
else
|
||||||
conn
|
conn
|
||||||
|> put_session(:return_to, conn.request_path)
|
|> put_session(:return_to, conn.request_path)
|
||||||
|
@ -1456,44 +1454,6 @@ def put_settings(%{assigns: %{user: user}} = conn, %{"data" => settings} = _para
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Note: vanilla is fully unsupported
|
|
||||||
@supported_flavours ["glitch"]
|
|
||||||
|
|
||||||
def set_flavour(%{assigns: %{user: user}} = conn, %{"flavour" => flavour} = _params)
|
|
||||||
when flavour in @supported_flavours do
|
|
||||||
flavour_cng = User.Info.mastodon_flavour_update(user.info, flavour)
|
|
||||||
|
|
||||||
with changeset <- Ecto.Changeset.change(user),
|
|
||||||
changeset <- Ecto.Changeset.put_embed(changeset, :info, flavour_cng),
|
|
||||||
{:ok, user} <- User.update_and_set_cache(changeset),
|
|
||||||
flavour <- user.info.flavour do
|
|
||||||
json(conn, flavour)
|
|
||||||
else
|
|
||||||
e ->
|
|
||||||
conn
|
|
||||||
|> put_resp_content_type("application/json")
|
|
||||||
|> send_resp(500, Jason.encode!(%{"error" => inspect(e)}))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def set_flavour(conn, _params) do
|
|
||||||
conn
|
|
||||||
|> put_status(400)
|
|
||||||
|> json(%{error: "Unsupported flavour"})
|
|
||||||
end
|
|
||||||
|
|
||||||
def get_flavour(%{assigns: %{user: user}} = conn, _params) do
|
|
||||||
json(conn, get_user_flavour(user))
|
|
||||||
end
|
|
||||||
|
|
||||||
defp get_user_flavour(%User{info: %{flavour: flavour}}) when flavour in @supported_flavours do
|
|
||||||
flavour
|
|
||||||
end
|
|
||||||
|
|
||||||
defp get_user_flavour(_) do
|
|
||||||
"glitch"
|
|
||||||
end
|
|
||||||
|
|
||||||
def login(%{assigns: %{user: %User{}}} = conn, _params) do
|
def login(%{assigns: %{user: %User{}}} = conn, _params) do
|
||||||
redirect(conn, to: local_mastodon_root_path(conn))
|
redirect(conn, to: local_mastodon_root_path(conn))
|
||||||
end
|
end
|
||||||
|
|
|
@ -309,8 +309,6 @@ defmodule Pleroma.Web.Router do
|
||||||
post("/conversations/:id/read", MastodonAPIController, :conversation_read)
|
post("/conversations/:id/read", MastodonAPIController, :conversation_read)
|
||||||
|
|
||||||
get("/endorsements", MastodonAPIController, :empty_array)
|
get("/endorsements", MastodonAPIController, :empty_array)
|
||||||
|
|
||||||
get("/pleroma/flavour", MastodonAPIController, :get_flavour)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
scope [] do
|
scope [] do
|
||||||
|
@ -350,8 +348,6 @@ defmodule Pleroma.Web.Router do
|
||||||
put("/filters/:id", MastodonAPIController, :update_filter)
|
put("/filters/:id", MastodonAPIController, :update_filter)
|
||||||
delete("/filters/:id", MastodonAPIController, :delete_filter)
|
delete("/filters/:id", MastodonAPIController, :delete_filter)
|
||||||
|
|
||||||
post("/pleroma/flavour/:flavour", MastodonAPIController, :set_flavour)
|
|
||||||
|
|
||||||
get("/pleroma/mascot", MastodonAPIController, :get_mascot)
|
get("/pleroma/mascot", MastodonAPIController, :get_mascot)
|
||||||
put("/pleroma/mascot", MastodonAPIController, :set_mascot)
|
put("/pleroma/mascot", MastodonAPIController, :set_mascot)
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
</title>
|
</title>
|
||||||
<link rel="icon" type="image/png" href="/favicon.png"/>
|
<link rel="icon" type="image/png" href="/favicon.png"/>
|
||||||
<script crossorigin='anonymous' src="/packs/locales.js"></script>
|
<script crossorigin='anonymous' src="/packs/locales.js"></script>
|
||||||
<script crossorigin='anonymous' src="/packs/locales/<%= @flavour %>/en.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/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/compose.js'>
|
||||||
|
@ -19,10 +19,10 @@
|
||||||
<script src="/packs/core/common.js"></script>
|
<script src="/packs/core/common.js"></script>
|
||||||
<link rel="stylesheet" media="all" href="/packs/core/common.css" />
|
<link rel="stylesheet" media="all" href="/packs/core/common.css" />
|
||||||
|
|
||||||
<script src="/packs/flavours/<%= @flavour %>/common.js"></script>
|
<script src="/packs/flavours/glitch/common.js"></script>
|
||||||
<link rel="stylesheet" media="all" href="/packs/flavours/<%= @flavour %>/common.css" />
|
<link rel="stylesheet" media="all" href="/packs/flavours/glitch/common.css" />
|
||||||
|
|
||||||
<script src="/packs/flavours/<%= @flavour %>/home.js"></script>
|
<script src="/packs/flavours/glitch/home.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body class='app-body no-reduce-motion system-font'>
|
<body class='app-body no-reduce-motion system-font'>
|
||||||
<div class='app-holder' data-props='{"locale":"en"}' id='mastodon'>
|
<div class='app-holder' data-props='{"locale":"en"}' id='mastodon'>
|
||||||
|
|
|
@ -2852,31 +2852,6 @@ test "unmute conversation", %{conn: conn, user: user, activity: activity} do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "flavours switching (Pleroma Extension)", %{conn: conn} do
|
|
||||||
user = insert(:user)
|
|
||||||
|
|
||||||
get_old_flavour =
|
|
||||||
conn
|
|
||||||
|> assign(:user, user)
|
|
||||||
|> get("/api/v1/pleroma/flavour")
|
|
||||||
|
|
||||||
assert "glitch" == json_response(get_old_flavour, 200)
|
|
||||||
|
|
||||||
set_flavour =
|
|
||||||
conn
|
|
||||||
|> assign(:user, user)
|
|
||||||
|> post("/api/v1/pleroma/flavour/vanilla")
|
|
||||||
|
|
||||||
assert "vanilla" == json_response(set_flavour, 200)
|
|
||||||
|
|
||||||
get_new_flavour =
|
|
||||||
conn
|
|
||||||
|> assign(:user, user)
|
|
||||||
|> post("/api/v1/pleroma/flavour/vanilla")
|
|
||||||
|
|
||||||
assert json_response(set_flavour, 200) == json_response(get_new_flavour, 200)
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "reports" do
|
describe "reports" do
|
||||||
setup do
|
setup do
|
||||||
reporter = insert(:user)
|
reporter = insert(:user)
|
||||||
|
|
Loading…
Reference in a new issue