no inst
This commit is contained in:
@@ -552,7 +552,7 @@ export default function AdminHomePage() {
|
||||
onChange={(e) => setNewBooking({ ...newBooking, contactMethod: e.target.value })}
|
||||
>
|
||||
<option value="telegram">Telegram</option>
|
||||
<option value="whatsapp">WhatsApp</option>
|
||||
<option value="max">Max</option>
|
||||
<option value="phone">Телефон</option>
|
||||
</StyledFormSelect>
|
||||
</div>
|
||||
|
||||
+15
-31
@@ -39,11 +39,9 @@ export default function Home() {
|
||||
const [faqs, setFaqs] = useState<Faq[]>([])
|
||||
const [contacts, setContacts] = useState<Contacts[]>([])
|
||||
|
||||
const inst = contacts.find((c)=> c.type ==='inst');
|
||||
const phone = contacts.find((c)=> c.type ==='phone');
|
||||
const tg = contacts.find((c)=> c.type ==='tg');
|
||||
const gis2 = contacts.find((c)=> c.type ==='gis2');
|
||||
const whatsapp = contacts.find((c)=> c.type ==='whatsapp');
|
||||
|
||||
useEffect(() => {
|
||||
async function fetchFaq() {
|
||||
@@ -63,7 +61,7 @@ export default function Home() {
|
||||
|
||||
return (
|
||||
<MainPage>
|
||||
<HeaderPage whatsapp={whatsapp?.value} tg={tg?.value} phone={phone?.value} inst={inst?.value} gis2={gis2?.value} />
|
||||
<HeaderPage tg={tg?.value} phone={phone?.value} gis2={gis2?.value} />
|
||||
<main>
|
||||
<StartBlock>
|
||||
|
||||
@@ -99,21 +97,13 @@ export default function Home() {
|
||||
<FeaturesList />
|
||||
</Section>
|
||||
<Section>
|
||||
<GameList tg={tg?.value} whatsapp={whatsapp?.value} />
|
||||
<GameList tg={tg?.value} />
|
||||
</Section>
|
||||
<AppSection>
|
||||
<AppText>
|
||||
<StyledButton label={'Приложение'} padding={'12px 38px'} fontSize={'24px'} />
|
||||
<h2>Загрузи и бронируй заранее.</h2>
|
||||
<p>Следи за событиями, прокачивай профиль и получай вознаграждения. Пополнение счёта c <span>Kaspi</span> — в пару кликов.</p>
|
||||
<div>
|
||||
<Link href={'https://play.google.com/store/apps/details?id=com.f5computers.langame_aggregator'}>
|
||||
<Image src={'/icons/appGooglePlay.png'} alt={'google play'} width={220} height={84} loading={"lazy"} />
|
||||
</Link>
|
||||
<Link href={'https://apps.apple.com/us/app/langame/id1642484175?l=ru'}>
|
||||
<Image src={'/icons/appAppStore.png'} alt={'appStore'} width={235} height={84} loading={"lazy"} />
|
||||
</Link>
|
||||
</div>
|
||||
<h2>Скоро в твоём смартфоне.</h2>
|
||||
<p>Приложение Strike Arena сейчас в разработке. Бронирование, события, профиль и пополнение счёта — <span>всё в одном месте. Скоро.</span></p>
|
||||
</AppText>
|
||||
<Image className={'phoneApp'} src={'/images/phone.png'} alt={'phone'} width={412} height={414} loading={"lazy"} />
|
||||
</AppSection>
|
||||
@@ -137,22 +127,7 @@ export default function Home() {
|
||||
Политика<br/> конфиденциальности
|
||||
</Link>
|
||||
<HeaderBlock className={'footerBlock'}>
|
||||
<div>{inst ? (
|
||||
<Link href={inst.value} target="_blank">
|
||||
<Image src="/icons/inst.png" alt="inst" width={60} height={60} loading="lazy" />
|
||||
</Link>
|
||||
) : (
|
||||
<Image src="/icons/inst.png" alt="inst" width={60} height={60} loading="lazy" />
|
||||
)}
|
||||
|
||||
{whatsapp ? (
|
||||
<Link href={whatsapp.value} target="_blank">
|
||||
<Image src="/icons/whatsapp.png" alt="whatsapp" width={58} height={58} loading="lazy" />
|
||||
</Link>
|
||||
) : (
|
||||
<Image src="/icons/whatsapp.png" alt="whatsapp" width={58} height={58} loading="lazy" />
|
||||
)}
|
||||
|
||||
<div>
|
||||
{tg ? (
|
||||
<Link href={tg.value} className="tgLink" target="_blank">
|
||||
<Image src="/icons/tg.png" alt="tg" width={48} height={48} loading="lazy" />
|
||||
@@ -161,6 +136,14 @@ export default function Home() {
|
||||
<Image src="/icons/tg.png" alt="tg" width={48} height={48} loading="lazy" />
|
||||
)}
|
||||
|
||||
<Link href="https://vk.ru" target="_blank">
|
||||
<Image src="/icons/vk.svg" alt="vk" width={52} height={52} loading="lazy" />
|
||||
</Link>
|
||||
|
||||
<Link href="https://max.ru" target="_blank">
|
||||
<Image src="/icons/max.svg" alt="max" width={52} height={52} loading="lazy" />
|
||||
</Link>
|
||||
|
||||
{gis2 ? (
|
||||
<Link href={gis2.value} className="gis2Link headerImage" target="_blank">
|
||||
<Image src="/icons/location.svg" alt="geo" width={37} height={50} loading="lazy" />
|
||||
@@ -169,7 +152,8 @@ export default function Home() {
|
||||
<Link href={'/'} className="gis2Link headerImage" target="_blank">
|
||||
<Image src="/icons/location.svg" alt="geo" width={37} height={50} loading="lazy" />
|
||||
</Link>
|
||||
)}</div>
|
||||
)}
|
||||
</div>
|
||||
<HeaderPhone className={'footerPhone'}>
|
||||
<p style={{ marginBottom: 0 }}>{phone?.value}</p>
|
||||
<h4 onClick={() => open('zayvka-game')}>Заказать звонок</h4>
|
||||
|
||||
@@ -12,10 +12,8 @@ type Contacts = {
|
||||
export default function AboutPage() {
|
||||
const [contacts, setContacts] = useState<Contacts[]>([])
|
||||
const phone = contacts.find((c)=> c.type ==='phone');
|
||||
const inst = contacts.find((c)=> c.type ==='inst');
|
||||
const tg = contacts.find((c)=> c.type ==='tg');
|
||||
const gis2 = contacts.find((c)=> c.type ==='gis2');
|
||||
const whatsapp = contacts.find((c)=> c.type ==='whatsapp');
|
||||
|
||||
useEffect(() => {
|
||||
async function fetchContact() {
|
||||
@@ -27,7 +25,7 @@ export default function AboutPage() {
|
||||
}, []);
|
||||
return (
|
||||
<MainPage>
|
||||
<HeaderPage whatsapp={whatsapp?.value} tg={tg?.value} phone={phone?.value} inst={inst?.value} gis2={gis2?.value} />
|
||||
<HeaderPage tg={tg?.value} phone={phone?.value} gis2={gis2?.value} />
|
||||
<PolicyContent>
|
||||
<h1>Политика конфиденциальности</h1>
|
||||
<p>1. Общие положения Данная Политика конфиденциальности (далее — "Политика") определяет порядок
|
||||
|
||||
@@ -56,9 +56,9 @@ export default function BronModal() {
|
||||
{title:"PS лаундж", label:"PS зона в общем холле. На 2-4 человека"},
|
||||
]
|
||||
|
||||
const contactOptions: { type: "telegram" | "whatsapp" | "phone"; icon: string }[] = [
|
||||
const contactOptions: { type: "telegram" | "max" | "phone"; icon: string }[] = [
|
||||
{ type: 'telegram', icon: '/icons/tg.png' },
|
||||
{ type: 'whatsapp', icon: '/icons/whatsapp.png' },
|
||||
{ type: 'max', icon: '/icons/max.svg' },
|
||||
{ type: 'phone', icon: '/icons/phone.png' },
|
||||
];
|
||||
|
||||
@@ -146,7 +146,7 @@ export default function BronModal() {
|
||||
<div>
|
||||
{(isOpen || isVisible) && (
|
||||
<Overlay>
|
||||
<ModalWrapper $animateIn={shouldAnimateIn}>
|
||||
<ModalWrapper $animateIn={shouldAnimateIn} $compact={screen === 'pc3' || screen === 'pc3-2'}>
|
||||
<CloseButton onClick={close}>×</CloseButton>
|
||||
{screen === 'start' && (
|
||||
<>
|
||||
|
||||
@@ -141,7 +141,8 @@ const GameText = styled.div`
|
||||
text-align: center;
|
||||
text-transform: none;
|
||||
span{
|
||||
background: #8921ff;
|
||||
background: ${lightGreenColor};
|
||||
color: #000;
|
||||
text-transform: uppercase;
|
||||
padding: 4px 18px;
|
||||
}
|
||||
@@ -198,10 +199,9 @@ interface Game{
|
||||
}
|
||||
type Links = {
|
||||
tg?: string;
|
||||
whatsapp?: string;
|
||||
}
|
||||
|
||||
const GameList:React.FC<Links> = ({tg, whatsapp}) => {
|
||||
const GameList:React.FC<Links> = ({tg}) => {
|
||||
const [platform, setPlatform] = useState<'pc'|'ps'>('pc')
|
||||
const [games, setGames] = useState<Game[]>([]);
|
||||
const open = useBronStore((s) => s.open);
|
||||
@@ -276,15 +276,6 @@ const GameList:React.FC<Links> = ({tg, whatsapp}) => {
|
||||
<Image src={'/icons/tg_primary.png'} alt={'tg'} width={78} height={78} loading={"lazy"} />
|
||||
</Link>
|
||||
)}
|
||||
{whatsapp ? (
|
||||
<Link href={whatsapp} target={"_blank"}>
|
||||
<Image src={'/icons/wa_primary.png'} alt={'whatsapp'} width={81} height={81} loading={"lazy"} />
|
||||
</Link>
|
||||
) : (
|
||||
<Link href={'/'}>
|
||||
<Image src={'/icons/wa_primary.png'} alt={'whatsapp'} width={81} height={81} loading={"lazy"} />
|
||||
</Link>
|
||||
)}
|
||||
</div>
|
||||
</GameText>
|
||||
</div>
|
||||
|
||||
@@ -5,9 +5,7 @@ import {useBronStore} from "@/store/useBronStore";
|
||||
import styled from "styled-components";
|
||||
|
||||
type HeaderPageProps = {
|
||||
whatsapp?: string;
|
||||
tg?: string;
|
||||
inst?: string;
|
||||
phone?: string;
|
||||
gis2?: string;
|
||||
}
|
||||
@@ -188,7 +186,7 @@ const MobileMenu = styled.div<{ $isOpenMenu: boolean }>`
|
||||
`;
|
||||
|
||||
|
||||
const HeaderPage: React.FC<HeaderPageProps> = ({whatsapp, tg, inst, gis2, phone}) => {
|
||||
const HeaderPage: React.FC<HeaderPageProps> = ({tg, gis2, phone}) => {
|
||||
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
||||
|
||||
const open = useBronStore((s) => s.open);
|
||||
@@ -217,16 +215,6 @@ const HeaderPage: React.FC<HeaderPageProps> = ({whatsapp, tg, inst, gis2, phone}
|
||||
</Link>
|
||||
)}
|
||||
|
||||
{whatsapp ? (
|
||||
<Link href={whatsapp} className="headerImage" target="_blank">
|
||||
<Image src="/icons/whatsapp.png" alt="whatsapp" width={58} height={58} loading="lazy" />
|
||||
</Link>
|
||||
) : (
|
||||
<Link href={'/'} className="headerImage" target="_blank">
|
||||
<Image src="/icons/whatsapp.png" alt="whatsapp" width={58} height={58} loading="lazy" />
|
||||
</Link>
|
||||
)}
|
||||
|
||||
{tg ? (
|
||||
<Link href={tg} className="tgLink headerImage" target="_blank">
|
||||
<Image src="/icons/tg.png" alt="tg" width={48} height={48} loading="lazy" />
|
||||
@@ -237,13 +225,13 @@ const HeaderPage: React.FC<HeaderPageProps> = ({whatsapp, tg, inst, gis2, phone}
|
||||
</Link>
|
||||
)}
|
||||
|
||||
{inst ? (
|
||||
<Link href={inst} target="_blank">
|
||||
<Image src="/icons/inst.png" alt="inst" width={60} height={60} loading="lazy" />
|
||||
</Link>
|
||||
) : (
|
||||
<Image src="/icons/inst.png" alt="inst" width={60} height={60} loading="lazy" />
|
||||
)}
|
||||
<Link href="https://vk.ru" className="headerImage" target="_blank">
|
||||
<Image src="/icons/vk.svg" alt="vk" width={52} height={52} loading="lazy" />
|
||||
</Link>
|
||||
|
||||
<Link href="https://max.ru" className="headerImage" target="_blank">
|
||||
<Image src="/icons/max.svg" alt="max" width={52} height={52} loading="lazy" />
|
||||
</Link>
|
||||
|
||||
<HeaderPhone>
|
||||
<p style={{ marginBottom: 0 }}>{phone || '+7 775 260 85 59'}</p>
|
||||
@@ -256,8 +244,9 @@ const HeaderPage: React.FC<HeaderPageProps> = ({whatsapp, tg, inst, gis2, phone}
|
||||
</button>
|
||||
|
||||
{gis2 && <Link href={gis2} target="_blank">2 ГИС</Link>}
|
||||
{whatsapp && <Link href={whatsapp} target="_blank">WhatsApp</Link>}
|
||||
{tg && <Link href={tg} target="_blank">Telegram</Link>}
|
||||
<Link href="https://vk.ru" target="_blank">VK</Link>
|
||||
<Link href="https://max.ru" target="_blank">Max</Link>
|
||||
{phone && <Link href={`tel:${phone}`}>{phone}</Link>}
|
||||
|
||||
</MobileMenu>
|
||||
|
||||
@@ -21,7 +21,7 @@ interface FormData {
|
||||
name?: string
|
||||
game?: string
|
||||
contact?: string
|
||||
contactMethod?: 'telegram' | 'whatsapp' | 'phone'
|
||||
contactMethod?: 'telegram' | 'max' | 'phone'
|
||||
}
|
||||
|
||||
interface BronStore {
|
||||
|
||||
@@ -13,7 +13,7 @@ export const Overlay = styled.div`
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
`;
|
||||
export const ModalWrapper = styled.div<{ $animateIn: boolean }>`
|
||||
export const ModalWrapper = styled.div<{ $animateIn: boolean; $compact?: boolean }>`
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -23,7 +23,9 @@ export const ModalWrapper = styled.div<{ $animateIn: boolean }>`
|
||||
padding: 32px;
|
||||
border-radius: 20px;
|
||||
width: 70vw;
|
||||
height: 94vh;
|
||||
height: ${({ $compact }) => $compact ? 'auto' : '94vh'};
|
||||
max-height: ${({ $compact }) => $compact ? '80vh' : 'none'};
|
||||
overflow-y: ${({ $compact }) => $compact ? 'auto' : 'visible'};
|
||||
position: relative;
|
||||
opacity: ${({ $animateIn }) => ($animateIn ? 1 : 0)};
|
||||
transform: ${({ $animateIn }) =>
|
||||
|
||||
Reference in New Issue
Block a user