Updated Community news to use new format, updated Game page redesign to use 300x300 instead of 346x346 so that the image is integer scaled by 2x

This commit is contained in:
2022-05-03 11:34:34 -05:00
parent ef477cfdd5
commit c735ffc5f4
2 changed files with 73 additions and 21 deletions

View File

@@ -97,32 +97,84 @@ class W3DHub
if (feed = @w3dhub_news) if (feed = @w3dhub_news)
@wd3hub_news_container.clear do @wd3hub_news_container.clear do
# feed.items.sort_by { |i| i.timestamp }.reverse[0..9].each do |item|
# flow(width: 0.5, max_width: 312, height: 128, margin: 4) do
# # background 0x88_000000
# path = Cache.path(item.image)
# if File.exist?(path)
# image path, height: 1.0, padding: 4
# else
# image BLACK_IMAGE, height: 1.0, padding: 4
# end
# stack(width: 0.6, height: 1.0) do
# stack(width: 1.0, height: 112) do
# link "<b>#{item.title}</b>", text_size: 18 do
# Launchy.open(item.uri)
# end
# inscription item.blurb.gsub(/\n+/, "\n").strip[0..180]
# end
# flow(width: 1.0) do
# inscription item.timestamp.strftime("%Y-%m-%d"), width: 0.499
# link I18n.t(:"games.read_more"), width: 0.5, text_align: :right, text_size: 14 do
# Launchy.open(item.uri)
# end
# end
# end
# end
# end
feed.items.sort_by { |i| i.timestamp }.reverse[0..9].each do |item| feed.items.sort_by { |i| i.timestamp }.reverse[0..9].each do |item|
flow(width: 0.5, max_width: 312, height: 128, margin: 4) do image_path = Cache.path(item.image)
# background 0x88_000000 news_blurb_container = nil
news_title_container = nil
path = Cache.path(item.image) news_container = stack(width: 300, height: 300, margin: 8, background_image: image_path, border_thickness: 1, border_color: lighten(Gosu::Color.new(0xff_252525))) do
background 0x88_000000
if File.exist?(path) # Detailed view
image path, height: 1.0, padding: 4 news_blurb_container = stack(width: 1.0, height: 1.0, background: 0xaa_000000, padding: 4) do
else tagline "<b>#{item.title}</b>", width: 1.0
image BLACK_IMAGE, height: 1.0, padding: 4 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
Launchy.open(item.uri)
end
end end
stack(width: 0.6, height: 1.0) do # Just title
stack(width: 1.0, height: 112) do news_title_container = stack(width: 1.0, height: 1.0) do
link "<b>#{item.title}</b>", text_size: 18 do flow(fill: true)
Launchy.open(item.uri)
end
inscription item.blurb.gsub(/\n+/, "\n").strip[0..180]
end
flow(width: 1.0) do tagline "<b>#{item.title}</b>", width: 1.0, background: 0xaa_000000, padding: 4
inscription item.timestamp.strftime("%Y-%m-%d"), width: 0.499 end
link I18n.t(:"games.read_more"), width: 0.5, text_align: :right, text_size: 14 do end
Launchy.open(item.uri)
end news_blurb_container.hide
end
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
end end
end end
end end

View File

@@ -287,7 +287,7 @@ class W3DHub
news_blurb_container = nil news_blurb_container = nil
news_title_container = nil news_title_container = nil
news_container = stack(width: 346, height: 346, margin: 8, background_image: image_path, border_thickness: 1, border_color: lighten(Gosu::Color.new(game.color))) do 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
background 0x88_000000 background 0x88_000000
# Detailed view # Detailed view