File size: 4,056 Bytes
72fce14
dfe4a9e
2da24f4
bebf7e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5f72fbb
bebf7e5
 
 
5f72fbb
2da24f4
 
bebf7e5
 
2da24f4
bebf7e5
 
 
 
2da24f4
 
 
 
 
 
 
 
 
 
33842b1
2da24f4
 
33842b1
2da24f4
 
 
33842b1
2da24f4
 
33842b1
2da24f4
 
5f72fbb
2da24f4
 
 
 
 
 
5f72fbb
2da24f4
 
 
 
 
 
 
dc7db49
2da24f4
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import streamlit as st

# Suggestion Database
suggestion_database = {
    "sadness": {
        "suggestions": ["Try a guided meditation", "Take a walk in nature", "Connect with a friend"],
        "articles": [
            {"title": "Overcoming Sadness", "url": "https://example.com/sadness1"},
            {"title": "Understanding Depression", "url": "https://example.com/sadness2"},
        ],
        "videos": [
            {"title": "Mindfulness for Sadness", "url": "https://www.youtube.com/watch?v=sadnessvideo1"},
            {"title": "Coping with Grief", "url": "https://www.youtube.com/watch?v=sadnessvideo2"},
        ],
    },
    "joy": {
        "suggestions": ["Practice gratitude", "Engage in a hobby", "Spend time with loved ones"],
        "articles": [
            {"title": "The Benefits of Joy", "url": "https://example.com/joy1"},
            {"title": "Maintaining Positive Emotions", "url": "https://example.com/joy2"},
        ],
        "videos": [
            {"title": "Boosting Your Happiness", "url": "https://www.youtube.com/watch?v=joyvideo1"},
            {"title": "Practicing Gratitude", "url": "https://www.youtube.com/watch?v=joyvideo2"},
        ],
    },
    "neutral": {
        "suggestions": ["Take a break", "Engage in a relaxing activity", "Spend time in nature"],
        "articles": [
            {"title": "Importance of Self-Care", "url": "https://example.com/selfcare1"},
            {"title": "Stress Management Techniques", "url": "https://example.com/stress1"},
        ],
        "videos": [
            {"title": "Relaxation Techniques", "url": "https://www.youtube.com/watch?v=relaxvideo1"},
            {"title": "Mindfulness Exercises", "url": "https://www.youtube.com/watch?v=mindfulnessvideo1"},
        ],
    },
}

# Function to fetch resources
def get_relevant_resources(emotion):
    resources = suggestion_database.get(emotion, {})
    return resources.get("suggestions", []), resources.get("articles", []), resources.get("videos", [])

# Suggestion Logic
def suggest_activity(emotion_analysis):
    max_emotion = max(emotion_analysis, key=emotion_analysis.get) if emotion_analysis else "neutral"
    suggestions, articles, videos = get_relevant_resources(max_emotion)
    return {
        "emotion": max_emotion,
        "suggestions": suggestions,
        "articles": articles,
        "videos": videos,
    }

# Streamlit Interface
st.title("Personalized Emotional Wellness Recommendations")

# Questions
st.write("### How are you feeling today?")
emotion_input = st.text_input("Your response (e.g., happy, sad, neutral):", "").lower()

st.write("### Describe your mood in a few words.")
mood_input = st.text_input("Your response (e.g., calm, frustrated, joyful):", "").lower()

st.write("### What was the most significant emotion you felt this week?")
emotion_week_input = st.text_input("Your response (e.g., sadness, joy, anxiety):", "").lower()

# Simulated Emotion Analysis (Here, based on user input; replace with real analysis later)
emotion_analysis = {
    "sadness": emotion_input == "sad" or emotion_week_input == "sadness",
    "joy": emotion_input == "happy" or emotion_week_input == "joy",
    "neutral": emotion_input == "neutral" or emotion_week_input == "calm",
}

# Analyze and Provide Suggestions
if st.button("Get Suggestions"):
    analysis_results = {
        "sadness": emotion_analysis.get("sadness", 0),
        "joy": emotion_analysis.get("joy", 0),
        "neutral": emotion_analysis.get("neutral", 0),
    }

    suggestions = suggest_activity(analysis_results)
    st.write(f"### Detected Emotion: {suggestions['emotion'].capitalize()}")
    st.write("### Suggestions for You:")
    for suggestion in suggestions["suggestions"]:
        st.write(f"- {suggestion}")
    
    st.write("### Articles to Explore:")
    for article in suggestions["articles"]:
        st.markdown(f"[{article['title']}]({article['url']})")
    
    st.write("### Videos to Watch:")
    for video in suggestions["videos"]:
        st.markdown(f"[{video['title']}]({video['url']})")