mirror of
https://github.com/System-End/theseus.git
synced 2026-04-19 18:45:15 +00:00
Add Blueprint template
This commit is contained in:
parent
53c66c2dee
commit
c91b963ae9
5 changed files with 83 additions and 0 deletions
BIN
app/lib/snail_mail/assets/images/blueprint/bg.png
Normal file
BIN
app/lib/snail_mail/assets/images/blueprint/bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
BIN
app/lib/snail_mail/assets/images/blueprint/gears.png
Normal file
BIN
app/lib/snail_mail/assets/images/blueprint/gears.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 76 KiB |
BIN
app/lib/snail_mail/assets/images/blueprint/logo-tilted.png
Normal file
BIN
app/lib/snail_mail/assets/images/blueprint/logo-tilted.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 847 KiB |
BIN
app/lib/snail_mail/assets/images/blueprint/panda.png
Normal file
BIN
app/lib/snail_mail/assets/images/blueprint/panda.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 274 KiB |
|
|
@ -0,0 +1,83 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module SnailMail
|
||||
module Components
|
||||
module Templates
|
||||
class BlueprintTemplate < TemplateBase
|
||||
def self.template_name = "Blueprint"
|
||||
|
||||
def self.show_on_single? = true
|
||||
|
||||
def view_template
|
||||
image(
|
||||
image_path("blueprint/bg.png"),
|
||||
at: [ -15, 305 ],
|
||||
width: 465,
|
||||
)
|
||||
|
||||
image(
|
||||
image_path("blueprint/panda.png"),
|
||||
at: [ 10, 125 ],
|
||||
width: 110,
|
||||
)
|
||||
|
||||
self.line_width = 2
|
||||
stroke { rectangle([ 108, 210 ], 306, 122) }
|
||||
|
||||
image(
|
||||
image_path("blueprint/logo-tilted.png"),
|
||||
at: [ -10, 255 ],
|
||||
width: 150,
|
||||
)
|
||||
|
||||
image(
|
||||
image_path("blueprint/gears.png"),
|
||||
at: [ 142, 258 ],
|
||||
width: 70,
|
||||
)
|
||||
|
||||
# Render return address
|
||||
render_return_address(10, 278, 260, 70, size: 10, font: "f25")
|
||||
|
||||
if letter.rubber_stamps.present?
|
||||
font("f25") do
|
||||
text_box(
|
||||
letter.rubber_stamps,
|
||||
at: [ 140, 70 ],
|
||||
width: 150,
|
||||
height: 51,
|
||||
overflow: :shrink_to_fit,
|
||||
disable_wrap_by_char: false,
|
||||
min_size: 0.5,
|
||||
valign: :top
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
# Render destination address in speech bubble
|
||||
render_destination_address(
|
||||
128,
|
||||
195,
|
||||
266,
|
||||
71,
|
||||
size: 16, valign: :center, align: :left,
|
||||
)
|
||||
|
||||
# Render IMb barcode
|
||||
render_imb(128, 118, 266)
|
||||
|
||||
# Custom QR code
|
||||
if options[:include_qr_code]
|
||||
SnailMail::QRCodeGenerator.generate_qr_code(self, "https://hack.club/#{letter.public_id}", 360, 73, 60)
|
||||
font("f25") do
|
||||
text_box("scan this so we know you got it!", at: [ 360 - 60, 73 - 36 ], width: 54, size: 6.4, align: :right)
|
||||
end
|
||||
end
|
||||
|
||||
render_letter_id(340, 25, 10)
|
||||
render_postage
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Reference in a new issue