Merge branch 'uitest'
merge
This commit is contained in:
commit
4895d3b889
5 changed files with 192 additions and 44 deletions
|
@ -1,24 +0,0 @@
|
||||||
import Image from "next/image";
|
|
||||||
|
|
||||||
export default function Home() {
|
|
||||||
return (
|
|
||||||
<main className="grid min-h-full place-items-center bg-white px-6 py-24 sm:py-32 lg:px-8">
|
|
||||||
<div className="text-center">
|
|
||||||
<p className="text-base font-semibold text-indigo-600">404</p>
|
|
||||||
<h1 className="mt-4 text-3xl font-bold tracking-tight text-gray-900 sm:text-5xl">Page not found</h1>
|
|
||||||
<p className="mt-6 text-base leading-7 text-gray-600">Sorry, we couldn’t find the page you’re looking for.</p>
|
|
||||||
<div className="mt-10 flex items-center justify-center gap-x-6">
|
|
||||||
<a
|
|
||||||
href="#"
|
|
||||||
className="rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
|
|
||||||
>
|
|
||||||
Go back home
|
|
||||||
</a>
|
|
||||||
<a href="#" className="text-sm font-semibold text-gray-900">
|
|
||||||
Contact support <span aria-hidden="true">→</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
);
|
|
||||||
}
|
|
65
app/page.tsx
65
app/page.tsx
|
@ -1,23 +1,50 @@
|
||||||
import Image from "next/image";
|
|
||||||
|
|
||||||
async function getData() {
|
import { Fragment } from 'react'
|
||||||
const res = await fetch('https://my-json-server.typicode.com/typicode/demo/posts');
|
import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
|
||||||
// The return value is *not* serialized
|
import { ChevronDownIcon } from '@heroicons/react/20/solid'
|
||||||
// You can return Date, Map, Set, etc.
|
function classNames(...classes) {
|
||||||
|
return classes.filter(Boolean).join(' ')
|
||||||
if (!res.ok) {
|
|
||||||
// This will activate the closest `error.js` Error Boundary
|
|
||||||
throw new Error('Failed to fetch data');
|
|
||||||
}
|
|
||||||
|
|
||||||
return res.json()
|
|
||||||
}
|
}
|
||||||
|
export default function Example() {
|
||||||
export default async function Home() {
|
|
||||||
const data = await getData();
|
|
||||||
return (
|
return (
|
||||||
<main>
|
<div className="bg-black">
|
||||||
<p className = "text-lg font-sans hover:text-xl">{ data[ 1 ].title } </p>
|
<div style={{ display:"flex", alignItems: 'center', justifyContent: 'center', paddingTop:'40px'}}><img className="flex" src="/logo-no-background.png" height="auto" width="40%" style={{ alignSelf: 'center'}}></img></div>
|
||||||
</main>
|
<div className="mx-auto max-w-7xl py-24 sm:px-6 sm:py-32 lg:px-8">
|
||||||
);
|
<div className="relative isolate overflow-hidden bg-gray-900 px-6 pt-16 shadow-2xl sm:rounded-3xl sm:px-16 md:pt-24 lg:flex lg:gap-x-20 lg:px-24 lg:pt-0">
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 1024 1024"
|
||||||
|
className="absolute left-1/2 top-1/2 -z-10 h-[64rem] w-[64rem] -translate-y-1/2 [mask-image:radial-gradient(closest-side,white,transparent)] sm:left-full sm:-ml-80 lg:left-1/2 lg:ml-0 lg:-translate-x-1/2 lg:translate-y-0"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<circle cx={512} cy={512} r={512} fill="url(#759c1415-0410-454c-8f7c-9a820de03641)" fillOpacity="0.7" />
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="759c1415-0410-454c-8f7c-9a820de03641">
|
||||||
|
<stop stopColor="#7775D6" />
|
||||||
|
<stop offset={1} stopColor="#E935C1" />
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
<div className="mx-auto max-w-md text-center lg:mx-0 lg:flex-auto lg:py-32 lg:text-left">
|
||||||
|
<h2 className="text-3xl font-bold tracking-tight text-white sm:text-4xl">
|
||||||
|
Start using flash cards
|
||||||
|
<br />
|
||||||
|
Begin with our app today.
|
||||||
|
</h2>
|
||||||
|
<p className="mt-6 text-lg leading-8 text-gray-300">
|
||||||
|
Get questions from a multitude of different subjects that include cybersecurity, geography and C++
|
||||||
|
</p>
|
||||||
|
<div className="mt-10 flex items-center justify-center gap-x-6 lg:justify-start">
|
||||||
|
<a
|
||||||
|
href="sessionconfig"
|
||||||
|
className="rounded-md bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm hover:bg-gray-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white"
|
||||||
|
>
|
||||||
|
Get started
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
144
app/sessionconfig/page.tsx
Normal file
144
app/sessionconfig/page.tsx
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
import { CheckIcon } from '@heroicons/react/20/solid'
|
||||||
|
|
||||||
|
const includedFeatures = [
|
||||||
|
'Private forum access',
|
||||||
|
'Member resources',
|
||||||
|
'Entry to annual conference',
|
||||||
|
'Official member t-shirt',
|
||||||
|
]
|
||||||
|
|
||||||
|
export default function Example() {
|
||||||
|
return (
|
||||||
|
<div className="bg-black py-24 sm:py-32">
|
||||||
|
<div style={{ display:"flex", alignItems: 'center', justifyContent: 'center', paddingTop:'40px'}}><img className="flex" src="/logo-no-background.png" height="auto" width="40%" style={{ alignSelf: 'center'}}></img></div>
|
||||||
|
<div className="mx-auto max-w-7xl px-6 lg:px-8">
|
||||||
|
<div className="mx-auto mt-16 max-w-2xl rounded-3xl ring-1 ring-gray-200 sm:mt-20 lg:mx-0 lg:flex lg:max-w-none relative isolate overflow-hidden bg-gray-900 px-6 pt-16 shadow-2xl sm:rounded-3xl sm:px-16 md:pt-24 lg:flex lg:gap-x-20 lg:px-24 lg:pt-0">
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 1024 1024"
|
||||||
|
className="absolute left-1/2 top-1/2 -z-10 h-[64rem] w-[64rem] -translate-y-1/2 [mask-image:radial-gradient(closest-side,white,transparent)] sm:left-full sm:-ml-80 lg:left-1/2 lg:ml-0 lg:-translate-x-1/2 lg:translate-y-0"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<circle cx={512} cy={512} r={512} fill="url(#759c1415-0410-454c-8f7c-9a820de03641)" fillOpacity="0.7" />
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="759c1415-0410-454c-8f7c-9a820de03641">
|
||||||
|
<stop stopColor="#7775D6" />
|
||||||
|
<stop offset={1} stopColor="#E935C1" />
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
<div className="p-8 sm:p-10 lg:flex-auto ">
|
||||||
|
<h3 className="text-2xl font-bold tracking-tight text-gray-200">Learn cybersecurity</h3>
|
||||||
|
<p className="mt-6 text-base leading-7 text-gray-200">
|
||||||
|
Learning cybersecurity is like becoming the guardian of the digital realm.
|
||||||
|
It's about mastering the art of protecting information, systems, and networks from cyber threats.
|
||||||
|
From understanding encryption algorithms to detecting malware, every lesson equips you with tools to fortify against cyber-attacks.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="-mt-2 p-2 lg:mt-0 lg:w-full lg:max-w-md lg:flex-shrink-0">
|
||||||
|
<div className="rounded-2xl bg-gray-50 py-10 text-center ring-1 ring-inset ring-gray-900/5 lg:flex lg:flex-col lg:justify-center lg:py-16">
|
||||||
|
<div className="mx-auto max-w-xs px-8">
|
||||||
|
<p className="mt-6 flex items-baseline justify-center gap-x-2">
|
||||||
|
<span className="text-5xl font-bold tracking-tight text-gray-900">Start</span>
|
||||||
|
<span className="text-sm font-semibold leading-6 tracking-wide text-gray-900">now!</span>
|
||||||
|
</p>
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
className="mt-10 block w-full rounded-md bg-indigo-600 px-3 py-2 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
|
||||||
|
>
|
||||||
|
Begin
|
||||||
|
</a>
|
||||||
|
<p className="mt-6 text-xs leading-5 text-gray-600">
|
||||||
|
Take a short quiz to begin learning faster than ever
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mx-auto mt-16 max-w-2xl rounded-3xl ring-1 ring-gray-200 sm:mt-20 lg:mx-0 lg:flex lg:max-w-none relative isolate overflow-hidden bg-gray-900 px-6 pt-16 shadow-2xl sm:rounded-3xl sm:px-16 md:pt-24 lg:flex lg:gap-x-20 lg:px-24 lg:pt-0">
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 1024 1024"
|
||||||
|
className="absolute left-1/2 top-1/2 -z-10 h-[64rem] w-[64rem] -translate-y-1/2 [mask-image:radial-gradient(closest-side,white,transparent)] sm:left-full sm:-ml-80 lg:left-1/2 lg:ml-0 lg:-translate-x-1/2 lg:translate-y-0"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<circle cx={512} cy={512} r={512} fill="url(#759c1415-0410-454c-8f7c-9a820de03641)" fillOpacity="0.7" />
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="759c1415-0410-454c-8f7c-9a820de03641">
|
||||||
|
<stop stopColor="#7775D6" />
|
||||||
|
<stop offset={1} stopColor="#E935C1" />
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
<div className="p-8 sm:p-10 lg:flex-auto ">
|
||||||
|
<h3 className="text-2xl font-bold tracking-tight text-gray-200">Learn cybersecurity</h3>
|
||||||
|
<p className="mt-6 text-base leading-7 text-gray-200">
|
||||||
|
Learning cybersecurity is like becoming the guardian of the digital realm.
|
||||||
|
It's about mastering the art of protecting information, systems, and networks from cyber threats.
|
||||||
|
From understanding encryption algorithms to detecting malware, every lesson equips you with tools to fortify against cyber-attacks.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="-mt-2 p-2 lg:mt-0 lg:w-full lg:max-w-md lg:flex-shrink-0">
|
||||||
|
<div className="rounded-2xl bg-gray-50 py-10 text-center ring-1 ring-inset ring-gray-900/5 lg:flex lg:flex-col lg:justify-center lg:py-16">
|
||||||
|
<div className="mx-auto max-w-xs px-8">
|
||||||
|
<p className="mt-6 flex items-baseline justify-center gap-x-2">
|
||||||
|
<span className="text-5xl font-bold tracking-tight text-gray-900">Start</span>
|
||||||
|
<span className="text-sm font-semibold leading-6 tracking-wide text-gray-900">now!</span>
|
||||||
|
</p>
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
className="mt-10 block w-full rounded-md bg-indigo-600 px-3 py-2 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
|
||||||
|
>
|
||||||
|
Begin
|
||||||
|
</a>
|
||||||
|
<p className="mt-6 text-xs leading-5 text-gray-600">
|
||||||
|
Take a short quiz to begin learning faster than ever
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mx-auto mt-16 max-w-2xl rounded-3xl ring-1 ring-gray-200 sm:mt-20 lg:mx-0 lg:flex lg:max-w-none relative isolate overflow-hidden bg-gray-900 px-6 pt-16 shadow-2xl sm:rounded-3xl sm:px-16 md:pt-24 lg:flex lg:gap-x-20 lg:px-24 lg:pt-0">
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 1024 1024"
|
||||||
|
className="absolute left-1/2 top-1/2 -z-10 h-[64rem] w-[64rem] -translate-y-1/2 [mask-image:radial-gradient(closest-side,white,transparent)] sm:left-full sm:-ml-80 lg:left-1/2 lg:ml-0 lg:-translate-x-1/2 lg:translate-y-0"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<circle cx={512} cy={512} r={512} fill="url(#759c1415-0410-454c-8f7c-9a820de03641)" fillOpacity="0.7" />
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="759c1415-0410-454c-8f7c-9a820de03641">
|
||||||
|
<stop stopColor="#7775D6" />
|
||||||
|
<stop offset={1} stopColor="#E935C1" />
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
<div className="p-8 sm:p-10 lg:flex-auto ">
|
||||||
|
<h3 className="text-2xl font-bold tracking-tight text-gray-200">Learn cybersecurity</h3>
|
||||||
|
<p className="mt-6 text-base leading-7 text-gray-200">
|
||||||
|
Learning cybersecurity is like becoming the guardian of the digital realm.
|
||||||
|
It's about mastering the art of protecting information, systems, and networks from cyber threats.
|
||||||
|
From understanding encryption algorithms to detecting malware, every lesson equips you with tools to fortify against cyber-attacks.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="-mt-2 p-2 lg:mt-0 lg:w-full lg:max-w-md lg:flex-shrink-0">
|
||||||
|
<div className="rounded-2xl bg-gray-50 py-10 text-center ring-1 ring-inset ring-gray-900/5 lg:flex lg:flex-col lg:justify-center lg:py-16">
|
||||||
|
<div className="mx-auto max-w-xs px-8">
|
||||||
|
<p className="mt-6 flex items-baseline justify-center gap-x-2">
|
||||||
|
<span className="text-5xl font-bold tracking-tight text-gray-900">Start</span>
|
||||||
|
<span className="text-sm font-semibold leading-6 tracking-wide text-gray-900">now!</span>
|
||||||
|
</p>
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
className="mt-10 block w-full rounded-md bg-indigo-600 px-3 py-2 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
|
||||||
|
>
|
||||||
|
Begin
|
||||||
|
</a>
|
||||||
|
<p className="mt-6 text-xs leading-5 text-gray-600">
|
||||||
|
Take a short quiz to begin learning faster than ever
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
BIN
public/logo-no-background.png
Normal file
BIN
public/logo-no-background.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
|
@ -12,6 +12,7 @@
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"jsx": "preserve",
|
"jsx": "preserve",
|
||||||
"incremental": true,
|
"incremental": true,
|
||||||
|
"noImplicitAny": false,
|
||||||
"plugins": [
|
"plugins": [
|
||||||
{
|
{
|
||||||
"name": "next"
|
"name": "next"
|
||||||
|
@ -21,6 +22,6 @@
|
||||||
"@/*": ["./*"]
|
"@/*": ["./*"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "app/components/Dropdown.js"],
|
||||||
"exclude": ["node_modules"]
|
"exclude": ["node_modules"]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue