From d336c232d692f8ea269c058d3ffe0189aeec0679 Mon Sep 17 00:00:00 2001
From: Oliver Daniel <oliverdaniel00@gmail.com>
Date: Tue, 7 Nov 2023 16:14:40 -0500
Subject: [PATCH] prepare form to handle format behaviour

---
 .../src/modules/Import/settings.tsx           |  3 +++
 .../src/modules/Import/timestamps.tsx         | 19 ++++++++++++++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/packages/web-console/src/modules/Import/settings.tsx b/packages/web-console/src/modules/Import/settings.tsx
index fdf30e4a5..8b5bcda2a 100644
--- a/packages/web-console/src/modules/Import/settings.tsx
+++ b/packages/web-console/src/modules/Import/settings.tsx
@@ -24,6 +24,9 @@ type FormSchema = {
   table_name: string
   partitionBy: keyof typeof PartitionBy
   delimiter: string
+  formats: {
+    behavior: "ADD" | "OVERRIDE"
+  }
 }
 
 export const Settings = () => {
diff --git a/packages/web-console/src/modules/Import/timestamps.tsx b/packages/web-console/src/modules/Import/timestamps.tsx
index 8d802697d..d297790a0 100644
--- a/packages/web-console/src/modules/Import/timestamps.tsx
+++ b/packages/web-console/src/modules/Import/timestamps.tsx
@@ -5,6 +5,7 @@ import { Panel } from "../../components/Panel"
 import { TimestampFormatList } from "../../components/TimestampFormat/list"
 import { Nav, NavGroup, Subheader } from "./panel"
 import { ArrowRightS } from "@styled-icons/remix-line"
+import { useFormContext } from "react-hook-form"
 
 type Props = {
   open: boolean
@@ -16,11 +17,27 @@ const Wrapper = styled(PaneWrapper)``
 const Content = styled(PaneContent)``
 
 export const GlobalTimestampsPanel = ({ open = true, toggle }: Props) => {
+  const { watch, setValue } = useFormContext()
+  const override = watch("formats.behavior", "ADD") === "OVERRIDE"
   return (
     <Wrapper>
       <Subheader>
         <NavGroup>
-          <Nav>dummy</Nav>
+          {open && (
+            <Nav
+              onClick={(e) => {
+                e.preventDefault()
+                setValue("formats.behavior", override ? "ADD" : "OVERRIDE")
+              }}
+            >
+              <span>Override builtins</span>{" "}
+              <small
+                style={{
+                  opacity: +override,
+                }}
+              >✔</small>
+            </Nav>
+          )}
         </NavGroup>
         <NavGroup>
           <Nav