diff --git a/apps/studio/src/lib/projects/domains/hosting.ts b/apps/studio/src/lib/projects/domains/hosting.ts index 4f3a70f13..245ad0cc4 100644 --- a/apps/studio/src/lib/projects/domains/hosting.ts +++ b/apps/studio/src/lib/projects/domains/hosting.ts @@ -27,9 +27,6 @@ export class HostingManager { ) { makeAutoObservable(this); this.listenForStateChanges(); - if (domain.publishedAt) { - this.updateState({ status: PublishStatus.PUBLISHED, message: null }); - } } async listenForStateChanges() { diff --git a/apps/studio/src/lib/projects/domains/index.ts b/apps/studio/src/lib/projects/domains/index.ts index 27e31bf05..5097d4ba0 100644 --- a/apps/studio/src/lib/projects/domains/index.ts +++ b/apps/studio/src/lib/projects/domains/index.ts @@ -3,7 +3,7 @@ import { HOSTING_DOMAIN, MainChannels } from '@onlook/models/constants'; import type { GetOwnedDomainsResponse } from '@onlook/models/hosting'; import { DomainType, type Project } from '@onlook/models/projects'; import { getValidSubdomain } from '@onlook/utility'; -import { makeAutoObservable, reaction } from 'mobx'; +import { makeAutoObservable } from 'mobx'; import type { ProjectsManager } from '../index'; import { HostingManager } from './hosting'; export class DomainsManager { @@ -15,42 +15,15 @@ export class DomainsManager { private project: Project, ) { makeAutoObservable(this); - this.restore(); - reaction( - () => this.project.domains?.base, - () => { - if (!this.project.domains?.base) { - this._baseHosting = null; - } else { - this._baseHosting = new HostingManager( - this.projectsManager, - this.project, - this.project.domains.base, - ); - } - }, - ); - reaction( - () => this.project.domains?.custom, - () => { - if (!this.project.domains?.custom) { - this._customHosting = null; - } else { - this._customHosting = new HostingManager( - this.projectsManager, - this.project, - this.project.domains.custom, - ); - } - }, - ); + this.setupHostingManagers(); } updateProject(project: Project) { this.project = project; + this.setupHostingManagers(); } - restore() { + setupHostingManagers() { if (!this.project.domains?.base) { this._baseHosting = null; } else { diff --git a/apps/studio/src/routes/editor/SettingsModal/Domain/Custom/Verification.tsx b/apps/studio/src/routes/editor/SettingsModal/Domain/Custom/Verification.tsx index 85c8e027a..7836d2853 100644 --- a/apps/studio/src/routes/editor/SettingsModal/Domain/Custom/Verification.tsx +++ b/apps/studio/src/routes/editor/SettingsModal/Domain/Custom/Verification.tsx @@ -43,7 +43,7 @@ export const Verification = observer(() => { const [status, setStatus] = useState(VerificationStatus.NO_DOMAIN); const [domain, setDomain] = useState(''); const [records, setRecords] = useState([]); - const [error, setError] = useState(null); + const [error, setError] = useState(); const [ownedDomains, setOwnedDomains] = useState([]); useEffect(() => { @@ -129,6 +129,7 @@ export const Verification = observer(() => { if (!response.success) { setError(response.message ?? 'Failed to verify domain'); + setStatus(VerificationStatus.VERIFYING); return; } @@ -230,6 +231,11 @@ export const Verification = observer(() => { onChange={(e) => setDomain(e.target.value)} placeholder="example.com" className="bg-background placeholder:text-muted-foreground" + onKeyDown={(e) => { + if (e.key === 'Enter') { + setupDomain(); + } + }} />