/** * Copyright 2022 Design Barn Inc. */ import { Appearance, Size, TextColor } from '@lottiefiles/react-ui-kit'; import { useContext } from '@wordpress/element'; import * as React from 'react'; import { Navigate, Route, Routes, useLocation } from 'react-router-dom'; import * as semver from 'semver'; import { useQuery } from 'urql'; import packageJson from '../../../package.json'; import { Button } from '../../_components'; import { UpdateIcon } from '../../assets/Icons'; import { LottieContext } from '../../context/lottie-provider'; import { WorkspaceProvider } from '../../context/workspace-provider'; import { queries } from '../../helpers/query-strings'; import { IAppRouteProps } from '../../interfaces'; import { Discover, Import, OnBoarding, Preview, Workflow } from './views'; import { ErrorView } from './views/Workflow/components/error-view'; export const AppRoute: React.FC = ({ attributes, setAttributes }: IAppRouteProps) => { const { appData, isAppLoading } = useContext(LottieContext); const prevLocation = useLocation(); const [{ data, error, fetching }] = useQuery({ query: queries.softwareUpdates, variables: { version: packageJson.version }, }); if (isAppLoading) { return
; } if (error) { return ; } if (!fetching) { if (data && data.softwareUpdates) { if (semver.lt(packageJson.version, data.softwareUpdates.version)) { return (
<>

Update your plugin to continue

The plugin version you’ve installed is no longer supported. Please update your plugin to the latest version.

Copyright © 2022 Design Barn Inc.

); } } return ( {appData ? ( <> } /> } /> } /> {/* } /> */} } /> } /> } /> } /> ) : ( } /> )} ); } return
; };