Updated links to work again

This commit is contained in:
Kieran Eglin 2024-03-10 14:11:32 -07:00
parent a32f4ea3f4
commit 2df9957d39
No known key found for this signature in database
GPG key ID: 193984967FCF432D
15 changed files with 58 additions and 42 deletions

View file

@ -75,6 +75,6 @@ defmodule Pinchflat.Sources.Source do
@doc false @doc false
def fast_index_frequency do def fast_index_frequency do
# minutes # minutes
15 2
end end
end end

View file

@ -620,15 +620,15 @@ defmodule PinchflatWeb.CoreComponents do
## Examples ## Examples
<.back navigate={~p"/posts"}>Back to posts</.back> <.back href={~p"/posts"}>Back to posts</.back>
""" """
attr :navigate, :any, required: true attr :href, :any, required: true
slot :inner_block, required: true slot :inner_block, required: true
def back(assigns) do def back(assigns) do
~H""" ~H"""
<div class="mt-16"> <div class="mt-16">
<.link navigate={@navigate} class="text-sm font-semibold leading-6 text-zinc-900 hover:text-zinc-700"> <.link href={@href} class="text-sm font-semibold leading-6 text-zinc-900 hover:text-zinc-700">
<.icon name="hero-arrow-left-solid" class="h-3 w-3" /> <.icon name="hero-arrow-left-solid" class="h-3 w-3" />
<%= render_slot(@inner_block) %> <%= render_slot(@inner_block) %>
</.link> </.link>

View file

