Added background image for whole Interface, made user avatar rounded, redid news layout, misc. tweaks for better contrast with background image

This commit is contained in:
2024-02-27 22:17:17 -06:00
parent 6281dae1a5
commit c2528f7e12
9 changed files with 64 additions and 89 deletions

View File

@@ -31,7 +31,7 @@ class W3DHub
def populate_games_list
@games_list_container.clear do
background 0xff_121920
background 0xaa_121920
stack(width: 128, height: 1.0) do
flow(fill: true)
@@ -86,9 +86,12 @@ class W3DHub
Store.settings[:last_selected_channel] = channel.id
@game_page_container.clear do
background game.color
@game_page_container.style.background_image_color = game.color
@game_page_container.style.default[:background_image_color] = game.color
game_color = Gosu::Color.new(game.color)
game_color.alpha = 0x88
background game_color
@game_page_container.style.background_image_color = game_color
@game_page_container.style.default[:background_image_color] = game_color
@game_page_container.update_background_image
# Game Stuff
@@ -413,52 +416,29 @@ class W3DHub
feed.items.sort_by { |i| i.timestamp }.reverse[0..9].each do |item|
image_path = Cache.path(item.image)
news_blurb_container = nil
news_title_container = nil
news_container = stack(width: 300, height: 300, margin: 8, background_image: image_path, border_thickness: 1, border_color: lighten(Gosu::Color.new(game.color))) do
flow(width: 1.0, max_width: 869, height: 200, margin: 8, border_thickness: 1, border_color: lighten(Gosu::Color.new(game.color))) do
background 0x88_000000
# Detailed view
news_blurb_container = stack(width: 1.0, height: 1.0, background: 0xaa_000000, padding: 4) do
image image_path, height: 1.0
stack(fill: true, height: 1.0, background: 0x44_000000, padding: 4, border_thickness_left: 1, border_color_left: lighten(Gosu::Color.new(game.color))) do
tagline "<b>#{item.title}</b>", width: 1.0
inscription "#{item.author}#{item.timestamp.strftime("%Y-%m-%d")}"
inscription item.blurb.gsub(/\n+/, "\n").strip[0..1024], fill: true
button I18n.t(:"games.read_more"), width: 1.0, margin_top: 8, margin_bottom: 0, padding_top: 4, padding_bottom: 4 do
W3DHub.url(item.uri)
end
end
# Just title
news_title_container = stack(width: 1.0, height: 1.0) do
flow(fill: true)
tagline "<b>#{item.title}</b>", width: 1.0, background: 0xaa_000000, padding: 4
end
end
flow(width: 1.0, height: 32, margin_top: 8) do
stack(fill: true, height: 1.0) do
flow(fill: true)
inscription "#{item.author}#{item.timestamp.strftime("%Y-%m-%d")}"
flow(fill: true)
end
news_blurb_container.hide
def news_container.hit_element?(x, y)
return unless hit?(x, y)
if @children.first.visible? && (btn = @children.first.children.find { |child| child.visible? && child.is_a?(CyberarmEngine::Element::Button) && child.hit?(x, y) })
btn
else
self
end
end
news_container.subscribe(:enter) do
news_title_container.hide
news_blurb_container.show
end
news_container.subscribe(:leave) do
unless news_container.hit?(window.mouse_x, window.mouse_y)
news_title_container.show
news_blurb_container.hide
button I18n.t(:"games.read_more"), width: 1.0, max_width: 128, padding_top: 4, padding_bottom: 4 do
W3DHub.url(item.uri)
end
end
end
end
end