issues/27: url on component

This commit is contained in:
Valery Petrov
2026-05-20 14:18:54 +03:00
committed by Valeriy Petrov
parent 40fcfc303e
commit 75be0504ab
9 changed files with 23 additions and 9 deletions
+2 -1
View File
@@ -1,4 +1,5 @@
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react' import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'
import { API_BASE_URL } from '@/config/api'
export const authHeader = () => { export const authHeader = () => {
const token = localStorage.getItem('token') const token = localStorage.getItem('token')
@@ -8,7 +9,7 @@ export const authHeader = () => {
export const API = createApi({ export const API = createApi({
reducerPath: 'API', reducerPath: 'API',
baseQuery: fetchBaseQuery({ baseQuery: fetchBaseQuery({
baseUrl: 'https://api.sovamed.ru', baseUrl: API_BASE_URL,
credentials: 'include', credentials: 'include',
}), }),
endpoints: (builder) => ({ endpoints: (builder) => ({
+2 -1
View File
@@ -1,5 +1,6 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import { apiUrl } from '@/config/api';
import { CertEditor } from '../Editors/CertEditor' import { CertEditor } from '../Editors/CertEditor'
const isValidImage = (file) => { const isValidImage = (file) => {
@@ -15,7 +16,7 @@ export function CertificatesForm({ initCertificates, onChange }) {
const [certificates, setCertificates] = useState([]); const [certificates, setCertificates] = useState([]);
useEffect(() => { useEffect(() => {
const certificatesWithPictureUrl = initCertificates.map((init) => ({ ...init, picture: `https://api.sovamed.ru/uploads/${init.picture}`})) const certificatesWithPictureUrl = initCertificates.map((init) => ({ ...init, picture: apiUrl(`/uploads/${init.picture}`)}))
setInitialCertificates([...certificatesWithPictureUrl]) setInitialCertificates([...certificatesWithPictureUrl])
setCertificates([...certificatesWithPictureUrl]) setCertificates([...certificatesWithPictureUrl])
}, [initCertificates]) }, [initCertificates])
+2 -1
View File
@@ -1,5 +1,6 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import { apiUrl } from '@/config/api';
import { CertEditor } from '../Editors/CertEditor' import { CertEditor } from '../Editors/CertEditor'
const isValidImage = (file) => { const isValidImage = (file) => {
@@ -17,7 +18,7 @@ export function PortfolioForm({ initPortfolios, onChange }) {
useEffect(() => { useEffect(() => {
// console.log(initPortfolios) // console.log(initPortfolios)
const portfolioWithPictureUrl = initPortfolios.map((init) => { const portfolioWithPictureUrl = initPortfolios.map((init) => {
if ( init.picture ) return ({ ...init, picture: `https://api.sovamed.ru/uploads/${init.picture}`}) if ( init.picture ) return ({ ...init, picture: apiUrl(`/uploads/${init.picture}`)})
return { ...init } return { ...init }
}) })
setInitialPorfolios([...portfolioWithPictureUrl]) setInitialPorfolios([...portfolioWithPictureUrl])
+2 -1
View File
@@ -1,5 +1,6 @@
import React, { useState, useEffect, useRef } from 'react'; import React, { useState, useEffect, useRef } from 'react';
import { apiUrl } from '@/config/api';
import { CertEditor } from '../Editors/CertEditor' import { CertEditor } from '../Editors/CertEditor'
const isValidImage = (file) => { const isValidImage = (file) => {
@@ -22,7 +23,7 @@ export function StocksForm({ initStocks, onChange }) {
// console.log(initStocks[0]?.startDate) // console.log(initStocks[0]?.startDate)
// console.log(typeof initStocks[0]?.startDate) // console.log(typeof initStocks[0]?.startDate)
const portfolioWithPictureUrl = initStocks.map((init) => { const portfolioWithPictureUrl = initStocks.map((init) => {
if ( init.picture ) return ({ ...init, picture: `https://api.sovamed.ru/uploads/${init.picture}`}) if ( init.picture ) return ({ ...init, picture: apiUrl(`/uploads/${init.picture}`)})
return { ...init } return { ...init }
}).map(init => { }).map(init => {
const dateStart = new Date(init.startDate); const dateStart = new Date(init.startDate);
+3 -1
View File
@@ -2,6 +2,8 @@ import { useState, useEffect } from 'react';
import axios from 'axios'; import axios from 'axios';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
import { apiUrl } from '@/config/api';
import { useGetFilialsQuery } from '../api/apiFilial'; import { useGetFilialsQuery } from '../api/apiFilial';
import { useGetDepartmentsQuery } from '../api/apiDepartment'; import { useGetDepartmentsQuery } from '../api/apiDepartment';
import { selectRegions } from '../store/slice/regionSlice'; import { selectRegions } from '../store/slice/regionSlice';
@@ -31,7 +33,7 @@ export function useLostDoctors() {
Promise.all( Promise.all(
data.data.map(item => { data.data.map(item => {
const fetchString = fetchParams.filter((param => Boolean(item[param]))).map(param => `${param}=${item[param]}`).join('&'); const fetchString = fetchParams.filter((param => Boolean(item[param]))).map(param => `${param}=${item[param]}`).join('&');
return axios.get(`https://api.sovamed.ru/idoctor/list?${fetchString}`, { return axios.get(apiUrl(`/idoctor/list?${fetchString}`), {
headers: { Authorization: `Bearer ${localStorage.getItem('token')}` } headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }
}) })
.then(res => { .then(res => {
+3 -1
View File
@@ -2,6 +2,8 @@ import { useState, useEffect } from 'react';
import axios from 'axios'; import axios from 'axios';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
import { apiUrl } from '@/config/api';
import { useGetSpecialistsQuery, useGetSpecialistQuery } from '../api/apiSpecialist'; import { useGetSpecialistsQuery, useGetSpecialistQuery } from '../api/apiSpecialist';
import { useGetKodopersQuery } from '../api/apiKodoper'; import { useGetKodopersQuery } from '../api/apiKodoper';
import { useGetFilialsQuery } from '../api/apiFilial'; import { useGetFilialsQuery } from '../api/apiFilial';
@@ -27,7 +29,7 @@ export function useSpecialist(id) {
Promise.all( Promise.all(
specialist.kodoper.map(code => specialist.kodoper.map(code =>
axios.get(`https://api.sovamed.ru/pricelist/list?search=${code}`, { axios.get(apiUrl(`/pricelist/list?search=${code}`), {
headers: { Authorization: `Bearer ${localStorage.getItem('token')}` } headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }
}) })
.then(res => { .then(res => {
+3 -1
View File
@@ -2,6 +2,8 @@ import { useEffect, useState, useRef } from 'react';
import { useParams, useNavigate } from 'react-router-dom'; import { useParams, useNavigate } from 'react-router-dom';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
import { apiUrl } from '@/config/api';
import { useGetFilialsQuery, useUpdateFilialMutation, useUploadFilialPictureMutation } from '../api/apiFilial'; import { useGetFilialsQuery, useUpdateFilialMutation, useUploadFilialPictureMutation } from '../api/apiFilial';
import { selectUtils } from '../store/slice/utilsSlice'; import { selectUtils } from '../store/slice/utilsSlice';
import { selectRegions } from '../store/slice/regionSlice'; import { selectRegions } from '../store/slice/regionSlice';
@@ -69,7 +71,7 @@ export const EditFilialPage = () => {
email: filial.email, email: filial.email,
fid: filial.fid, fid: filial.fid,
origin: filial.origin, origin: filial.origin,
picture: `https://api.sovamed.ru${filial.pictureLink}`, picture: apiUrl(filial.pictureLink),
policy: filial.policy, policy: filial.policy,
} }
setForm({... filialData}) setForm({... filialData})
+3 -1
View File
@@ -2,6 +2,8 @@ import {useEffect, useState, useMemo, useRef} from 'react'
import {useParams, useNavigate, useLocation } from 'react-router-dom' import {useParams, useNavigate, useLocation } from 'react-router-dom'
import DatePicker from "react-datepicker"; import DatePicker from "react-datepicker";
import { apiUrl } from '@/config/api';
import { useUpdateSpecialistMutation, useDeleteSpecialistMutation, useUploadSpecialistPictureMutation } from '../api/apiSpecialist' import { useUpdateSpecialistMutation, useDeleteSpecialistMutation, useUploadSpecialistPictureMutation } from '../api/apiSpecialist'
import { useCreateLocationMutation, useUpdateLocationMutation, useDeleteLocationMutation } from '/src/api/apiLocation.js' import { useCreateLocationMutation, useUpdateLocationMutation, useDeleteLocationMutation } from '/src/api/apiLocation.js'
import { import {
@@ -386,7 +388,7 @@ export const EditSpecialistPage = () => {
} }
updateField('category', formatCategory(specialist.category)); updateField('category', formatCategory(specialist.category));
updateField('previewPicture', `https://api.sovamed.ru${specialist.pictureLink}`); updateField('previewPicture', apiUrl(specialist.pictureLink));
const formattedDate = specialist.experience const formattedDate = specialist.experience
? `${specialist.experience}-01-01` ? `${specialist.experience}-01-01`
+3 -1
View File
@@ -1,6 +1,8 @@
import { useState, useEffect, useRef } from 'react'; import { useState, useEffect, useRef } from 'react';
import { useParams, useNavigate } from 'react-router-dom'; import { useParams, useNavigate } from 'react-router-dom';
import { apiUrl } from '@/config/api';
import { import {
useGetStockQuery, useGetStockQuery,
useUpdateStockMutation, useUpdateStockMutation,
@@ -85,7 +87,7 @@ export function EditStockPage() {
name: stock.name ?? '', name: stock.name ?? '',
startDate: datetimeLocalStart, startDate: datetimeLocalStart,
endDate: datetimeLocalEnd, endDate: datetimeLocalEnd,
picture: stock.picture ? `https://api.sovamed.ru/uploads/${stock.picture}` : '', picture: stock.picture ? apiUrl(`/uploads/${stock.picture}`) : '',
})); }));
setAnons( stock.anons ) setAnons( stock.anons )