* Made method to getting singular media details; Renamed other related method * Takes a fun and flirty digression to remove abstractions around yt-dlp since I'm 100% committed to using it exclusively * Removed commented test code * Lays the groundwork for fast indexing * Added module for working with youtube RSS feed * Added methods to kick off indexing workers from RSS response * Improve short detection (#59) * Made media attribute-related yt-dlp calls return a struct * Added shorts attribute to media items * Added ability to discern a short from yt-dlp response * Updated search to use new shorts attribute * Fast index UI (#63) * Added fast_index field and adds it to source form * Added fast indexing to source changeset operations * Added fast indexing worker and updated other modules to start using it * Handled fast index worker on source update * Add support modals (#65) * Added fast indexing upgrade modal * Improved modal on smaller screens * Updated links to work again * Added donation modal * Reverted source fast index to 15 minutes * Removed unneeded HTML attributes from old alpine approach
31 lines
853 B
Elixir
31 lines
853 B
Elixir
defmodule PinchflatWeb.Layouts do
|
|
use PinchflatWeb, :html
|
|
|
|
embed_templates "layouts/*"
|
|
embed_templates "layouts/partials/*"
|
|
|
|
attr :icon, :string, required: true
|
|
attr :text, :string, required: true
|
|
attr :href, :any, required: true
|
|
attr :target, :any, default: "_self"
|
|
|
|
def sidebar_item(assigns) do
|
|
# I'm testing out grouping classes here. Tentative order: font, layout, color, animation, state-modifiers
|
|
~H"""
|
|
<li>
|
|
<.link
|
|
href={@href}
|
|
target={@target}
|
|
class={[
|
|
"font-medium text-bodydark1",
|
|
"group relative flex items-center gap-2.5 rounded-sm px-4 py-2 duration-300 ease-in-out",
|
|
"duration-300 ease-in-out",
|
|
"hover:bg-graydark dark:hover:bg-meta-4"
|
|
]}
|
|
>
|
|
<.icon name={@icon} /> <%= @text %>
|
|
</.link>
|
|
</li>
|
|
"""
|
|
end
|
|
end
|