feat(godot): discovery & home UI with search, categories, sorting, pagination, and world entry
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/discovery_ui.gd" id="1_disc"]
|
||||
|
||||
[node name="DiscoveryUI" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_disc")
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 32.0
|
||||
offset_top = 24.0
|
||||
offset_right = -32.0
|
||||
offset_bottom = -24.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 12
|
||||
|
||||
[node name="Header" type="HBoxContainer" parent="VBox"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="BackButton" type="Button" parent="VBox/Header"]
|
||||
custom_minimum_size = Vector2(100, 36)
|
||||
layout_mode = 2
|
||||
text = "< Back"
|
||||
|
||||
[node name="TitleLabel" type="Label" parent="VBox/Header"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Discover Experiences"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="RefreshButton" type="Button" parent="VBox/Header"]
|
||||
custom_minimum_size = Vector2(100, 36)
|
||||
layout_mode = 2
|
||||
text = "Refresh"
|
||||
|
||||
[node name="StatusLabel" type="Label" parent="VBox"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(1, 0.3, 0.3, 1)
|
||||
text = ""
|
||||
|
||||
[node name="Filters" type="HBoxContainer" parent="VBox"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="SearchEdit" type="LineEdit" parent="VBox/Filters"]
|
||||
custom_minimum_size = Vector2(240, 36)
|
||||
layout_mode = 2
|
||||
placeholder_text = "Search by name or tag..."
|
||||
|
||||
[node name="CategoryOption" type="OptionButton" parent="VBox/Filters"]
|
||||
custom_minimum_size = Vector2(160, 36)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="SortOption" type="OptionButton" parent="VBox/Filters"]
|
||||
custom_minimum_size = Vector2(140, 36)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="FilterButton" type="Button" parent="VBox/Filters"]
|
||||
custom_minimum_size = Vector2(90, 36)
|
||||
layout_mode = 2
|
||||
text = "Filter"
|
||||
|
||||
[node name="Content" type="Control" parent="VBox"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="LoadingLabel" type="Label" parent="VBox/Content"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
offset_top = -12.0
|
||||
offset_bottom = 12.0
|
||||
text = "Loading experiences..."
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ErrorLabel" type="Label" parent="VBox/Content"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
offset_top = -12.0
|
||||
offset_bottom = 12.0
|
||||
theme_override_colors/font_color = Color(1, 0.4, 0.4, 1)
|
||||
text = ""
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="EmptyLabel" type="Label" parent="VBox/Content"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 14
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
offset_top = -12.0
|
||||
offset_bottom = 12.0
|
||||
theme_override_colors/font_color = Color(0.7, 0.7, 0.7, 1)
|
||||
text = "No experiences found."
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Scroll" type="ScrollContainer" parent="VBox/Content"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="WorldsVBox" type="VBoxContainer" parent="VBox/Content/Scroll"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="Pagination" type="HBoxContainer" parent="VBox"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
alignment = 1
|
||||
|
||||
[node name="PrevButton" type="Button" parent="VBox/Pagination"]
|
||||
custom_minimum_size = Vector2(90, 32)
|
||||
layout_mode = 2
|
||||
text = "< Prev"
|
||||
|
||||
[node name="PageLabel" type="Label" parent="VBox/Pagination"]
|
||||
layout_mode = 2
|
||||
text = "Page 1 of 1"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="NextButton" type="Button" parent="VBox/Pagination"]
|
||||
custom_minimum_size = Vector2(90, 32)
|
||||
layout_mode = 2
|
||||
text = "Next >"
|
||||
Reference in New Issue
Block a user