From ab64aae9313f207cdd692c199c63c2677b6b4d51 Mon Sep 17 00:00:00 2001
From: "vivid-github[bot]"
<129557859+vivid-github[bot]@users.noreply.github.com>
Date: Tue, 24 Oct 2023 01:42:28 +0000
Subject: [PATCH 1/2] Add new components
---
components/CompactIconButton.tsx | 290 +++++++++++++++++++++++++++++++
components/QrcodeScan.tsx | 13 ++
components/TypePage.tsx | 200 +++++++++++++++++++++
components/mobile.svg | 3 +
components/qrcodeScan.svg | 3 +
5 files changed, 509 insertions(+)
create mode 100644 components/CompactIconButton.tsx
create mode 100644 components/QrcodeScan.tsx
create mode 100644 components/TypePage.tsx
create mode 100644 components/mobile.svg
create mode 100644 components/qrcodeScan.svg
diff --git a/components/CompactIconButton.tsx b/components/CompactIconButton.tsx
new file mode 100644
index 00000000..d2d1520f
--- /dev/null
+++ b/components/CompactIconButton.tsx
@@ -0,0 +1,290 @@
+import { QrcodeScan } from "./QrcodeScan";
+import styled from "styled-components";
+const CompactIconButtonComponent = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 7px;
+ border-radius: 4px;
+ box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.02);
+ height: 25px;
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.08);
+ border-width: 1px;
+ background-color: rgba(0, 0, 0, 0.04);
+`;
+const CompactIconButtonComponent1 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 9px;
+ border-radius: 4px;
+ box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.02);
+ height: 30px;
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.08);
+ border-width: 1px;
+ background-color: rgba(0, 0, 0, 0.04);
+`;
+const CompactIconButtonComponent2 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 8px;
+ border-radius: 4px;
+ box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.02);
+ height: 27px;
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.08);
+ border-width: 1px;
+ background-color: rgba(0, 0, 0, 0.04);
+`;
+const CompactIconButtonComponent3 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 7px;
+ border-radius: 4px;
+ box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.02);
+ height: 25px;
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.08);
+ border-width: 1px;
+ background-color: rgb(255, 255, 255);
+`;
+const CompactIconButtonComponent4 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 7px;
+ border-radius: 4px;
+ height: 25px;
+ background-color: rgba(0, 0, 0, 0.04);
+`;
+const CompactIconButtonComponent5 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 8px;
+ border-radius: 4px;
+ box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.02);
+ height: 27px;
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.08);
+ border-width: 1px;
+ background-color: rgb(255, 255, 255);
+`;
+const CompactIconButtonComponent6 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 8px;
+ border-radius: 4px;
+ height: 27px;
+ background-color: rgba(0, 0, 0, 0.04);
+`;
+const CompactIconButtonComponent7 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 8px;
+ border-radius: 4px;
+ height: 27px;
+`;
+const CompactIconButtonComponent8 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 9px;
+ border-radius: 4px;
+ box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.02);
+ height: 30px;
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.08);
+ border-width: 1px;
+ background-color: rgb(255, 255, 255);
+`;
+const CompactIconButtonComponent9 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 9px;
+ border-radius: 4px;
+ height: 30px;
+ background-color: rgba(0, 0, 0, 0.04);
+`;
+const CompactIconButtonComponent10 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 9px;
+ border-radius: 4px;
+ height: 30px;
+`;
+const CompactIconButtonComponent11 = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ padding: 4px 7px;
+ border-radius: 4px;
+ height: 25px;
+`;
+export const CompactIconButton = ({
+ override,
+ hover,
+ size,
+ type,
+}: {
+ override?: React.CSSProperties;
+ hover: string;
+ size: string;
+ type: string;
+}) => {
+ if (hover === "no" && size === "small" && type === "ghost") {
+ return (
+
+
+
+ );
+ } else if (hover === "no" && size === "large" && type === "ghost") {
+ return (
+
+
+
+ );
+ } else if (hover === "yes" && size === "large" && type === "ghost") {
+ return (
+
+
+
+ );
+ } else if (hover === "no" && size === "large" && type === "secondary") {
+ return (
+
+
+
+ );
+ } else if (hover === "no" && size === "medium" && type === "ghost") {
+ return (
+
+
+
+ );
+ } else if (hover === "yes" && size === "medium" && type === "ghost") {
+ return (
+
+
+
+ );
+ } else if (hover === "no" && size === "medium" && type === "secondary") {
+ return (
+
+
+
+ );
+ } else if (hover === "yes" && size === "small" && type === "ghost") {
+ return (
+
+
+
+ );
+ } else if (hover === "no" && size === "small" && type === "secondary") {
+ return (
+
+
+
+ );
+ } else if (hover === "yes" && size === "medium" && type === "secondary") {
+ return (
+
+
+
+ );
+ } else if (hover === "yes" && size === "large" && type === "secondary") {
+ return (
+
+
+
+ );
+ } else if (hover === "yes" && size === "small" && type === "secondary") {
+ return (
+
+
+
+ );
+ } else {
+ return null;
+ }
+};
diff --git a/components/QrcodeScan.tsx b/components/QrcodeScan.tsx
new file mode 100644
index 00000000..0fd25adc
--- /dev/null
+++ b/components/QrcodeScan.tsx
@@ -0,0 +1,13 @@
+import qrcodeScan from "./qrcodeScan.svg";
+import styled from "styled-components";
+const QrcodeScanComponent = styled.img`
+ width: 24px;
+ height: 24px;
+`;
+export const QrcodeScan = ({
+ override,
+}: {
+ override?: React.CSSProperties;
+}) => {
+ return ;
+};
diff --git a/components/TypePage.tsx b/components/TypePage.tsx
new file mode 100644
index 00000000..ceadcd7c
--- /dev/null
+++ b/components/TypePage.tsx
@@ -0,0 +1,200 @@
+import mobile from "./mobile.svg";
+import { CompactIconButton } from "./CompactIconButton";
+import styled from "styled-components";
+const Selected = styled.div`
+ position: absolute;
+ width: 141px;
+ left: 0px;
+ height: 184px;
+ top: 0px;
+ background-color: rgba(0, 0, 0, 0.08);
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.08);
+ border-width: 1px;
+ border-radius: 8px;
+`;
+const NatalieJason_1_1 = styled.p`
+ position: absolute;
+ left: 8px;
+ top: 36px;
+ color: rgb(0, 0, 0);
+ font-size: 11px;
+ font-family: Universal Sans Text Trial;
+ font-weight: 400;
+ letter-spacing: 0.01em;
+ line-height: 1.3em;
+`;
+const Mobile = styled.img`
+ position: absolute;
+ width: 12px;
+ left: calc(50% - 6px);
+ height: 12px;
+ top: calc(50% - 6px);
+`;
+const PageHeaderIconLight = styled.div`
+ overflow: hidden;
+ border-radius: 4px;
+ position: absolute;
+ box-shadow: inset 0px -0.5px 0px 0.5px rgba(0, 0, 0, 0.1),
+ inset 0px 0.5px 0px rgba(0, 0, 0, 0.1);
+ width: 24px;
+ left: 8px;
+ height: 24px;
+ top: 8px;
+ background-color: rgb(255, 255, 255);
+`;
+const Rectangle_39272 = styled.div`
+ position: absolute;
+ width: 112px;
+ left: 8px;
+ height: 8px;
+ top: 58px;
+ background-color: rgba(0, 0, 0, 0.04);
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.04);
+ border-width: 1px;
+ border-radius: 2px;
+`;
+const Rectangle_39273 = styled.div`
+ position: absolute;
+ width: 108px;
+ left: 8px;
+ height: 8px;
+ top: 74px;
+ background-color: rgba(0, 0, 0, 0.04);
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.04);
+ border-width: 1px;
+ border-radius: 2px;
+`;
+const Rectangle_39274 = styled.div`
+ position: absolute;
+ width: 102px;
+ left: 8px;
+ height: 8px;
+ top: 90px;
+ background-color: rgba(0, 0, 0, 0.04);
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.04);
+ border-width: 1px;
+ border-radius: 2px;
+`;
+const Rectangle_39275 = styled.div`
+ position: absolute;
+ width: 112px;
+ left: 8px;
+ height: 8px;
+ top: 106px;
+ background-color: rgba(0, 0, 0, 0.04);
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.04);
+ border-width: 1px;
+ border-radius: 2px;
+`;
+const MobileFileIcons = styled.div`
+ overflow: hidden;
+ border-radius: 4px;
+ position: relative;
+ width: 129px;
+ height: 129px;
+ border-style: solid;
+ border-color: rgba(0, 0, 0, 0.08);
+ border-width: 1px;
+ background-color: rgb(250, 250, 250);
+`;
+const NatalieJason_1_1Text = styled.p`
+ flex: 1 1 0%;
+ min-width: 0px;
+ color: rgb(0, 0, 0);
+ font-size: 13px;
+ font-weight: 300;
+ line-height: 1.3em;
+`;
+const TitleAndButton = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 4px;
+ height: fit-content;
+ width: 100%;
+`;
+const SkiffPage = styled.p`
+ color: rgba(0, 0, 0, 0.57);
+ font-size: 11px;
+ font-weight: 300;
+ letter-spacing: 0.01em;
+ line-height: 1.3em;
+`;
+const Info = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ height: fit-content;
+`;
+const DescContainer = styled.div`
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ height: fit-content;
+ width: 129px;
+ flex: 1 1 0%;
+ min-height: 0px;
+`;
+const Desc = styled.div`
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ height: fit-content;
+ width: 100%;
+`;
+const Container = styled.div`
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 4px;
+ height: fit-content;
+ padding: 6px;
+ position: absolute;
+ width: 141px;
+ left: 0px;
+ top: 0px;
+`;
+const TypePageComponent = styled.div`
+ overflow: hidden;
+ border-radius: 8px;
+ position: relative;
+ width: 100%;
+ height: 184px;
+ font-family: Universal Sans Text;
+`;
+export const TypePage = ({ override }: { override?: React.CSSProperties }) => {
+ return (
+
+
+
+
+ Natalie / Jason 1:1
+
+
+
+
+
+
+
+
+
+
+
+ Natalie / Jason 1:1
+
+
+
+ Skiff page
+
+
+
+
+
+ );
+};
diff --git a/components/mobile.svg b/components/mobile.svg
new file mode 100644
index 00000000..51f98e0f
--- /dev/null
+++ b/components/mobile.svg
@@ -0,0 +1,3 @@
+
diff --git a/components/qrcodeScan.svg b/components/qrcodeScan.svg
new file mode 100644
index 00000000..d0277915
--- /dev/null
+++ b/components/qrcodeScan.svg
@@ -0,0 +1,3 @@
+
From 96ed574474f0901511145339c5f466556b584b14 Mon Sep 17 00:00:00 2001
From: "vivid-github[bot]"
<129557859+vivid-github[bot]@users.noreply.github.com>
Date: Tue, 24 Oct 2023 01:42:40 +0000
Subject: [PATCH 2/2] Modularize generated code
---
components/CompactIconButton.tsx | 13 ++++++
components/TypePage.tsx | 68 +++++++++++++++++++++-----------
2 files changed, 58 insertions(+), 23 deletions(-)
diff --git a/components/CompactIconButton.tsx b/components/CompactIconButton.tsx
index d2d1520f..c1b064b7 100644
--- a/components/CompactIconButton.tsx
+++ b/components/CompactIconButton.tsx
@@ -1,5 +1,6 @@
import { QrcodeScan } from "./QrcodeScan";
import styled from "styled-components";
+
const CompactIconButtonComponent = styled.div`
display: flex;
justify-content: center;
@@ -14,6 +15,7 @@ const CompactIconButtonComponent = styled.div`
border-width: 1px;
background-color: rgba(0, 0, 0, 0.04);
`;
+
const CompactIconButtonComponent1 = styled.div`
display: flex;
justify-content: center;
@@ -28,6 +30,7 @@ const CompactIconButtonComponent1 = styled.div`
border-width: 1px;
background-color: rgba(0, 0, 0, 0.04);
`;
+
const CompactIconButtonComponent2 = styled.div`
display: flex;
justify-content: center;
@@ -42,6 +45,7 @@ const CompactIconButtonComponent2 = styled.div`
border-width: 1px;
background-color: rgba(0, 0, 0, 0.04);
`;
+
const CompactIconButtonComponent3 = styled.div`
display: flex;
justify-content: center;
@@ -56,6 +60,7 @@ const CompactIconButtonComponent3 = styled.div`
border-width: 1px;
background-color: rgb(255, 255, 255);
`;
+
const CompactIconButtonComponent4 = styled.div`
display: flex;
justify-content: center;
@@ -66,6 +71,7 @@ const CompactIconButtonComponent4 = styled.div`
height: 25px;
background-color: rgba(0, 0, 0, 0.04);
`;
+
const CompactIconButtonComponent5 = styled.div`
display: flex;
justify-content: center;
@@ -80,6 +86,7 @@ const CompactIconButtonComponent5 = styled.div`
border-width: 1px;
background-color: rgb(255, 255, 255);
`;
+
const CompactIconButtonComponent6 = styled.div`
display: flex;
justify-content: center;
@@ -90,6 +97,7 @@ const CompactIconButtonComponent6 = styled.div`
height: 27px;
background-color: rgba(0, 0, 0, 0.04);
`;
+
const CompactIconButtonComponent7 = styled.div`
display: flex;
justify-content: center;
@@ -99,6 +107,7 @@ const CompactIconButtonComponent7 = styled.div`
border-radius: 4px;
height: 27px;
`;
+
const CompactIconButtonComponent8 = styled.div`
display: flex;
justify-content: center;
@@ -113,6 +122,7 @@ const CompactIconButtonComponent8 = styled.div`
border-width: 1px;
background-color: rgb(255, 255, 255);
`;
+
const CompactIconButtonComponent9 = styled.div`
display: flex;
justify-content: center;
@@ -123,6 +133,7 @@ const CompactIconButtonComponent9 = styled.div`
height: 30px;
background-color: rgba(0, 0, 0, 0.04);
`;
+
const CompactIconButtonComponent10 = styled.div`
display: flex;
justify-content: center;
@@ -132,6 +143,7 @@ const CompactIconButtonComponent10 = styled.div`
border-radius: 4px;
height: 30px;
`;
+
const CompactIconButtonComponent11 = styled.div`
display: flex;
justify-content: center;
@@ -141,6 +153,7 @@ const CompactIconButtonComponent11 = styled.div`
border-radius: 4px;
height: 25px;
`;
+
export const CompactIconButton = ({
override,
hover,
diff --git a/components/TypePage.tsx b/components/TypePage.tsx
index ceadcd7c..92e92339 100644
--- a/components/TypePage.tsx
+++ b/components/TypePage.tsx
@@ -1,6 +1,7 @@
import mobile from "./mobile.svg";
import { CompactIconButton } from "./CompactIconButton";
import styled from "styled-components";
+
const Selected = styled.div`
position: absolute;
width: 141px;
@@ -13,6 +14,7 @@ const Selected = styled.div`
border-width: 1px;
border-radius: 8px;
`;
+
const NatalieJason_1_1 = styled.p`
position: absolute;
left: 8px;
@@ -24,6 +26,7 @@ const NatalieJason_1_1 = styled.p`
letter-spacing: 0.01em;
line-height: 1.3em;
`;
+
const Mobile = styled.img`
position: absolute;
width: 12px;
@@ -31,6 +34,7 @@ const Mobile = styled.img`
height: 12px;
top: calc(50% - 6px);
`;
+
const PageHeaderIconLight = styled.div`
overflow: hidden;
border-radius: 4px;
@@ -43,6 +47,7 @@ const PageHeaderIconLight = styled.div`
top: 8px;
background-color: rgb(255, 255, 255);
`;
+
const Rectangle_39272 = styled.div`
position: absolute;
width: 112px;
@@ -55,6 +60,7 @@ const Rectangle_39272 = styled.div`
border-width: 1px;
border-radius: 2px;
`;
+
const Rectangle_39273 = styled.div`
position: absolute;
width: 108px;
@@ -67,6 +73,7 @@ const Rectangle_39273 = styled.div`
border-width: 1px;
border-radius: 2px;
`;
+
const Rectangle_39274 = styled.div`
position: absolute;
width: 102px;
@@ -79,6 +86,7 @@ const Rectangle_39274 = styled.div`
border-width: 1px;
border-radius: 2px;
`;
+
const Rectangle_39275 = styled.div`
position: absolute;
width: 112px;
@@ -91,6 +99,7 @@ const Rectangle_39275 = styled.div`
border-width: 1px;
border-radius: 2px;
`;
+
const MobileFileIcons = styled.div`
overflow: hidden;
border-radius: 4px;
@@ -102,6 +111,7 @@ const MobileFileIcons = styled.div`
border-width: 1px;
background-color: rgb(250, 250, 250);
`;
+
const NatalieJason_1_1Text = styled.p`
flex: 1 1 0%;
min-width: 0px;
@@ -110,6 +120,7 @@ const NatalieJason_1_1Text = styled.p`
font-weight: 300;
line-height: 1.3em;
`;
+
const TitleAndButton = styled.div`
display: flex;
justify-content: center;
@@ -118,6 +129,7 @@ const TitleAndButton = styled.div`
height: fit-content;
width: 100%;
`;
+
const SkiffPage = styled.p`
color: rgba(0, 0, 0, 0.57);
font-size: 11px;
@@ -125,6 +137,7 @@ const SkiffPage = styled.p`
letter-spacing: 0.01em;
line-height: 1.3em;
`;
+
const Info = styled.div`
display: flex;
justify-content: center;
@@ -132,6 +145,7 @@ const Info = styled.div`
width: fit-content;
height: fit-content;
`;
+
const DescContainer = styled.div`
display: flex;
flex-direction: column;
@@ -141,6 +155,7 @@ const DescContainer = styled.div`
flex: 1 1 0%;
min-height: 0px;
`;
+
const Desc = styled.div`
display: flex;
flex-direction: column;
@@ -148,6 +163,7 @@ const Desc = styled.div`
height: fit-content;
width: 100%;
`;
+
const Container = styled.div`
display: flex;
flex-direction: column;
@@ -160,6 +176,7 @@ const Container = styled.div`
left: 0px;
top: 0px;
`;
+
const TypePageComponent = styled.div`
overflow: hidden;
border-radius: 8px;
@@ -168,33 +185,38 @@ const TypePageComponent = styled.div`
height: 184px;
font-family: Universal Sans Text;
`;
+
export const TypePage = ({ override }: { override?: React.CSSProperties }) => {
return (
-
-
- Natalie / Jason 1:1
-
-
-
-
-
-
-
-
-
-
-
- Natalie / Jason 1:1
-
-
-
- Skiff page
-
-
-
-
+
);
};
+
+const NatalieJason11 = () => (
+
+
+ Natalie / Jason 1:1
+
+
+
+
+
+
+
+
+
+
+
+ Natalie / Jason 1:1
+
+
+
+ Skiff page
+
+
+
+
+);