added random article btn
This commit is contained in:
		
							parent
							
								
									73d98c0ac1
								
							
						
					
					
						commit
						3799357a3e
					
				@ -3,6 +3,13 @@
 | 
				
			|||||||
    const { session } = stores();
 | 
					    const { session } = stores();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let query = '';
 | 
					    let query = '';
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						async function findRandomArticle()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							var res = await fetch('/a/random');
 | 
				
			||||||
 | 
							var randArticle = await res.json();
 | 
				
			||||||
 | 
							goto(`/a/${randArticle.slug}`);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<style>
 | 
					<style>
 | 
				
			||||||
@ -108,6 +115,7 @@
 | 
				
			|||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        {#if !$session.user}
 | 
					        {#if !$session.user}
 | 
				
			||||||
            <div class="link"><a href="/contact">Contact Us</a></div>
 | 
					            <div class="link"><a href="/contact">Contact Us</a></div>
 | 
				
			||||||
 | 
					            <div class="link"><a href="#" on:click={findRandomArticle}>Random</a></div>
 | 
				
			||||||
        {:else}
 | 
					        {:else}
 | 
				
			||||||
            <div class="link"><a href="/cms">Dashboard</a></div>
 | 
					            <div class="link"><a href="/cms">Dashboard</a></div>
 | 
				
			||||||
            <div class="link"><a href="/cms/logout">Logout</a></div>
 | 
					            <div class="link"><a href="/cms/logout">Logout</a></div>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,19 @@
 | 
				
			|||||||
import express from 'express';
 | 
					import express from 'express';
 | 
				
			||||||
 | 
					import Article from '../models/article.js';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const app = express.Router();
 | 
					const app = express.Router();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
app.get('*', function (req, res) {
 | 
					app.get('/', async function (req, res) {
 | 
				
			||||||
	res.render('index');
 | 
						let page = Number.isInteger(req.query.page) && req.query.page > 0 ? req.query.page : 1;
 | 
				
			||||||
 | 
						let offset = (page - 1) * 4;
 | 
				
			||||||
 | 
						let articles = await Article.find().sort('-created_at').limit(4).skip(offset);
 | 
				
			||||||
 | 
						res.render('index', { articles, offset });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					app.use(function (req, res) {
 | 
				
			||||||
 | 
						// if you actually send HTTP 404, IE will render its own 404 page,
 | 
				
			||||||
 | 
						// so don't do that.
 | 
				
			||||||
 | 
						res.render('404');
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default app;
 | 
					export default app;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								src/legacy/views/404.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/legacy/views/404.ejs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE HTML>
 | 
				
			||||||
 | 
					<html>
 | 
				
			||||||
 | 
						<head>
 | 
				
			||||||
 | 
							<title>HOWFEED.biz</title>
 | 
				
			||||||
 | 
						</head>
 | 
				
			||||||
 | 
						<body>
 | 
				
			||||||
 | 
							<h1>Error 404</h1>
 | 
				
			||||||
 | 
							<p>Looks like you're barking up the wrong tree!</p>
 | 
				
			||||||
 | 
						</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										10
									
								
								src/legacy/views/footer.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/legacy/views/footer.ejs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
								<tr bgcolor="black" height="1"><td colspan="6"></td></tr>
 | 
				
			||||||
 | 
								<tr height="18">
 | 
				
			||||||
 | 
									<td colspan="6">
 | 
				
			||||||
 | 
										<p style="font-size: 14px; font-family: Tahoma; line-height: 18px; text-align: center; margin: 0;">Copyright © <%= new Date().getFullYear() %> FemboyFinancial Holdings Co., Ltd. (USA LLC). All rights reserved.</p>
 | 
				
			||||||
 | 
									</td>
 | 
				
			||||||
 | 
								</tr>
 | 
				
			||||||
 | 
							</tbody>
 | 
				
			||||||
 | 
							</table>
 | 
				
			||||||
 | 
						</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										47
									
								
								src/legacy/views/header.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								src/legacy/views/header.ejs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE HTML>
 | 
				
			||||||
 | 
					<html>
 | 
				
			||||||
 | 
						<head>
 | 
				
			||||||
 | 
							<title>HOWFEED.biz - Optimized for Internet Explorer</title>
 | 
				
			||||||
 | 
							<script language="JavaScript">
 | 
				
			||||||
 | 
							<!--
 | 
				
			||||||
 | 
								function hidePlaceholder(txt) {
 | 
				
			||||||
 | 
									if (txt.value === "Search") {
 | 
				
			||||||
 | 
										txt.value = "";
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								function showPlaceholder(txt) {
 | 
				
			||||||
 | 
									if (txt.value === "") {
 | 
				
			||||||
 | 
										txt.value = "Search";
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							-->
 | 
				
			||||||
 | 
							</script>
 | 
				
			||||||
 | 
							<style type="text/css">
 | 
				
			||||||
 | 
							<!--
 | 
				
			||||||
 | 
								body {
 | 
				
			||||||
 | 
									width: 640px;
 | 
				
			||||||
 | 
									margin: 0;
 | 
				
			||||||
 | 
									font-family: sans-serif;
 | 
				
			||||||
 | 
									font-size: 24px;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								a {
 | 
				
			||||||
 | 
									text-decoration: none;
 | 
				
			||||||
 | 
									color: #000;
 | 
				
			||||||
 | 
									font-weight: bold;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							-->
 | 
				
			||||||
 | 
							</style>
 | 
				
			||||||
 | 
						</head>
 | 
				
			||||||
 | 
						<body style="width: 640px;">
 | 
				
			||||||
 | 
							<table width="640" cellspacing="0" cellpadding="0" border="0">
 | 
				
			||||||
 | 
							<tbody>
 | 
				
			||||||
 | 
								<tr align="center" height="36">
 | 
				
			||||||
 | 
									<td colspan="2"><img src="/logo.png" height="26" width="150"></td>
 | 
				
			||||||
 | 
									<td colspan="2">
 | 
				
			||||||
 | 
									<form method="GET" action="/search" style="display: inline;">
 | 
				
			||||||
 | 
										<input style="border: 4px solid #000;font-family: Tahoma;" type="text" name="query" value="Search" onclick="hidePlaceholder(this);" onblur="showPlaceholder(this);">
 | 
				
			||||||
 | 
									</form>
 | 
				
			||||||
 | 
									</td>
 | 
				
			||||||
 | 
									<td colspan="2"><a href="/contact">CONTACT US</a></td>
 | 
				
			||||||
 | 
								</tr>
 | 
				
			||||||
 | 
								<tr bgcolor="black" height="1"><td colspan="6"></td></tr>
 | 
				
			||||||
@ -1,9 +1,14 @@
 | 
				
			|||||||
<!DOCTYPE HTML>
 | 
					<%- include('header') -%>
 | 
				
			||||||
<html>
 | 
					<tr height="64" style="background: url('/background.png');" align="center">
 | 
				
			||||||
	<head>
 | 
						<td colspan="6"><h1 style="line-height: 64px;font-size: 48px; margin:0;">WELCOME</h1></td>
 | 
				
			||||||
		<title>HOWFEED.biz</title>
 | 
					</tr>
 | 
				
			||||||
	</head>
 | 
					<% for (var article of articles) { %>
 | 
				
			||||||
	<body>
 | 
					<tr height="85" bgcolor="#96C8EA" style="overflow: scroll">
 | 
				
			||||||
		<h1>Hello world</h1>
 | 
						<td></td>
 | 
				
			||||||
	</body>
 | 
						<td bgcolor="white" align="center">
 | 
				
			||||||
</html>
 | 
							<img src="http://howfeed.biz/a/<%= article.image %>" height="75" alt="<%= article.title %>">
 | 
				
			||||||
 | 
						</td>
 | 
				
			||||||
 | 
						<td colspan="4"><%= article.title %></td>
 | 
				
			||||||
 | 
					</tr>
 | 
				
			||||||
 | 
					<% } %>
 | 
				
			||||||
 | 
					<%- include('footer') -%>
 | 
				
			||||||
 | 
				
			|||||||
@ -320,6 +320,17 @@ mainRouter
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
						.get('/a/random',
 | 
				
			||||||
 | 
							async function(req, res, next) {
 | 
				
			||||||
 | 
								var articleCount = await Article.countDocuments();
 | 
				
			||||||
 | 
								var random = Math.floor(Math.random() * articleCount);
 | 
				
			||||||
 | 
								var randomArticle = await Article.findOne().skip(random).select('slug');
 | 
				
			||||||
 | 
								res.writeHead(200, {
 | 
				
			||||||
 | 
									'Content-Type': 'application/json'
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
 | 
								res.end(JSON.stringify(randomArticle));
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
    .post('/me/avatar',
 | 
					    .post('/me/avatar',
 | 
				
			||||||
        async function(req, res, next) {
 | 
					        async function(req, res, next) {
 | 
				
			||||||
            if (!req.user) {
 | 
					            if (!req.user) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user