67 lines
1.9 KiB
Python
67 lines
1.9 KiB
Python
|
import http, ugfx, buttons
|
||
|
from tilda import Buttons
|
||
|
from tildr.shared import top_left_logo
|
||
|
|
||
|
|
||
|
def get_next_person(state):
|
||
|
try:
|
||
|
resp = http.get(state['api']+'/get_user/'+state['profile']['unique_identifier']).json()
|
||
|
except:
|
||
|
return None
|
||
|
|
||
|
if not resp['success']:
|
||
|
return None
|
||
|
|
||
|
return resp['value']
|
||
|
|
||
|
|
||
|
def screen(state):
|
||
|
loading = ugfx.Container(0, 0, 240, 320)
|
||
|
loading.text(5, 100, "Loading...", ugfx.WHITE)
|
||
|
state['ui'].append(loading)
|
||
|
|
||
|
loading.show()
|
||
|
person = get_next_person(state)
|
||
|
loading.hide()
|
||
|
|
||
|
if person is None:
|
||
|
state['next'] = "NO_MORE"
|
||
|
return
|
||
|
|
||
|
window = ugfx.Container(0, 0, 240, 320)
|
||
|
window.show()
|
||
|
|
||
|
top_left_logo()
|
||
|
|
||
|
ugfx.set_default_font(ugfx.FONT_TITLE)
|
||
|
l1 = ugfx.Label(5, 90, 230, 40, person["username"], parent=window, justification=ugfx.Label.LEFTTOP)
|
||
|
ugfx.set_default_font(ugfx.FONT_SMALL)
|
||
|
window.text(200, 92, person["age"], ugfx.WHITE)
|
||
|
|
||
|
l2 = ugfx.Label(5, 120, 230, 60, person["tag_line"], parent=window)
|
||
|
|
||
|
l3 = ugfx.Label(5, 200, 230, 40, person["looking_for"], parent=window)
|
||
|
window.text(5, 180, "Looking for...", ugfx.RED)
|
||
|
|
||
|
if not person["contact"].startswith("@"):
|
||
|
person["contact"] = "@" + person["contact"]
|
||
|
|
||
|
window.text(5, 245, person["contact"], ugfx.BLUE)
|
||
|
|
||
|
b2 = ugfx.Button(0, 280, 120, 40, "< Edit profile", parent=window, shape=ugfx.Button.RECT, style=None)
|
||
|
b1 = ugfx.Button(120, 280, 120, 40, "Swipe >", parent=window, shape=ugfx.Button.RECT, style=None)
|
||
|
|
||
|
state['ui'].append(window)
|
||
|
state['ui'].append(l1)
|
||
|
state['ui'].append(l2)
|
||
|
state['ui'].append(l3)
|
||
|
state['ui'].append(b1)
|
||
|
state['ui'].append(b2)
|
||
|
|
||
|
|
||
|
def actions(state):
|
||
|
if buttons.is_triggered(Buttons.BTN_B) or buttons.is_triggered(Buttons.JOY_Right):
|
||
|
state['next'] = "NEXT_PERSON"
|
||
|
if buttons.is_triggered(Buttons.BTN_A) or buttons.is_triggered(Buttons.JOY_Left):
|
||
|
state['next'] = "PROFILE"
|