export default function policy() {
	return (<iframe style={{height:"100vh",width:"100vw"}} src="https://clicksminuteper.github.io/docs/clicksforms" />)
}

// import Header from '../Components/Header'
// import { AutoLayout, Panel, Title, Subtitle, Text, Divider } from '../Components/Panels';

// export default function Home() {
//   return (
//     <>
//       <Header
//         name="ClicksForms"
//         subtext="Custom forms on Discord"
//         gradient={["71AFE5", "6576CC"]}
//         wave="web/waves/header/clicksforms"
//         buttons={[
//           {color: "6576CC", buttonText: "FFFFFF", link: "#endpoints", text: "Endpoints"},
//           {color: "6576CC", buttonText: "FFFFFF", link: "#structures", text: "Structures"},
//           {color: "775EBF", buttonText: "FFFFFF", link: "#invite", text: "Invite"}
//         ]}
//         hideArrow={true}
//       />
//       <AutoLayout>
//         <Panel halfSize={false} id="timeline">
//           <Divider />
//           <Title>Under Development</Title>
//           <Text>This bot is still in development, please check back later</Text>
//         </Panel>
//       </AutoLayout>
//     </>
//   )
// }
