from app.cupid import Cupid
from app.sub import SubprofileAnalyzer
from app.super import SuperprofileAnalyzer

Alex_Mom = [
    {"sender": "alex", "content": "hey mom, just wanted to check in"},
    {"sender": "mom", "content": "Hi honey! How are you feeling today?"},
    {"sender": "alex", "content": "honestly pretty stressed about work stuff"},
    {"sender": "mom", "content": "What's going on? You can tell me"},
    {"sender": "alex", "content": "my manager keeps piling on projects and I don't want to disappoint anyone"},
    {"sender": "mom", "content": "You're such a hard worker, but don't forget to take care of yourself"},
    {"sender": "alex", "content": "I know, I know. just want to make you proud"},
    {"sender": "mom", "content": "I'm already proud of you! Always remember that"},
    {"sender": "alex", "content": "thanks mom ❤️ that helps"},
    {"sender": "mom", "content": "Have you been eating enough? And sleeping?"},
    {"sender": "alex", "content": "um... define enough? 😅"},
    {"sender": "mom", "content": "Alex! You need to take better care of yourself"},
    {"sender": "alex", "content": "okay okay I'll try to do better. promise"},
    {"sender": "mom", "content": "Good. I worry about you working so hard"},
    {"sender": "alex", "content": "I appreciate you caring so much"},
    {"sender": "mom", "content": "That's what mothers are for"},
    {"sender": "alex", "content": "speaking of which, how's dad doing?"},
    {"sender": "mom", "content": "He's good! Still complaining about his back though"},
    {"sender": "alex", "content": "tell him to actually do the physical therapy exercises lol"},
    {"sender": "mom", "content": "I've been trying! He's as stubborn as you"},
    {"sender": "alex", "content": "hey! I'm not stubborn, I'm... persistent 😏"},
    {"sender": "mom", "content": "Uh huh, sure honey"},
    {"sender": "alex", "content": "anyway I should probably get back to work"},
    {"sender": "mom", "content": "Okay, but remember what we talked about - take breaks!"},
    {"sender": "alex", "content": "will do. love you mom"},
    {"sender": "mom", "content": "Love you too sweetie. Talk soon!"}
]

Alex_Jordan = [
    {"sender": "alex", "content": "dude you will not believe what happened at work today"},
    {"sender": "jordan", "content": "oh no what now"},
    {"sender": "alex", "content": "so remember that project I was stressing about?"},
    {"sender": "jordan", "content": "the one with the impossible deadline?"},
    {"sender": "alex", "content": "YES. well turns out my manager forgot to tell the client we needed more time"},
    {"sender": "jordan", "content": "are you kidding me right now"},
    {"sender": "alex", "content": "I WISH. so now I have to somehow explain why we're behind"},
    {"sender": "jordan", "content": "that's completely unfair, it's not your fault"},
    {"sender": "alex", "content": "I know but I still feel responsible somehow"},
    {"sender": "jordan", "content": "alex come on, you can't control your manager's communication failures"},
    {"sender": "alex", "content": "logically I know that but emotionally... ugh"},
    {"sender": "jordan", "content": "want me to come over? we can order pizza and you can vent properly"},
    {"sender": "alex", "content": "that actually sounds amazing"},
    {"sender": "jordan", "content": "cool I'll bring ice cream too. the good stuff"},
    {"sender": "alex", "content": "you're the best friend ever"},
    {"sender": "jordan", "content": "damn right I am 😎"},
    {"sender": "alex", "content": "but seriously thank you. I was spiraling a bit"},
    {"sender": "jordan", "content": "I could tell from your typing. you get all formal when you're stressed"},
    {"sender": "alex", "content": "do I really?"},
    {"sender": "jordan", "content": "yeah like right now you're back to normal alex language"},
    {"sender": "alex", "content": "huh interesting. never noticed that"},
    {"sender": "jordan", "content": "that's what friends are for - noticing the weird stuff"},
    {"sender": "alex", "content": "speaking of weird stuff, how did your date go last night?"},
    {"sender": "jordan", "content": "oh god where do I even start..."},
    {"sender": "alex", "content": "that bad huh?"},
    {"sender": "jordan", "content": "they spent 45 minutes explaining cryptocurrency"},
    {"sender": "alex", "content": "NOOOOO 💀"},
    {"sender": "jordan", "content": "I know right? I was trapped"},
    {"sender": "alex", "content": "well at least you have material for your bad date story collection"},
    {"sender": "jordan", "content": "true, this one's definitely going in the hall of fame"},
    {"sender": "alex", "content": "see you in 30?"},
    {"sender": "jordan", "content": "make it 20, I'm already putting shoes on"}
]

