Skip to content

Instantly share code, notes, and snippets.

View cupid-dust's full-sized avatar

Ahsan Ali Mansoor cupid-dust

  • Spadasoft
  • Lahore
View GitHub Profile
import React, { useState, useTransition } from 'react';
function App() {
const [name, setName] = useState<string>('');
const [lists, setLists] = useState<string[]>([]);
const [isPending, startTransition] = useTransition();
const LIST_SIZE: number = 10000;
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const { value } = e.target;
import React, { useState } from 'react';
function App() {
const [name, setName] = useState<string>('');
const [lists, setLists] = useState<string[]>([]);
const LIST_SIZE: number = 10000;
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const { value } = e.target;
import React, { useState } from 'react';
function App() {
const [name, setName] = useState<string>('');
const [count, setCount] = useState<number>(0);
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const { value } = e.target;
setName(value);
setCount((prevCount: number) => prevCount + 1);
import { Suspense, lazy } from 'react';
import type { RouteObject } from 'react-router';
import LoadingScreen from './components/LoadingScreen';
import MainLayout from './layout/MainLayout';
import AuthGuard from './components/AuthGuard';
import GuestGuard from './components/GuestGuard';
const Loadable = (Component: any) => (props: JSX.IntrinsicAttributes) =>
(
<Suspense fallback={<LoadingScreen />}>
import type { FC, ReactNode } from 'react';
import { Navigate } from 'react-router-dom';
import PropTypes from 'prop-types';
import useAuth from '../hooks/useAuth';
interface GuestGuardProps {
children: ReactNode;
}
const GuestGuard: FC<GuestGuardProps> = ({ children }) => {
import { Suspense, lazy } from 'react';
import type { RouteObject } from 'react-router';
import LoadingScreen from './components/LoadingScreen';
import MainLayout from './layout/MainLayout';
import AuthGuard from './components/AuthGuard';
const Loadable = (Component: any) => (props: JSX.IntrinsicAttributes) =>
(
<Suspense fallback={<LoadingScreen />}>
<Component {...props} />
import type { FC, ReactNode } from 'react';
import { useState } from 'react';
import { Navigate, useLocation } from 'react-router-dom';
import PropTypes from 'prop-types';
import useAuth from '../hooks/useAuth';
import Login from '../pages/authentication/Login';
interface AuthGuardProps {
children: ReactNode;
}
import routes from './routes';
import { useRoutes } from 'react-router-dom';
const App = () => {
const content = useRoutes(routes);
return content;
};
export default App;
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { BrowserRouter } from 'react-router-dom';
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement
);
import { Suspense, lazy } from 'react';
import type { RouteObject } from 'react-router';
import LoadingScreen from './components/LoadingScreen';
import MainLayout from './layout/MainLayout';
const Loadable = (Component: any) => (props: JSX.IntrinsicAttributes) =>
(
<Suspense fallback={<LoadingScreen />}>
<Component {...props} />
</Suspense>