scrollbar for tabs
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
"eslint-plugin-react-refresh": "^0.4.7",
|
"eslint-plugin-react-refresh": "^0.4.7",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.4.38",
|
||||||
"prettier": "^3.3.2",
|
"prettier": "^3.3.2",
|
||||||
|
"tailwind-scrollbar": "^3.1.0",
|
||||||
"tailwindcss": "^3.4.4",
|
"tailwindcss": "^3.4.4",
|
||||||
"typescript": "^5.2.2",
|
"typescript": "^5.2.2",
|
||||||
"vite": "^5.3.1"
|
"vite": "^5.3.1"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export function Navbar() {
|
|||||||
<button className="tablet-figma:text-[clamp(16px,16px+(100vw-768px)/832*2,18px)] tablet-figma:leading-[clamp(16px,16px+(100vw-768px)/832*2,18px)] mobile:max-tablet-figma:text-base font-semibold text-[#ffffff] bg-gradient-to-r from-[#798FFF] to-[#D375FF] border-x border-[#3D425C] tablet:block mobile:hidden px-10">
|
<button className="tablet-figma:text-[clamp(16px,16px+(100vw-768px)/832*2,18px)] tablet-figma:leading-[clamp(16px,16px+(100vw-768px)/832*2,18px)] mobile:max-tablet-figma:text-base font-semibold text-[#ffffff] bg-gradient-to-r from-[#798FFF] to-[#D375FF] border-x border-[#3D425C] tablet:block mobile:hidden px-10">
|
||||||
Оставить заявку
|
Оставить заявку
|
||||||
</button>
|
</button>
|
||||||
{!menuOpen && <LangToggler lang={lang} />}
|
<LangToggler lang={lang} />
|
||||||
<button
|
<button
|
||||||
onClick={() => setMenuOpen(prev => !prev)}
|
onClick={() => setMenuOpen(prev => !prev)}
|
||||||
className="px-6 py-5 min-[1350px]:hidden mobile:block border-[#3D425C] mobile:max-tablet:border-l"
|
className="px-6 py-5 min-[1350px]:hidden mobile:block border-[#3D425C] mobile:max-tablet:border-l"
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ export function Availables() {
|
|||||||
>
|
>
|
||||||
Многопользовательский
|
Многопользовательский
|
||||||
</span>
|
</span>
|
||||||
<br /> режим обучения
|
<br />
|
||||||
|
режим обучения
|
||||||
</Title>
|
</Title>
|
||||||
<div className="flex mobile:max-desktop:flex-col items-start desktop:w-fit gap-x-4 tablet:pt-5 tablet:border-t border-[#3D425C]">
|
<div className="flex mobile:max-desktop:flex-col items-start desktop:w-fit gap-x-4 tablet:pt-5 tablet:border-t border-[#3D425C]">
|
||||||
<MiniTitle text="возможности" />
|
<MiniTitle text="возможности" />
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export function Products() {
|
|||||||
</span>
|
</span>
|
||||||
</Title>
|
</Title>
|
||||||
<MiniTitle className="desktop:hidden" text="Продукты" />
|
<MiniTitle className="desktop:hidden" text="Продукты" />
|
||||||
<div className="flex gax-y-4 bg-[#3D425C4D] bg-opacity-3 rounded-xl p-1 mb-2 w-fit max-w-full overflow-auto [-webkit-scroll-bar:_background-color:_red] tablet:max-desktop:mt-[13px] mobile:mt-6 mobile:max-[912px]:[-webkit-mask-image:_linear-gradient(to_left,rgba(32,35,50,0)_0%,rgba(32,35,50,1)_20%)]">
|
<div className="flex gax-y-4 bg-[#3D425C4D] bg-opacity-3 scrollbar scrollbar-track-inherit scrollbar-thumb-rounded-[4px] scrollbar-h-1 scrollbar-thumb-[#798fff] rounded-xl p-1 mb-2 w-fit max-w-full overflow-auto tablet:max-desktop:mt-[13px] mobile:mt-6 mobile:max-[912px]:[-webkit-mask-image:_linear-gradient(to_left,rgba(32,35,50,0)_0%,rgba(32,35,50,1)_20%)]">
|
||||||
<TabButton
|
<TabButton
|
||||||
className={curTab === 0 ? 'bg-[#798FFF]' : ''}
|
className={curTab === 0 ? 'bg-[#798FFF]' : ''}
|
||||||
onClick={() => setCurTab(0)}
|
onClick={() => setCurTab(0)}
|
||||||
@@ -231,8 +231,9 @@ function SimulatorsTab() {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{width < 640 ? (
|
{width < 640 ? (
|
||||||
order.map(src => (
|
order.map((src, index) => (
|
||||||
<img
|
<img
|
||||||
|
key={index}
|
||||||
src={src}
|
src={src}
|
||||||
className="rounded-lg mobile:max-tablet:min-w-[clamp(280px,100vw-80px,559px)] object-cover"
|
className="rounded-lg mobile:max-tablet:min-w-[clamp(280px,100vw-80px,559px)] object-cover"
|
||||||
alt=""
|
alt=""
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ function Slider({
|
|||||||
</button>
|
</button>
|
||||||
<div className="h-1 bg-[#3D425C] w-full">
|
<div className="h-1 bg-[#3D425C] w-full">
|
||||||
<div
|
<div
|
||||||
className="bg-[#ffffff] h-1 duration-400"
|
className="bg-[#ffffff] h-1 duration-500"
|
||||||
style={{ width: `${((slide + 1) / 3) * 100}%` }}
|
style={{ width: `${((slide + 1) / 3) * 100}%` }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+15
-16
@@ -1,31 +1,30 @@
|
|||||||
|
import tailwindScrollbar from 'tailwind-scrollbar';
|
||||||
|
|
||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
export default {
|
export default {
|
||||||
content: [
|
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
|
||||||
"./index.html",
|
|
||||||
"./src/**/*.{js,ts,jsx,tsx}",
|
|
||||||
],
|
|
||||||
theme: {
|
theme: {
|
||||||
extend: {
|
extend: {
|
||||||
screens: {
|
screens: {
|
||||||
"mobile": '360px',
|
mobile: '360px',
|
||||||
"tablet": '640px',
|
tablet: '640px',
|
||||||
"tablet-figma": '768px',
|
'tablet-figma': '768px',
|
||||||
"desktop": '1024px',
|
desktop: '1024px',
|
||||||
"desktop-figma": '1600px',
|
'desktop-figma': '1600px',
|
||||||
},
|
},
|
||||||
colors: {
|
colors: {
|
||||||
"text-gradient": '-webkit-linear-gradient(#798FFF, #D375FF)'
|
'text-gradient': '-webkit-linear-gradient(#798FFF, #D375FF)',
|
||||||
}, animation: {
|
},
|
||||||
|
animation: {
|
||||||
'infinite-scroll': 'infinite-scroll 25s linear infinite',
|
'infinite-scroll': 'infinite-scroll 25s linear infinite',
|
||||||
},
|
},
|
||||||
keyframes: {
|
keyframes: {
|
||||||
'infinite-scroll': {
|
'infinite-scroll': {
|
||||||
from: { transform: 'translateX(0)' },
|
from: { transform: 'translateX(0)' },
|
||||||
to: { transform: 'translateX(-100%)' },
|
to: { transform: 'translateX(-100%)' },
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
plugins: [],
|
},
|
||||||
}
|
},
|
||||||
|
plugins: [tailwindScrollbar({ nocompatible: true })],
|
||||||
|
};
|
||||||
|
|||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
import { defineConfig } from 'vite'
|
import { defineConfig } from 'vite';
|
||||||
import react from '@vitejs/plugin-react'
|
import react from '@vitejs/plugin-react';
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [react()],
|
plugins: [react()],
|
||||||
})
|
});
|
||||||
|
|||||||
@@ -1992,6 +1992,11 @@ supports-preserve-symlinks-flag@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
|
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
|
||||||
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
||||||
|
|
||||||
|
tailwind-scrollbar@^3.1.0:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/tailwind-scrollbar/-/tailwind-scrollbar-3.1.0.tgz#ff7596407b6da5209261d8ff03860ab9206a59e3"
|
||||||
|
integrity sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==
|
||||||
|
|
||||||
tailwindcss@^3.4.4:
|
tailwindcss@^3.4.4:
|
||||||
version "3.4.4"
|
version "3.4.4"
|
||||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.4.tgz#351d932273e6abfa75ce7d226b5bf3a6cb257c05"
|
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.4.tgz#351d932273e6abfa75ce7d226b5bf3a6cb257c05"
|
||||||
|
|||||||
Reference in New Issue
Block a user