Skip to content

Commit ecb4195

Browse files
committed
mais bonito
1 parent 3c1ba69 commit ecb4195

File tree

3 files changed

+69
-52
lines changed

3 files changed

+69
-52
lines changed

functions.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
"Authorization": f"Bearer {os.getenv("JWL_TOKEN")}"
1111
}
1212

13-
def get_bandeiras(x):
14-
bandeiras = {
13+
bandeiras = {
1514
'Spanish': 'https://d35aaqx5ub95lt.cloudfront.net/vendor/59a90a2cedd48b751a8fd22014768fd7.svg',
1615
'French': 'https://d35aaqx5ub95lt.cloudfront.net/vendor/482fda142ee4abd728ebf4ccce5d3307.svg',
1716
'Japanese': 'https://d35aaqx5ub95lt.cloudfront.net/vendor/edea4fa18ff3e7d8c0282de3f102aaed.svg',
@@ -54,6 +53,7 @@ def get_bandeiras(x):
5453
'Yiddish': 'https://d35aaqx5ub95lt.cloudfront.net/vendor/55bad151fa6a8d9e2376fc9697c671c8.svg'
5554
}
5655

56+
def get_bandeira(x):
5757
return bandeiras[x]
5858

5959
def collect_languages():

local_save.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def adicionar_na_lista(user, lang):
1717
avatar_url = 'https:' + data['avatar'] + '/xlarge'
1818
xp = '0'
1919
streak = data['site_streak']
20-
icon_language = func.get_bandeiras(lang)
20+
icon_language = func.get_bandeira(lang)
2121

2222
for i in data['languages']:
2323
if i['learning'] == False:

main.py

+66-49
Original file line numberDiff line numberDiff line change
@@ -7,64 +7,81 @@
77

88
page_icon = 'https://techcrunch.com/wp-content/uploads/2025/01/duolingo-owl.png'
99

10-
st.set_page_config(page_title='Duolingo Rank', page_icon=page_icon, layout="centered")
11-
st.title("Ranking de Competidores 🏆")
10+
st.set_page_config(page_title='Duolingo Rank', page_icon=page_icon, layout="wide")
11+
1212

1313
linguas = func.collect_languages()
1414
print(len(linguas))
1515

1616
carregar = save.pegar_competidores()
1717
competitors = carregar
1818

19-
if st.button("Atualizar Rank"):
20-
if competitors != []:
21-
save.atualizar_rank()
22-
st.success("Lista atualizada!")
23-
else:
24-
st.error("Lista sem competidores..")
25-
# sucess = save.adicionar_na_lista('joaozingam1', 'Chinese')
26-
# if sucess:
27-
# st.success("João adicionado!")
28-
# else:
29-
# st.error("João já está na lista..")
19+
colleft, coltitle, colright = st.container().columns([3, 8, 3])
20+
with coltitle:
21+
st.title("🏆 Ranking de competidores")
22+
23+
container = st.container()
24+
col1, col2, col3, = container.columns([1, 3, 1])
25+
26+
3027

28+
with col1:
29+
username = st.text_input('Nome do Participante', placeholder='Usuário')
30+
lingua = st.selectbox("Qual idioma escolhido?", list(func.bandeiras.keys()))
31+
with col3:
32+
if st.button('Adicionar competidor'):
33+
sucess = save.adicionar_na_lista(username, lingua)
34+
if sucess:
35+
st.success(str(f"{username} Adicionado com sucesso!"), icon='✅')
36+
save.atualizar_rank()
37+
else:
38+
st.error(str(f"{username} já está na lista.."), icon='🤝🏽')
39+
40+
if st.button("Atualizar Rank"):
41+
if competitors != []:
42+
save.atualizar_rank()
43+
st.success("Lista atualizada!", icon='♻️')
44+
else:
45+
st.error("Lista sem competidores..")
3146

3247
# competitors = func.get_competitors()
48+
with col2:
49+
if competitors:
50+
df = pd.DataFrame(competitors, columns=save.cabecalho)
3351

34-
if competitors:
35-
df = pd.DataFrame(competitors, columns=save.cabecalho)
36-
37-
# df['Lingua'] = df["Lingua"].apply(lambda x: f'<image src="{func.get_bandeiras(x)}" width="20"> ')
52+
st.dataframe(
53+
df.sort_values(by="XP", key=lambda x: x.astype(int), ascending=False),
54+
column_config={
55+
"Nome": st.column_config.TextColumn(
56+
label="Nome",
57+
help="Nome de usuário",
58+
),
59+
"Avatar": st.column_config.ImageColumn(
60+
label="",
61+
help="Avatar do usuário",
62+
pinned=True,
63+
width="small"
64+
),
65+
"Display Name": st.column_config.TextColumn(
66+
label="Nickname",
67+
help="Nome exibido",
68+
),
69+
"Bandeira": st.column_config.ImageColumn(
70+
label='',
71+
width='small'
72+
),
73+
"Idioma": "Idioma",
74+
"XP": st.column_config.NumberColumn(
75+
label="⭐️Experiência",
76+
help="Experiência na lingua escolhida"
77+
),
78+
"STREAK": "🔥Streak"
79+
},
80+
hide_index=True,
81+
)
82+
else:
83+
st.write("Nenhum competidor cadastrado.")
3884

39-
st.dataframe(
40-
df.sort_values(by="XP", key=lambda x: x.astype(int), ascending=False),
41-
column_config={
42-
"Nome": st.column_config.TextColumn(
43-
label="Nome",
44-
help="Nome de usuário",
45-
),
46-
"Avatar": st.column_config.ImageColumn(
47-
label="",
48-
help="Avatar do usuário",
49-
pinned=True,
50-
width="small"
51-
),
52-
"Display Name": st.column_config.TextColumn(
53-
label="Nickname",
54-
help="Nome exibido",
55-
),
56-
"Bandeira": st.column_config.ImageColumn(
57-
label='',
58-
width='small'
59-
),
60-
"Idioma": "Idioma",
61-
"XP": st.column_config.NumberColumn(
62-
label="⭐️Experiência",
63-
help="Experiência na lingua escolhida"
64-
),
65-
"STREAK": "🔥Streak"
66-
},
67-
hide_index=True,
68-
)
69-
else:
70-
st.write("Nenhum competidor cadastrado.")
85+
if username:
86+
st.info('Não confie no input, dar Enter não vai fazer nada..', icon='👀')
87+

0 commit comments

Comments
 (0)