Skip to content

feat: daily horoscope by sign #151

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
Feb 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions app/routers/profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,17 @@ async def profile(
session.commit()
user = session.query(User).filter_by(id=1).first()

# Get on this day data from wiki
signs = ['Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo',
'Virgo', 'Libra', 'Scorpio', 'Sagittarius',
'Capricorn', 'Aquarius', 'Pisces']
on_this_day_data = get_on_this_day_events(session)

return templates.TemplateResponse("profile.html", {
"request": request,
"user": user,
"events": upcoming_events,
"on_this_day_data": on_this_day_data
"signs": signs,
"on_this_day_data": on_this_day_data,
})


Expand Down
28 changes: 28 additions & 0 deletions app/static/horoscope.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
function sendSignDescription(singName) {
const sign = singName.toLowerCase();
const signData = "https://aztro.sameerkumar.website/?sign=" + sign +
"&day=today";
const xhr = new XMLHttpRequest();
xhr.open("POST", signData, true);
xhr.onload = function() {
let jsonObject = JSON.parse(this.responseText);
let element = document.getElementById("daily_horoscope");
let str = jsonObject.description;
element.innerHTML = str;
};
xhr.send();
}



function addEventsAfterPageLoaded() {
const elements = document.getElementsByClassName("sign");
Array.from(elements).forEach((element) => {
let singName = element.name;
element.addEventListener("click", function() {
sendSignDescription(singName);
}, false);
});
}

document.addEventListener("DOMContentLoaded", addEventsAfterPageLoaded);
30 changes: 11 additions & 19 deletions app/templates/base.html
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
<!DOCTYPE html>
<html lang="en">

<head>
{% block head %}
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<link href="{{ url_for('static', path='/style.css') }}" rel="stylesheet">

<title>Calendar</title>
{% endblock %}
</head>

<body>
<nav class="navbar navbar-expand-lg bg-transparent">
<div class="container-fluid">
<a class="navbar-brand" href="/">Calendar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText"
aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarText">
Expand All @@ -43,26 +43,18 @@
<a class="nav-link" href="{{ url_for('view_invitations') }}">Invitations</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/search">Search</a>
<a class="nav-link" href="/search">Search</a>
</li>
</ul>
</div>
</div>
</nav>
{% block content %}

{% block content %} {% endblock %}

{% endblock %}

<script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"
integrity="sha384-SlE991lGASHoBfWbelyBPLsUlwY1GwNDJo3jSJO04KZ33K2bwfV9YBauFfnzvynJ"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js"
integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js"
integrity="sha512-d9xgZrVZpmmQlfonhQUvTR7lMPtO7NkZMkA0ABN3PHCbKA5nqylQ/yWlFAyY6hYgdF1Qh6nYiuADWwKB4C2WSw=="
crossorigin="anonymous"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js" integrity="sha384-SlE991lGASHoBfWbelyBPLsUlwY1GwNDJo3jSJO04KZ33K2bwfV9YBauFfnzvynJ" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js" integrity="sha512-d9xgZrVZpmmQlfonhQUvTR7lMPtO7NkZMkA0ABN3PHCbKA5nqylQ/yWlFAyY6hYgdF1Qh6nYiuADWwKB4C2WSw==" crossorigin="anonymous"></script>
<script type="text/javascript" src="{{ url_for('static', path='/popover.js') }}"></script>
</body>
</html>

</html>
Loading