first commit

master
Krasnikov.pro 3 years ago
parent c979223672
commit c96083362a
  1. 3
      .babelrc
  2. 3
      .eslintignore
  3. 47
      .eslintrc.json
  4. 34
      .gitignore
  5. 0
      .history/.env_20220613182216.local
  6. 12
      .history/.env_20220613182253.local
  7. 12
      .history/.env_20220613182355.local
  8. 12
      .history/.env_20220613182359.local
  9. 12
      .history/.env_20220613183941.local
  10. 32
      .history/README_20220703210635.md
  11. 3
      .history/README_20220703210732.md
  12. 3
      .history/README_20220703211017.md
  13. 42
      .history/components/Head_20210629061557.tsx
  14. 42
      .history/components/Head_20220613104435.tsx
  15. 42
      .history/components/Head_20220702135959.tsx
  16. 0
      .history/components/LaodingComandForm_20220701202504.tsx
  17. 12
      .history/components/LaodingComandForm_20220701202526.tsx
  18. 44
      .history/components/Layout_20210629061557.tsx
  19. 44
      .history/components/Layout_20220611153924.tsx
  20. 44
      .history/components/Layout_20220611153935.tsx
  21. 44
      .history/components/Layout_20220611154155.tsx
  22. 44
      .history/components/Layout_20220702183857.tsx
  23. 44
      .history/components/Layout_20220702183915.tsx
  24. 44
      .history/components/Layout_20220702183941.tsx
  25. 44
      .history/components/Layout_20220702183948.tsx
  26. 44
      .history/components/Layout_20220702184012.tsx
  27. 44
      .history/components/Layout_20220702184020.tsx
  28. 44
      .history/components/Layout_20220702184148.tsx
  29. 44
      .history/components/Layout_20220702184157.tsx
  30. 44
      .history/components/Layout_20220702184204.tsx
  31. 44
      .history/components/Layout_20220702184210.tsx
  32. 44
      .history/components/Layout_20220702184216.tsx
  33. 44
      .history/components/Layout_20220702184221.tsx
  34. 44
      .history/components/Layout_20220702184224.tsx
  35. 44
      .history/components/Layout_20220702184228.tsx
  36. 44
      .history/components/Layout_20220702184232.tsx
  37. 44
      .history/components/Layout_20220702184235.tsx
  38. 44
      .history/components/Layout_20220702184237.tsx
  39. 44
      .history/components/Layout_20220702184239.tsx
  40. 44
      .history/components/Layout_20220702184242.tsx
  41. 44
      .history/components/Layout_20220702184247.tsx
  42. 44
      .history/components/Layout_20220702184250.tsx
  43. 44
      .history/components/Layout_20220702184252.tsx
  44. 44
      .history/components/Layout_20220702184301.tsx
  45. 44
      .history/components/Layout_20220702184509.tsx
  46. 44
      .history/components/Layout_20220702184514.tsx
  47. 44
      .history/components/Layout_20220702184522.tsx
  48. 44
      .history/components/Layout_20220702184526.tsx
  49. 12
      .history/components/LoadingTeamsForm_20220701202525.tsx
  50. 12
      .history/components/LoadingTeamsForm_20220701202621.tsx
  51. 45
      .history/components/LoadingTeamsForm_20220701202854.tsx
  52. 47
      .history/components/LoadingTeamsForm_20220701202934.tsx
  53. 47
      .history/components/LoadingTeamsForm_20220701202947.tsx
  54. 47
      .history/components/LoadingTeamsForm_20220701203044.tsx
  55. 47
      .history/components/LoadingTeamsForm_20220701203119.tsx
  56. 50
      .history/components/LoadingTeamsForm_20220701203333.tsx
  57. 50
      .history/components/LoadingTeamsForm_20220701203352.tsx
  58. 51
      .history/components/LoadingTeamsForm_20220701203432.tsx
  59. 51
      .history/components/LoadingTeamsForm_20220701203502.tsx
  60. 51
      .history/components/LoadingTeamsForm_20220701203513.tsx
  61. 55
      .history/components/LoadingTeamsForm_20220701203920.tsx
  62. 55
      .history/components/LoadingTeamsForm_20220701203941.tsx
  63. 55
      .history/components/LoadingTeamsForm_20220701204028.tsx
  64. 55
      .history/components/LoadingTeamsForm_20220701204102.tsx
  65. 54
      .history/components/LoadingTeamsForm_20220701204119.tsx
  66. 60
      .history/components/LoadingTeamsForm_20220701204712.tsx
  67. 60
      .history/components/LoadingTeamsForm_20220701204818.tsx
  68. 60
      .history/components/LoadingTeamsForm_20220701204829.tsx
  69. 60
      .history/components/LoadingTeamsForm_20220701204855.tsx
  70. 60
      .history/components/LoadingTeamsForm_20220701204859.tsx
  71. 82
      .history/components/LoadingTeamsForm_20220701205041.tsx
  72. 65
      .history/components/LoadingTeamsForm_20220701205124.tsx
  73. 65
      .history/components/LoadingTeamsForm_20220701205128.tsx
  74. 67
      .history/components/LoadingTeamsForm_20220701205153.tsx
  75. 62
      .history/components/LoadingTeamsForm_20220701205330.tsx
  76. 61
      .history/components/LoadingTeamsForm_20220701205337.tsx
  77. 61
      .history/components/LoadingTeamsForm_20220701210654.tsx
  78. 61
      .history/components/LoadingTeamsForm_20220701210745.tsx
  79. 61
      .history/components/LoadingTeamsForm_20220701210818.tsx
  80. 61
      .history/components/LoadingTeamsForm_20220701210826.tsx
  81. 61
      .history/components/LoadingTeamsForm_20220701210843.tsx
  82. 61
      .history/components/LoadingTeamsForm_20220701210857.tsx
  83. 61
      .history/components/LoadingTeamsForm_20220701210907.tsx
  84. 62
      .history/components/LoadingTeamsForm_20220701211023.tsx
  85. 62
      .history/components/LoadingTeamsForm_20220701211259.tsx
  86. 62
      .history/components/LoadingTeamsForm_20220701211402.tsx
  87. 62
      .history/components/LoadingTeamsForm_20220701211417.tsx
  88. 62
      .history/components/LoadingTeamsForm_20220701211429.tsx
  89. 62
      .history/components/LoadingTeamsForm_20220701211437.tsx
  90. 62
      .history/components/LoadingTeamsForm_20220701211447.tsx
  91. 62
      .history/components/LoadingTeamsForm_20220701211457.tsx
  92. 62
      .history/components/LoadingTeamsForm_20220701211518.tsx
  93. 62
      .history/components/LoadingTeamsForm_20220701211528.tsx
  94. 62
      .history/components/LoadingTeamsForm_20220701211541.tsx
  95. 63
      .history/components/LoadingTeamsForm_20220701211603.tsx
  96. 63
      .history/components/LoadingTeamsForm_20220701211622.tsx
  97. 63
      .history/components/LoadingTeamsForm_20220701211653.tsx
  98. 63
      .history/components/LoadingTeamsForm_20220701211719.tsx
  99. 63
      .history/components/LoadingTeamsForm_20220701211727.tsx
  100. 63
      .history/components/LoadingTeamsForm_20220701211732.tsx
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,3 @@
{
"presets": ["next/babel"]
}