@ -6,14 +6,16 @@ defmodule PinchflatWeb.Layouts do
attr :icon, :string, required: true attr :icon, :string, required: true
attr :text, :string, required: true attr :text, :string, required: true
attr :navigate, :any, required: true attr :href, :any, required: true
attr :target, :any, default: "_self"
def sidebar_item(assigns) do def sidebar_item(assigns) do
# I'm testing out grouping classes here. Tentative order: font, layout, color, animation, state-modifiers # I'm testing out grouping classes here. Tentative order: font, layout, color, animation, state-modifiers
~H""" ~H"""
<li> <li>
<.link <.link
navigate={@navigate} href={@href}
target={@target}
class={[ class={[
"font-medium text-bodydark1", "font-medium text-bodydark1",
"group relative flex items-center gap-2.5 rounded-sm px-4 py-2 duration-300 ease-in-out", "group relative flex items-center gap-2.5 rounded-sm px-4 py-2 duration-300 ease-in-out",

View file

@ -1,31 +1,45 @@
<aside <aside
x-bind:class="sidebarVisible ? 'translate-x-0' : '-translate-x-full'" x-bind:class="sidebarVisible ? 'translate-x-0' : '-translate-x-full'"
class={[ class={[
"-translate-x-full absolute left-0 top-0 z-9999 flex h-screen w-60 flex-col overflow-y-hidden", "-translate-x-full absolute left-0 top-0 z-9999 flex h-screen w-60 flex-col overflow-y-hidden justify-between",
"bg-black duration-300 ease-linear shadow-lg sm:shadow-none dark:bg-boxdark lg:static lg:translate-x-0" "bg-black duration-300 ease-linear shadow-lg sm:shadow-none dark:bg-boxdark lg:static lg:translate-x-0"
]} ]}
@click.outside="sidebarVisible = false" @click.outside="sidebarVisible = false"
> >
<div class="flex items-center justify-between gap-2 px-6 py-5.5 lg:py-6.5"> <section>
<a href="/" class="flex items-center"> <div class="flex items-center justify-between gap-2 px-6 py-5.5 lg:py-6.5">
<img src={~p"/images/logo.png?cachebust=2024-02-29"} alt="Pinchflat" class="w-9 h-9" /> <a href="/" class="flex items-center">
<h2 class="text-xl font-bold text-white pl-2">Pinchflat</h2> <img src={~p"/images/logo.png?cachebust=2024-02-29"} alt="Pinchflat" class="w-9 h-9" />
</a> <h2 class="text-xl font-bold text-white pl-2">Pinchflat</h2>
</a>
<button class="block lg:hidden" @click.stop="sidebarVisible = !sidebarVisible"> <button class="block lg:hidden" @click.stop="sidebarVisible = !sidebarVisible">
<.icon name="hero-arrow-left" class="fill-current" /> <.icon name="hero-arrow-left" class="fill-current" />
</button> </button>
</div> </div>
<div class="no-scrollbar flex flex-col overflow-y-auto duration-300 ease-linear"> <div class="no-scrollbar flex flex-col overflow-y-auto duration-300 ease-linear">
<nav class="mt-5 px-4 py-4 lg:mt-9 lg:px-6"> <nav class="mt-5 px-4 py-4 lg:mt-9 lg:px-6">
<div>
<h3 class="mb-4 ml-4 text-sm font-medium text-bodydark2">MENU</h3> <h3 class="mb-4 ml-4 text-sm font-medium text-bodydark2">MENU</h3>
<ul class="mb-6 flex flex-col gap-1.5"> <div class="flex flex-col justify-between">
<.sidebar_item icon="hero-home" text="Home" navigate={~p"/"} /> <ul class="mb-6 flex flex-col gap-1.5">
<.sidebar_item icon="hero-tv" text="Sources" navigate={~p"/sources"} /> <.sidebar_item icon="hero-home" text="Home" href={~p"/"} />
<.sidebar_item icon="hero-adjustments-vertical" text="Media Profiles" navigate={~p"/media_profiles"} /> <.sidebar_item icon="hero-tv" text="Sources" href={~p"/sources"} />
</ul> <.sidebar_item icon="hero-adjustments-vertical" text="Media Profiles" href={~p"/media_profiles"} />
</div> </ul>
</div>
</nav>
</div>
</section>
<section>
<nav class="mt-5 px-4 py-4 lg:mt-9 lg:px-6">
<ul class="mb-6 flex flex-col gap-1.5">
<.sidebar_item
icon="hero-code-bracket"
text="Github"
target="_blank"
href="https://github.com/kieraneglin/pinchflat"
/>
</ul>
</nav> </nav>
</div> </section>
</aside> </aside>

View file

@ -1,6 +1,6 @@
<div class="mb-6 flex gap-3 flex-row items-center justify-between"> <div class="mb-6 flex gap-3 flex-row items-center justify-between">
<div class="flex gap-3 items-center"> <div class="flex gap-3 items-center">
<.link navigate={~p"/sources/#{@media_item.source_id}"}> <.link href={~p"/sources/#{@media_item.source_id}"}>
<.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" /> <.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" />
</.link> </.link>
<h2 class="text-title-md2 font-bold text-black dark:text-white ml-4"> <h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">

View file

@ -1,5 +1,5 @@
<div class="mb-6 flex gap-3 flex-row items-center"> <div class="mb-6 flex gap-3 flex-row items-center">
<.link navigate={~p"/media_profiles"}> <.link href={~p"/media_profiles"}>
<.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" /> <.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" />
</.link> </.link>
<h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">Edit Media Profile</h2> <h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">Edit Media Profile</h2>

View file

@ -3,7 +3,7 @@
Media Profiles Media Profiles
</h2> </h2>
<nav> <nav>
<.link navigate={~p"/media_profiles/new"}> <.link href={~p"/media_profiles/new"}>
<.button color="bg-primary" rounding="rounded-full"> <.button color="bg-primary" rounding="rounded-full">
<span class="font-bold text-xl mx-2">+</span> New <span class="hidden sm:inline pl-1">Media Profile</span> <span class="font-bold text-xl mx-2">+</span> New <span class="hidden sm:inline pl-1">Media Profile</span>
</.button> </.button>

View file

@ -1,5 +1,5 @@
<div class="mb-6 flex gap-3 flex-row items-center"> <div class="mb-6 flex gap-3 flex-row items-center">
<.link :if={!Settings.get!(:onboarding)} navigate={~p"/media_profiles"}> <.link :if={!Settings.get!(:onboarding)} href={~p"/media_profiles"}>
<.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" /> <.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" />
</.link> </.link>
<h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">New Media Profile</h2> <h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">New Media Profile</h2>

View file

@ -1,6 +1,6 @@
<div class="mb-6 flex gap-3 flex-row items-center justify-between"> <div class="mb-6 flex gap-3 flex-row items-center justify-between">
<div class="flex items-center"> <div class="flex items-center">
<.link navigate={~p"/media_profiles"}> <.link href={~p"/media_profiles"}>
<.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" /> <.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" />
</.link> </.link>
<h2 class="text-title-md2 font-bold text-black dark:text-white ml-2"> <h2 class="text-title-md2 font-bold text-black dark:text-white ml-2">
@ -9,7 +9,7 @@
</div> </div>
<nav> <nav>
<.link navigate={~p"/media_profiles/#{@media_profile}/edit"}> <.link href={~p"/media_profiles/#{@media_profile}/edit"}>
<.button color="bg-primary" rounding="rounded-full"> <.button color="bg-primary" rounding="rounded-full">
<.icon name="hero-pencil-square" class="mr-2" />Edit <span class="hidden sm:inline pl-1">Media Profile</span> <.icon name="hero-pencil-square" class="mr-2" />Edit <span class="hidden sm:inline pl-1">Media Profile</span>
</.button> </.button>

View file

@ -10,7 +10,7 @@
<p class="text-md text-bodydark">Media Profiles set your preferences for fetching and downloading media.</p> <p class="text-md text-bodydark">Media Profiles set your preferences for fetching and downloading media.</p>
<p class="text-md text-bodydark">Don't worry, you can create more Media Profiles later!</p> <p class="text-md text-bodydark">Don't worry, you can create more Media Profiles later!</p>
<div class="mt-8"> <div class="mt-8">
<.link navigate={~p"/media_profiles/new"}> <.link href={~p"/media_profiles/new"}>
<.button color="bg-primary" rounding="rounded-full" disabled={@media_profiles_exist}> <.button color="bg-primary" rounding="rounded-full" disabled={@media_profiles_exist}>
<span class="font-bold mx-2">+</span> New Media Profile <span class="font-bold mx-2">+</span> New Media Profile
</.button> </.button>
@ -24,7 +24,7 @@
Each Media Profile can control many Sources so it's easy to add more content! Each Media Profile can control many Sources so it's easy to add more content!
</p> </p>
<div class="mt-8"> <div class="mt-8">
<.link navigate={~p"/sources/new"}> <.link href={~p"/sources/new"}>
<.button color="bg-primary" rounding="rounded-full" disabled={not @media_profiles_exist}> <.button color="bg-primary" rounding="rounded-full" disabled={not @media_profiles_exist}>
<span class="font-bold mx-2">+</span> New Source <span class="font-bold mx-2">+</span> New Source
</.button> </.button>
@ -39,7 +39,7 @@
</p> </p>
<p class="text-md text-bodydark">Feel free to add more Media Profiles or Sources in the meantime!</p> <p class="text-md text-bodydark">Feel free to add more Media Profiles or Sources in the meantime!</p>
<div class="mt-8"> <div class="mt-8">
<.link navigate={~p"/"}> <.link href={~p"/"}>
<.button color="bg-primary" rounding="rounded-full" disabled={not @sources_exist}> <.button color="bg-primary" rounding="rounded-full" disabled={not @sources_exist}>
Let's Go <span class="font-bold mx-2">🚀</span> Let's Go <span class="font-bold mx-2">🚀</span>
</.button> </.button>

View file

@ -17,7 +17,7 @@
</:col> </:col>
<:col :let={result} label="" class="flex place-content-evenly"> <:col :let={result} label="" class="flex place-content-evenly">
<.link <.link
navigate={~p"/sources/#{result.source_id}/media/#{result.id}"} href={~p"/sources/#{result.source_id}/media/#{result.id}"}
class="hover:text-secondary duration-200 ease-in-out mx-0.5" class="hover:text-secondary duration-200 ease-in-out mx-0.5"
> >
<.icon name="hero-eye" /> <.icon name="hero-eye" />

View file

@ -1,5 +1,5 @@
<div class="mb-6 flex gap-3 flex-row items-center"> <div class="mb-6 flex gap-3 flex-row items-center">
<.link navigate={~p"/sources"}> <.link href={~p"/sources"}>
<.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" /> <.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" />
</.link> </.link>
<h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">Edit Source</h2> <h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">Edit Source</h2>

View file

@ -1,7 +1,7 @@
<div class="mb-6 flex gap-3 flex-row items-center justify-between"> <div class="mb-6 flex gap-3 flex-row items-center justify-between">
<h2 class="text-title-md2 font-bold text-black dark:text-white">Sources</h2> <h2 class="text-title-md2 font-bold text-black dark:text-white">Sources</h2>
<nav> <nav>
<.link navigate={~p"/sources/new"}> <.link href={~p"/sources/new"}>
<.button color="bg-primary" rounding="rounded-full"> <.button color="bg-primary" rounding="rounded-full">
<span class="font-bold mx-2">+</span> New <span class="hidden sm:inline pl-1">Source</span> <span class="font-bold mx-2">+</span> New <span class="hidden sm:inline pl-1">Source</span>
</.button> </.button>
@ -22,7 +22,7 @@
</:col> </:col>
<:col :let={source} label="Media Profile"> <:col :let={source} label="Media Profile">
<.link <.link
navigate={~p"/media_profiles/#{source.media_profile_id}"} href={~p"/media_profiles/#{source.media_profile_id}"}
class="hover:text-secondary duration-200 ease-in-out" class="hover:text-secondary duration-200 ease-in-out"
> >
<%= source.media_profile.name %> <%= source.media_profile.name %>

View file

@ -1,5 +1,5 @@
<div class="mb-6 flex gap-3 flex-row items-center"> <div class="mb-6 flex gap-3 flex-row items-center">
<.link :if={!Settings.get!(:onboarding)} navigate={~p"/sources"}> <.link :if={!Settings.get!(:onboarding)} href={~p"/sources"}>
<.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" /> <.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" />
</.link> </.link>
<h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">New Source</h2> <h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">New Source</h2>

View file

@ -1,6 +1,6 @@
<div class="mb-6 flex gap-3 flex-row items-center justify-between"> <div class="mb-6 flex gap-3 flex-row items-center justify-between">
<div class="flex gap-3 items-center"> <div class="flex gap-3 items-center">
<.link navigate={~p"/sources"}> <.link href={~p"/sources"}>
<.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" /> <.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" />
</.link> </.link>
<h2 class="text-title-md2 font-bold text-black dark:text-white ml-4"> <h2 class="text-title-md2 font-bold text-black dark:text-white ml-4">
@ -9,7 +9,7 @@
</div> </div>
<nav> <nav>
<.link navigate={~p"/sources/#{@source}/edit"}> <.link href={~p"/sources/#{@source}/edit"}>
<.button color="bg-primary" rounding="rounded-full"> <.button color="bg-primary" rounding="rounded-full">
<.icon name="hero-pencil-square" class="mr-2" /> Edit <span class="hidden sm:inline pl-1">Source</span> <.icon name="hero-pencil-square" class="mr-2" /> Edit <span class="hidden sm:inline pl-1">Source</span>
</.button> </.button>