fixed some errors
This commit is contained in:
@@ -121,20 +121,22 @@
|
||||
}
|
||||
}
|
||||
|
||||
[data-sonner-toast] [data-description] {
|
||||
color: #000 !important;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Animasyonları "utilities" katmanına ekliyoruz ki Tailwind sınıfları gibi davranabilsinler */
|
||||
@layer utilities {
|
||||
/* Özel Renk Sınıfları (CSS değişkenlerini kullanmak için) */
|
||||
.text-fg { color: var(--fg); }
|
||||
.bg-bg { background-color: var(--bg); }
|
||||
.stroke-primary { stroke: #005bff; }
|
||||
|
||||
/* Dark mode track rengi için özel sınıf */
|
||||
.text-fg {
|
||||
color: var(--fg);
|
||||
}
|
||||
.bg-bg {
|
||||
background-color: var(--bg);
|
||||
}
|
||||
.stroke-primary {
|
||||
stroke: #005bff;
|
||||
}
|
||||
|
||||
.stroke-track {
|
||||
stroke: hsla(var(--hue), 10%, 10%, 0.1);
|
||||
transition: stroke var(--trans-dur);
|
||||
@@ -145,48 +147,90 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* Animasyon Sınıfları */
|
||||
.animate-msg { animation: msg 0.3s 13.7s linear forwards; }
|
||||
.animate-msgLast { animation: msg 0.3s 14s linear reverse forwards; }
|
||||
.animate-cartLines { animation: cartLines 2s ease-in-out infinite; }
|
||||
.animate-cartTop { animation: cartTop 2s ease-in-out infinite; }
|
||||
.animate-cartWheel1 {
|
||||
.animate-msg {
|
||||
animation: msg 0.3s 13.7s linear forwards;
|
||||
}
|
||||
.animate-msgLast {
|
||||
animation: msg 0.3s 14s linear reverse forwards;
|
||||
}
|
||||
.animate-cartLines {
|
||||
animation: cartLines 2s ease-in-out infinite;
|
||||
}
|
||||
.animate-cartTop {
|
||||
animation: cartTop 2s ease-in-out infinite;
|
||||
}
|
||||
.animate-cartWheel1 {
|
||||
animation: cartWheel1 2s ease-in-out infinite;
|
||||
transform: rotate(-0.25turn);
|
||||
transform-origin: 43px 111px;
|
||||
}
|
||||
.animate-cartWheel2 {
|
||||
.animate-cartWheel2 {
|
||||
animation: cartWheel2 2s ease-in-out infinite;
|
||||
transform: rotate(0.25turn);
|
||||
transform-origin: 102px 111px;
|
||||
}
|
||||
.animate-cartWheelStroke { animation: cartWheelStroke 2s ease-in-out infinite; }
|
||||
.animate-cartWheelStroke {
|
||||
animation: cartWheelStroke 2s ease-in-out infinite;
|
||||
}
|
||||
}
|
||||
|
||||
/* Keyframes Tanımları */
|
||||
@keyframes msg {
|
||||
from { opacity: 1; visibility: visible; }
|
||||
99.9% { opacity: 0; visibility: visible; }
|
||||
to { opacity: 0; visibility: hidden; }
|
||||
from {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
99.9% {
|
||||
opacity: 0;
|
||||
visibility: visible;
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
@keyframes cartLines {
|
||||
from, to { opacity: 0; }
|
||||
8%, 92% { opacity: 1; }
|
||||
from,
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
8%,
|
||||
92% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
@keyframes cartTop {
|
||||
from { stroke-dashoffset: -338; }
|
||||
50% { stroke-dashoffset: 0; }
|
||||
to { stroke-dashoffset: 338; }
|
||||
from {
|
||||
stroke-dashoffset: -338;
|
||||
}
|
||||
50% {
|
||||
stroke-dashoffset: 0;
|
||||
}
|
||||
to {
|
||||
stroke-dashoffset: 338;
|
||||
}
|
||||
}
|
||||
@keyframes cartWheel1 {
|
||||
from { transform: rotate(-0.25turn); }
|
||||
to { transform: rotate(2.75turn); }
|
||||
from {
|
||||
transform: rotate(-0.25turn);
|
||||
}
|
||||
to {
|
||||
transform: rotate(2.75turn);
|
||||
}
|
||||
}
|
||||
@keyframes cartWheel2 {
|
||||
from { transform: rotate(0.25turn); }
|
||||
to { transform: rotate(3.25turn); }
|
||||
from {
|
||||
transform: rotate(0.25turn);
|
||||
}
|
||||
to {
|
||||
transform: rotate(3.25turn);
|
||||
}
|
||||
}
|
||||
@keyframes cartWheelStroke {
|
||||
from, to { stroke-dashoffset: 81.68; }
|
||||
50% { stroke-dashoffset: 40.84; }
|
||||
}
|
||||
from,
|
||||
to {
|
||||
stroke-dashoffset: 81.68;
|
||||
}
|
||||
50% {
|
||||
stroke-dashoffset: 40.84;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,10 +54,7 @@ interface FormErrors {
|
||||
file?: string;
|
||||
}
|
||||
|
||||
export default function OpenStorePage({
|
||||
locale = "ru",
|
||||
translations,
|
||||
}: OpenStorePageProps) {
|
||||
export default function OpenStorePage({}: OpenStorePageProps) {
|
||||
const [formData, setFormData] = useState<FormData>({
|
||||
firstName: "",
|
||||
lastName: "",
|
||||
@@ -76,21 +73,21 @@ export default function OpenStorePage({
|
||||
const newErrors: FormErrors = {};
|
||||
|
||||
if (!formData.firstName.trim()) {
|
||||
newErrors.firstName = t("firstNameRequired");
|
||||
newErrors.firstName = t("requiredField");
|
||||
}
|
||||
|
||||
if (!formData.lastName.trim()) {
|
||||
newErrors.lastName = t("lastNameRequired");
|
||||
newErrors.lastName = t("requiredField");
|
||||
}
|
||||
|
||||
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
||||
if (!emailRegex.test(formData.email)) {
|
||||
newErrors.email = t("emailInvalid");
|
||||
newErrors.email = t("requiredField");
|
||||
}
|
||||
|
||||
const phoneRegex = /^\+?[0-9]{6,15}$/;
|
||||
if (!phoneRegex.test(formData.phone)) {
|
||||
newErrors.phone = t("phoneInvalid");
|
||||
newErrors.phone = t("requiredField");
|
||||
}
|
||||
|
||||
if (!formData.file) {
|
||||
|
||||
Reference in New Issue
Block a user