diff --git a/packages/commonwealth/client/assets/img/TwitterspaceGrowlImage.png b/packages/commonwealth/client/assets/img/TwitterspaceGrowlImage.png deleted file mode 100644 index da123670136..00000000000 Binary files a/packages/commonwealth/client/assets/img/TwitterspaceGrowlImage.png and /dev/null differ diff --git a/packages/commonwealth/client/assets/img/communitySelector/skale.svg b/packages/commonwealth/client/assets/img/communitySelector/skale.svg new file mode 100644 index 00000000000..4dcfcd4c0c5 --- /dev/null +++ b/packages/commonwealth/client/assets/img/communitySelector/skale.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/commonwealth/client/scripts/views/Sublayout.tsx b/packages/commonwealth/client/scripts/views/Sublayout.tsx index 39609a318fd..026bef5f15e 100644 --- a/packages/commonwealth/client/scripts/views/Sublayout.tsx +++ b/packages/commonwealth/client/scripts/views/Sublayout.tsx @@ -7,7 +7,6 @@ import app from 'state'; import useSidebarStore from 'state/ui/sidebar'; import { SublayoutHeader } from 'views/components/SublayoutHeader'; import { Sidebar } from 'views/components/sidebar'; -import twitterspaceGrowlImage from '../../assets/img/TwitterspaceGrowlImage.png'; import { useHandleInviteLink } from '../hooks/useHandleInviteLink'; import useNecessaryEffect from '../hooks/useNecessaryEffect'; import useStickyHeader from '../hooks/useStickyHeader'; @@ -23,7 +22,6 @@ import { AdminOnboardingSlider } from './components/AdminOnboardingSlider'; import { Breadcrumbs } from './components/Breadcrumbs'; import MobileNavigation from './components/MobileNavigation'; import AuthButtons from './components/SublayoutHeader/AuthButtons'; -import { CWGrowlTemplate } from './components/SublayoutHeader/GrowlTemplate/CWGrowlTemplate'; import useJoinCommunity from './components/SublayoutHeader/useJoinCommunity'; import { UserTrainingSlider } from './components/UserTrainingSlider'; import { CWModal } from './components/component_kit/new_designs/CWModal'; @@ -196,16 +194,6 @@ const Sublayout = ({ children, isInsideCommunity }: SublayoutProps) => { )} {children} - o.value === OSMOSIS_ID); case CommunityType.Blast: return options?.find((o) => o.value === BLAST_ID); + case CommunityType.Skale: + return options?.find((o) => o.value === SKALE_ID); case CommunityType.Polygon: case CommunityType.Solana: return options?.[0]; diff --git a/packages/commonwealth/client/scripts/views/components/CommunityInformationForm/constants.ts b/packages/commonwealth/client/scripts/views/components/CommunityInformationForm/constants.ts index c298df1d805..bf0dc40dee5 100644 --- a/packages/commonwealth/client/scripts/views/components/CommunityInformationForm/constants.ts +++ b/packages/commonwealth/client/scripts/views/components/CommunityInformationForm/constants.ts @@ -9,6 +9,7 @@ export const ETHEREUM_MAINNET_ID = '1'; export const BASE_ID = '8453'; export const OSMOSIS_ID = 'osmosis'; export const BLAST_ID = '81457'; +export const SKALE_ID = '974399131'; const removeTestCosmosNodes = (nodeInfo: NodeInfo): boolean => { return !( diff --git a/packages/commonwealth/client/scripts/views/components/SublayoutHeader/DesktopHeader/DesktopHeader.tsx b/packages/commonwealth/client/scripts/views/components/SublayoutHeader/DesktopHeader/DesktopHeader.tsx index a4fcd07802c..c5f1478c132 100644 --- a/packages/commonwealth/client/scripts/views/components/SublayoutHeader/DesktopHeader/DesktopHeader.tsx +++ b/packages/commonwealth/client/scripts/views/components/SublayoutHeader/DesktopHeader/DesktopHeader.tsx @@ -7,6 +7,7 @@ import KnockNotifications from 'views/components/KnockNotifications'; import { CWDivider } from 'views/components/component_kit/cw_divider'; import { CWIconButton } from 'views/components/component_kit/cw_icon_button'; import { isWindowSmallInclusive } from 'views/components/component_kit/helpers'; +import { CWButton } from 'views/components/component_kit/new_designs/CWButton'; import { CWSearchBar } from 'views/components/component_kit/new_designs/CWSearchBar'; import { CWTooltip } from 'views/components/component_kit/new_designs/CWTooltip'; import { CreateContentPopover } from 'views/menus/CreateContentMenu'; @@ -83,6 +84,24 @@ const DesktopHeader = ({ onMobile, onAuthModalOpen }: DesktopHeaderProps) => { })} > + {!isWindowSmallInclusive(window.innerWidth) && ( + ( + + window.open('https://landing.common.xyz', '_blank') + } + onMouseEnter={handleInteraction} + onMouseLeave={handleInteraction} + /> + )} + /> + )} = ({ placement, children, }) => { - const { menuVisible } = useSidebarStore(); - return (
{children} @@ -24,7 +21,6 @@ export const TooltipContainer: FC = ({ placement, Arrow: true, tipTop: placement === 'top', - tipBottomSidebarHidden: placement === 'bottom' && !menuVisible, tipRight: placement === 'right', tipBottom: placement === 'bottom', tipLeft: placement === 'left', diff --git a/packages/commonwealth/client/scripts/views/components/sidebar/sidebar_quick_switcher.tsx b/packages/commonwealth/client/scripts/views/components/sidebar/sidebar_quick_switcher.tsx index 849cce38499..4a9d093aee4 100644 --- a/packages/commonwealth/client/scripts/views/components/sidebar/sidebar_quick_switcher.tsx +++ b/packages/commonwealth/client/scripts/views/components/sidebar/sidebar_quick_switcher.tsx @@ -6,6 +6,8 @@ import useUserStore from 'state/ui/user'; import { CWCommunityAvatar } from '../component_kit/cw_community_avatar'; import { CWDivider } from '../component_kit/cw_divider'; import { CWIconButton } from '../component_kit/cw_icon_button'; +import { isWindowSmallInclusive } from '../component_kit/helpers'; +import { CWTooltip } from '../component_kit/new_designs/CWTooltip'; import './sidebar_quick_switcher.scss'; export const SidebarQuickSwitcher = ({ @@ -40,6 +42,23 @@ export const SidebarQuickSwitcher = ({ setMenu({ name: 'exploreCommunities' }); }} /> + {isWindowSmallInclusive(window.innerWidth) && ( + ( + + window.open('https://landing.common.xyz', '_blank') + } + onMouseEnter={handleInteraction} + onMouseLeave={handleInteraction} + /> + )} + /> + )}
diff --git a/packages/commonwealth/client/scripts/views/modals/AuthModal/types.ts b/packages/commonwealth/client/scripts/views/modals/AuthModal/types.ts index cbd5cf5edd8..c168e0fabb3 100644 --- a/packages/commonwealth/client/scripts/views/modals/AuthModal/types.ts +++ b/packages/commonwealth/client/scripts/views/modals/AuthModal/types.ts @@ -21,6 +21,7 @@ export type ModalVariantProps = { | ChainBase.CosmosSDK | ChainBase.Solana | ChainBase.Substrate; + showAuthOptionFor?: AuthWallets | AuthSSOs; onSignInClick?: () => void; }; diff --git a/packages/commonwealth/client/scripts/views/pages/CreateCommunity/steps/CommunityTypeStep/CommunityTypeStep.tsx b/packages/commonwealth/client/scripts/views/pages/CreateCommunity/steps/CommunityTypeStep/CommunityTypeStep.tsx index ed06e671f0c..75c5ff8c617 100644 --- a/packages/commonwealth/client/scripts/views/pages/CreateCommunity/steps/CommunityTypeStep/CommunityTypeStep.tsx +++ b/packages/commonwealth/client/scripts/views/pages/CreateCommunity/steps/CommunityTypeStep/CommunityTypeStep.tsx @@ -83,8 +83,13 @@ const CommunityTypeStep = ({ handleContinue(); }; - const [baseOption, blastOption, ethereumOption, ...advancedOptions] = - communityTypeOptions; + const [ + baseOption, + blastOption, + ethereumOption, + skaleOption, + ...advancedOptions + ] = communityTypeOptions; return (
@@ -136,6 +141,19 @@ const CommunityTypeStep = ({ }) } /> + + handleCommunitySelection({ + type: skaleOption.type, + chainBase: skaleOption.chainBase, + }) + } + />
Advanced Options diff --git a/packages/commonwealth/client/scripts/views/pages/CreateCommunity/steps/CommunityTypeStep/helpers.ts b/packages/commonwealth/client/scripts/views/pages/CreateCommunity/steps/CommunityTypeStep/helpers.ts index 945cef7d2f2..e8179820a33 100644 --- a/packages/commonwealth/client/scripts/views/pages/CreateCommunity/steps/CommunityTypeStep/helpers.ts +++ b/packages/commonwealth/client/scripts/views/pages/CreateCommunity/steps/CommunityTypeStep/helpers.ts @@ -4,6 +4,7 @@ import blastImg from 'assets/img/communitySelector/blast.png'; import cosmosImg from 'assets/img/communitySelector/cosmos.svg'; import ethereumImg from 'assets/img/communitySelector/ethereum.svg'; import polygonImg from 'assets/img/communitySelector/polygon.svg'; +import skaleImg from 'assets/img/communitySelector/skale.svg'; import solanaImg from 'assets/img/communitySelector/solana.svg'; import { CommunityType } from 'views/components/component_kit/new_designs/CWCommunitySelector'; @@ -37,7 +38,19 @@ export const communityTypeOptions = [ 'Tokens built on the ERC20 protocol are fungible, meaning they are interchangeable. ' + 'Select this community type if you have minted a token on the Ethereum blockchain.', }, - + { + type: CommunityType.Skale, + img: skaleImg, + chainBase: ChainBase.Ethereum, + title: 'Skale', + isRecommended: false, + isHidden: false, + description: + // eslint-disable-next-line max-len + 'SKALE is an on-demand blockchain network with zero gas fees. ' + + // eslint-disable-next-line max-len + 'Allowing quick deployment of interoperable EVM-compatible chains without compromising security or decentralization', + }, { type: CommunityType.Cosmos, img: cosmosImg,