merge: preserve deployed doctor card changes

This commit is contained in:
Abdulkadyr Karagishiev 2026-10-21 12:51:29 +03:00
commit 25ddf86ac4
3 changed files with 2 additions and 59 deletions

View File

@ -10,27 +10,6 @@
color: rgba(44, 73, 95, 0.35); color: rgba(44, 73, 95, 0.35);
} }
.rating-badge {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 5.2px;
height: 29px;
padding: 5.9px 8.2px 5.9px 7.4px;
background: var(--soft);
border: 0.744px solid var(--chip-border);
border-radius: 8.923px;
font-weight: 700;
font-size: 13.385px;
color: var(--navy);
}
.rating-badge img {
width: 13.385px;
height: 13.385px;
padding: 0 0.33px 1.28px;
}
/* ---------- плитка «Специалисты» на главной: 209 × 232 ---------- */ /* ---------- плитка «Специалисты» на главной: 209 × 232 ---------- */
.doctor-tile { .doctor-tile {
width: 209px; width: 209px;
@ -56,12 +35,6 @@
object-position: center top; object-position: center top;
} }
.doctor-tile__rating {
position: absolute;
top: 8px;
right: 9px;
}
.doctor-tile__info { .doctor-tile__info {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -219,22 +192,6 @@
height: 180px; height: 180px;
border-radius: 0; border-radius: 0;
} }
.doctor-tile__rating {
top: 8px;
right: 8px;
height: auto;
padding: 2px 8px;
gap: 4px;
border: 0;
border-radius: var(--r-8);
font-size: 10px;
line-height: 15px;
}
.doctor-tile__rating img {
width: 10px;
height: 10px;
padding: 0;
}
.doctor-tile__info { .doctor-tile__info {
gap: 0; gap: 0;
margin-top: 0; margin-top: 0;

View File

@ -1,6 +1,5 @@
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import starIcon from '../assets/figma/icon-star.svg'; import { experienceLabel } from '../lib/format.js';
import { experienceLabel, ratingLabel } from '../lib/format.js';
import { doctorPath } from '../lib/links.js'; import { doctorPath } from '../lib/links.js';
import { useLeadModal } from '../context/LeadModalContext.jsx'; import { useLeadModal } from '../context/LeadModalContext.jsx';
import './DoctorCard.css'; import './DoctorCard.css';
@ -41,16 +40,6 @@ function DoctorPhoto({ doctor, className }) {
); );
} }
export function RatingBadge({ rating, className = '' }) {
if (typeof rating !== 'number') return null;
return (
<span className={`rating-badge ${className}`} aria-label={`Рейтинг ${ratingLabel(rating)}`}>
<img src={starIcon} alt="" width="13" height="13" />
{ratingLabel(rating)}
</span>
);
}
// Плитка для слайдера «Специалисты» на главной. // Плитка для слайдера «Специалисты» на главной.
export function DoctorTile({ doctor }) { export function DoctorTile({ doctor }) {
const path = doctorPath(doctor); const path = doctorPath(doctor);
@ -58,7 +47,6 @@ export function DoctorTile({ doctor }) {
<article className="doctor-tile"> <article className="doctor-tile">
<Link to={path} className="doctor-tile__photo-link" tabIndex={-1} aria-hidden="true"> <Link to={path} className="doctor-tile__photo-link" tabIndex={-1} aria-hidden="true">
<DoctorPhoto doctor={doctor} className="doctor-tile__photo" /> <DoctorPhoto doctor={doctor} className="doctor-tile__photo" />
<RatingBadge rating={doctor.rating} className="doctor-tile__rating" />
</Link> </Link>
<div className="doctor-tile__info"> <div className="doctor-tile__info">
<Link to={path} className="doctor-tile__name"> <Link to={path} className="doctor-tile__name">
@ -90,7 +78,6 @@ export function DoctorRow({ doctor }) {
{doctor.experience_years != null && ( {doctor.experience_years != null && (
<span className="doctor-row__exp">{experienceLabel(doctor.experience_years)}</span> <span className="doctor-row__exp">{experienceLabel(doctor.experience_years)}</span>
)} )}
<RatingBadge rating={doctor.rating} />
</div> </div>
<div className="doctor-row__actions"> <div className="doctor-row__actions">
{doctor.absent ? ( {doctor.absent ? (

View File

@ -1,6 +1,6 @@
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { Link, useParams } from 'react-router-dom'; import { Link, useParams } from 'react-router-dom';
import { BookButton, RatingBadge } from '../components/DoctorCard.jsx'; import { BookButton } from '../components/DoctorCard.jsx';
import { NextSlots } from '../components/NativeBooking.jsx'; import { NextSlots } from '../components/NativeBooking.jsx';
import ContactsSection from '../components/ContactsSection.jsx'; import ContactsSection from '../components/ContactsSection.jsx';
import StubPage from './StubPage.jsx'; import StubPage from './StubPage.jsx';
@ -177,7 +177,6 @@ export default function DoctorPage() {
{d.experience_years != null && ( {d.experience_years != null && (
<span className="doctor-hero__exp">{experienceLabel(d.experience_years)}</span> <span className="doctor-hero__exp">{experienceLabel(d.experience_years)}</span>
)} )}
<RatingBadge rating={d.rating} />
</div> </div>
{d.branches?.length > 0 && ( {d.branches?.length > 0 && (
<p className="doctor-hero__branches"> <p className="doctor-hero__branches">