mirror of
https://github.com/thegatesbrowser/thegates.git
synced 2025-08-23 08:17:34 -04:00
support is_special in featured gates
This commit is contained in:
parent
dc75df3d60
commit
ca10a8482d
7 changed files with 18 additions and 11 deletions
|
@ -11,8 +11,8 @@ func _ready() -> void:
|
|||
bookmarks.on_unstar.connect(send_unbookmark)
|
||||
|
||||
|
||||
func send_bookmark(gate: Gate, featured: bool) -> void:
|
||||
if featured: return
|
||||
func send_bookmark(gate: Gate) -> void:
|
||||
if gate.featured: return
|
||||
analytics.send_event(AnalyticsEvents.bookmark(gate.url))
|
||||
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ const KEY_URL = "url"
|
|||
const KEY_TITLE = "title"
|
||||
const KEY_DESCRIPTION = "description"
|
||||
const KEY_ICON = "icon"
|
||||
const KEY_IS_SPECIAL = "is_special"
|
||||
|
||||
@export var api: ApiSettings
|
||||
@export var bookmarks: Bookmarks
|
||||
|
@ -44,7 +45,9 @@ func featured_gates_request() -> void:
|
|||
|
||||
func star_gate(gate_d: Dictionary) -> void:
|
||||
var gate = Gate.create(gate_d[KEY_URL], gate_d[KEY_TITLE], gate_d[KEY_DESCRIPTION], gate_d[KEY_ICON], "")
|
||||
bookmarks.star(gate, true)
|
||||
gate.is_special = gate_d[KEY_IS_SPECIAL]
|
||||
gate.featured = true
|
||||
bookmarks.star(gate)
|
||||
|
||||
gate.icon = await FileDownloader.download(gate.icon_url)
|
||||
bookmarks.update(gate)
|
||||
|
|
|
@ -12,7 +12,7 @@ func _ready() -> void:
|
|||
bookmarks.ready()
|
||||
|
||||
bookmarks.save_icon.connect(save_icon)
|
||||
bookmarks.on_star.connect(func(_gate, _featured): save_bookmarks())
|
||||
bookmarks.on_star.connect(func(_gate): save_bookmarks())
|
||||
bookmarks.on_unstar.connect(func(_gate): save_bookmarks())
|
||||
bookmarks.on_update.connect(func(_gate): save_bookmarks())
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ extends Resource
|
|||
class_name Bookmarks
|
||||
|
||||
signal on_ready()
|
||||
signal on_star(gate: Gate, featured: bool)
|
||||
signal on_star(gate: Gate)
|
||||
signal on_unstar(gate: Gate)
|
||||
signal on_update(gate: Gate)
|
||||
signal save_icon(gate: Gate)
|
||||
|
@ -49,14 +49,14 @@ func update(gate: Gate) -> void:
|
|||
on_update.emit(gate)
|
||||
|
||||
|
||||
func star(gate: Gate, featured: bool = false) -> void:
|
||||
func star(gate: Gate) -> void:
|
||||
if gates.has(gate.url): return
|
||||
|
||||
gates[gate.url] = gate
|
||||
starred_gates.append(gate)
|
||||
|
||||
save_icon.emit(gate)
|
||||
on_star.emit(gate, featured)
|
||||
on_star.emit(gate)
|
||||
|
||||
|
||||
func unstar(gate: Gate) -> void:
|
||||
|
|
|
@ -11,6 +11,10 @@ class_name Gate
|
|||
@export var icon: String
|
||||
@export var image: String
|
||||
|
||||
# Only for featured gates. Cleared when opened
|
||||
@export var featured: bool
|
||||
@export var is_special: bool
|
||||
|
||||
var resource_pack: String
|
||||
var shared_libs_dir: String # local path where libs downloaded
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ func _ready() -> void:
|
|||
show_bookmark(gate)
|
||||
|
||||
|
||||
func show_bookmark(gate: Gate, _featured: bool = false) -> void:
|
||||
func show_bookmark(gate: Gate) -> void:
|
||||
var bookmark: BookmarkUI = bookmark_scene.instantiate()
|
||||
bookmark.fill(gate)
|
||||
add_child(bookmark)
|
||||
|
|
|
@ -15,11 +15,11 @@ func _ready() -> void:
|
|||
button_special.pressed.connect(on_pressed)
|
||||
|
||||
|
||||
func fill(gate: Gate, special: bool = false) -> void:
|
||||
func fill(gate: Gate) -> void:
|
||||
if gate == null: return
|
||||
|
||||
button.visible = not special
|
||||
button_special.visible = special
|
||||
button.visible = not gate.is_special
|
||||
button_special.visible = gate.is_special
|
||||
|
||||
url = gate.url
|
||||
title.text = "Unnamed" if gate.title.is_empty() else gate.title
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue