Updated links to work again
This commit is contained in:
parent
a32f4ea3f4
commit
2df9957d39
15 changed files with 58 additions and 42 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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",
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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" />
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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 %>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue