Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
# AutoInflatable-LifeCraft-Vessel-BoatDesign
|
2 |
-
|
3 |
import streamlit as st
|
4 |
import csv
|
5 |
import os
|
|
|
6 |
|
7 |
# Define function to save form data as text file
|
8 |
def save_data(name, email, phone):
|
@@ -13,7 +13,7 @@ def save_data(name, email, phone):
|
|
13 |
writer.writeheader()
|
14 |
writer.writerow({'Name': name, 'Email': email, 'Phone': phone})
|
15 |
with open(f'{name}.txt', mode='w') as file:
|
16 |
-
file.write(f'Name: {name}\nEmail: {email}\nPhone: {phone}')
|
17 |
|
18 |
# Define function to reset form data
|
19 |
def reset_data():
|
@@ -22,6 +22,17 @@ def reset_data():
|
|
22 |
if file.endswith('.txt'):
|
23 |
os.remove(file)
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
# Define Streamlit app
|
26 |
def app():
|
27 |
st.title('Community Hub Form')
|
@@ -41,5 +52,37 @@ def app():
|
|
41 |
reset_data()
|
42 |
st.success('Data reset!')
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
if __name__ == '__main__':
|
45 |
app()
|
|
|
1 |
# AutoInflatable-LifeCraft-Vessel-BoatDesign
|
|
|
2 |
import streamlit as st
|
3 |
import csv
|
4 |
import os
|
5 |
+
import random
|
6 |
|
7 |
# Define function to save form data as text file
|
8 |
def save_data(name, email, phone):
|
|
|
13 |
writer.writeheader()
|
14 |
writer.writerow({'Name': name, 'Email': email, 'Phone': phone})
|
15 |
with open(f'{name}.txt', mode='w') as file:
|
16 |
+
file.write(f'Name: {name}\nEmail: {email}\nPhone: {phone}\n')
|
17 |
|
18 |
# Define function to reset form data
|
19 |
def reset_data():
|
|
|
22 |
if file.endswith('.txt'):
|
23 |
os.remove(file)
|
24 |
|
25 |
+
# Define function to show data after three views
|
26 |
+
def show_data():
|
27 |
+
count = 0
|
28 |
+
with open('community.csv', mode='r') as csv_file:
|
29 |
+
csv_reader = csv.DictReader(csv_file)
|
30 |
+
for row in csv_reader:
|
31 |
+
count += 1
|
32 |
+
if count == 3:
|
33 |
+
st.write(f'{row["Name"]}: {row["Email"]} - {row["Phone"]}')
|
34 |
+
count = 0
|
35 |
+
|
36 |
# Define Streamlit app
|
37 |
def app():
|
38 |
st.title('Community Hub Form')
|
|
|
52 |
reset_data()
|
53 |
st.success('Data reset!')
|
54 |
|
55 |
+
# Show data when user clicks button
|
56 |
+
if st.button('Show data'):
|
57 |
+
show_data()
|
58 |
+
|
59 |
+
# Reply and vote buttons
|
60 |
+
st.write('Emails/SMS')
|
61 |
+
with open('community.csv', mode='r') as csv_file:
|
62 |
+
csv_reader = csv.DictReader(csv_file)
|
63 |
+
for row in csv_reader:
|
64 |
+
name = row['Name']
|
65 |
+
email = row['Email']
|
66 |
+
phone = row['Phone']
|
67 |
+
st.write(f'{name}: {email} - {phone}')
|
68 |
+
if st.button('Reply', key=f'reply_{name}'):
|
69 |
+
st.text_input(f'Reply to {name}')
|
70 |
+
if st.button(f'Vote up {name}'):
|
71 |
+
st.success(f'{name} has been voted up!')
|
72 |
+
if st.button(f'No thanks to {name}'):
|
73 |
+
st.warning(f'{name} has been voted down!')
|
74 |
+
with open(f'{name}.txt', mode='w') as file:
|
75 |
+
file.write(f'Life points: 0\n')
|
76 |
+
st.write('')
|
77 |
+
|
78 |
+
# Add tip and emoji
|
79 |
+
st.write('Add tip')
|
80 |
+
tip = st.text_input('Tip')
|
81 |
+
if st.button('Submit tip'):
|
82 |
+
emoji = random.choice(['👍', '👌', '👏', '💡'])
|
83 |
+
with open(f'{name}.txt', mode='a') as file:
|
84 |
+
file.write(f'Tip: {tip} {emoji}\nLife points: 10\n')
|
85 |
+
st.success('Tip submitted!')
|
86 |
+
|
87 |
if __name__ == '__main__':
|
88 |
app()
|