Alex_Sam = [
    {"sender": "sam", "content": "hey can we talk about the Peterson project?"},
    {"sender": "alex", "content": "Of course. What aspects would you like to discuss?"},
    {"sender": "sam", "content": "I'm concerned about our timeline given the scope changes"},
    {"sender": "alex", "content": "I share those concerns. The additional requirements will impact our delivery schedule."},
    {"sender": "sam", "content": "do you think we should push back on the client?"},
    {"sender": "alex", "content": "I believe we should present them with realistic options. Quality shouldn't be compromised."},
    {"sender": "sam", "content": "agreed. can you draft a proposal for timeline adjustment?"},
    {"sender": "alex", "content": "Absolutely. I'll have something ready by end of day."},
    {"sender": "sam", "content": "perfect. also wanted to mention your work on the Miller account was excellent"},
    {"sender": "alex", "content": "Thank you, I really appreciate the feedback."},
    {"sender": "sam", "content": "you've been stepping up lately, haven't gone unnoticed"},
    {"sender": "alex", "content": "That means a lot coming from you. I've been working on improving my project management skills."},
    {"sender": "sam", "content": "it shows. keep it up and we'll talk about advancement opportunities"},
    {"sender": "alex", "content": "I'd welcome that conversation whenever you think it's appropriate."},
    {"sender": "sam", "content": "let's plan for next month after we close these current projects"},
    {"sender": "alex", "content": "Sounds good. I'll make sure we're on track for successful completion."},
    {"sender": "sam", "content": "I have confidence in your ability to deliver"},
    {"sender": "alex", "content": "Thank you. I won't let you down."},
    {"sender": "sam", "content": "one more thing - how are you handling the workload? seems like a lot on your plate"},
    {"sender": "alex", "content": "I'm managing well, though I appreciate you checking. I've been prioritizing effectively."},
    {"sender": "sam", "content": "good to hear. don't hesitate to speak up if you need support"},
    {"sender": "alex", "content": "I will. Thank you for being so approachable about these things."},
    {"sender": "sam", "content": "that's what good management is about"},
    {"sender": "alex", "content": "I'm learning a lot from your leadership style."},
    {"sender": "sam", "content": "glad to hear it. talk tomorrow?"},
    {"sender": "alex", "content": "Absolutely. Have a good evening."}
]

Amanda_Jane = [
    {"sender": "amanda", "content": "hey Jane, did you finish the reading for econ?"},
    {"sender": "jane", "content": "lol not even close, that chapter is brutal"},
    {"sender": "amanda", "content": "right?? I read the first 10 pages and my brain shut down"},
    {"sender": "jane", "content": "at least the prof said the quiz will be open notes"},
    {"sender": "amanda", "content": "true but my notes are basically just doodles at this point 😅"},
    {"sender": "jane", "content": "haha same. want to study together tomorrow?"},
    {"sender": "amanda", "content": "yes please, I retain stuff way better when we talk it out"},
    {"sender": "jane", "content": "cool, library at 3?"},
    {"sender": "amanda", "content": "works for me. also did you see the group project email?"},
    {"sender": "jane", "content": "ugh don't remind me..."},
    {"sender": "amanda", "content": "lol same, but at least we got paired with Emma, she actually does work"},
    {"sender": "jane", "content": "bless Emma 🙌"},
    {"sender": "amanda", "content": "ok so library tomorrow and we’ll make a game plan"},
    {"sender": "jane", "content": "deal. bring caffeine"}
]

