Skip to content

Commit

Permalink
Abort countdown if anyone interacts with IB
Browse files Browse the repository at this point in the history
  • Loading branch information
yashovardhan committed Feb 13, 2025
1 parent a26c8e0 commit 8484172
Showing 1 changed file with 20 additions and 24 deletions.
44 changes: 20 additions & 24 deletions src/pages/quick-start/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ export default function IntegrationBuilderPage({ files }: { files: Record<string
const [isLinkCopied, setLinkCopied] = useState<boolean>(false);
const [IBCountdown, setIBCountdown] = useState<number>(10);
const [builderView, setBuilderView] = useState<boolean>(true);
const [abortCountdown, setAbortCountdown] = useState<boolean>(false);
const [showPreviewModal, setShowPreviewModal] = useState<boolean>(false);
const url = new URL(getWindowLocation());
const [stepIndex, setStepIndex] = useState(
Expand Down Expand Up @@ -118,6 +119,7 @@ export default function IntegrationBuilderPage({ files }: { files: Record<string
...builderOptions,
[optionKey]: optionValue,
});
setAbortCountdown(true);
};

const toggleBuilderView = async () => {
Expand Down Expand Up @@ -173,7 +175,7 @@ export default function IntegrationBuilderPage({ files }: { files: Record<string
if (IBCountdown > 0) {
setTimeout(() => setIBCountdown(IBCountdown - 1), 1000);
}
if (IBCountdown === 0 && builderView) {
if (IBCountdown === 0 && builderView && !abortCountdown) {
toggleBuilderView();
}
}, [IBCountdown]);
Expand Down Expand Up @@ -330,26 +332,8 @@ export default function IntegrationBuilderPage({ files }: { files: Record<string
<div className={styles.optionsHeader}>
<h2 className={styles.optionsHeaderText}>Builder Settings</h2>
<div className={styles.optionsHeaderButtonsContainer}>
{/* {integration.embedLink && (
<button
className={styles.previewButton}
onClick={() => togglePreviewModal(integration.embedLink)}
type="button"
id="headerButton"
>
Preview
</button>
)} */}
{/* <button
className={styles.copyButton}
onClick={() => window.open(integration.sourceCodeLink, "_blank")}
type="button"
id="headerButton"
>
Source Code
</button> */}
<button className={styles.hideButton} onClick={toggleBuilderView} type="button">
{IBCountdown ? `${IBCountdown}s` : ""}
{IBCountdown && !abortCountdown ? `${IBCountdown}s` : ""}
<svg
width="20"
height="21"
Expand All @@ -376,15 +360,21 @@ export default function IntegrationBuilderPage({ files }: { files: Record<string
{integration.embedLink && (
<button
className={styles.previewButton2}
onClick={() => togglePreviewModal(integration.embedLink)}
onClick={() => {
togglePreviewModal(integration.embedLink);
setAbortCountdown(true);
}}
type="button"
>
Preview
</button>
)}
<button
className={styles.copyButton2}
onClick={() => window.open(integration.sourceCodeLink, "_blank")}
onClick={() => {
window.open(integration.sourceCodeLink, "_blank");
setAbortCountdown(true);
}}
type="button"
>
Source Code
Expand Down Expand Up @@ -415,7 +405,10 @@ export default function IntegrationBuilderPage({ files }: { files: Record<string
{integration.embedLink && (
<button
className={styles.previewButton}
onClick={() => togglePreviewModal(integration.embedLink)}
onClick={() => {
togglePreviewModal(integration.embedLink);
setAbortCountdown(true);
}}
type="button"
id="headerButton"
>
Expand All @@ -424,7 +417,10 @@ export default function IntegrationBuilderPage({ files }: { files: Record<string
)}
<button
className={styles.copyButton}
onClick={() => window.open(integration.sourceCodeLink, "_blank")}
onClick={() => {
window.open(integration.sourceCodeLink, "_blank");
setAbortCountdown(true);
}}
type="button"
id="headerButton"
>
Expand Down

0 comments on commit 8484172

Please sign in to comment.