from django.shortcuts import render, redirect
from django.http import HttpResponse
from django.contrib.auth.models import User
from django.contrib import messages


from .models import CompanyYoutubeTubeVideo, Top10Deposit, Top10Withdrawal

def home_view(request):
    """RENDERS THE HOME PAGE ON REQUEST"""
    template = "zeeprimeapp/pages/index.html"
    video = CompanyYoutubeTubeVideo.objects.all().order_by("-id").first()
    top_deposit = Top10Deposit.objects.all().order_by("-id")[:10]
    top_withdraw = Top10Withdrawal.objects.all().order_by("-id")[:10]

    context = {
        "video": video,
        "top_deposit": top_deposit,
        "top_withdraw": top_withdraw
    }
    return render(request, template, context)


def handle_referral_link(request, username):
    """HANDLES REFERRAL LINK"""
    if User.objects.filter(username=username).exists():
        request.session["referrer"] = username
        return redirect("zeeprimeapp:home")
    # SENDING ERROR OF THE REFERRAL LINK
    return HttpResponse(f"<p style='color:red;'>Invalid referral link! '{username}' is not recognized.<br> NOTE: usernames are case sensitive</p>")

def about_view(request):
    template = "zeeprimeapp/pages/about.html"
    videos = CompanyYoutubeTubeVideo.objects.all().order_by("-id")
    return render(request, template, {"videos": videos})


def team_view(request):
    template = "zeeprimeapp/pages/team.html"
    return render(request, template)


def policies_view(request):
    """Renders the investment plans on request"""
    template = "zeeprimeapp/pages/terms_and_condition.html"
    return render(request, template)

def contact_view(request):
    """Renders the investment plans on request"""
    template = "zeeprimeapp/pages/contact.html"
    return render(request, template)


def investment_plans_view(request):
    """Show all the investment plans"""
    template = "zeeprimeapp/pages/investment-plan.html"
    return render(request, template)


def handle_contact_us(request):
    """JUST THANKS THE USER AFTER FORM SUBMIT"""
    messages.info(request, "Thanks for your message. We are connecting to reply you as soon as possible")
    return redirect("zeeprimeapp:home")


def faq_view(request):
    """HANDLES THE FAQ VIEW ON REQUEST"""
    template = "zeeprimeapp/pages/faq.html"
    return render(request, template)


def market_view(request):
    """HANDLES THE MARKET VIEW ON REQUEST"""
    template = "zeeprimeapp/pages/market.html"
    return render(request, template)


def service_view(request):
    """HANDLES THE SERVICE VIEW ON REQUEST"""
    template = "zeeprimeapp/pages/service.html"
    return render(request, template)


def buy_sell_view(request):
    """HANDLES THE BUY & SELL VIEW ON REQUEST"""
    template = "zeeprimeapp/pages/buy-sell.html"
    return render(request, template)


def legal_view(request):
    """HANDLES THE LEGAL VIEW ON REQUEST"""
    template = "zeeprimeapp/pages/legal.html"
    return render(request, template)


def team_view(request):
    """RENDERS THE TEAM PAGE ON REQUEST"""
    template = "zeeprimeapp/pages/team.html"
    return render(request, template)


def affiliate_view(request):
    """RENDERS THE AFFILIATE PAGE ON REQUEST"""
    template = "zeeprimeapp/pages/affiliate.html"
    return render(request, template)