Getting started:
Related tutorials:
- MySQL-CLI: https://www.youtube.com/playlist?list=PLfdtiltiRHWEw4-kRrh1ZZy_3OcQxTn7P
- Analyzing Business Metrics: https://www.codecademy.com/learn/sql-analyzing-business-metrics
'use strict' | |
const Chatbot = require('app/SaaS/Chat/Models/Chatbots/Chatbot') | |
const NodeChatbot = require('app/SaaS/Chat/Models/Chatbots/NodeChatbot') | |
const ChatbotService = require('app/SaaS/Chat/Services/Chatbots/ChatbotService') | |
const Ticket = require('app/SaaS/Chat/Models/Conversations/Ticket') | |
const Message = require('app/SaaS/Chat/Models/Messages/Message') | |
const User = require('app/Http/Models/Users/User') | |
class ChatbotChatService { |
//Refences | |
//https://stackblitz.com/github/remix-run/react-router/tree/main/examples/auth?file=src%2FApp.tsx | |
https://gist.github.com/mfrancois3k/ceb8ab4cc79cdf525b342ea18a3ec52e | |
import * as React from "react"; | |
import { | |
Routes, | |
Route, | |
Link, |
Getting started:
Related tutorials:
import React, { useContext, useState, useEffect, createContext } from 'react'; | |
import { supabase } from '../supabase'; | |
// create a context for authentication | |
const AuthContext = createContext(); | |
export const AuthProvider = ({ children }) => { | |
// create state values for user data and loading | |
const [user, setUser] = useState(); | |
const [loading, setLoading] = useState(true); |
const MaterialForm = () => { | |
const handleSubmit = React.useCallback((values: IFormValues, actions) => { | |
signUp(values); | |
actions.setSubmitting(false); | |
}, []); | |
return ( | |
<Formik<IFormValues> | |
initialValues={{ |
import React, { useState } from 'react'; | |
import { makeStyles } from '@material-ui/core/styles'; | |
import Drawer from '@material-ui/core/Drawer'; | |
import AppBar from '@material-ui/core/AppBar'; | |
import CssBaseline from '@material-ui/core/CssBaseline'; | |
import Toolbar from '@material-ui/core/Toolbar'; | |
import List from '@material-ui/core/List'; | |
import Typography from '@material-ui/core/Typography'; | |
import ListItem from '@material-ui/core/ListItem'; | |
import ListItemIcon from '@material-ui/core/ListItemIcon'; |
import React from "react"; | |
import TextField from "@material-ui/core/TextField"; | |
import useStyles from "./Styles"; | |
import peaboxlogoMini from "../../images/miniLogo.png"; | |
import Logo from "../Logo"; | |
import { Button, Grid } from "@material-ui/core"; | |
import SearchIcon from "@material-ui/icons/Search"; | |
import InputAdornment from "@material-ui/core/InputAdornment"; | |
const FilterSearchBar = ({ handleOpenModal }) => { |
export const NameField = createField({ | |
view: ({ value, onChange }) => <Input value={value} onChange={onChange} /> | |
}) |
let { paramCase } = await npm("change-case"); | |
// let console.log = (str) => chalk.green`${str}` | |
// let console.warn = (str) => chalk.red`${str}` | |
// https://egghead.io/playlists/ | |
// let eggAxios = axios.create({ | |
// baseURL: 'https://egghead.io', | |
// headers: {Authorization: `Bearer ${env.EGGHEAD_AUTH_TOKEN}`}, | |
// }) |
import { useState, useEffect } from "react"; | |
export const usePasswordValidation = ({ firstPassword = "", secondPassword = "" }) => { | |
const [validLength, setValidLength] = useState(null); | |
const [hasNumber, setHasNumber] = useState(null); | |
const [upperCase, setUpperCase] = useState(null); | |
const [lowerCase, setLowerCase] = useState(null); | |
const [specialChar, setSpecialChar] = useState(null); | |
const [match, setMatch] = useState(null); |