diff --git a/CHANGELOG.md b/CHANGELOG.md
index 07f6efb..a2fa879 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- mobile improvements for lists and home page
- markdown support for page paragraphs and field description
+- omf badge
### Changed
### Fixed
diff --git a/components/omf.module.scss b/components/omf.module.scss
new file mode 100644
index 0000000..d3afd72
--- /dev/null
+++ b/components/omf.module.scss
@@ -0,0 +1,71 @@
+$omf: #000;
+$omfText: #FFF;
+$support: #000;
+
+.badge {
+ left: -65px;
+ height: 30px;
+ top: 40px;
+ position: absolute;
+ text-decoration: none;
+ width: 250px;
+ transform: rotate(-45deg);
+ z-index: 100;
+ font-weight: bold;
+ letter-spacing: 0.05em;
+
+ span {
+ background: transparentize($omf, 0.3);
+ color: $omfText;
+ font-size: 14px;
+ left: 0;
+ padding: 5px 0;
+ position: absolute;
+ text-align: center;
+ width: 250px;
+ box-shadow: rgba($omf, 0.2) 1px 1px 10px;
+ transition: opacity 1s;
+ &:last-child {
+ background: transparentize($support, 0.3);
+ opacity: 0;
+ }
+ }
+
+ :hover span {
+ &:first-child {
+ opacity: 0;
+ }
+ &:last-child {
+ opacity: 1;
+ }
+ }
+
+ span {
+ opacity: 1 !important;
+ backface-visibility: hidden;
+ transition: transform 1s;
+ &:last-child {
+ transform: rotateX(180deg);
+ }
+ }
+
+ &:hover span {
+ &:first-child {
+ transform: rotateX(180deg);
+ }
+ &:last-child {
+ transform: rotateX(360deg);
+ }
+ }
+
+ @media (max-width: 500px) {
+ left: -85px;
+ height: 30px;
+ top: 20px;
+ width: 250px;
+
+ span {
+ font-size: 11px;
+ }
+ }
+}
diff --git a/components/omf.tsx b/components/omf.tsx
new file mode 100644
index 0000000..66321cd
--- /dev/null
+++ b/components/omf.tsx
@@ -0,0 +1,11 @@
+import React from 'react'
+import scss from './omf.module.scss'
+
+export const Omf: React.FC = () => {
+ return (
+
+ OhMyForm
+ Fork & Support!
+
+ )
+}
diff --git a/pages/form/[id]/index.tsx b/pages/form/[id]/index.tsx
index 2b276e0..787bef0 100644
--- a/pages/form/[id]/index.tsx
+++ b/pages/form/[id]/index.tsx
@@ -12,6 +12,7 @@ import { useTranslation } from 'react-i18next'
import Swiper from 'react-id-swiper'
import { ReactIdSwiperProps } from 'react-id-swiper/lib/types'
import * as OriginalSwiper from 'swiper'
+import {Omf} from '../../../components/omf'
import { useSubmission } from '../../../components/use.submission'
interface Props {
@@ -77,6 +78,7 @@ const Index: NextPage = () => {
background: design.colors.backgroundColor,
}}
>
+
{[
data.form.startPage.show ? (
diff --git a/pages/index.tsx b/pages/index.tsx
index 0d004da..a6dab5b 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -6,6 +6,7 @@ import { useRouter } from 'next/router'
import React, { useEffect, useState } from 'react'
import { useTranslation } from 'react-i18next'
import { LoadingPage } from '../components/loading.page'
+import {Omf} from '../components/omf'
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const { publicRuntimeConfig } = getConfig() as {
@@ -58,6 +59,7 @@ const Index: NextPage = () => {
background: '#437fdc',
}}
>
+
{
return (
+
{
@@ -48,6 +49,7 @@ const Index: NextPage = () => {
return (
+