Mail support
Deploy Promiscuity Auth API / deploy (push) Successful in 48s
Deploy Promiscuity Character API / deploy (push) Successful in 59s
Deploy Promiscuity Inventory API / deploy (push) Successful in 46s
Deploy Promiscuity Locations API / deploy (push) Successful in 1m0s
Deploy Promiscuity Mail API / deploy (push) Successful in 1m9s
k8s smoke test / test (push) Successful in 9s

This commit is contained in:
2026-03-23 20:18:23 -05:00
parent aa99788268
commit a8db66b93e
23 changed files with 1116 additions and 21 deletions
+141
View File
@@ -234,6 +234,142 @@ text = "CLOSE"
layout_mode = 2
text = ""
[node name="MailMenu" type="CanvasLayer" parent="."]
visible = false
layer = 2
[node name="Overlay" type="ColorRect" parent="MailMenu"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0, 0, 0, 0.4)
[node name="MarginContainer" type="MarginContainer" parent="MailMenu"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 48
theme_override_constants/margin_top = 48
theme_override_constants/margin_right = 48
theme_override_constants/margin_bottom = 48
[node name="Panel" type="PanelContainer" parent="MailMenu/MarginContainer"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="MailMenu/MarginContainer/Panel"]
layout_mode = 2
theme_override_constants/separation = 10
[node name="TitleLabel" type="Label" parent="MailMenu/MarginContainer/Panel/VBoxContainer"]
layout_mode = 2
text = "Mailbox"
horizontal_alignment = 1
[node name="MailboxLocationLabel" type="Label" parent="MailMenu/MarginContainer/Panel/VBoxContainer"]
layout_mode = 2
text = "Mailbox"
horizontal_alignment = 1
[node name="Columns" type="HBoxContainer" parent="MailMenu/MarginContainer/Panel/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 12
[node name="InboxPanel" type="PanelContainer" parent="MailMenu/MarginContainer/Panel/VBoxContainer/Columns"]
layout_mode = 2
size_flags_horizontal = 2
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="MailMenu/MarginContainer/Panel/VBoxContainer/Columns/InboxPanel"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="InboxLabel" type="Label" parent="MailMenu/MarginContainer/Panel/VBoxContainer/Columns/InboxPanel/VBoxContainer"]
layout_mode = 2
text = "Inbox"
horizontal_alignment = 1
[node name="InboxItems" type="ItemList" parent="MailMenu/MarginContainer/Panel/VBoxContainer/Columns/InboxPanel/VBoxContainer"]
custom_minimum_size = Vector2(0, 220)
layout_mode = 2
size_flags_vertical = 3
[node name="SentPanel" type="PanelContainer" parent="MailMenu/MarginContainer/Panel/VBoxContainer/Columns"]
layout_mode = 2
size_flags_horizontal = 2
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="MailMenu/MarginContainer/Panel/VBoxContainer/Columns/SentPanel"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="SentLabel" type="Label" parent="MailMenu/MarginContainer/Panel/VBoxContainer/Columns/SentPanel/VBoxContainer"]
layout_mode = 2
text = "Sent"
horizontal_alignment = 1
[node name="SentItems" type="ItemList" parent="MailMenu/MarginContainer/Panel/VBoxContainer/Columns/SentPanel/VBoxContainer"]
custom_minimum_size = Vector2(0, 220)
layout_mode = 2
size_flags_vertical = 3
[node name="DetailsComposePanel" type="PanelContainer" parent="MailMenu/MarginContainer/Panel/VBoxContainer"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="SelectedMailLabel" type="Label" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer"]
layout_mode = 2
text = "Selected Mail"
[node name="SelectedMailBody" type="TextEdit" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer"]
custom_minimum_size = Vector2(0, 120)
layout_mode = 2
editable = false
[node name="RecipientLineEdit" type="LineEdit" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer"]
layout_mode = 2
placeholder_text = "Recipient character name"
[node name="SubjectLineEdit" type="LineEdit" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer"]
layout_mode = 2
placeholder_text = "Subject"
[node name="ComposeBody" type="TextEdit" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer"]
custom_minimum_size = Vector2(0, 120)
layout_mode = 2
placeholder_text = "Write your mail here"
[node name="ActionRow" type="HBoxContainer" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="RefreshButton" type="Button" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer/ActionRow"]
layout_mode = 2
theme = ExtResource("4_button_theme")
text = "REFRESH"
[node name="SendButton" type="Button" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer/ActionRow"]
layout_mode = 2
theme = ExtResource("4_button_theme")
text = "SEND"
[node name="CloseButton" type="Button" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer/ActionRow"]
layout_mode = 2
theme = ExtResource("4_button_theme")
text = "CLOSE"
[node name="StatusLabel" type="Label" parent="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer"]
layout_mode = 2
text = ""
[connection signal="pressed" from="PauseMenu/CenterContainer/Panel/VBoxContainer/ContinueButton" to="." method="_on_pause_continue_pressed"]
[connection signal="pressed" from="PauseMenu/CenterContainer/Panel/VBoxContainer/SettingsButton" to="." method="_on_pause_settings_pressed"]
[connection signal="pressed" from="PauseMenu/CenterContainer/Panel/VBoxContainer/MainMenuButton" to="." method="_on_pause_main_menu_pressed"]
@@ -244,3 +380,8 @@ text = ""
[connection signal="pressed" from="InventoryMenu/MarginContainer/Panel/VBoxContainer/ControlsPanel/VBoxContainer/ActionRow/PickupButton" to="." method="_on_inventory_pickup_pressed"]
[connection signal="pressed" from="InventoryMenu/MarginContainer/Panel/VBoxContainer/ControlsPanel/VBoxContainer/ActionRow/RefreshButton" to="." method="_on_inventory_refresh_pressed"]
[connection signal="pressed" from="InventoryMenu/MarginContainer/Panel/VBoxContainer/ControlsPanel/VBoxContainer/ActionRow/CloseButton" to="." method="_on_inventory_close_pressed"]
[connection signal="item_selected" from="MailMenu/MarginContainer/Panel/VBoxContainer/Columns/InboxPanel/VBoxContainer/InboxItems" to="." method="_on_mail_inbox_selected"]
[connection signal="item_selected" from="MailMenu/MarginContainer/Panel/VBoxContainer/Columns/SentPanel/VBoxContainer/SentItems" to="." method="_on_mail_sent_selected"]
[connection signal="pressed" from="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer/ActionRow/RefreshButton" to="." method="_on_mail_refresh_pressed"]
[connection signal="pressed" from="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer/ActionRow/SendButton" to="." method="_on_mail_send_pressed"]
[connection signal="pressed" from="MailMenu/MarginContainer/Panel/VBoxContainer/DetailsComposePanel/VBoxContainer/ActionRow/CloseButton" to="." method="_on_mail_close_pressed"]