Skip to content

Instantly share code, notes, and snippets.

View Daltonic's full-sized avatar

Darlington Gospel Daltonic

View GitHub Profile
@Daltonic
Daltonic / main.js
Created March 19, 2021 13:26
Tinder clone main.js entry file
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import { CometChat } from '@cometchat-pro/chat'
import { auth } from './firebase'
Vue.config.productionTip = false
router.beforeEach((to, from, next) => {
const requiresAuth = to.matched.some((record) => record.meta.requiresAuth)
@Daltonic
Daltonic / router.js
Created March 19, 2021 13:31
Tinder clone router.js
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const routes = [
{
path: '/',
component: () => import(/* webpackChunkName: "home" */ './views/Home.vue'),
name: 'home',
@Daltonic
Daltonic / firebase.js
Created March 19, 2021 13:33
Tinder clone firebase.js
import firebase from 'firebase/app'
import 'firebase/auth'
const firebaseConfig = {
apiKey: process.env.VUE_APP_BASE_APIKEY,
authDomain: process.env.VUE_APP_BASE_AUTHDOMAIN,
projectId: process.env.VUE_APP_BASE_PROJECTID,
storageBucket: process.env.VUE_APP_BASE_STORAGEBUCKET,
messagingSenderId: process.env.VUE_APP_BASE_MESSAGINGSENDERID,
appId: process.env.VUE_APP_BASE_APPID,
@Daltonic
Daltonic / App.vue
Last active March 24, 2021 09:37
Tinder clone App.vue
<template>
<div id="app">
<router-view :key="$route.path"/>
</div>
</template>
<script>
export default {
name: "app",
};
@Daltonic
Daltonic / Register.vue
Created March 19, 2021 13:43
Tinder clone Register.vue
<template>
<div class="register__box">
<h2>Register</h2>
<form @submit.prevent="onSubmit">
<div class="user__box">
<input type="text" required minlength="5" v-model="form.fullname" />
<label>Fullname</label>
</div>
<div class="user__box">
@Daltonic
Daltonic / Login.vue
Last active March 24, 2021 09:37
Tinder clone Login.vue
<template>
<div class="login__box">
<h2>Login</h2>
<form @submit.prevent="onSubmit">
<div class="user__box">
<input type="email" required v-model="form.email" />
<label>Email</label>
</div>
<div class="user__box">
@Daltonic
Daltonic / Forget.vue
Created March 19, 2021 13:57
Tinder clone Forget.vue
<template>
<div class="forget__box">
<h2>Forget</h2>
<form @submit.prevent="onSubmit">
<div class="user__box">
<input type="email" required v-model="form.email" />
<label>Email</label>
</div>
<button type="submit">
<span></span>
@Daltonic
Daltonic / MainHeader.vue
Created March 19, 2021 14:06
Tinder clone MainHeader.vue
<template>
<div id="main-header">
<router-link class="header__icon mobile--only" to="/friends">
<AccountGroupIcon fillColor="#989898" :size="30" />
</router-link>
<router-link class="header__icon" to="/">
<FireIcon fillColor="#fd5068" :size="40" />
</router-link>
@Daltonic
Daltonic / SideBar.vue
Created March 19, 2021 14:09
Tinder clone SideBar.vue
<template>
<div class="sidebar">
<div class="sidebar__header">
<div class="header__left">
<div class="sidebar__avatar">
<CometChatAvatar :image="avatar" />
</div>
<router-link to="/profile" :title="name">My Profile</router-link>
</div>
<div class="header__right">
@Daltonic
Daltonic / Messages.vue
Created March 19, 2021 14:14
Tinder clone Messages.vue
<template>
<div class="sidebar__messages">
<h4 class="message__title">{{ title }}</h4>
<router-link
:to="'/chats/' + user.uid"
v-for="user in users"
:key="user.uid"
:class="[uid == user.uid ? 'active' : '', 'sidebar__message']"
>
<div class="message__left">