Skip to content

Commit

Permalink
defaults images
Browse files Browse the repository at this point in the history
  • Loading branch information
michelson committed Jun 18, 2022
1 parent bdd10f7 commit bebe837
Show file tree
Hide file tree
Showing 14 changed files with 107 additions and 67 deletions.
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,16 @@ Daniel Schludi
@schluditsch

https://unsplash.com/photos/mbGxz7pt0jM

Photo by <a href="https://unsplash.com/@helloimnik?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Hello I'm Nik</a> on <a href="https://unsplash.com/s/photos/music-studio?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>


Photo by <a href="https://unsplash.com/@etiennegirardet?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Etienne Girardet</a> on <a href="https://unsplash.com/s/photos/music-studio?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>


Photo by <a href="https://unsplash.com/@schluditsch?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Daniel Schludi</a> on <a href="https://unsplash.com/s/photos/music-studio?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

Photo by <a href="https://unsplash.com/@dancristianpaduret?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Dan-Cristian Pădureț</a> on <a href="https://unsplash.com/s/photos/music-studio?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

Photo by <a href="https://unsplash.com/@grittzheng?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Gritt Zheng</a> on <a href="https://unsplash.com/s/photos/music-studio?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

8 changes: 6 additions & 2 deletions lib/rauversion/accounts.ex
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,14 @@ defmodule Rauversion.Accounts do
# a = Rauversion.Accounts.get_user_by_username("michelson") |> Rauversion.Repo.preload(:avatar_blob)
case user do
nil ->
nil
Rauversion.BlobUtils.fallback_image(
"/images/dan-cristian-padure-XKCH37dHt7w-unsplash.jpg"
)

%{avatar_blob: nil} ->
nil
Rauversion.BlobUtils.fallback_image(
"/images/dan-cristian-padure-XKCH37dHt7w-unsplash.jpg"
)

%{avatar_blob: %ActiveStorage.Blob{} = avatar_blob} ->
avatar_blob |> ActiveStorage.url()
Expand Down
72 changes: 72 additions & 0 deletions lib/rauversion/blob_utils.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
defmodule Rauversion.BlobUtils do
def fallback_image(url \\ nil) do
RauversionWeb.Router.Helpers.static_path(
RauversionWeb.Endpoint,
url || "/images/daniel-schludi-mbGxz7pt0jM-unsplash.jpg"
)
end

def blob_url(user, kind) do
kind_blob = :"#{kind}_blob"

case user do
nil ->
Rauversion.BlobUtils.fallback_image()

%{^kind_blob => nil} ->
Rauversion.BlobUtils.fallback_image()

%{^kind_blob => %ActiveStorage.Blob{} = blob} ->
blob |> ActiveStorage.url()

%{^kind_blob => %Ecto.Association.NotLoaded{}} ->
user = user |> Rauversion.Repo.preload(kind_blob)

apply(__MODULE__, :blob_url, [user, kind])
end
end

def blob_for(track, kind) do
kind_blob = :"#{kind}_blob"

# a = Rauversion.Accounts.get_user_by_username("michelson") |> Rauversion.Repo.preload(:avatar_blob)
case track do
nil ->
nil

%{^kind_blob => nil} ->
nil

%{^kind_blob => %ActiveStorage.Blob{} = blob} ->
blob

%{^kind_blob => %Ecto.Association.NotLoaded{}} ->
track = track |> Rauversion.Repo.preload(kind_blob)
apply(__MODULE__, :blob_for, [track, kind])
end
end

def variant_url(track, kind, options \\ %{resize_to_limit: "100x100"}) do
case blob_for(track, kind) do
nil ->
# default url here?
RauversionWeb.Router.Helpers.static_path(
RauversionWeb.Endpoint,
"/images/daniel-schludi-mbGxz7pt0jM-unsplash.jpg"
)

blob ->
variant =
ActiveStorage.Blob.Representable.variant(blob, options)
|> ActiveStorage.Variant.processed()

ActiveStorage.storage_redirect_url(variant, options)
# |> ActiveStorage.Variant.url()
end
end

def blob_url_for(track, kind) do
blob = blob_for(track, kind)
ActiveStorage.service_blob_url(blob)
end
end
61 changes: 4 additions & 57 deletions lib/rauversion/tracks.ex
Original file line number Diff line number Diff line change
Expand Up @@ -112,64 +112,11 @@ defmodule Rauversion.Tracks do
Track.changeset(track, attrs)
end

def blob_url(user, kind) do
kind_blob = :"#{kind}_blob"
defdelegate blob_url(user, kind), to: Rauversion.BlobUtils

case user do
nil ->
nil
defdelegate blob_for(track, kind), to: Rauversion.BlobUtils

%{^kind_blob => nil} ->
nil
defdelegate variant_url(track, kind, options), to: Rauversion.BlobUtils

%{^kind_blob => %ActiveStorage.Blob{} = blob} ->
blob |> ActiveStorage.url()

%{^kind_blob => %Ecto.Association.NotLoaded{}} ->
user = user |> Rauversion.Repo.preload(kind_blob)

apply(__MODULE__, :blob_url, [user, kind])
end
end

def blob_for(track, kind) do
kind_blob = :"#{kind}_blob"

# a = Rauversion.Accounts.get_user_by_username("michelson") |> Rauversion.Repo.preload(:avatar_blob)
case track do
nil ->
nil

%{^kind_blob => nil} ->
nil

%{^kind_blob => %ActiveStorage.Blob{} = blob} ->
blob

%{^kind_blob => %Ecto.Association.NotLoaded{}} ->
track = track |> Rauversion.Repo.preload(kind_blob)
apply(__MODULE__, :blob_for, [track, kind])
end
end

def variant_url(track, kind, options \\ %{resize_to_limit: "100x100"}) do
case blob_for(track, kind) do
nil ->
# default url here?
nil

blob ->
variant =
ActiveStorage.Blob.Representable.variant(blob, options)
|> ActiveStorage.Variant.processed()

ActiveStorage.storage_redirect_url(variant, options)
# |> ActiveStorage.Variant.url()
end
end

def blob_url_for(track, kind) do
blob = blob_for(track, kind)
ActiveStorage.service_blob_url(blob)
end
defdelegate blob_url_for(track, kind), to: Rauversion.BlobUtils
end
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ defmodule RauversionWeb.ProfileLive.HeadingComponent do
<div class="flex">
<div class="m-4">
<%= img_tag(Rauversion.Accounts.avatar_url(@profile), class: "h-2/5 rounded-full") %>
<%= img_tag(Rauversion.Accounts.avatar_url(@profile),
class: "w-48 h-48 rounded-full") %>
</div>
<div class="text-white mt-6">
<p class="text-2xl sm:text-3xl font-extrabold">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@ defmodule RauversionWeb.ProfileLive.UserSuggestionComponent do
<%= for item <- Rauversion.Accounts.list_accounts(5) do %>
<li class="flex items-center py-4 space-x-3">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://images.unsplash.com/photo-1519345182560-3f2917c472ef?ixlib=rb-1.2.1&amp;ixid=eyJhcHBfaWQiOjEyMDd9&amp;auto=format&amp;fit=facearea&amp;facepad=2&amp;w=256&amp;h=256&amp;q=80" alt="">
<%= img_tag(
Rauversion.Accounts.avatar_url(item),
class: "h-8 w-8 rounded-full") %>
</div>
<div class="min-w-0 flex-1">
<p class="text-sm font-medium text-gray-900">
Expand Down
11 changes: 5 additions & 6 deletions lib/rauversion_web/live/track_live/show.html.heex
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,9 @@
<%= live_redirect @track.title, to: Routes.track_show_path(@socket, :show, @track) %>
</h4>
<%= if @track.user do %>
<h5 class="text-sm font-"><%= @track.user.username %></h5>
<h5 class="text-sm font-">
<%= link @track.user.username, to: Routes.profile_index_path(@socket, :index, @track.user.username) %>
</h5>
<% end %>
</div>
</div>
Expand All @@ -76,9 +78,6 @@
<div class="group relative aspect-w-1 aspect-h-1 rounded-md bg-gray-100 overflow-hidden">
<% #= image_tag url_for(@track.cover.variant(resize_to_fit: [300, 300])), class: "object-center object-cover group-hover:opacity-75" %>




<%= img_tag(Rauversion.Tracks.blob_url_for(@track, "cover"),
class: "object-center object-cover group-hover:opacity-75")
%>
Expand Down Expand Up @@ -113,7 +112,7 @@
<div class="sm:hidden 2xl:block mt-6 min-w-0 flex-1">
<h1 class="text-2xl font-bold text-gray-900 truncate">
<%= if @track.user do %>
<%= @track.user.username %>
<%= link @track.user.username, to: Routes.profile_index_path(@socket, :index, @track.user.username) %>
<% end %>
</h1>
</div>
Expand Down Expand Up @@ -149,7 +148,7 @@
<h1 class="text-2xl font-bold text-gray-900 truncate">
<% #= @track&.user&.username %>
<%= if @track.user do %>
<%= @track.user.username %>
<%= link @track.user.username, to: Routes.profile_index_path(@socket, :index, @track.user.username) %>
<% end %>
</h1>
</div>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file removed priv/static/images/musician-making-music.jpg
Binary file not shown.

0 comments on commit bebe837

Please sign in to comment.