@ -0,0 +1,3 @@
**/node_modules/*
**/out/*
**/.next/*

@ -0,0 +1,47 @@
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:@typescript-eslint/recommended"
// Uncomment the following lines to enable eslint-config-prettier
// Is not enabled right now to avoid issues with the Next.js repo
// "prettier",
],
"env": {
"es6": true,
"browser": true,
"jest": true,
"node": true
},
"settings": {
"react": {
"version": "detect"
}
},
"rules": {
"react/react-in-jsx-scope": 0,
"react/display-name": 0,
"react/prop-types": 0,
"@typescript-eslint/explicit-function-return-type": 0,
"@typescript-eslint/explicit-member-accessibility": 0,
"@typescript-eslint/indent": 0,
"@typescript-eslint/member-delimiter-style": 0,
"@typescript-eslint/no-explicit-any": 0,
"@typescript-eslint/no-var-requires": 0,
"@typescript-eslint/no-use-before-define": 0,
"@typescript-eslint/no-unused-vars": [
2,
{
"argsIgnorePattern": "^_"
}
],
"no-console": [
2,
{
"allow": ["warn", "error"]
}
]
}
}

34
.gitignore vendored

@ -0,0 +1,34 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# next.js
/.next/
/out/
# production
/build
# misc
.DS_Store
*.pem
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# local env files
.env.local
.env.development.local
.env.test.local
.env.production.local
# vercel
.vercel

@ -0,0 +1,12 @@
// .env.local
USER_="crapshr6_robotop"
HOST="crapshr6.beget.tech"
DATABASE="crapshr6_pizza"
PASSWORD="M2PJD&wG"
MAILSERVER="smtp.beget.com"
MAILNAME="service@vsst.su"
MAILPASS = "&ekS0NPD"
SITE="http://localhost:3000/api/"

@ -0,0 +1,12 @@
// .env.local
USER_="crapshr6_robotop"
HOST="crapshr6.beget.tech"
DATABASE="crapshr6_robotop"
PASSWORD="5NC*%v0v"
MAILSERVER="smtp.beget.com"
MAILNAME="service@vsst.su"
MAILPASS = "&ekS0NPD"
SITE="http://localhost:3000/api/"

@ -0,0 +1,12 @@
// .env.local
USER_="crapshr6_robotop"
HOST="crapshr6.beget.tech"
DATABASE="crapshr6_robotop"
PASSWORD="5NC*%v0v"
MAILSERVER="smtp.beget.com"
MAILNAME="service@vsst.su"
MAILPASS = "&ekS0NPD"
SITE="http://localhost:3000/api/"

@ -0,0 +1,12 @@
// .env.local
USER_="crapshr6_robotop"
HOST="crapshr6.beget.tech"
DATABASE="crapshr6_robotop"
PASSWORD="sJ9&alNk"
MAILSERVER="smtp.beget.com"
MAILNAME="service@vsst.su"
MAILPASS = "&ekS0NPD"
SITE="http://localhost:3000/api/"

@ -0,0 +1,32 @@
# NextJS - Typescript - MDX - Blog
A Next.js starter for your next blog or personal site. Built with:
- [Typescript](https://www.typescriptlang.org/)
- Write posts with [MDX](https://mdxjs.com/)
- Style with [Tailwind CSS](https://tailwindcss.com/)
- Linting with [ESLint](https://eslint.org/)
- Formatting with [Prettier](https://prettier.io/)
- Linting, typechecking and formatting on by default using [`husky`](https://github.com/typicode/husky) for commit hooks
- Testing with [Jest](https://jestjs.io/) and [`react-testing-library`](https://testing-library.com/docs/react-testing-library/intro)
This Starter is **heavily** inspired by [Lee Robinson](https://github.com/leerob/leerob.io) and [Anson Lichtfuss](https://github.com/ansonlichtfuss/website).
👀 [View the Live Demo](https://nextjs-typescript-mdx-blog.vercel.app/)
## Getting Started
```bash
git clone https://github.com/ChangoMan/nextjs-typescript-mdx-blog.git
cd nextjs-typescript-mdx-blog
yarn install
# or
npm install
yarn dev
# or
npm run dev
```
Your new site will be up at http://localhost:3000/

@ -0,0 +1,3 @@
# NextJS - Typescript - MDX - Blog
A Next.js starter for your next blog or personal site. Built with:

@ -0,0 +1,3 @@
# RoboTop - Сайт для робототехнического фестиваля
Next.js

@ -0,0 +1,42 @@
import NextHead from 'next/head';
import { useRouter } from 'next/router';
import React from 'react';
import { MetaProps } from '../types/layout';
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Head = ({ customMeta }: { customMeta?: MetaProps }): JSX.Element => {
const router = useRouter();
const meta: MetaProps = {
title: 'Hunter Chang - Website',
description:
'Sleep Deprived Father. Senior Web Developer. Lover of all things Ramen and Kpop.',
image: `${WEBSITE_HOST_URL}/images/site-preview.png`,
type: 'website',
...customMeta,
};
return (
<NextHead>
<title>{meta.title}</title>
<meta content={meta.description} name="description" />
<meta property="og:url" content={`${WEBSITE_HOST_URL}${router.asPath}`} />
<link rel="canonical" href={`${WEBSITE_HOST_URL}${router.asPath}`} />
<meta property="og:type" content={meta.type} />
<meta property="og:site_name" content="Hunter Chang - Website" />
<meta property="og:description" content={meta.description} />
<meta property="og:title" content={meta.title} />
<meta property="og:image" content={meta.image} />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@huntarosan" />
<meta name="twitter:title" content={meta.title} />
<meta name="twitter:description" content={meta.description} />
<meta name="twitter:image" content={meta.image} />
{meta.date && (
<meta property="article:published_time" content={meta.date} />
)}
</NextHead>
);
};
export default Head;

@ -0,0 +1,42 @@
import NextHead from 'next/head';
import { useRouter } from 'next/router';
import React from 'react';
import { MetaProps } from '../types/layout';
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Head = ({ customMeta }: { customMeta?: MetaProps }): JSX.Element => {
const router = useRouter();
const meta: MetaProps = {
title: 'РоботТоп - робототехнический фестиваль',
description:
'Sleep Deprived Father. Senior Web Developer. Lover of all things Ramen and Kpop.',
image: `${WEBSITE_HOST_URL}/images/site-preview.png`,
type: 'website',
...customMeta,
};
return (
<NextHead>
<title>{meta.title}</title>
<meta content={meta.description} name="description" />
<meta property="og:url" content={`${WEBSITE_HOST_URL}${router.asPath}`} />
<link rel="canonical" href={`${WEBSITE_HOST_URL}${router.asPath}`} />
<meta property="og:type" content={meta.type} />
<meta property="og:site_name" content="Hunter Chang - Website" />
<meta property="og:description" content={meta.description} />
<meta property="og:title" content={meta.title} />
<meta property="og:image" content={meta.image} />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@huntarosan" />
<meta name="twitter:title" content={meta.title} />
<meta name="twitter:description" content={meta.description} />
<meta name="twitter:image" content={meta.image} />
{meta.date && (
<meta property="article:published_time" content={meta.date} />
)}
</NextHead>
);
};
export default Head;

@ -0,0 +1,42 @@
import NextHead from 'next/head';
import { useRouter } from 'next/router';
import React from 'react';
import { MetaProps } from '../types/layout';
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Head = ({ customMeta }: { customMeta?: MetaProps }): JSX.Element => {
const router = useRouter();
const meta: MetaProps = {
title: 'РоботТоп - робототехнический фестиваль',
description:
'РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.',
image: `${WEBSITE_HOST_URL}/images/site-preview.png`,
type: 'website',
...customMeta,
};
return (
<NextHead>
<title>{meta.title}</title>
<meta content={meta.description} name="РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды." />
<meta property="og:url" content={`${WEBSITE_HOST_URL}${router.asPath}`} />
<link rel="canonical" href={`${WEBSITE_HOST_URL}${router.asPath}`} />
<meta property="og:type" content={meta.type} />
<meta property="og:site_name" content="РоботТоп - робототехнический фестиваль" />
<meta property="og:description" content={meta.description} />
<meta property="og:title" content={meta.title} />
<meta property="og:image" content={meta.image} />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@huntarosan" />
<meta name="twitter:title" content={meta.title} />
<meta name="twitter:description" content={meta.description} />
<meta name="twitter:image" content={meta.image} />
{meta.date && (
<meta property="article:published_time" content={meta.date} />
)}
</NextHead>
);
};
export default Head;

@ -0,0 +1,12 @@
import React from 'react';
export const RegistrationForm = (): JSX.Element => {
return (
<>
</>
);
};
export default RegistrationForm;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Built by{' '}
<a
className="text-gray-900 dark:text-white"
href="https://twitter.com/huntarosan"
>
Hunter Chang
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://twitter.com/huntarosan"
>
Pavel Krasnikov
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Pavel Krasnikov
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="p-4 w-full">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="p-4 w-full">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w-md">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto ">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-2xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-3xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-4xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-6xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-7xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-1x2 px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-1x5 px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5x5 px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-3xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className=" px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,44 @@
import React from 'react';
import { MetaProps } from '../types/layout';
import Head from './Head';
import Navigation from './Navigation';
import ThemeSwitch from './ThemeSwitch';
type LayoutProps = {
children: React.ReactNode;
customMeta?: MetaProps;
};
export const WEBSITE_HOST_URL = 'https://nextjs-typescript-mdx-blog.vercel.app';
const Layout = ({ children, customMeta }: LayoutProps): JSX.Element => {
return (
<>
<Head customMeta={customMeta} />
<header>
<div className="max-w-5xl px-8 mx-auto">
<div className="flex items-center justify-between py-6">
<Navigation />
<ThemeSwitch />
</div>
</div>
</header>
<main>
<div className="max-w-5xl px-8 py-4 mx-auto max-w">{children}</div>
</main>
<footer className="py-8">
<div className="max-w-5xl px-8 mx-auto">
Разработано{' '}
<a
className="text-gray-900 dark:text-white"
href="https://krasnikov.pro"
>
Krasnikov.pro
</a>
</div>
</footer>
</>
);
};
export default Layout;

@ -0,0 +1,12 @@
import React from 'react';
export const RegistrationForm = (): JSX.Element => {
return (
<>
</>
);
};
export default RegistrationForm;

@ -0,0 +1,12 @@
import React from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
return (
<>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,45 @@
import React from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,47 @@
import React from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => console.log(json.user))
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,47 @@
import React from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => console.log(json.user))
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,47 @@
import React from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => console.log(res))
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,47 @@
import React from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => console.log(json))
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,50 @@
import React, {useState} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState(0);
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json.user))
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,50 @@
import React, {useState} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState(0);
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,51 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState(0);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
});
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,51 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState(0);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,51 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState(0);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
Фиксики
</th>
<td className="px-6 py-4">
МАОУ СОШ 103
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,55 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState(0);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows) => {
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
}
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,55 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows) => {
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
}
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,55 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,55 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,54 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,60 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
Иван, Петр, Дмитрий
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,60 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +' ' + rows.name_second_participant + ' ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,60 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,60 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', /n' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,60 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,82 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<><div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
</table>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,65 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<><div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
</table>
</div>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,65 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<><div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
</table>
</div>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,67 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<><div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
)
)}
</tbody>
</table>
</div>
</>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,61 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Класс
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
1
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,61 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,61 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{rows.class}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,61 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(...rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,61 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,61 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows,count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min([rows.class])}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,61 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,61 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class[0])}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(parseInt(rows.class, 10))}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(parseInt(rows.class))}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min([4,5,7]}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min((4,5,7)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(4,5,7)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(5,4,7)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{rows.class}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,62 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,63 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(user[3].class)
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,63 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(Math.min(user[3].class))
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,63 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(Math.min(user[2].class))
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,63 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(Math.min(5,2,6))
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,63 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(Math.min(5,6,8))
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

@ -0,0 +1,63 @@
import React, {useState, useEffect} from 'react';
export const LoadingTeamsForm = (): JSX.Element => {
const [user, setUser] = useState([]);
useEffect(() => {
fetch('/api/loadingLegisteredCommands', { method: 'POST'})
.then(res => res.json())
.then(json => setUser(json))
},[1]);
console.log(Math.min(8,6,8))
return (
<div className="relative overflow-x-auto shadow-md sm:rounded-lg">
<div className="px-4 sm:px-2 m-4 block">
<h3 className="text-lg font-medium leading-6">Зарегистрированные команды</h3>
</div>
<table className="w-full text-sm text-left text-gray-500 dark:text-gray-400">
<thead className="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" className="px-6 py-3">
Название команды
</th>
<th scope="col" className="px-6 py-3">
ФИО тренера
</th>
<th scope="col" className="px-6 py-3">
Учебное заведение
</th>
<th scope="col" className="px-6 py-3">
ФИО участников
</th>
<th scope="col" className="px-6 py-3">
Возрастная группа
</th>
</tr>
</thead>
<tbody>
{user.map((rows, count) => (
<tr className="bg-white border-b dark:bg-gray-800 dark:border-gray-700" key={count}>
<th scope="row" className="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
{rows.team_name}
</th>
<td className="px-6 py-4">
{rows.name_team_coach}
</td>
<td className="px-6 py-4">
{rows.training_institution_team}
</td>
<td className="px-6 py-4">
{rows.name_first_participant +', ' + rows.name_second_participant + ', ' + rows.name_third_party}
</td>
<td className="px-6 py-4">
{Math.min(rows.class)}
</td>
</tr>
) )}
</tbody>
</table>
</div>
);
};
export default LoadingTeamsForm;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save