Added column and UI for apprise server
This commit is contained in:
parent
f84727b97e
commit
a1444b69db
6 changed files with 37 additions and 10 deletions
|
|
@ -9,7 +9,8 @@ defmodule Pinchflat.Settings.Setting do
|
||||||
@allowed_fields [
|
@allowed_fields [
|
||||||
:onboarding,
|
:onboarding,
|
||||||
:pro_enabled,
|
:pro_enabled,
|
||||||
:yt_dlp_version
|
:yt_dlp_version,
|
||||||
|
:apprise_server
|
||||||
]
|
]
|
||||||
|
|
||||||
@required_fields ~w(
|
@required_fields ~w(
|
||||||
|
|
@ -21,6 +22,7 @@ defmodule Pinchflat.Settings.Setting do
|
||||||
field :onboarding, :boolean, default: true
|
field :onboarding, :boolean, default: true
|
||||||
field :pro_enabled, :boolean, default: false
|
field :pro_enabled, :boolean, default: false
|
||||||
field :yt_dlp_version, :string
|
field :yt_dlp_version, :string
|
||||||
|
field :apprise_server, :string
|
||||||
end
|
end
|
||||||
|
|
||||||
@doc false
|
@doc false
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,7 @@ defmodule PinchflatWeb.CoreComponents do
|
||||||
attr :label_suffix, :string, default: nil
|
attr :label_suffix, :string, default: nil
|
||||||
attr :value, :any
|
attr :value, :any
|
||||||
attr :help, :string, default: nil
|
attr :help, :string, default: nil
|
||||||
|
attr :html_help, :boolean, default: false
|
||||||
|
|
||||||
attr :type, :string,
|
attr :type, :string,
|
||||||
default: "text",
|
default: "text",
|
||||||
|
|
@ -298,7 +299,7 @@ defmodule PinchflatWeb.CoreComponents do
|
||||||
<%= @label %>
|
<%= @label %>
|
||||||
<span :if={@label_suffix} class="text-xs text-bodydark"><%= @label_suffix %></span>
|
<span :if={@label_suffix} class="text-xs text-bodydark"><%= @label_suffix %></span>
|
||||||
</label>
|
</label>
|
||||||
<.help :if={@help}><%= @help %></.help>
|
<.help :if={@help}><%= if @html_help, do: Phoenix.HTML.raw(@help), else: @help %></.help>
|
||||||
<.error :for={msg <- @errors}><%= msg %></.error>
|
<.error :for={msg <- @errors}><%= msg %></.error>
|
||||||
</div>
|
</div>
|
||||||
"""
|
"""
|
||||||
|
|
@ -325,7 +326,7 @@ defmodule PinchflatWeb.CoreComponents do
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<.help :if={@help}><%= @help %></.help>
|
<.help :if={@help}><%= if @html_help, do: Phoenix.HTML.raw(@help), else: @help %></.help>
|
||||||
<.error :for={msg <- @errors}><%= msg %></.error>
|
<.error :for={msg <- @errors}><%= msg %></.error>
|
||||||
</div>
|
</div>
|
||||||
"""
|
"""
|
||||||
|
|
@ -356,7 +357,7 @@ defmodule PinchflatWeb.CoreComponents do
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<.help :if={@help}><%= @help %></.help>
|
<.help :if={@help}><%= if @html_help, do: Phoenix.HTML.raw(@help), else: @help %></.help>
|
||||||
<.error :for={msg <- @errors}><%= msg %></.error>
|
<.error :for={msg <- @errors}><%= msg %></.error>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -387,7 +388,7 @@ defmodule PinchflatWeb.CoreComponents do
|
||||||
</select>
|
</select>
|
||||||
<%= render_slot(@inner_block) %>
|
<%= render_slot(@inner_block) %>
|
||||||
</div>
|
</div>
|
||||||
<.help :if={@help}><%= @help %></.help>
|
<.help :if={@help}><%= if @html_help, do: Phoenix.HTML.raw(@help), else: @help %></.help>
|
||||||
<.error :for={msg <- @errors}><%= msg %></.error>
|
<.error :for={msg <- @errors}><%= msg %></.error>
|
||||||
</div>
|
</div>
|
||||||
"""
|
"""
|
||||||
|
|
@ -411,7 +412,7 @@ defmodule PinchflatWeb.CoreComponents do
|
||||||
]}
|
]}
|
||||||
{@rest}
|
{@rest}
|
||||||
><%= Phoenix.HTML.Form.normalize_value("textarea", @value) %></textarea>
|
><%= Phoenix.HTML.Form.normalize_value("textarea", @value) %></textarea>
|
||||||
<.help :if={@help}><%= @help %></.help>
|
<.help :if={@help}><%= if @html_help, do: Phoenix.HTML.raw(@help), else: @help %></.help>
|
||||||
<.error :for={msg <- @errors}><%= msg %></.error>
|
<.error :for={msg <- @errors}><%= msg %></.error>
|
||||||
</div>
|
</div>
|
||||||
"""
|
"""
|
||||||
|
|
@ -438,7 +439,7 @@ defmodule PinchflatWeb.CoreComponents do
|
||||||
]}
|
]}
|
||||||
{@rest}
|
{@rest}
|
||||||
/>
|
/>
|
||||||
<.help :if={@help}><%= @help %></.help>
|
<.help :if={@help}><%= if @html_help, do: Phoenix.HTML.raw(@help), else: @help %></.help>
|
||||||
<.error :for={msg <- @errors}><%= msg %></.error>
|
<.error :for={msg <- @errors}><%= msg %></.error>
|
||||||
</div>
|
</div>
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ defmodule PinchflatWeb.Settings.SettingController do
|
||||||
setting = Settings.record()
|
setting = Settings.record()
|
||||||
|
|
||||||
case Settings.update_setting(setting, setting_params) do
|
case Settings.update_setting(setting, setting_params) do
|
||||||
{:ok, setting} ->
|
{:ok, _} ->
|
||||||
conn
|
conn
|
||||||
|> put_flash(:info, "Settings updated successfully.")
|
|> put_flash(:info, "Settings updated successfully.")
|
||||||
|> redirect(to: ~p"/settings")
|
|> redirect(to: ~p"/settings")
|
||||||
|
|
|
||||||
|
|
@ -10,4 +10,11 @@ defmodule PinchflatWeb.Settings.SettingHTML do
|
||||||
attr :action, :string, required: true
|
attr :action, :string, required: true
|
||||||
|
|
||||||
def setting_form(assigns)
|
def setting_form(assigns)
|
||||||
|
|
||||||
|
def apprise_server_help do
|
||||||
|
url = "https://github.com/caronc/apprise/wiki/URLBasics"
|
||||||
|
classes = "underline decoration-bodydark decoration-1 hover:decoration-white"
|
||||||
|
|
||||||
|
~s(Server endpoint for Apprise notifications when new media is found. See <a href="#{url}" class="#{classes}" target="_blank">Apprise docs</a> for more information)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,18 @@
|
||||||
</.error>
|
</.error>
|
||||||
|
|
||||||
<h3 class="mt-8 text-2xl text-black dark:text-white">
|
<h3 class="mt-8 text-2xl text-black dark:text-white">
|
||||||
TODO TEXT
|
Notification Settings
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<.input field={f[:pro_enabled]} type="toggle" label="Pro Enabled" help="Just for testing" />
|
<.input
|
||||||
|
field={f[:apprise_server]}
|
||||||
|
type="text"
|
||||||
|
label="Apprise Server"
|
||||||
|
help={apprise_server_help()}
|
||||||
|
html_help={true}
|
||||||
|
inputclass="font-mono text-sm"
|
||||||
|
placeholder="https://discordapp.com/api/webhooks/{WebhookID}/{WebhookToken}"
|
||||||
|
/>
|
||||||
|
|
||||||
<.button class="my-10 sm:mb-7.5 w-full sm:w-auto" rounding="rounded-lg">Save Settings</.button>
|
<.button class="my-10 sm:mb-7.5 w-full sm:w-auto" rounding="rounded-lg">Save Settings</.button>
|
||||||
</.simple_form>
|
</.simple_form>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
defmodule Pinchflat.Repo.Migrations.AddAppriseServersToSettings do
|
||||||
|
use Ecto.Migration
|
||||||
|
|
||||||
|
def change do
|
||||||
|
alter table(:settings) do
|
||||||
|
add :apprise_server, :string
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Loading…
Reference in a new issue