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); |