Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.
Open
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
60 changes: 0 additions & 60 deletions src/main/java/shef/servlets/TestDisplayRecipesServlet.java

This file was deleted.

2 changes: 1 addition & 1 deletion src/main/webapp/browse-recipes.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ <h1 class="display-4">Browse Recipes</h1>
<button onclick="getRecipes('foryou')">For You</button>
<button onclick="getRecipes('trending')">Trending</button>
</div>
<div id="results"></div>
<div id="recipe-grid"></div>
</div>
</body>
</html>
9 changes: 5 additions & 4 deletions src/main/webapp/recipe.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>

<body class="page-container" onload="recipePageInit(); navBarSetup();">
<body class="page-container" onload="recipePageInit(); navBarSetup(); sharingSetup();">
<!--Javascript SDK for sharing on Facebook -->
<div id="fb-root"></div>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v7.0" nonce="bSEBuptV"></script>
Expand Down Expand Up @@ -62,18 +62,19 @@ <h5 class="modal-title" id="exampleModalLongTitle">Share</h5>
<ul class="list-inline">
<li class="list-inline-item">
<!--When actual recipe link is available, replace link below with formatting generated from https://developers.facebook.com/docs/plugins/share-button. -->
<div id="fb-sharing" data-href="https://shef-step-2020.appspot.com">
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&amp;src=sdkpreparse" class="fb-xfbml-parse-ignore">
<img src="/assets/images/facebook_icon.png" class="share-icon">
</a>
</div>
</li>
<li class="list-inline-item">
<!--When actual recipe link is available, replace link below.-->
<a href="https://twitter.com/intent/tweet" data-size="large" data-text="Check out this recipe on shef!" data-url="https://dev.twitter.com/web/tweet-button">
<a id="twitter-sharing" href="https://twitter.com/intent/tweet" data-size="large" data-text="Check out this recipe on shef!">
<img src="/assets/images/twitter_icon.png" class="share-icon">
</a>
</li>
<li class="list-inline-item"><img src="/assets/images/mail_icon.png" id="myItem" class="share-icon"></li>
<div id="myItem" data-page_id="1510970">1510970</div>
<li class="list-inline-item"><img src="/assets/images/mail_icon.png" id="myItem" class="share-icon" onclick="shareViaGmail();"></li>
</ul>
</div>
<div class="modal-footer">
Expand Down
14 changes: 12 additions & 2 deletions src/main/webapp/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -1090,12 +1090,22 @@ function refillDatalist(input, options, existingInput) {
}
}

/** Hyperlink is not supported via element creation or direct HTML insertion,
so for now, just show the recipe URL as is. */
function shareViaGmail() {
let msgbody = "Yum!";
let msgbody = "Yum! You should give this a try: " + window.location.href;
let url = 'https://mail.google.com/mail/?view=cm&fs=1&tf=1&to=&su=Check+out+this+recipe!&body='+msgbody+'&ui=2&tf=1&pli=1';
window.open(url, 'sharer', 'toolbar=0,status=0,width=648,height=395');
}

/** Sets up sharing for twitter and facebook by attaching
the current website URL as the link to share. */
function sharingSetup() {
var currentURL = window.location.href;
document.getElementById("fb-sharing").setAttribute("data-href", currentURL);
document.getElementById("twitter-sharing").setAttribute("data-url", currentURL);
}

/** @class A custom element that represents a parameter input. */
class ParameterInput extends HTMLElement {
constructor() {
Expand Down Expand Up @@ -1289,7 +1299,7 @@ function getText(data) {
* For You displays recipes unique to each user's preferences.
* Trending displays the recipes that are most popular. */
function getRecipes(algorithm) {
const results = document.getElementById('results');
const results = document.getElementById('recipe-grid');
results.innerHTML = '';
fetch('/browse-recipes?algorithm=' + algorithm).then(response => response.json()).then((recipes) => {
for (var i = 0; i < recipes.length; i++) {
Expand Down