Amanda_Aurora = [
    {"sender": "aurora", "content": "hey did you borrow my mug again?"},
    {"sender": "amanda", "content": "define borrow 👀"},
    {"sender": "aurora", "content": "Amanda…"},
    {"sender": "amanda", "content": "ok fine yes but in my defense it was clean and huge and perfect for cereal"},
    {"sender": "aurora", "content": "IT'S A COFFEE MUG"},
    {"sender": "amanda", "content": "mugs are just bowls with handles if you think about it"},
    {"sender": "aurora", "content": "…I hate that you’re right"},
    {"sender": "amanda", "content": "lol I'll wash it and return it, promise"},
    {"sender": "aurora", "content": "thank you. also we’re out of paper towels btw"},
    {"sender": "amanda", "content": "I’ll grab some on my way back tonight"},
    {"sender": "aurora", "content": "you’re a lifesaver"},
    {"sender": "amanda", "content": "and a mug thief"},
    {"sender": "aurora", "content": "both can be true 😂"},
    {"sender": "amanda", "content": "anyway what’s for dinner?"},
    {"sender": "aurora", "content": "thinking pasta. you in?"},
    {"sender": "amanda", "content": "always in for pasta"}
]

Amanda_Brian = [
    {"sender": "brian", "content": "hey love, how was your day?"},
    {"sender": "amanda", "content": "pretty good, just long. meetings back to back"},
    {"sender": "brian", "content": "ugh sounds exhausting. did you at least get a break?"},
    {"sender": "amanda", "content": "a tiny one. grabbed a latte and sat outside for 10 minutes, it helped"},
    {"sender": "brian", "content": "I’m glad. you deserve more than 10 minutes though"},
    {"sender": "amanda", "content": "aww you're sweet. how was your day?"},
    {"sender": "brian", "content": "busy too, but I kept thinking about our weekend plans"},
    {"sender": "amanda", "content": "me too! can't wait for the hike"},
    {"sender": "brian", "content": "same. and then picnic after—I'm bringing your favorite chips"},
    {"sender": "amanda", "content": "you know the way to my heart 😂"},
    {"sender": "brian", "content": "pretty sure I already live there"},
    {"sender": "amanda", "content": "okay that was smooth"},
    {"sender": "brian", "content": "I try. also… do you want me to come over tonight?"},
    {"sender": "amanda", "content": "yes please. bring cuddles"},
    {"sender": "brian", "content": "cuddles incoming 💕"},
    {"sender": "amanda", "content": "perfect end to a long day"}
]


def main():
    a = SubprofileAnalyzer("alex", Alex_Mom, "alex_mom_profile").load()
    b = SubprofileAnalyzer("alex", Alex_Jordan, "alex_jordan_profile").load()
    c = SubprofileAnalyzer("alex", Alex_Sam, "alex_sam_profile").load()

    if a is None or b is None or c is None:
        print("Failed to load one of the subprofiles.")
        return
    
    sp = SuperprofileAnalyzer("alex", [a, b, c]).load()

    # print(sp)

    d = SubprofileAnalyzer("amanda", Amanda_Jane, "amanda_jane_profile").load()
    e = SubprofileAnalyzer("amanda", Amanda_Aurora, "amanda_aurora_profile").load()
    f = SubprofileAnalyzer("amanda", Amanda_Brian, "amanda_brian_profile").load()

    if d is None or e is None or f is None:
        print("Failed to load one of the subprofiles.")
        return
    
    sp2 = SuperprofileAnalyzer("amanda", [d, e, f]).load()

    if sp is None or sp2 is None:
        print("Failed to load one of the superprofiles.")
        return

    com = Cupid([sp, sp2], ["alex", "amanda"]).run()

    print(com)