Skip to content

Instantly share code, notes, and snippets.

@Sammykhaleel
Last active August 25, 2020 18:31
Show Gist options
  • Save Sammykhaleel/21938adf7603b2034819bed5ffcd2943 to your computer and use it in GitHub Desktop.
Save Sammykhaleel/21938adf7603b2034819bed5ffcd2943 to your computer and use it in GitHub Desktop.
import { db } from "../services/firebase";
export function readchats() {
let abc = [];
db.ref("chats").on("value", (snapshot) => {
snapshot.forEach((snap) => {
abc.push(snap.val());
});
return abc;
});
}
export function writechats(message) {
return db.ref("chats").push({
content: message.content,
timestamp: message.timestamp,
uid: message.uid,
});
}
export function readanime() {
let abc = [];
db.ref("anime").on("value", (snapshot) => {
snapshot.forEach((snap) => {
abc.push(snap.val());
});
return abc;
});
}
export function writeanime(message) {
return db.ref("anime").push({
content: message.content,
timestamp: message.timestamp,
uid: message.uid,
});
}
@import url('https://fonts.googleapis.com/css?family=Poppins&display=swap');
body {
font-family: 'Poppins', sans-serif;
background-color: #fcfcfc;
}
.chat-area, .home {
margin-top: 60px;
}
.chat-area {
padding: 20px;
height: 400px;
overflow-y: scroll;
}
.chat-area .chat-bubble {
background-color: #bbdefb;
padding: 20px;
border-radius: 4px;
max-width: 300px;
word-wrap: break-word;
}
.chat-bubble .chat-time {
font-size: 12px;
color: #757575;
text-align: right;
}
.chat-area .chat-bubble.current-user {
margin-left: auto;
background-color: #a5d6a7;
}
.form-control {
width: 60%;
}
.form-control:focus {
box-shadow: none;
}
.btn {
margin-top: 10px;
}
.btn-submit {
background-color: #2e7d32;
color: white;
}
@media screen and (max-width: 767px) {
.form-control {
width: 100%;
}
.chat-area .chat-bubble {
max-width: 250px;
}
}
import React from 'react';
import { Link } from 'react-router-dom';
import { auth } from '../services/firebase';
function Header() {
return (
<header>
<nav className="navbar navbar-expand-sm fixed-top navbar-light bg-light">
<Link className="navbar-brand" to="/">Chatty</Link>
<button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span>
</button>
<div className="collapse navbar-collapse justify-content-end" id="navbarNavAltMarkup">
{auth().currentUser
? <div className="navbar-nav">
<Link className="nav-item nav-link mr-3" to="/chat">Profile</Link>
<button className="btn btn-primary mr-3" onClick={() => auth().signOut()}>Logout</button>
</div>
: <div className="navbar-nav">
<Link className="nav-item nav-link mr-3" to="/login">Sign In</Link>
<Link className="nav-item nav-link mr-3" to="/signup">Sign Up</Link>
</div>}
</div>
</nav>
</header>
);
}
export default Header;
import React, { Component } from 'react';
import Header from '../components/Header';
import Footer from '../components/Footer';
import { Link } from 'react-router-dom';
export default class HomePage extends Component {
render() {
return (
<div className="home">
<Header></Header>
<section>
<div className="jumbotron jumbotron-fluid py-5">
<div className="container text-center py-5">
<h1 className="display-4">Welcome to Chatty</h1>
<p className="lead">A great place to share your thoughts with friends</p>
<div className="mt-4">
<Link className="btn btn-primary px-5 mr-3" to="/signup">Create New Account</Link>
<Link className="btn px-5" to="/login">Login to Your Account</Link>
</div>
</div>
</div>
</section>
<Footer></Footer>
</div>
)
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000"><link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<title>React App</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.min.css">
<link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet">
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.min.js"></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment