From 8c24e329ba4a23d6ebadcd17b3d5f20cdcdd9530 Mon Sep 17 00:00:00 2001 From: Tamara Date: Tue, 23 Jan 2024 04:53:00 +0300 Subject: [PATCH 01/30] =?UTF-8?q?=D0=BC=D0=B8=D0=BD=D0=B8=D0=BC=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=B8=20=D0=BC=D0=B0=D0=BA?= =?UTF-8?q?=D1=81=D0=B8=D0=BC=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=B7?= =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=BA=D0=B0=D1=81=D1=82=D0=BE=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE?= =?UTF-8?q?=20=D1=82=D0=B0=D1=80=D0=B8=D1=84=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/NumberInputWithUnitAdornment.tsx | 15 ++++++++++++--- src/pages/TariffConstructor/TariffConstructor.tsx | 1 + src/pages/TariffConstructor/TariffItem.tsx | 12 +++++++----- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/components/NumberInputWithUnitAdornment.tsx b/src/components/NumberInputWithUnitAdornment.tsx index 397a124..e43a40b 100644 --- a/src/components/NumberInputWithUnitAdornment.tsx +++ b/src/components/NumberInputWithUnitAdornment.tsx @@ -2,15 +2,24 @@ import { useState } from "react" import { InputAdornment, TextField, Typography, useTheme } from "@mui/material" import type { ChangeEvent } from "react" +import {Privilege} from "@frontend/kitui" interface Props { id: string; value: number; adornmentText: string; + privilege: Privilege; onChange: (value: number) => void; } -export default function NumberInputWithUnitAdornment({ id, value, adornmentText, onChange }: Props) { +const sliderSettingsByType = { + день: { max: 365, min: 30 }, + шаблон: { max: 5000, min: 100 }, + МБ: { max: 5000, min: 100 }, + заявка: { max: 5000, min: 100 } +} + +export default function NumberInputWithUnitAdornment({ id, value, adornmentText, privilege, onChange }: Props) { const theme = useTheme() const [changed, setChanged] = useState(false) @@ -20,7 +29,7 @@ export default function NumberInputWithUnitAdornment({ id, value, adornmentText, size="small" placeholder="Введите вручную" id={id} - value={changed ? (value !== 0 ? value : "") : ""} + value={changed ? (value !== sliderSettingsByType[privilege.value]?.min ? value : sliderSettingsByType[privilege.value]?.min) : ""} onChange={({ target }: ChangeEvent) => { if (!changed) { setChanged(true) @@ -34,7 +43,7 @@ export default function NumberInputWithUnitAdornment({ id, value, adornmentText, if (!isFinite(newNumber) || newNumber < 0) { - onChange(0) + onChange(sliderSettingsByType[privilege.value]?.min) return } diff --git a/src/pages/TariffConstructor/TariffConstructor.tsx b/src/pages/TariffConstructor/TariffConstructor.tsx index 1c5fa4e..42c9f59 100644 --- a/src/pages/TariffConstructor/TariffConstructor.tsx +++ b/src/pages/TariffConstructor/TariffConstructor.tsx @@ -44,6 +44,7 @@ function TariffConstructor() { > {Object.entries(customTariffs).filter(([serviceKey]) => serviceKey === "squiz").map(([serviceKey, privileges], index) => { console.log("serviceKey ",serviceKey) + console.log(Object.entries(customTariffs)) return state.userValuesMap[privilege.serviceKey]?.[privilege._id]) ?? 0 + const userValue = useCustomTariffsStore((state) => state.userValuesMap[privilege.serviceKey]?.[privilege._id]) ?? sliderSettingsByType[privilege.value]?.min const discounts = useDiscountStore((state) => state.discounts) const currentCartTotal = useCartStore((state) => state.cart.priceAfterDiscounts) - const purchasesAmount = useUserStore((state) => state.userAccount?.wallet.spent) ?? 0 + const purchasesAmount = useUserStore((state) => state.userAccount?.wallet.spent) ?? sliderSettingsByType[privilege.value]?.min const isUserNko = useUserStore(state => state.userAccount?.status) === "nko" const [value, setValue] = useState(userValue) const throttledValue = useThrottle(value, 200) @@ -67,7 +68,7 @@ export default function TariffPrivilegeSlider({ privilege }: Props) { const setNotSmallNumber = useDebouncedCallback(() => { - if (value === 0) return + if (value === sliderSettingsByType[privilege.value]?.min) return if (Number(value) < Number(sliderSettingsByType[privilege.value]?.min)) { setValue(sliderSettingsByType[privilege.value]?.min) } @@ -99,6 +100,7 @@ export default function TariffPrivilegeSlider({ privilege }: Props) { { setValue(value) @@ -152,7 +154,7 @@ export default function TariffPrivilegeSlider({ privilege }: Props) { From c4857818005dd0d4727713023c03710d57ff85b5 Mon Sep 17 00:00:00 2001 From: Tamara Date: Fri, 26 Jan 2024 01:19:56 +0300 Subject: [PATCH 02/30] =?UTF-8?q?=D0=B7=D0=B0=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BA=20=D1=80=D0=B0=D0=BD=D0=B5=D0=B5=20=D0=B2?= =?UTF-8?q?=D1=8B,=20=D0=BA=D0=B0=D1=81=D1=82=D0=BE=D0=BC=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D1=82=D0=B0=D1=80=D0=B8=D1=84=D1=8B=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=B0=20=D0=BC?= =?UTF-8?q?=D0=BE=D0=B8=20=D1=82=D0=B0=D1=80=D0=B8=D1=84=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/CustomWrapperDrawer.tsx | 2 +- src/pages/Cart/CustomWrapper.tsx | 2 +- src/pages/Tariffs/TariffsPage.tsx | 28 +++++++++++++------------- src/utils/serviceKeys.ts | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/components/CustomWrapperDrawer.tsx b/src/components/CustomWrapperDrawer.tsx index 5786625..8d7eb55 100644 --- a/src/components/CustomWrapperDrawer.tsx +++ b/src/components/CustomWrapperDrawer.tsx @@ -18,7 +18,7 @@ const name: Record = { templategen: "Шаблонизатор", squiz: "Опросник", reducer: "Скоращатель ссылок", - custom: "Кастомные тарифы", + custom: "Мои тарифы", }; interface Props { diff --git a/src/pages/Cart/CustomWrapper.tsx b/src/pages/Cart/CustomWrapper.tsx index 968a4a9..4b0e2d8 100644 --- a/src/pages/Cart/CustomWrapper.tsx +++ b/src/pages/Cart/CustomWrapper.tsx @@ -14,7 +14,7 @@ const name: Record = { templategen: "Шаблонизатор", squiz: "Опросник", reducer: "Сокращатель ссылок", - custom: "Кастомные тарифы", + custom: "Мои тарифы", } interface Props { diff --git a/src/pages/Tariffs/TariffsPage.tsx b/src/pages/Tariffs/TariffsPage.tsx index 8ad9513..ade7b2b 100644 --- a/src/pages/Tariffs/TariffsPage.tsx +++ b/src/pages/Tariffs/TariffsPage.tsx @@ -195,20 +195,20 @@ function TariffPage() { > {createTariffElements(filteredTariffs, true)} - {recentlyPurchased.length > 0 && ( - <> - - Ранее вы - - - - )} + {/*{recentlyPurchased.length > 0 && (*/} + {/* <>*/} + {/* */} + {/* Ранее вы*/} + {/* */} + {/* */} + {/* */} + {/*)}*/} ); } diff --git a/src/utils/serviceKeys.ts b/src/utils/serviceKeys.ts index 39d9592..c579ff6 100644 --- a/src/utils/serviceKeys.ts +++ b/src/utils/serviceKeys.ts @@ -2,5 +2,5 @@ export const serviceNameByKey: Record = { templategen: "Шаблонизатор", squiz: "Опросник", reducer: "Сокращатель ссылок", - custom: "Кастомные тарифы", + custom: "Мои тарифы", } From d866b4100785453c600fa91aecf98883f8900220 Mon Sep 17 00:00:00 2001 From: Nastya Date: Fri, 26 Jan 2024 04:40:01 +0300 Subject: [PATCH 03/30] =?UTF-8?q?=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BD=D0=B0=20pdf=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=83=D1=87=D0=B0=D1=8E=D1=82=20=D1=81=D0=B5=D0=B9?= =?UTF-8?q?=D1=87=D0=B0=D1=81=D1=88=D0=BD=D0=B8=D0=B9=20=D0=B4=D0=BE=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/verification.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/api/verification.ts b/src/api/verification.ts index 974f511..b7d7821 100644 --- a/src/api/verification.ts +++ b/src/api/verification.ts @@ -22,6 +22,12 @@ export async function verification( withCredentials: true, }) + verificationResponse.files = verificationResponse.files.map((obj) => { + obj.url = obj.url.replace("https://hub.pena.digital", process.env.REACT_APP_DOMAIN?.toString() || "").replace("https://shub.pena.digital", process.env.REACT_APP_DOMAIN?.toString() || "") + return obj + }) + console.log(verificationResponse) + return [verificationResponse] } catch (nativeError) { const [error] = parseAxiosError(nativeError) From dc87b35c38111618baf30c87619a555a50445a5d Mon Sep 17 00:00:00 2001 From: Nastya Date: Sat, 27 Jan 2024 01:40:33 +0300 Subject: [PATCH 04/30] =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20404=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/verification.ts | 6 ++++++ .../DocumentsDialog/JuridicalDocumentsDialog.tsx | 1 + src/pages/AccountSettings/helper.ts | 3 +++ 3 files changed, 10 insertions(+) diff --git a/src/api/verification.ts b/src/api/verification.ts index b7d7821..b77ea2b 100644 --- a/src/api/verification.ts +++ b/src/api/verification.ts @@ -8,6 +8,7 @@ import type { SendDocumentsArgs, UpdateDocumentsArgs, } from "@root/model/auth" +import { AxiosError } from "axios" const apiUrl = process.env.REACT_APP_DOMAIN + "/verification" @@ -30,6 +31,11 @@ export async function verification( return [verificationResponse] } catch (nativeError) { + const err = nativeError as AxiosError + if (err.response?.status === 404) { + return [null, `нет данных`] + } + console.log(nativeError) const [error] = parseAxiosError(nativeError) return [null, `Ошибка запроса верификации. ${error}`] diff --git a/src/pages/AccountSettings/DocumentsDialog/JuridicalDocumentsDialog.tsx b/src/pages/AccountSettings/DocumentsDialog/JuridicalDocumentsDialog.tsx index 0d6046e..db705c2 100644 --- a/src/pages/AccountSettings/DocumentsDialog/JuridicalDocumentsDialog.tsx +++ b/src/pages/AccountSettings/DocumentsDialog/JuridicalDocumentsDialog.tsx @@ -28,6 +28,7 @@ export default function JuridicalDocumentsDialog() { const isOpen = useUserStore((state) => state.isDocumentsDialogOpen) const verificationStatus = useUserStore((state) => state.verificationStatus) const documents = useUserStore((state) => state.documents)//загруженные юзером файлы + console.log(documents) const documentsUrl = useUserStore((state) => state.documentsUrl)//ссылки с бекенда const userId = useUserStore((state) => state.userId) ?? "" diff --git a/src/pages/AccountSettings/helper.ts b/src/pages/AccountSettings/helper.ts index 8781e54..27ebaaa 100644 --- a/src/pages/AccountSettings/helper.ts +++ b/src/pages/AccountSettings/helper.ts @@ -48,6 +48,9 @@ export const verify = async (id: string) => { const [verificationResult, verificationError] = await verification(id) if (verificationError) { + + if (verificationError === "нет данных") return + setVerificationStatus(VerificationStatus.NOT_VERIFICATED) devlog("Error fetching user", verificationError) From 958f9f66559e311e9b6e03c8c5875c79bc4b39e3 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sat, 27 Jan 2024 03:14:45 +0300 Subject: [PATCH 05/30] =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=20=D0=B2=D0=BA=D0=BB=D0=B0=D0=B4=D0=BE=D0=BA=20=D0=B2=20?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8=D0=B8,=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=BF=D0=B8=D1=81=D1=8C=20=D0=BF=D1=83=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=87=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D1=87=D1=82?= =?UTF-8?q?=D0=BE=D0=B1=D1=8B=20=D0=BD=D0=B5=20=D0=BF=D1=83=D0=B3=D0=B0?= =?UTF-8?q?=D0=BB=D0=B8=D1=81=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/favicon.ico | Bin 3870 -> 15086 bytes public/index.html | 50 ++++++++++-------------------------- src/pages/History/index.tsx | 4 ++- 3 files changed, 16 insertions(+), 38 deletions(-) diff --git a/public/favicon.ico b/public/favicon.ico index a11777cc471a4344702741ab1c8a588998b1311a..1f72bd663a650223101fc6b4c83fbacb41401a5e 100644 GIT binary patch literal 15086 zcmeI2d303O9mih?iy~V{X0m5O_5~pb$f5`+9H^ooh^Qc7TS2J>1QZHb!Xj2$Tdga! zYI|IcsK-`4?J2aiL4~5$<;bEeN`xvRTL4*vB(ITbIoDtWoDu`$%L*GTRdKGil6_A5c#LXfoL2gILD?? z*Yf96FdZ;Ma{s}12sqLd-gaI${^FYIO*YfLDWQ0t?)fQnyb2n8qp_>8@+sSXQ)MXr z@*xIz7af|G*8kwEIl=a(^0xCw!(aVE-#Jjrwc39qKCUHQC))w+jt3`f`%RUR@TUWt z>Jyz)I+-_T_A&4F4c^I|X))u_4BkBjzb!z0I+Q<3V~tPneXOaRo%v74Uu8}oHm7C{ zG}jg0VeT%OZ|*NCKXtIAd@bLE5&KFOw`%7}$bjEmusehgM|nOG^$T}ir_jGMOKq4+bOHh+-b)!be@+uYl*+=J^u_a9I{ z#YRh`89Z0G@K@i^x<~VFxBQKI7K*>@Kb$j4Z9N*j&zSuxo72|^kpHlY5AVm4yL7qn z*LahkoN2Bpm;(O>Z9beo`>IM8b~6%NbcFlIF8sAFIpgK8vGOA34;zYRM%s34pK54p zH_;E`;lA31zqrS^{m(P6N$(c0{<7yk8>8o6OFtj)=fBE@zt*xlRPV8Z#>Ja5dYK&^ z>qm{71u0qP+XX*y8#BY%K6Id@ysy#GXb<-fUHBh@_v%=2mmZDjvwVXB%3pSw|C`Hm zt~cQmj&Jb0*UWCuozK|S2OS4p_F zKcVgS@P7jybn0?kD<*OUXw+KQ&2N?edxg`?E-5+I9LHhHOk@81TgFhA@2<1lYtg$7 z^!9TfjE--ddi>YlB1e&~1E>H_9ZkCanm%xQR{sWVNd2HF#b-W~JJ!TWi{E|9M z_jB(J#|dXbpBhu*Rfd&cXL^PXI52n6)G6;+u8&VClky!7wJZ75AA87`22)mduQSvJBm^K5j3_x-$&m1cFc7O=mlDz3BGPRv86rI z*FdyBY$Q*Po6fWS3?5m2A0nOS9VPwEXPaj@d+<@+{|=lkUV4f&YBw#z={pzi;M5xY z7-;S0)~_{(UjW*i3x1K>gkL%s541o0I(P-#3wi@Swg9!cq~K+29}8L|>-z{8U8 zf8xMf zIjw9=4*>P&v_kGwlIVN-qyK4srMaQTcztg*Z*V=2r03uYpt;d#5Y=9}vk1tW2o%TB zIJOpS0b9ZPFN){>nticJte+<{m%a_$XtXoVBfim>_nOmcKG3M|B>A-GeIxic_zncj zEfiz>ym*c|Fs;z!%m-0cTL_@upDR}7+}}F4{1N?{NzKW3wx5z zUK?nBeZ%Q&+V4r50Zu!Y3T2--fOUrAXz7wZhe{XC<_ySHCp#~TXf1(VwXbJ^tIy8o zZuT>iQ+M8!*(blXr$d_yJPCb?_e@FfB;HHxMC;obU=T>OeGQiAzZINx+6i?XY+o@a zVwyFRviiNw^*^zra~IBatFDiMcfhS6IKHGhegM_oMx=`#-@xe!PuG=&+ zqsPnyZ_*svfno;1v61_Drgh_nP`Jr<{6`>OMjlx*|e!l_~R52%w>V=^xGQ3lSqyT;iD zV?57J>;L6xovra-WpD36s@_B8h4)7f<&4aR?>a{v$oDTpXa4kdzOYjI zw{c!!DCZXJG7yJL(~8X(^Cp-(IcrOK@1#F0VsA9Btta6UY*jdHi^FD6h+VC7?vKX4 z(yFds!d5QlR%BbcC9{*$6_>B!OohHh5Af_Yq|PbZeoGz)lkD#x`gB(7(`Y&DVL$AF zPS;xJeryhEkJ{I;?}O~hw!R6=K)~D(+dl#ke}}|X^`L#}6**&c4)P>@OYwN8pTXB( z^L{qC!1mpi=sOQQCcV*unCao)=iV@bIfvrXIuCIOXsj2sAGrlQ0eS(~xwCj+S99!D z(b^~dvjWj$f5@yh%FHUGn^{RnqQbZo7`}3%8GybUr|8KVFcGNDDVkuTtlThe z0c${f1*jw{Q)y)Ts?c@9n1=3YX04(V3STU&v#S3^MxByuWPO~XIX7W`l)d_g_5*#K z^GxWMRvgdzx7m*3Icom{L1C!uyvqkm!FtB;ZCi`)Ue`Od@TK;i#0USBcgrBg5B2+% zZu?L?9|Sf5t3Qy&{IuvUll(fDw0*8`NDp)_|Eze(S?bOiz9nw?*32G)@K z`G(9*_IjUYtXvJA0b_vmtsw6T+paC`{IX9voz1D$c_MI}@1OSVHP?9rv?tFFJD)9` z`E{RgY~JMU;I-!L-Ta*jV9-9t+@f`Hr^VW z(R&6uv>w&`rokBoXMUYI)_%A>hvi)@bIQf=+C+ZMQ@^%(+fv`(9qd03VlJ$C$3Hk* zVy^*^dmhgjeJ68)FUem;o)_$VPAMJpSg*-{=I7QKAytV$(T7WvNxiF>EChTtY=Y1ckZ<@xkdq9J^rgX4=I6^tDV!gNnJt{M;&z=SK zXDZ06dVC(#+qbXLv2siC>^>7S`}V+>?&Qk@L?Q!!q|XLx?0kNyvkm;%nil|2-o+rCuEF-(I%-F}ijC~o(k~HKAkr0)!FCj~d>`RtpD?8b; zXOC1OD!V*IsqUwzbMF1)-gEDD=A573Z-&G7^LoAC9|WO7Xc0Cx1g^Zu0u_SjAPB3vGa^W|sj)80f#V0@M_CAZTIO(t--xg= z!sii`1giyH7EKL_+Wi0ab<)&E_0KD!3Rp2^HNB*K2@PHCs4PWSA32*-^7d{9nH2_E zmC{C*N*)(vEF1_aMamw2A{ZH5aIDqiabnFdJ|y0%aS|64E$`s2ccV~3lR!u<){eS` z#^Mx6o(iP1Ix%4dv`t@!&Za-K@mTm#vadc{0aWDV*_%EiGK7qMC_(`exc>-$Gb9~W!w_^{*pYRm~G zBN{nA;cm^w$VWg1O^^<6vY`1XCD|s_zv*g*5&V#wv&s#h$xlUilPe4U@I&UXZbL z0)%9Uj&@yd03n;!7do+bfixH^FeZ-Ema}s;DQX2gY+7g0s(9;`8GyvPY1*vxiF&|w z>!vA~GA<~JUqH}d;DfBSi^IT*#lrzXl$fNpq0_T1tA+`A$1?(gLb?e#0>UELvljtQ zK+*74m0jn&)5yk8mLBv;=@}c{t0ztT<v;Avck$S6D`Z)^c0(jiwKhQsn|LDRY&w(Fmi91I7H6S;b0XM{e zXp0~(T@k_r-!jkLwd1_Vre^v$G4|kh4}=Gi?$AaJ)3I+^m|Zyj#*?Kp@w(lQdJZf4 z#|IJW5z+S^e9@(6hW6N~{pj8|NO*>1)E=%?nNUAkmv~OY&ZV;m-%?pQ_11)hAr0oAwILrlsGawpxx4D43J&K=n+p3WLnlDsQ$b(9+4 z?mO^hmV^F8MV{4Lx>(Q=aHhQ1){0d*(e&s%G=i5rq3;t{JC zmgbn5Nkl)t@fPH$v;af26lyhH!k+#}_&aBK4baYPbZy$5aFx4}ka&qxl z$=Rh$W;U)>-=S-0=?7FH9dUAd2(q#4TCAHky!$^~;Dz^j|8_wuKc*YzfdAht@Q&ror?91Dm!N03=4=O!a)I*0q~p0g$Fm$pmr$ zb;wD;STDIi$@M%y1>p&_>%?UP($15gou_ue1u0!4(%81;qcIW8NyxFEvXpiJ|H4wz z*mFT(qVx1FKufG11hByuX%lPk4t#WZ{>8ka2efjY`~;AL6vWyQKpJun2nRiZYDij$ zP>4jQXPaP$UC$yIVgGa)jDV;F0l^n(V=HMRB5)20V7&r$jmk{UUIe zVjKroK}JAbD>B`2cwNQ&GDLx8{pg`7hbA~grk|W6LgiZ`8y`{Iq0i>t!3p2}MS6S+ zO_ruKyAElt)rdS>CtF7j{&6rP-#c=7evGMt7B6`7HG|-(WL`bDUAjyn+k$mx$CH;q2Dz4x;cPP$hW=`pFfLO)!jaCL@V2+F)So3}vg|%O*^T1j>C2lx zsURO-zIJC$^$g2byVbRIo^w>UxK}74^TqUiRR#7s_X$e)$6iYG1(PcW7un-va-S&u zHk9-6Zn&>T==A)lM^D~bk{&rFzCi35>UR!ZjQkdSiNX*-;l4z9j*7|q`TBl~Au`5& z+c)*8?#-tgUR$Zd%Q3bs96w6k7q@#tUn`5rj+r@_sAVVLqco|6O{ILX&U-&-cbVa3 zY?ngHR@%l{;`ri%H*0EhBWrGjv!LE4db?HEWb5mu*t@{kv|XwK8?npOshmzf=vZA@ zVSN9sL~!sn?r(AK)Q7Jk2(|M67Uy3I{eRy z_l&Y@A>;vjkWN5I2xvFFTLX0i+`{qz7C_@bo`ZUzDugfq4+>a3?1v%)O+YTd6@Ul7 zAfLfm=nhZ`)P~&v90$&UcF+yXm9sq!qCx3^9gzIcO|Y(js^Fj)Rvq>nQAHI92ap=P z10A4@prk+AGWCb`2)dQYFuR$|H6iDE8p}9a?#nV2}LBCoCf(Xi2@szia7#gY>b|l!-U`c}@ zLdhvQjc!BdLJvYvzzzngnw51yRYCqh4}$oRCy-z|v3Hc*d|?^Wj=l~18*E~*cR_kU z{XsxM1i{V*4GujHQ3DBpl2w4FgFR48Nma@HPgnyKoIEY-MqmMeY=I<%oG~l!f<+FN z1ZY^;10j4M4#HYXP zw5eJpA_y(>uLQ~OucgxDLuf}fVs272FaMxhn4xnDGIyLXnw>Xsd^J8XhcWIwIoQ9} z%FoSJTAGW(SRGwJwb=@pY7r$uQRK3Zd~XbxU)ts!4XsJrCycrWSI?e!IqwqIR8+Jh zlRjZ`UO1I!BtJR_2~7AbkbSm%XQqxEPkz6BTGWx8e}nQ=w7bZ|eVP4?*Tb!$(R)iC z9)&%bS*u(lXqzitAN)Oo=&Ytn>%Hzjc<5liuPi>zC_nw;Z0AE3Y$Jao_Q90R-gl~5 z_xAb2J%eArrC1CN4G$}-zVvCqF1;H;abAu6G*+PDHSYFx@Tdbfox*uEd3}BUyYY-l zTfEsOqsi#f9^FoLO;ChK<554qkri&Av~SIM*{fEYRE?vH7pTAOmu2pz3X?Wn*!ROX ztd54huAk&mFBemMooL33RV-*1f0Q3_(7hl$<#*|WF9P!;r;4_+X~k~uKEqdzZ$5Al zV63XN@)j$FN#cCD;ek1R#l zv%pGrhB~KWgoCj%GT?%{@@o(AJGt*PG#l3i>lhmb_twKH^EYvacVY-6bsCl5*^~L0 zonm@lk2UvvTKr2RS%}T>^~EYqdL1q4nD%0n&Xqr^cK^`J5W;lRRB^R-O8b&HENO||mo0xaD+S=I8RTlIfVgqN@SXDr2&-)we--K7w= zJVU8?Z+7k9dy;s;^gDkQa`0nz6N{T?(A&Iz)2!DEecLyRa&FI!id#5Z7B*O2=PsR0 zEvc|8{NS^)!d)MDX(97Xw}m&kEO@5jqRaDZ!+%`wYOI<23q|&js`&o4xvjP7D_xv@ z5hEwpsp{HezI9!~6O{~)lLR@oF7?J7i>1|5a~UuoN=q&6N}EJPV_GD`&M*v8Y`^2j zKII*d_@Fi$+i*YEW+Hbzn{iQk~yP z>7N{S4)r*!NwQ`(qcN#8SRQsNK6>{)X12nbF`*7#ecO7I)Q$uZsV+xS4E7aUn+U(K baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/public/index.html b/public/index.html index 59a71d2..017a7cb 100644 --- a/public/index.html +++ b/public/index.html @@ -2,46 +2,22 @@ - - - - - - - - - - - - - React App + + + + + + + + + + + Pena Hub - -
- - + +
\ No newline at end of file diff --git a/src/pages/History/index.tsx b/src/pages/History/index.tsx index 2eec7f7..2084b0c 100644 --- a/src/pages/History/index.tsx +++ b/src/pages/History/index.tsx @@ -18,7 +18,8 @@ import EmailIcon from '@mui/icons-material/Email'; import {enqueueSnackbar} from "notistack" import { makeRequest } from "@frontend/kitui" -const subPages = ["Платежи", "Покупки тарифов", "Окончания тарифов"] +const subPages = ["Платежи"] +// const subPages = ["Платежи", "Покупки тарифов", "Окончания тарифов"] export default function History() { const [selectedItem, setSelectedItem] = useState(0) @@ -93,6 +94,7 @@ export default function History() { } onError={handleComponentError} > + {historyData?.length === 0 && Нет данных} {historyData?.filter((e) => { e.createdAt = extractDateFromString(e.createdAt) return(!e.isDeleted && e.key === "payCart" && Array.isArray(e.rawDetails[0].Value) From d4c0a77d7f6f0be83ecfacce357ba32a6e463bf8 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 01:23:29 +0300 Subject: [PATCH 06/30] =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D1=85=D0=BE=D0=B4=D0=B5=20=D0=BE=D1=82=20=D0=BE=D0=BF?= =?UTF-8?q?=D0=BB=D0=B0=D1=82=D1=8B=20=D1=82=D0=B0=D1=80=D0=B8=D1=84=D0=B0?= =?UTF-8?q?=20=D1=81=20=D0=BA=D0=B2=D0=B8=D0=B7=D0=B0=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=81=D1=82=D1=80=20=D0=BE=D0=BF=D0=BB=D0=B0=D1=82=D1=8B=20?= =?UTF-8?q?=D1=85=D0=B0=D0=B1=D0=B0=20=D1=81=D1=83=D0=BC=D0=BC=D0=B0=20?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B8=D1=82=D1=81=D1=8F=20=D0=BD=D0=B0=20100?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/index.html | 2 +- src/pages/Payment/Payment.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public/index.html b/public/index.html index 017a7cb..5d72d6f 100644 --- a/public/index.html +++ b/public/index.html @@ -6,7 +6,7 @@ - + diff --git a/src/pages/Payment/Payment.tsx b/src/pages/Payment/Payment.tsx index da6732d..d20c898 100644 --- a/src/pages/Payment/Payment.tsx +++ b/src/pages/Payment/Payment.tsx @@ -59,7 +59,7 @@ export default function Payment() { const fromSquiz = params.get("action") if (fromSquiz === "squizpay") { setIsFromSquiz(true) - setPaymentValueField(params.get("dif") || "0") + setPaymentValueField((Number(params.get("dif") || "0") / 100).toString()) } console.log(fromSquiz) }, []) From 7b2aa81edb3ced959ade5bd364c6080d74e818da Mon Sep 17 00:00:00 2001 From: Tamara Date: Sun, 28 Jan 2024 02:58:29 +0300 Subject: [PATCH 07/30] =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D1=85=D0=BE=D0=B4=D0=B5=20=D0=BD=D0=B0=20=D0=BE=D0=BF?= =?UTF-8?q?=D0=BB=D0=B0=D1=82=D1=83=20=D1=81=20=D0=BA=D0=B2=D0=B8=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80?= =?UTF-8?q?=D1=8B=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B8=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D1=8E=D1=82=D1=81=D1=8F=20=D0=B2=20?= =?UTF-8?q?=D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=BD=D0=BE=D0=B9=20=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Payment/Payment.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/Payment/Payment.tsx b/src/pages/Payment/Payment.tsx index d20c898..c14ada2 100644 --- a/src/pages/Payment/Payment.tsx +++ b/src/pages/Payment/Payment.tsx @@ -61,6 +61,7 @@ export default function Payment() { setIsFromSquiz(true) setPaymentValueField((Number(params.get("dif") || "0") / 100).toString()) } + history.pushState(null, document.title, "/payment"); console.log(fromSquiz) }, []) From a72621b71d735b8b682595b53d73134b148858d4 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 11:59:07 +0300 Subject: [PATCH 08/30] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=B0=D1=8F=20=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=87=D0=BA=D0=B0=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D0=B8=D1=80=D0=B5=D0=BA=D1=82=D0=B0=20=D1=81=20=D0=BA?= =?UTF-8?q?=D0=B2=D0=B8=D0=B7=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.tsx | 2 ++ src/pages/QuizPayment/QuizPayment.tsx | 38 +++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/pages/QuizPayment/QuizPayment.tsx diff --git a/src/index.tsx b/src/index.tsx index 44d992e..3372d28 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -5,6 +5,7 @@ import { CssBaseline, ThemeProvider } from "@mui/material" import Faq from "./pages/Faq/Faq" import Wallet from "./pages/Wallet" import Payment from "./pages/Payment/Payment" +import QuizPayment from "./pages/QuizPayment/QuizPayment" import Support from "./pages/Support/Support" import AccountSettings from "./pages/AccountSettings/AccountSettings" import Landing from "./pages/Landing/Landing" @@ -92,6 +93,7 @@ const App = () => { } /> } /> } /> + } /> }> }> } /> diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx new file mode 100644 index 0000000..7fd4d50 --- /dev/null +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -0,0 +1,38 @@ +import { + Box, + Button, + IconButton, + Typography, + useMediaQuery, + useTheme, +} from "@mui/material" +import ArrowBackIcon from "@mui/icons-material/ArrowBack" +import SectionWrapper from "@components/SectionWrapper" +import { cardShadow } from "@root/utils/theme" +import { useLayoutEffect } from "react" +import InputTextfield from "@root/components/InputTextfield" +import { currencyFormatter } from "@root/utils/currencyFormatter" +import { useToken } from "@frontend/kitui" +import axios, { AxiosResponse } from "axios" + + +function refresh(token: string) { + return axios>(process.env.REACT_APP_DOMAIN + "/auth/refresh", { + headers: { + "Content-Type": "application/json", + }, + }); +} + +export default function QuizPayment() { + const token = useToken() + useLayoutEffect(() => { + if (!token) refresh(token) + console.log(token ? "авторизован" : "не авторизован") + }, []) + + + return ( + <>подождити + ) +}; \ No newline at end of file From 549a22ffa24751df0adefc7b58c184c3bc53a3b1 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 18:55:01 +0300 Subject: [PATCH 09/30] =?UTF-8?q?=D1=80=D0=B5=D1=84=D1=80=D0=B5=D1=88=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D0=B5?= =?UTF-8?q?=20=D0=BE=D1=82=20=D0=BA=D0=B2=D0=B8=D0=B7=D0=B0=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=83=D1=87=D0=B0=D0=B5=D1=82=20=D1=82=D0=BE=D0=BA=D0=B5?= =?UTF-8?q?=D0=BD,=20=D0=BF=D1=80=D1=8F=D1=87=D0=B5=D1=82=20=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D0=B5,=20=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7?= =?UTF-8?q?=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=20=D1=81=D1=82=D0=B0=D1=82=D1=83?= =?UTF-8?q?=D1=81=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/ApologyPage.tsx | 22 +++++++++ src/pages/QuizPayment/QuizPayment.tsx | 66 ++++++++++++++++----------- 2 files changed, 61 insertions(+), 27 deletions(-) create mode 100644 src/pages/ApologyPage.tsx diff --git a/src/pages/ApologyPage.tsx b/src/pages/ApologyPage.tsx new file mode 100644 index 0000000..e6c9474 --- /dev/null +++ b/src/pages/ApologyPage.tsx @@ -0,0 +1,22 @@ +import { Box, Typography } from "@mui/material"; + +export const ApologyPage = ({ message }: { message: string }) => { + return ( + + + {message || "что-то пошло не так"} + + + ); +}; diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index 7fd4d50..840b035 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -1,38 +1,50 @@ -import { - Box, - Button, - IconButton, - Typography, - useMediaQuery, - useTheme, -} from "@mui/material" -import ArrowBackIcon from "@mui/icons-material/ArrowBack" -import SectionWrapper from "@components/SectionWrapper" -import { cardShadow } from "@root/utils/theme" -import { useLayoutEffect } from "react" -import InputTextfield from "@root/components/InputTextfield" -import { currencyFormatter } from "@root/utils/currencyFormatter" -import { useToken } from "@frontend/kitui" +import { useEffect, useState } from "react" import axios, { AxiosResponse } from "axios" +import { ApologyPage } from "../ApologyPage" +import { useNavigate } from "react-router-dom" function refresh(token: string) { - return axios>(process.env.REACT_APP_DOMAIN + "/auth/refresh", { - headers: { - "Content-Type": "application/json", - }, - }); + return axios>(process.env.REACT_APP_DOMAIN + "/auth/refresh", { + headers: { + "Authorization": token, + "Content-Type": "application/json", + }, + method: "POST" + }); } export default function QuizPayment() { - const token = useToken() - useLayoutEffect(() => { - if (!token) refresh(token) - console.log(token ? "авторизован" : "не авторизован") + const navigate = useNavigate() + const [message, setMessage] = useState("Идёт загрузка") + useEffect(() => { + const params = new URLSearchParams(window.location.search) + const action = params.get("action") + const dif = params.get("dif") + const token = params.get("data") + history.pushState(null, document.title, "/payment"); + + if (action && dif && token) { + if (!token) { + (async () => { + try { + await refresh(token) + navigate(process.env.REACT_APP_DOMAIN + `payment?action=${action}&dif=${dif}`) + } catch (e) { + setMessage("Произошла ошибка") + + var link = document.createElement("a"); + link.href = "https://quiz.pena.digitaltariffs"; + document.body.appendChild(link); + link.click(); + } + + })() + } + } + }, []) - - return ( - <>подождити + ) }; \ No newline at end of file From da68353b690c61b285760fd41f00b62c08d85988 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 19:27:05 +0300 Subject: [PATCH 10/30] -- --- src/pages/QuizPayment/QuizPayment.tsx | 36 +++++++++++++++------------ 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index 840b035..be039c2 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -2,12 +2,13 @@ import { useEffect, useState } from "react" import axios, { AxiosResponse } from "axios" import { ApologyPage } from "../ApologyPage" import { useNavigate } from "react-router-dom" +import { setAuthToken } from "@frontend/kitui"; function refresh(token: string) { return axios>(process.env.REACT_APP_DOMAIN + "/auth/refresh", { headers: { - "Authorization": token, + "Authorization": "Bearer " + token, "Content-Type": "application/json", }, method: "POST" @@ -18,29 +19,32 @@ export default function QuizPayment() { const navigate = useNavigate() const [message, setMessage] = useState("Идёт загрузка") useEffect(() => { + console.log("Я начал работать") const params = new URLSearchParams(window.location.search) const action = params.get("action") const dif = params.get("dif") const token = params.get("data") - history.pushState(null, document.title, "/payment"); if (action && dif && token) { - if (!token) { - (async () => { - try { - await refresh(token) - navigate(process.env.REACT_APP_DOMAIN + `payment?action=${action}&dif=${dif}`) - } catch (e) { - setMessage("Произошла ошибка") + (async () => { + try { + const data = await refresh(token) + console.log(data.data.accessToken) + setAuthToken(data.data.accessToken) + navigate(process.env.REACT_APP_DOMAIN + `payment?action=${action}&dif=${dif}`) + return - var link = document.createElement("a"); - link.href = "https://quiz.pena.digitaltariffs"; - document.body.appendChild(link); - link.click(); - } + } catch (e) { + setMessage("Произошла ошибка") + } + })() - })() - } + } else { + + var link = document.createElement("a"); + link.href = "https://quiz.pena.digitaltariffs"; + document.body.appendChild(link); + link.click(); } }, []) From ad8a223ec01f25a4598b9f454a21dbdd6a839a41 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 21:29:59 +0300 Subject: [PATCH 11/30] =?UTF-8?q?=D1=83=D1=80=D0=BB=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BD=D0=B0=20=D1=81=D1=82=D1=80=20=D0=BE=D0=BF?= =?UTF-8?q?=D0=BB=D0=B0=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/QuizPayment/QuizPayment.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index be039c2..e6b450a 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -31,7 +31,7 @@ export default function QuizPayment() { const data = await refresh(token) console.log(data.data.accessToken) setAuthToken(data.data.accessToken) - navigate(process.env.REACT_APP_DOMAIN + `payment?action=${action}&dif=${dif}`) + navigate(`/payment?action=${action}&dif=${dif}`, {replace: true}) return } catch (e) { From 331c740b54cfdd308956bac7e8fb62a1749c641f Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 21:42:53 +0300 Subject: [PATCH 12/30] -- --- src/pages/QuizPayment/QuizPayment.tsx | 33 ++++++++++++++++++++------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index e6b450a..7916556 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -2,7 +2,8 @@ import { useEffect, useState } from "react" import axios, { AxiosResponse } from "axios" import { ApologyPage } from "../ApologyPage" import { useNavigate } from "react-router-dom" -import { setAuthToken } from "@frontend/kitui"; +import { clearAuthToken, getMessageFromFetchError, setAuthToken, useUserFetcher } from "@frontend/kitui"; +import { clearUserData, setUser, useUserStore } from "@root/stores/user"; function refresh(token: string) { @@ -15,15 +16,18 @@ function refresh(token: string) { }); } +const params = new URLSearchParams(window.location.search) +const action = params.get("action") +const dif = params.get("dif") +const token = params.get("data") + + export default function QuizPayment() { const navigate = useNavigate() + const userId = useUserStore((state) => state.userId) const [message, setMessage] = useState("Идёт загрузка") - useEffect(() => { + console.log("Я начал работать") - const params = new URLSearchParams(window.location.search) - const action = params.get("action") - const dif = params.get("dif") - const token = params.get("data") if (action && dif && token) { (async () => { @@ -31,7 +35,21 @@ export default function QuizPayment() { const data = await refresh(token) console.log(data.data.accessToken) setAuthToken(data.data.accessToken) - navigate(`/payment?action=${action}&dif=${dif}`, {replace: true}) + + useUserFetcher({ + url: process.env.REACT_APP_DOMAIN + `/user/${userId}`, + userId, + onNewUser: setUser, + onError: (error) => { + const errorMessage = getMessageFromFetchError(error) + if (errorMessage) { + clearUserData() + clearAuthToken() + } + }, + }) + + navigate(`/payment?action=${action}&dif=${dif}`, { replace: true }) return } catch (e) { @@ -47,7 +65,6 @@ export default function QuizPayment() { link.click(); } - }, []) return ( ) From 1468e3a454751274e51fc3a08d48e16fec825b6d Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 21:53:39 +0300 Subject: [PATCH 13/30] -- --- src/pages/QuizPayment/QuizPayment.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index 7916556..4e3cbb9 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -21,14 +21,17 @@ const action = params.get("action") const dif = params.get("dif") const token = params.get("data") +let first = false export default function QuizPayment() { const navigate = useNavigate() const userId = useUserStore((state) => state.userId) const [message, setMessage] = useState("Идёт загрузка") - console.log("Я начал работать") + console.log("Я начал работать") + if (first) { + first = false if (action && dif && token) { (async () => { try { @@ -65,6 +68,8 @@ export default function QuizPayment() { link.click(); } + } + return ( ) From f4522a8b39edebdde45ebfe59b619935ce01e4ca Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 22:28:01 +0300 Subject: [PATCH 14/30] -- --- src/pages/QuizPayment/QuizPayment.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index 4e3cbb9..081ca01 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -21,7 +21,7 @@ const action = params.get("action") const dif = params.get("dif") const token = params.get("data") -let first = false +let first = true export default function QuizPayment() { const navigate = useNavigate() From a2a5a14f9089627e246e185f8c070372e410e922 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 23:20:46 +0300 Subject: [PATCH 15/30] -- --- src/pages/QuizPayment/QuizPayment.tsx | 36 ++++++++++++++------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index 081ca01..b9e0e0f 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -2,8 +2,8 @@ import { useEffect, useState } from "react" import axios, { AxiosResponse } from "axios" import { ApologyPage } from "../ApologyPage" import { useNavigate } from "react-router-dom" -import { clearAuthToken, getMessageFromFetchError, setAuthToken, useUserFetcher } from "@frontend/kitui"; -import { clearUserData, setUser, useUserStore } from "@root/stores/user"; +import { clearAuthToken, getMessageFromFetchError, setAuthToken, useUserAccountFetcher, useUserFetcher } from "@frontend/kitui"; +import { clearUserData, setUser, setUserAccount, useUserStore } from "@root/stores/user"; function refresh(token: string) { @@ -20,12 +20,12 @@ const params = new URLSearchParams(window.location.search) const action = params.get("action") const dif = params.get("dif") const token = params.get("data") +const userId = params.get("userid") let first = true export default function QuizPayment() { const navigate = useNavigate() - const userId = useUserStore((state) => state.userId) const [message, setMessage] = useState("Идёт загрузка") console.log("Я начал работать") @@ -35,14 +35,20 @@ export default function QuizPayment() { if (action && dif && token) { (async () => { try { - const data = await refresh(token) - console.log(data.data.accessToken) - setAuthToken(data.data.accessToken) + // const data = await refresh(token) + console.log(token) + setAuthToken(token) + // setAuthToken(data.data.accessToken) + console.log("делаем юзера") - useUserFetcher({ - url: process.env.REACT_APP_DOMAIN + `/user/${userId}`, + useUserAccountFetcher({ + url: process.env.REACT_APP_DOMAIN + "/customer/account", userId, - onNewUser: setUser, + onNewUserAccount: (user) => { + setUserAccount(user) + navigate(`/payment?action=${action}&dif=${dif}`, { replace: true }) + + }, onError: (error) => { const errorMessage = getMessageFromFetchError(error) if (errorMessage) { @@ -52,21 +58,17 @@ export default function QuizPayment() { }, }) - navigate(`/payment?action=${action}&dif=${dif}`, { replace: true }) return } catch (e) { setMessage("Произошла ошибка") } })() - - } else { - - var link = document.createElement("a"); - link.href = "https://quiz.pena.digitaltariffs"; - document.body.appendChild(link); - link.click(); } + var link = document.createElement("a"); + link.href = "https://quiz.pena.digitaltariffs"; + document.body.appendChild(link); + link.click(); } From 462b112315fc0b2a1ee59b821706b017b6dd06a1 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sun, 28 Jan 2024 23:42:03 +0300 Subject: [PATCH 16/30] -- --- src/pages/QuizPayment/QuizPayment.tsx | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index b9e0e0f..facc7bc 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -41,21 +41,11 @@ export default function QuizPayment() { // setAuthToken(data.data.accessToken) console.log("делаем юзера") - useUserAccountFetcher({ - url: process.env.REACT_APP_DOMAIN + "/customer/account", + useUserFetcher({ + url: process.env.REACT_APP_DOMAIN + `/user/${userId}`, userId, - onNewUserAccount: (user) => { - setUserAccount(user) - navigate(`/payment?action=${action}&dif=${dif}`, { replace: true }) - - }, - onError: (error) => { - const errorMessage = getMessageFromFetchError(error) - if (errorMessage) { - clearUserData() - clearAuthToken() - } - }, + onNewUser: setUser, + onError: () => {}, }) return From d0a4b79ac14bae346bd1fe5fad3c606cb8d8f35a Mon Sep 17 00:00:00 2001 From: Nastya Date: Mon, 29 Jan 2024 00:06:02 +0300 Subject: [PATCH 17/30] -- --- src/pages/QuizPayment/QuizPayment.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index facc7bc..248662c 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -51,14 +51,15 @@ export default function QuizPayment() { return } catch (e) { + console.log(e) setMessage("Произошла ошибка") } })() } - var link = document.createElement("a"); - link.href = "https://quiz.pena.digitaltariffs"; - document.body.appendChild(link); - link.click(); + // var link = document.createElement("a"); + // link.href = "https://quiz.pena.digital/tariffs"; + // document.body.appendChild(link); + // link.click(); } From 84ee18848a311f0833497bf018a7cdbc56914376 Mon Sep 17 00:00:00 2001 From: Nastya Date: Mon, 29 Jan 2024 00:22:06 +0300 Subject: [PATCH 18/30] -- --- src/pages/QuizPayment/QuizPayment.tsx | 36 +++++++++++++++------------ 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index 248662c..d0f5629 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -31,10 +31,10 @@ export default function QuizPayment() { console.log("Я начал работать") if (first) { - first = false - if (action && dif && token) { - (async () => { - try { + try { + first = false + if (action && dif && token) { + (async () => { // const data = await refresh(token) console.log(token) setAuthToken(token) @@ -44,23 +44,27 @@ export default function QuizPayment() { useUserFetcher({ url: process.env.REACT_APP_DOMAIN + `/user/${userId}`, userId, - onNewUser: setUser, - onError: () => {}, + onNewUser: (user) => { + setUser(user) + navigate(`/payment?action=${action}&dif=${dif}`, { replace: true }) + + }, + onError: () => { }, }) return - } catch (e) { - console.log(e) - setMessage("Произошла ошибка") - } - })() - } - // var link = document.createElement("a"); - // link.href = "https://quiz.pena.digital/tariffs"; - // document.body.appendChild(link); - // link.click(); + })() + } + } catch (e) { + console.log(e) + setMessage("Произошла ошибка") + var link = document.createElement("a"); + link.href = "https://quiz.pena.digital/tariffs"; + document.body.appendChild(link); + link.click(); + } } return ( From 680685336259768a7cb7654e443b660dc7c00f6a Mon Sep 17 00:00:00 2001 From: Nastya Date: Mon, 29 Jan 2024 00:34:20 +0300 Subject: [PATCH 19/30] -- --- src/pages/QuizPayment/QuizPayment.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index d0f5629..71db1c8 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -22,6 +22,8 @@ const dif = params.get("dif") const token = params.get("data") const userId = params.get("userid") +history.pushState(null, document.title, "/quizpayment"); + let first = true export default function QuizPayment() { @@ -51,12 +53,9 @@ export default function QuizPayment() { }, onError: () => { }, }) - return - })() } - } catch (e) { console.log(e) setMessage("Произошла ошибка") From 13ded81b669d8528707f47c3428838a2b3bfd1bc Mon Sep 17 00:00:00 2001 From: Nastya Date: Mon, 29 Jan 2024 12:10:04 +0300 Subject: [PATCH 20/30] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=BD=D0=B0=20=D0=BE=D0=BF=D0=BB=D0=B0=D1=82=D1=83=20?= =?UTF-8?q?=D1=81=20=D0=BA=D0=B2=D0=B8=D0=B7=D0=B0=20=D1=82=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=BA=D0=BE=20=D0=BF=D1=80=D0=B8=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B5=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0,=20=D0=B0=20=D0=BD=D0=B5=20=D0=B5=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BF=D0=BE=D0=B4=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.tsx | 5 +++-- src/pages/QuizPayment/QuizPayment.tsx | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 3372d28..98ab00c 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -71,6 +71,7 @@ const App = () => { }, }) + console.log(location) if (location.state?.redirectTo) return @@ -83,7 +84,6 @@ const App = () => { } /> } /> } /> - )} @@ -93,7 +93,7 @@ const App = () => { } /> } /> } /> - } /> + }> }> } /> @@ -112,6 +112,7 @@ const App = () => { }/> + } /> }> }/> }/> diff --git a/src/pages/QuizPayment/QuizPayment.tsx b/src/pages/QuizPayment/QuizPayment.tsx index 71db1c8..e35f2e6 100644 --- a/src/pages/QuizPayment/QuizPayment.tsx +++ b/src/pages/QuizPayment/QuizPayment.tsx @@ -22,7 +22,6 @@ const dif = params.get("dif") const token = params.get("data") const userId = params.get("userid") -history.pushState(null, document.title, "/quizpayment"); let first = true @@ -33,6 +32,7 @@ export default function QuizPayment() { console.log("Я начал работать") if (first) { +history.pushState(null, document.title, "/quizpayment"); try { first = false if (action && dif && token) { From 96608acc7c0e9e086d1613285b8a84576599502b Mon Sep 17 00:00:00 2001 From: Nastya Date: Wed, 31 Jan 2024 22:21:48 +0300 Subject: [PATCH 21/30] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BD=D0=B0=D1=87=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=B0=D1=81=D1=82=D0=BE=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D1=82=D0=B0=D1=80=D0=B8=D1=84=D0=B0,=20=D0=B8=D0=B7=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=B5=D0=BA=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D1=8B=D0=B5=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D0=BD=D0=B3=20=D1=84=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/favicon.png | Bin 0 -> 1563 bytes public/favicon.svg | 71 ++++++++++++++++++ public/favicon192.png | Bin 0 -> 7762 bytes public/favicon512.png | Bin 0 -> 20137 bytes public/index.html | 15 ++-- public/logo192.png | Bin 5347 -> 0 bytes public/logo512.png | Bin 9664 -> 0 bytes public/manifest.json | 23 ++---- src/components/CustomSlider.tsx | 6 ++ .../NumberInputWithUnitAdornment.tsx | 8 +- .../TariffConstructor/TariffConstructor.tsx | 2 +- src/pages/TariffConstructor/TariffItem.tsx | 9 ++- src/pages/Tariffs/TariffsPage.tsx | 4 +- 13 files changed, 104 insertions(+), 34 deletions(-) create mode 100644 public/favicon.png create mode 100644 public/favicon.svg create mode 100644 public/favicon192.png create mode 100644 public/favicon512.png delete mode 100644 public/logo192.png delete mode 100644 public/logo512.png diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..5007b2c524bd714c28c58994b31df86fe16a1bd5 GIT binary patch literal 1563 zcmV+$2ITpPP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11*l0x zK~z|Uy_sojR8<&;pYP1r1qoP~mKYSlprO+ODyX;+H;j@f#vp1nCT@|4N{pzHM0$HQ zal=Fj8YB@T5jQX(DvM}RQBh0c7DonA3=B)@Ocz_7Lfe`9`D5BjXYQ2Q>ig@?cfRwU zXU?2^wh>h&8;Kyb{>V)TH7GLy56}*LY^1o(3XEvY$}mewHo$ge^VyEk)xeB2DF=)& z#|o7HR1i8BWejZl!?PTbb-*cuJ95ax34v{Y(+rGk1WK~-oo!V$-H5apj zPVaUR*pqv_Rr{-to-wGvV;XF z16~u6_j-p=zxsQ)cP0C*K&TZ1ltPy0PF?ggXGNt`q>P?B!9Su#G6|XZ8)@mE+_S!5e(;^ay#?Stf$r=?pRV8 zSqgd<-~;XhLTM}?5|J6uJ0z^Ca0AE%g@FD2pU-(WbX!Wi)KkX1)81hG$(JO5jRtji z;HjYRdl4A{yhWl{leI%tFEw^`WMZLU0lsZ{H6>=m%Pps`c7X-Z3&rSnbyZ;-^lxAu zu-zr`5)r93aYwEz6zs8hJE6{ol=$?rI~g}D-4+@EuOhXz{>Um-?FQ}vVlH_#Mnv;o zF8j2<^IIHEZb!Iq)ci~>?y{>#Q>+~z~-udV&Rn7$dgXX&P1scL2#cjN(@r4Jp(b9c{i>-*_jAYRTL<8D>W!i zPIMWnxob~WO$co1eXMpVK5SrUfji@^?2GQmG`&mWV)Z`Hbt(VJ0G$OP8${b9FJ#io zJx29bE9l!JB6D$HdA~9!sjqf{73yrDKK$%pDMt{w#@bc!p@>uhD_nA-z}p5xa7ZYV z^mX$xHZ?v*k2By0RYBGmuQSyS`07PuHc(IEB$BMvs@m>VWT&9_{2$QYx2-1F@d@Xa z-Nx9GX`znT!P>1yo(uvv)(JJhWofE50#5>XJ$SY{#1xSK1G+Qb!j9(U0ONo+GpG^= z?p4(`0AmHpLLfVb4lysqfjd=ob6=qEh_rm@+RXWfi;y^JtT{et08EANeS}}~By-io z;a751#ggAZQrB&F#ejE!$*P*N0WttqJuyY^$9+qemtxu-J%7xii$KQ#HNaXR`DU|& z#Oz=J<5l%`Rc&(f8*t38^*28(qA%qNx2?(IyOx1dXo+X!7e`}%U6InTNHH)P=mOeQ zHKP@Gz{cmPUA~vC>PRulbGbq%>sY)!di-a*I&!U}I%|nP96IWCRxSN`Of+3xH>KRI z*@5!sQC$G}pU;zJ`NNMn$`+7C0?UT=m~ZR}`?9&lb-xU>cU7z~;+Y8q3PK9lfqu#`IJ=uEu(l+k}2b~Q!N ze66B$6=tGLNJ?ozWb^ui^EU0IMpp8JPWF>l}4NCqMm5#omGfr+$IR z@R;Zrah#I4dRu=F`oe2<(A%3ty{SzVPRzUl%tASU(Z}sT#i!Y{{Vz&UGs^JLNQD3Z N002ovPDHLkV1nvi=6L`B literal 0 HcmV?d00001 diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..d8a170d --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + diff --git a/public/favicon192.png b/public/favicon192.png new file mode 100644 index 0000000000000000000000000000000000000000..c703bc986257c82f81a26601ba2fe7d41a6f18dd GIT binary patch literal 7762 zcmV-Y9!rn#mxAX$5TKLS72 z+H3eeQB^Fx6P~(ZTr}!_MO>YsB9jH3fKY}qv`4dcAOfrfeIKM=VZp~8pS*s<(uwUp zNw@ffSVMhISa95mrXxh;n+k^lyQk6J7KF!8_nyTKqaMFciDpKnC7ZE^0>XPY?csLu zErjzx#%DZ$@E?@lITD-~s-q+0{adnzf;LpRIxICL0oC_2g7a-i*;S~Si>V-pFjK{WkNBP;W8^}FD}jMN%UR|+ z&NnV!G;*=eIxHEaU<_4L-85BPxfx-)-&%UG$#LYHp+#kn`z^$h8S>sxGlf7!MN5;dF zs;P<`EbtFt7r(V6NT;Km7-|Uq({CY`)N%Y4-~~06&EFAtmfSHDKtETQUsJvQOMVNn zq)uKLN(2d2HC-m6H<69+OYtccbsq>%UR&n35KC(0&6F=(O|eV!&8VK^x0dvge=lw* z`1OG{Wn`tYZD*C0`y7G7Z7GjA{&W%trg@9W+ z@JB(u`T-(8^;?H;C}S07`z^!LH#xB=5w4DW-BlhVH;)r# z4xu&L=}fxfy^(ADmSX9htRJCjs@7Gxu~XxPZ6*L^Kv6%}E~95LSv^8sTG>3NNZeOF z$wZX9bh?gKT)wD$dAc2it0M=ga+(Ue0vkY|bn43=3Mp;|bQUC8Yp9ENT|Hp%kmBb- z_VZgy_Mvx$>&wqh_33am#j4G>DB4RO@|q)hVyG^-E**u1N>)z!!h$nsNXgySOglr) z3|B|KnCjCm&DZyCCIJ1itNO@HF_Km-@5o9+X=T%|1U=Dj9a)SMb-6s12gB8oiKx!% zyOr!$Q4u*cmHrEztTR+iRnysuTj*|Lbric2`1gQC3_4Np4wP0@CZ=qx0W2@pm1d*sgXp{RSCBI zFcm?CPF5Id)^z&0QRhBjSHHF78ZKNNmc;)aqmDiSY>D4e=cgg7V95$YjcJQqkCOEJ zfCUitb}J&MCEEPTMdghuGPmz8xi4Hl>fh;$D?EHRRH!;~o+=mkts|!qE}u1>eu*}( zttI8STQGC}VvQkbiu%X=D4u->w?h>bHa`u%BBkt z`L5}>1wxq?cm2$75rvG=cc_}`rUONJ7Npo%&_Y9Kbtsw=svB-MW_`fe2=&XoHtZ@Y z4_Y&Mj50tqdZpho07RrzM23qUEeh>Qnj0>=|GkY730TY-NA^MOZI^<$rOB!s7is;Ou?KpdX8 z?@hk3G1}!+CYmKlM9P8FfHQytA?vc$b^y-+_X7{A>PDaS?0{#B65;B|XbH%CYbIYA z;so5dvjY)1P(&UCJ_7y-97Oh+37{A_7Pu8yB_h8Uk%>NQ+6GTXs9DqLH@Y?QZ|vr6 zcA$E4xS{-^o?j9XhuA;P*~CVpT*W0;Px%JmarHUtkS8P5=q-`oVa=31I5IChrFj>K ztnGWCr zRlUWF&eNXq4eXNNV$I|`?d~S-U3IQCQ+$eno4cog8J|(5H9~b4LVGfUdMqi>(y@|z zR-H|A`}=-N$u(XCPF2-NraDa7P(PZqtpD)hp$oC2ldpWZ2#9P2;~UB$C}AER=2*zT_2oo&6HUt0ndp@TKV;pHdIYz z^BKU==>)Z;&bqcb?)u<#+TBflOUXwj0#Axa%Bk3rGE{idh9TnUuTu?XNslej4a{Ht zU$nbfcdss=r~>X2k(AOyBxNY=?_O%Nz50Wzoy=c#J}n(Nox>zo_!{t=R31#&P`{kK zeypngFqI&d^!ewypYy>M&rZx(cH~DQl5|y=gbh_xQF42W3ft00LQX2`#B6^y1~ZUB5)c zn#nM(cJk1g3v$6s3cOG3)WK3D;JeF zCex3I><%13Y$4z%U|8nWrp*N+@|dbV9j{^BDc@z)k=s-`H)GN)39+{AU2gf$F}PWj zG_}|n$lgOwW9qOo7&~AZz1*h%6!bTnHg;T_O5ryV=?{DZIG5O7XEx1>J_0J@U8nEU zP~qy9@ve3)$56^r-;Z`cJ|Gkj!>bh<~mSck_8qjTcYdv!_xhHJNP=LWN%I#cMHRd zck?pLW|Tj+xpL*TOUhFEgNn%4fPdiMir~wtdQflQ=yimusct&Zn#nw`Z@9%bGgS;Z zmj9aYgx6*Q7>F>tB%n)bs++%=N(bG`*ZULO^YViOMWol1dA%CSQTdLydMw)$)ehcj zxy_f@Q-__-DPwPCXEjGIx0Ku(xWeB1suT zRo4SwC3fb{Bmv+j+kbJ#DWAHhn^0rZzUJS3|QBWRVtYoV&9 z%Vs7aOjVnSov<)nF7#Xx8PM|!+ZgKSUuYRB$k)tjvMl^$zR`FCi-MfC>n#Mbv$$kG zkWfWs^V4%G){IQ_Ayr)roQ>HH;K9IgJ-@Jxp^E!Qk0yJLc@zXu?O@3!let2Llg9pq z!9`;X#!Ll0qMuXzPPnpppM;-?RoM80hoXApjGn*Q#!%vLj9D#~|7?DVwy3$8%09!- zVUK}3-IvTZc6CKx2v;_pn8Y))iCrTx#W6jTx_oA+u;8F-r+bE}-}s2JSc8kkaMY-f zv3MC`kn70(HC0V#C(>9|+eq;4Qido2PTKmL&kPl%-I6; zj+*MGsqq@B>T=*71DYUqjlT-I4K-5;NUVak#UQJ;ylx~;?7DhN*OIc45>dG?JZVEB zm$RQPq(=1&+!_mY6GyqfF9^+ zC{amxt>2OvBJJ-RDMKR!*lTE_uN}FBoE5H&B(lwOv*%J`%z&+i681I})Y8q`HZzB$ zcN=&BgNpKV@zxc7lfV(BhX50K*me<-p$>qWKdD>rZ0PupkvNq@jyDp=C#FG`n7Ku9)n^*-J;vi%u`I;qRI@~Qr;tcIK&PbdrVDM#oZ-`e}(?sdV zp^m891qs7+su@F-2C}_UOy-DoMJL2*@{s`9;4mO8`aiWH5K514ItT2V!5wC#(5nT?D zm8owm>Eo)Y`*m4>O1u%s#8u_Zc7)1fOzd@K3+lS7<1|UQxK$c#wj)#?^J!O;-x5rr z9Ua9V#%W_>@olq%*bypU+0?bpZwaPYe$DdXpTucn;)tCcq4JqX`x3t;7(tL%6KH0_ zP#-&}9ij3S)A`c8Eh>AnuQnnw0yx-&9ALRMRG#zUmRI?tGv1zOPSUOc z=YJAtcOqaSDdBQe{nWwCp+SpJD6a8>ZYEIGn#&iBOr&hhEYHQncoAZG`QmMeS#q4W zT5cn%c{LGvr?IsBckvpD$UeY+2K2yZh7#j-NiBxi*!dB4pFHTdj7;&d>o{l4dy_ARN3Jzm&o`q8Kd-F|{ym|lBF6*Y z@K(?^Jh1f_jtgrI2DbP}YqW)@)?MnijAT(&`DwT=cx@t$MPwjmE5Ww_Pj3Bw~u@`hbX>37qetrry}5?5NY#-nr7S0E^GGMq9Xd)w#yfnWexIC*aHo z)dl07BL55#nFh@BP*ZQLVY^Z}&Q(iCM-aQYTWB=4HSpk?@8cTEz?3K={9{XzJ3X{; zWWvYfMPvf8k~Jn0vGn9tRoy0=($;0gWrl@VvViwDJ=E4?g!SVI*!^&21Np*0u!d^Aa4ccSvea6|C-$vo9PGA#i7 zC^K@as_u{lr@JJmG?>?8$rkE9d62t4JcG8V@tJ?SiiDi<@&iMQ%id4s!S0g~3jjYV z%0+?S^!APJD)7;FjmoiP9V<64;BPCBCDQ($sgN%^64a9 zQuA+lW&IzSJoxKO8+H~G1|EzfJ5SZ1%HsizUKCn9dS#+ahTDur z0#B*Aq!yMuqBYtgtv1-Nl0Kt_Zv6KQpbyV##45z*&h*^|rE&p#lw~ z-T(@wN|(jb2MT;!Rg=0exQ(GgiYr3GcTg;rJZ7${K9=l5J7k3smwPj#$70D@{;H~1 zrt;tphWe;9_zbZfVT+{@c@+3zst@mAsCjSFDd+>eHMUstoEL%9lUan=o?a6HippIn zOR`vUlQ)19RJARgPI@&|s3G_wNMRIcwOHUe;7Cc6}S5VwAgD{?iE z(P7bIhTTdJ@LNK*&7X;g?p&#xvIL$grqYbTKq!7wRL58 z_tipG-&NJ~fsw#WVxv}eRbq>=0k{!3SXHZ4^}2Y8Cry*Ip{`mwI-;8T1uTm>TsrTs zZ78cvw7sgfs_OjiQENOfi`a~0gI5~k-~#UgzXOg2Mycv7Rn6Kg$CBzINT|B`+& z!+Ht=Q+fGjjQaklm)HFz?W8;12`Tp_mW*;=VpGH~konB6TY&e7m8y9TctKU0GaSQH zQqB_VZ2t6Ow{+nC#D2JzEaa8Ozix>gs7{aW8?3K)e*hpNLx3+5GuC)uS7014npmyd z5?}x@kXQ+rHew^r`W_#vfhEN9m%k5uV0xK5)1*8?0feg~6J6zXV%b0~31TpF>|j;> z)I=aljHKV8dJ?J&E_0L4Nv+-7dEpmG=!(zz@X&VZlwxR4Fs?=nn zFN-CY$%vrAo%g zF{fh9$bNz1<3#01MaLtI0*X;S0zN``Au54Kx1JX)RMJ{D-)X0U)KoTwKtdVsJP*jF zW%IdHnkP#@uMpuRlt7&33Ow(qJ7@c|gN1@8hT2M~DsmBUJsF-_<~q4xsPJJFX;ag+ ziu{P=XEKU#pVJ=rUTEovjO4q^6+Hci9J?qi@We(mXlS`m!0%M~>S1@;eodz!q}L2`=7s^#E7fo&-H21KsWE1oXM^)D7b@ z&{s}iWGYr$AAHFP=mCJSyZx5r5kUqIF1{thh0DjdUC~Fv)7R!gaq6@&_HGkeSiYhy zDldU{c zu6zk4-?N)$6|OSISTJQ5W3hZ7YYerO+QnsW)h-SmL@b?EK_9d}si{MMAu1XPTr2~#AevKS>xRvKz6v3;xH6^<|-;pc!a`Kt4s zs2I#yFMMPymJejLp|%pL3w|1|3trn1DBeSbUm#>f+TDDiJu1sgZL~Y+ViR%vA}0*B zm8%yHZKxT9f5Be=*N8};zL+Hb*`MoXT=>Q4b->-79nqVwS~@zbtCrMMMa~zv#f!d0+g5bx#O2j4GI$ z+SX8(Uis0aW&KAK54k~+?~uxBu<%4@wBx+17LU!U3WHu_4Q1(*nySb&lxsxzYC;bP zZ{g}M!VTrmcq}a|v4*lFM7X+TysKR&D0-wIyAdm_Rs^yRbT#mTBY{Ukbt4*lmg+12 Y59;836ixFdhyVZp07*qoM6N<$g5#3u>Hq)$ literal 0 HcmV?d00001 diff --git a/public/favicon512.png b/public/favicon512.png new file mode 100644 index 0000000000000000000000000000000000000000..513918af5c9159e963587f774e22050f35581255 GIT binary patch literal 20137 zcmXtfcRW@9|MXIe>|Cxg?iHDtN%qJ}GP1dJuLjBvnHSmf z+I!sJ@&5e2e|TJvb6)55d_BkOxt~$S_w?wfIjI2vpfk{inF0U__%EcNk{tZu-iEA$ zKU7}&4}Acj%;Vw@GN`Pr0zTwG=vpGoJmCoBf!3+@Yu^q%JaE%20@Jz z0Qdm|*iCc)%r!hRGxPo^ajVz27hb(gHHsIMUlznra6dWDhZE_;49<;mplN7k61@uhFO&zS(RtRRK z`Fv&k*0_-AljA^$(@&p|%Zp=M4`@?gTW$La@7Lfx`3jeR{N^VI%^R{??!{48mVgal z)vNeB)SBSk%+I15zyCv{!b5xDbZvb%c_ZgGOz>e5iPoPvd4T~Hr=w(TRvx%)#N%M4 zk(;JN-zIsxl_fIUxC+7Iu7-8BAA#)FS7y6 zgY5e@H;TUIE#3)@CwZ&0C??x}Xb9WwUR&F$e@!m{t-1j&`mtNL9|~PWaR(^MKoQy3 z52Y6t7vPFh+$xcglpleF>z%bVSOo=Db|qm%3gg5PS0XBSVQnEo$C)W{45SIOb9lGQ zx{{b*4;kvkk{TPo!l5p5&aT1b!OnKyV_1O#h#AajT;(2gpGLOmb&qMtgN9KN=N^w{ zaReh%iMlu-$kbTE6TwD(enZZdMa8ht=g_c7%ICrUKby-DJy2+^4jDSx+{5Zb!`scS zO_{E;?}e%3eaAp0Rm}21UTCDgyD@}cDA6@vLzwt9lS4~qN$siAA)8^u4bhVHNa8hX5B8^fXZ13h|^5Qe0bF&aN;sseX+rwDTJTY&(^TLKxM};q&}j@^mU3Z zFIGqu`K{&Ry>GNOMFQe?-NKZuvjz>_xk1_$YeYb~B(bjVCagf^DY@41{KVP&8+0YT zr-0H8L`u3n>%`ft+@d^D2EocyB9#tF(CDnI!8+*&!4)`9JKKL<*$?F?TW{<$ffY2l zkZbvg*B`th=hK+EMxR5QRhYtY-p%2YPEDEg-DWVwlMb!D@qc|MW)$Kc6q1;L%e{YN7Co@8>U z#JFXsF7{@QBOWhtLz8U9fw>pYDat0)3CoR_*PQaIJLns~Q#kiLJvLb4hbG+v-zzt! zoR&VB<+RsclK4Y$3leYC-JP~s3?5uCsD?rdNS#b4I=Y?m(48;;bL2lB+7;u82#F`m>sFxa1)hQJMRWZ!SR!{R-<^ZT=f`EBx#cvZq83nHk|oboLV*vRFK{Rr6+31Z^r@NwJr)f@Sm8)N^Pon9JZc-L7I*Z=UM#T8p_pvqfy^L+FfGx9s^va^Ox^+EcXzSxbb zjCLB|UUb>4cuME(hV7^|;RCOgIWHSXy)nB1(^AMW-Ye#{&Z}| zzllEOf+xF5Tm5p2cMg#kn<>ka8tZmdx>=u(bDqwVt-M)s&KY&ss=N@v=O2NO%y7%P z!r2ogXAo<)r`t=ibaL7ejETSVgwWy%avvIQpvZbCKsH4GW#Nc$c2-np1y2%I%z+kX ztY5&EwAvl#O2sv9%L}ml_nd@(9$vE`{kI0Yo8~<-C&tqxqYtaOlmH*CJ5_!;Xhd!w z)EY1*m8tslF?c%WI5=P`KAw)^>-hfw_##PdSTq^oB zZ0+*`_I1xy=wlahey8VVIW_G+GD{_Z*!2fGh``aj{aTT!$6S0ts2$sGmmvv z^C=h;g2kmC9Gw zLopC}$uAZ2`?h_IDz77xL1Cp%cJD^@Z^ei8T&-=hV`ktg4r;SA08EKK4oUYHLCUOCczk46@;XIIP^=$#Cs8 z2JM|!t=~QVDDpbRBPG}Ox)*xt`L01VNv2|LkoMY^UEj3yyS%HjuiZf8lO(!l{b6^#4*CF-pHF#=tuRKOE#PhT2LJj#QF zrYj=8nHfoUZu&5jcF=~hSqPE*^*4u!TH);8-odbjIK2! zp9T5zBhF$*m1=$cbO@!(OV{&9p)uNvjHA4YnlC}?fzeqUNduSfDZRJ9vpTLC=;7GU zUR}*qVWg0zKW_?Q)GseQOCDLXs$tL(AGc{#z6(<3Nx(h1>t;oB(%+Pv`8O12^==Kc zS5+^I`zj>fE+*kePnHI4klYIEfmWHpMHb7>TlN^v%CI8sxKX0GgF$J7Bh4P$2y8Q2|1^$pma3l?;N1qtl zbUzP}cKPUYA~2GjR~@;VCRc0xn4QeYdTff+?*Uat;K@-L51;ts04SRgnO0ir!n0Puh`g+G*cTL{eR~PHPPr&EKJ~CvHuB}Ja-Z3{Z zthZ0vznsz&lNs&c>NL9CA4c@!g$bEZ?&!DF=y1RwOB7MWI5mS*Fu)~4MDRK4j>T8)f= z<&~-p_vK%QNd+gOtTR7O7)vg37TjLCAl`>Nrxcm8ARh$XGLgPPO%qwRGNngiZ;q(^ z`m)LT>)M};e%p^w9uJKmY<%JJA&hyTvr*h@JD&D5+G3Lx{ zfKZbA(;P@9r%HrAN9-G#wB8hqS+SS$t*cQ*v#-u%Li}{alc>?m9d%NuY6m;&ES-Y2 z3C*oSQj6rhFO6wF!acH!i$b0wXDewtoJ6y2aCtH{`lbr%d3%WEuFvj<=`%B(A}NjH zi7Y?8V5!QFVRxk@S+D0@yO5UN33WvHpo;VJ_K)Fr0xSNW71q75c(nP8T}|ccukIJp zNv@rI+^R^30Qu$Xx(qy?0d5Ly~t#&_F@;km-5^SrhGkBxb zf+cBJ+|X=^x}Jm6(zW_zIN)d5Q5w8i3_+h5%{Y1z<7}U7;YSDypfOo+x>CP;&_b91 z-G}eh)$LO$u#4Lygobp~*5oi}oIxu49>T=KN2PtLxq2ywf;^s`Y`sqPp$%Xg$H;Vu zPEW*+Tln~J5g$#4LEq_;X=&c|wE6qYkwA7Uya#G(^5#{*zg&<+C@XvK7CII-uMXpLb-ZFZD;WD0J9d~ zTu~kNM%?;=%Rr9)R6~nF#u`jK0}l8>K`m*;JuVI2{6EMo_V8qs8wLOy!^j6$56d)ctb+xnjY3zmEP$OVAX+hOSYgG!Mv3jA=4K!<& z7tS(vRnUTOZ_BssspnAfXv1vp$N|>M$lpm@I@k9OX4iOBV)WTYEhDeLmCmf~`~ceg zIid@Bt_9)B%F5^S1I|<3+aCT|>{7Jgx7nZqlJ@LHb-oz}ZH{T|#0#Tx_n)1h_Dv+_ zlK`NLgKhse3!c+lHb(vH;2nx*QRdO<(!g^`o(RU#dGN&`TA;^s{SbBGlbGD~BvJEx zb`sV!!VCB@Wa$N})kFHv6=mz#~I5V5yahN=Wb_pETGvlC*YGy%n|FjoZ{`5Pd5Qn5Uv-*~ zqM6=bNG1&tTqRu_i^JpGaqFx!ue3+>tK@Fn2j=Ll8UrTG8ggdBxtOR{u{#S2Eo+>` zPbjG6O7jnw&;6rA&;Mx&yL?1g(wveua5S{ybEq=)>hj>!=!r=h&Y6GTiIAf2`Y`d= zJ0%knMTR=f6Mi}oqmHMO9z(i zY-9fZ=`W4u&Y6U(U2YOTThGgIRJhHA7oR4e(<;-$g!7HQ$Il+#Wd#PTRWzIyra&2n z)h&-rWER!G!YwfPh+JZ9zS!N<&iBZh5f6*i*y2y3 z{+~TI&Msf$pKf8z(RPv2%lRWhBoC%K{f!?Eqc@}Z)C3%wcK&(q_@U{d|kROUFp;2bc1ubWo$Zrr)=! zt0dPexZG49?5fCNc>PI~B4*N#lQbeo-jnvGj^2?QplD+L^jiqMTy}K8b*co$Wy|$s ziLy6TF;9a~QzHSi8(bkfVj30FL&Yo&HxRc^H@rTeEP(J_7O(DdDd|l#2UZInuvHl9SeFt zD13j+OTJlEmP2Tzk@72ppWf3*90G}wK%~}`q;mjrZZ2)8SLCR~8o4*udb6q=F{}G< zKjxp;Tq|IqC`q|#dHeD-8wdDFIDNA4eKR0)YHaIiXceC@6iVgg$CXrq-F`i#Q0>sY zrV(v+cJf{`)%+u+zv@rzX;pa9iS2Q&cnVNdFNJD+OuRH;U<6Td4br+TF! zY(};Ps#<-yfw94SnAOv6#TmHJ<4OX@S>TCQ21cuoRr6Ox&ba*ny7NEC{E!OM35mn~ zzQ^MCS7^}34XYG5-ivTmOga8@WB7);?_7s3zOzTmV)Hj{jpC65ygvP*>ypen;UUBS z-BQB)2rzsotajUxIIr5}zU=vuAHiB8g=c-ADE0iH2i*APGaB@TH>B5w3P}VlNyqfw zA>6|in~JJvAOZc-IP;1ZxQK}}Lf=hoLnp|8np~wkxT|I9qg~>sN|)KQN5r+!&r2__ zgB#P`+hY3D+juh8_gLFto)_({(;i3$YO9iA9?!WVr^T&mGLfg7@1I|v{*H5#Q=)enbiFOKR?AIN^#jPa!BDatejmB83Gi^JmM zTxG;%CXOq`IL)1@xtt@JF$VLNDT4YFci zvz;ENAze1#%a5@%bawU7^9YKuX_CscND{q$zOsN;aJTnQcf42khl8r30BDw4MZd({4Z>KD2;}s?52i8xDB`zn z1!I=(@LKK-fPq|6mFmwRh{$VtQ);%xO9>fOZWT(uyKd#2>zY0eGE&99Sino*Prbks z&Km<7^Moln9!D8*4{{uBOnwtzUaOrT+XIC9FQWzQ%~0%M6743B+{vwU2D(oT9B455 zzLS}A5u&Qr`wyTRj?)H4EiIW;qV+{BARE31pgbLyexOGC6iaYu3Yuv$6pMj89sN@L zcdEyeJC9PC&W!HWhwOq$-F=X1hvYL#^J|m4N)ni0IM+b){~A%ijG*^>eeJ-Sb;x zjP8Ww>rjlQO@r3Z`h6{DS_HZ&_a@8{vru*>hqXJs2?~7>lELd0rh^*n^~f3iU7KPwJC{rgOp+zFGcqAq&xd-3O?&nU4AqCIu2?|H%S#JgotFPuA+`5@H~m(mjluoHtFOKW6U#oH|FYNCc%JTkYnn4b$vMf7u``B z^rP`;hmiXB7(1p>j>ThV&7U7)55PQ;X&H3d0`BLy#BaPn!tV_8=0=rf21V;nowl55 z!z&sU5VVQU6lo7b)7F_(^dHioza{Sv$QHe;HewoWjCeo{$Ebq0C0xHO6?o(dr@N|? zTn2Qkx8%0Iq4_=6)m?qm`Nv1Qow4Lb1gS+Bt#KVmu1w%zd+WZ01qxc_lR;hD z0Phd*EvwMKvLRa?AF%R?y39 zcc55qyUWYJ=AH}P&ddl=YzTN%PS279*;MHTuS&rax25Ij@WPy17t*8*IlQB+dIv!c zUiNE6Fy7v8zXbnAMec^~WH?WDv#fg3@xWlVpSk?sVWzC(dYH2y9Y0=6KLrJd`=Gqx z5xB)XC&}qp*RA*Y)jux8{^;z9Gw)A2dMNYAcDK*b)+x)&QCAf=#V zxII)m*jwCj> z0o}^01L_g+Z)Kg%&wHac!sD*uJ~lm8D-+nF4_@x zf3cshrtjlA53!?{sGO<#76_$pSNIb_H_ZC{Hd4cKJ6yM5D#ar>jIUQSaU?)nuf$-l zUw@zPNM)bvg+u^7N_lqW;N?F4vt$j`~|@ryYfpi&NtGc^mpm9K0+xK;B;BP~deS0{@OzZ}4g zdDpO+mbN3@C9d;BL$3NPq#kev%0gxbKMZ3|?i$EH+P-iX+Znit`UYHViI7Ijtm&K2(?agUHx0=(ta2ljPQ_q@27BXWN6r?15+gh(ze;2(>vY}m!N$G?} z8$w(S@m>a?Rkl(Q9!k@syVNpc46}C{4h%jVEcNX-`qoA}n)SV{C0?g3tEaN7!Sn`( zX;C#R%a`45d$8d~;j9=9{hd#2Ie>( z+_-7J;MpLDc=M@tI5J-;aDpOD?HDG}xK)9VrAbkgw+TKXMTiXjvQHfi#x0`dLb57+ zJG6EIY2Sm!5&)>$s&QXuCcrHr^&<}(C^*XQ?}W&yvbL2J=o>`jClaIz#qR=2tX ziNEqK@hzf=L8PY>Ogz%jb2~v8Ap>SLhE6`YXI{su4DbyhV4XvyTpqdI;(Qlef z;^wy)XdB*WUls0}Mw_%p#8s)wdbzW*Yvg1pdf!}<8Fzr2g?N&-hxeEYeVrlLiR$VI zi2+rTM;O^SiJQDk9AU2Ps8nUw3K|}PA!z9=+pOmA(hQBM;>CmSJ5t|+UG{XUMk(5b z{hm$Or;Qr0(m=Xd8G7K;0FrN)b1IhxJuw*feP(2X&yA6ZBU32jyfc0g%PZ~^Zz;Z} zvSxoTeOFRgzF@1F%PwlvBA<>+s=H^Z6q<7;UrlZ=yonVIMcHk8;CyOEZ zA;sE@244=+M{|ifJcG2j_eJFs0xay=AN(V}L|&@0|88^oJU3hcpz-JjVoRM1ppG+QXIje2KC| z-o0!5#fI&$#nd!|JvT={pl96;)LoC?RV~`>FRmi(RtXzq_sCR8+70r}y4F6n%F9f1 zpfj0%O0Ms;?sMM(Knk@FpT(B4XYs1s`a~NQzEfmi=e&|y|2oc;w@vto)HwIJuHB0o zZ<{40X-7DQbQls5-jj44g*+Ih-|Z&NfutsBnt%$|rHALpP&-2Z-PYd8R!EEIr>s^! z97nkKJ)JhbtjWJy{|1=VF#h}#L9(0T)9HN=O&65pRG;K}@_IoS^=MyGe2Ap&aai?$ zk1izfGT08$bNfR1#uh#08M3%lZi`~lPv*_6c8J-N=_scq8Ec<|Se&XDFK+?LGZg z7{oWe9Nw0_JUeb?wS6!@_MjOIwD?fH#SaS z1qc-tzQtdAC9(Np6van zd}_MT!B;_>YJ!`6Cf;^)DeNdOGJO%hn%N#?rYo62B0qX$NK)nz=+ zuWA1g7>t{>^fT=1)@Or)9_P@Y!$md7oJVlmU}SmfJk+bB_fh{ORxM8P&hhP~E4B85 zhYZzaM;V}(5tXOia8iq7*WR=HcTawGT=p!;jwJHV01*l)Tetl-yXry3lRxu@r%J?g zbp7O#?T7LkB0qX`M*jv@K75QMa(d~0JilgnY4<71ot*Qwxv{^5S0}6FYz8p$`NSL8 z?_yzbCMGMNLk9K_#lByk1x>sz3!1CioySgnwbEYXd+?i?w~*~X=iPZ-FwIEqJ#5{& zLh)V?M(*%8-4#5wl4mM{iiN8vJkF#OI-#lPZFXKaF&AgkiEqRl02|sy@vlL^^gPHS`r{IAy>st(Y=tQVaiVfw_Y{CwZ;Gh9Izh)x!vFa`7IiENBnHMkXDQ0(vg{Sn%I#O^?as_~h zh8S{n{w+R%PiNuUp6{iRc#iga5-I_i?|~w0VUdEalTBP8jjnX-i1;98NAn!?r?}aM zht94k7UoY457H-NddaHhSER}AT^~O;AEl>3gU1Q=^1Bu!%(P4+vasc=7!hZ}^oCYs z<7G+F`G6BvXA6nEJn#G&pWLsbHpNmWcyi;LVHO}a~T3Ni{x8+m`-?j5uo5;=>3wBgiSq+lkbXY1uOV(j%D`(Y#qGeQK!tOHGr7Hpd;_l9( zPJ2QK7gzg!y_;dcL;7T&1J#hy&VCE(%qQ?P_p>&?i{N9-M#k@D0yo{X3 z+W`cA{ z^q+I)E1h>Xo=CgiZpg_2Vps_Ie}*6xFa9akKLmcHbzOrPDkVg^wg0(WJ@UwsN9C3= z#T%6n^>993m2g4VimQ8Rn!+#KDlteBJHtbX7kWyt-!HoP$*NuRM?hw6Y1@e@k=?3l84Kd!J0i7F*b@#$95?+- zmHmG<6BHs-8On-cC!z%KwCo`?3_)khQrh??$a>dWgaa<1Y;5I*( zfL8t7?yd%93O<$C-j~3^r4nu)=dDp7RYDgsEHvoB>4pJhE>2wt-X-E}PsG>3s$C%} z`5?KzcUqXIn-dRdq$e(YB+(MgjVl+?)}#EObcWJix?=hwd{EanN8C4`@b&V?p`E&n zuFo8G;(!LSZ<|T!B%)Ig3ZewAf3m?;;pif-f}kzYA_OYsaglo7$?dL5rM6}R1Tbm8 z_oXSA6T{raKR?ki(m=f7x4nMa(Z^KqoQ}_wFGwQ9kC>^I@wA`Xn(k26#I->JYFe6e z4zW2EP<_nT&0{tuu!2AH&V8VWUn8|f%_#2EUDkzJ_V1Z5QQjQX6G$DDxd8%p>z3%{ z%hAHr3-`e}*XTgV;nYB4!e4|mJSuUv}7|v~w=u%bu0*P`Ad7vJHNJxwo=cVivKwq0EM_qd@g9e(64^6 zI==g=YtaI^hiOU0qohsbr5%wgy85j)87jd zL2Q+E$?iq4FMv$7pp+G3qQ=;xd@|hO%WgnllY;_`rEX8Gd}FSEPky&$5oiEuj0Qn~ zO4jdIIFoNIXhV+WYwo$D45G$A|8zpPNm4*c07fbopT~EXD4m8AIAWJcOgYdEBI3)} zfy&$;>xHc&qQke;WyBH8iB@&WlI=tiHXvw==kf zV)H#RG_CnBqw=z!chNfeS9P9%%kP0q?ThU$zYF~R`7#Xvjj=&`M_+o-oYGwP zaSoIhtnk7;O1foBx?EU|tFT%NQPuPmXEDK1qV88Fl0oRR9%(pqvR*$IT z1!^vVx(;k ziIuK|xOWWr7@-I9gGmg#r{1XpibHgzDLYWxKw)p@SoGiW)qpYZ`QWzc)TCn31?4|c zf=WCx8Q=Cze4R7_vMhmk_mX^CNXSE)?t!jW5QwX3OeUQ=Po9qcvBddyGyXwxLw68( ze$LO)Xwi#<-L)c52$mxl<=zLG0G+QX3NQc>Rj?f+!FAn&)cRi|tWZj@fbBekMf*LC z;9-Bm2!+{@k$MpP&)<|!@V~^MHzlUjL_qSh1P>s&%>?q2iOS(cF*UGE zu}D}8b+CBfFhpuNVQVE3?X?bJOq6-xtFGhREQO#oplbKj&m9$Dc9EmI{EQ_x^3q(5 zXEwV^SV0*32SIA|`-}Uo#saY-VNA47aTUnj?KWdq8#}ZVb5j-B?cg2~-5IS83RPIp~PEtM4S^s9*C5^$`-OYSPGQ zAW#{eHc4pf=hcU|0-Oz;{R)38O(b80{v>yYSB{B+qCLPzfH5&Q+ZLs_L}}Xk<}f;` z{%IY}<{#7g3}&BPCDJ|)m8i(Ux|!?fj=DoRlbtY4k-kl?kfuvxcS9Gcfo@QSjA;}m z^GidVGPtFBChr-M+{G$~C=5K2Vto(Dlk!7v`nGdDtl9bsn#OGjD}3#KaiPax7blwK zHs0g*9A2H_rw-cOFXkdIW6P)V%KS<@HgJ^XL}=^kUM;TUKR7*8aWWTMwRS%|5s@VA zc;NQ9Egh9)JX@=FhP@BT1^H0|fGJe}Cue2gMSmUHrJ0dsbG-E{nti&ZWN^KxL&rM! z14tamfj7PXJ>Z@7q+n06PS6C#P$m={N6llvK}$FWK#(b8{%MF zo29BlJ$U7A(d3KssrS@4z?8V(dQTZ`gt@Q z%@-EO@AQ}^poyj!GaI#M?{|H(s$k40%G&lYma-ST=`iu0%-Z2E7ge7tNuT#jSaVM2 zMT8gLuHd?84^2(ii#rsk(UyiF+!s$a{t@Cf!s4#}@{V8-Y$h;xQG5Ac_+uW^eA1`z z!M9Php!#52#+ITCzV3YKlNDr2$xtp{PKO1E1|RndkLuk%9mm@t7L3f7mjBYCBh3p& z0vdc@fY(P%_IpJ~_fv^>zO`|5=7gm6}2>CTjgE>^fX~TVt2Hz9aQ*Zk1$!?GW7;{a-n&W4_E(4uY}=Py%rhL zVpolRYsfrx;J} zIxUFOAK7?p7;+ysh1`8bi7UGo0Kf!qWKV7~fW^4#KH0gS+-mPL26lgauI|oSG?1x& zFg*?iV?x2Rge=vUH!mgpN`-@8-1m5>5n7n>R^yiKao5P4$HwpOr`aZdJ-TlJ!@&2> zQBUeqH)rWcAe*PE^LZAzDD>$c9?zK-=X=gJy;XfCKP;KkTAnRTw3U+Xp7Z1iX<^^F z#bKtf)$F>!drd9Ho)2?!QIW|#P1#PT!CMq!pj8yDU2A>iWSf{Zbg0#+s!%N#asU=3 zSPviC*|Mr1$jwF-Bt=FFI)Npt2JdAe7)^Y}K4Pr&c3VWGYS&pi*1fxPPu?JM^-W{t)NuzVCq;{Fz!;?{bjT5`_F*j#FY{U>&6Y%$AMba5yq2!uV>_$) zt*z1P)<^kZnk?fB`P%NpTAN(e zMVpojYjq166JinGmB>sV_=4Xv&=$hzbcY5GHTBITQIu4DkCp5-Z8Kc?^Zn3a&_S|M zITlOL`*V$Pn%DmJl7yId8HT|n{uX`*b^n0T22XD(W*QY~o)lnlimt`ST%;&Xoaypr z&0jeYf_u7@yU)hdvsvX%P`LQM?%<$#92sfQ&JG-?Vu-V$D>n>*6+G*<2_Uu5I8zx@ zU3?wKoaC_INoXi_Uzpeo#iluRtuarF%O4)J^WlSV$R~Qz=P4-=aK>O>m2b9v$7rr~ zsMWby$Dev;cpk2py*2*=Q%1?t*5ya)LDoZ+CFI22;3Y%X+yHo?Tx95?BMWXKo1?h0 z&*X=tG-7)E!EEw;pM%$EThn3gL?#uR_tRHtStM$-&B9*E^2cv6no6nUE4I5?krCfB z_XI)b&gbuWqO+oA2bd}E`7cj$&y+VBdSdMNV3ss56i6MVoaVwk%&RUiXYeA}bG_)N z)hZAIEwpTD)8);#WdF5S+#hyBe`))-_QEHFzBIR$ID`vz+2niEi4W?_u(UM?x>5&r zSs8aZjF}Rj$FxM8Jh1)6ko{6<=kMedm7d&2ABW^$HQiuC*659UR}s8&T%K@E3Iedt zz%A1K7ict<-~B*><7rQ`iEh({{ein5RG)fmogB@7Gh1G|GyCtOhGO(uYMM{Rz26so zQhiUmB(7J>p0OATDry4gSjLjjv8!~Gi`WjbQ_{?pbOzQ`}a77CySoX5{EouSV<7C9$ zmc=vmX+#^B#YHnYkd!f?Hd`gKze=0c-W4ZPogt<%Ieb~gi0$YD##8FPgLE)8up~?P zH1HO5UjeY=V`hIprV;s*LHWt4p8t^)-v=>6yj3 znol(L(`<=I`y;-c{!kr<$Z^qR(g)I}a$h&3YZ$@vUGvQ!mjs^FW4cdU3JJ!r0xQ<$ z7_gk=&@;9=QW(rf&vC#@&wFwY%$|t!A$pA zAp20tUYwf>_VLf1KR&+ay`q_@i5#Cydc~p8B7~*AvWsegRykm;4i!M_)(biiKi))M z)PO?r@6Dl2MEcZfP!|eUJ^U-MvmGtNq=#y!=Ur}{r*uQfA9IPQzV(3)EqUhWmKL=Y&2XXHhU5sKqihBfC zpjTp6qE_NmBDrE3_tgn=88R>t&_$@SDS)YTSmMdw^eNJWFE52} z+;OOX93k^`L>{cJ`g~7t85tg?9pCF5?(zWJ=815Hu$khc2lnDJWe2NTzrTc<9E+1r zzMq?BP!$89JJ|Lya(-x1p2cemNA=&gmq686)OL`Ds`m#-yIU@*7{6Gwey^4sGJiZUWd^m|A zOo3zCFqojz*X4_@q$jRt;y~5CHwvWDk&(OYy&=8f^jq5CGoX1Idlw4stIu{Uuz3@C z(09}J;}jW=EM8%XMnW`*72NyNbDB-!L<>}UaFs}lo>fXG10jxnMVSQt#mXTP)|ZhG zfYIsnlPLugXaboJAQi|1y1dY}4m33y9MIA8B8d530ryG9aDlBO6;wQq&gA9*pcMQ< zEEI%XFrg_Lyluw?HXhM70AN*nzg~sY5(c}3#+q`U4!@@VV?infT+ET&n?RZTzM!KR zLSXX&atiF)XoNxix z_LPZP9Oe+f{xY$W^(M#w(+@!4AilT!2g~{KvpzDd!NF6J=}~6K3sexRA&QuQ70pxn zCZJ>TUi?2zaor0XvtdN4?<F|~D4*pp0h2RNu*v(LYz5Z(*P7ef zWzWq&?Ssc7v7&7rYk7Il@a{7Jc*SE)fB*ON@S0a7hNy~25PVkyq=LR0HYCGvvnaXQG_#sSIbcc zY!dRG4#4GIbO_4Kn{SfC)({`D=29onbHV;gO;a=S?~b>?C!$s{_sG+aO>8OtFt}RsC`Vv-~QsT zIDw&Ah3MWrR4ZOFg5FGwSrU*6bUS6P+z=j(h&0bJ@nuo=J-DWHCWOs@x)hQ(tN&7+ z4(wZOZ#?-7c7NXeKnCCzc%^dvUw;6rOKWm7LxGM{D6iihQ-xRMZdFJ9vEV{;_pK06 zlsrYILbgEQe1Ds-(xM1HKGIx7;K^9(fQJirf0e2i)z5)3SY07-N;@)zcXnw)wKGct zz=s!iHOa6Q+(A+L@4R^e)$JpY073{gO$axkuc8yS9^ z0*+ZDvAxED`=+o0&o@W?35T(x6vFNk+mc9B8(x!k&1fszPu=4YhP#1DsS7`~Oo+c| z)pZgBfQ#wH@#*6E6(g9br#oxAh%;Yy-`BD!#KCJq@MRgc25L5v+8<)P3doO`oH+sm z_}wk1YXHy{9!x*7U3SmFi8Fz+|nKtg2|yI-iPp8RY|@Vb&yX^Rd0nM_Q;UXkZrRun9?T@g29vm!aARAO==;D4b)F{|?J=vSa-XdI2T zcyg)$_MeMshQ>JexHqdH;v^?prU~_XU}A!1g#D1!>)KD}zCurG97@!-!{^FRqhr43 z2N`%93WfWTO??pH!&My(X5=0>SMM zii{`BDite@HikcLi{OifaDmgylYEP2fl@>!^%RR1@lQa9$`*U^5VllhWneAa6xAqDLl9cA~UcWRA(~93Z6Oq&oHe_t}4zyg=8o4$ouI^w9@U z1aLITS0CspwpoLz;5^kVDY&c41`40%b@+X-EB5b51BJ8Y5*XzgET18=ij~SV_~9wu z2inV~24$4zSElP6!5Ljxmk2nw0~$5XQ>R?YGgb;a$a(DR4p&9N-pzM+UIQ027*gU~71!K4)Rwe}_Nk zB(Q^1Nf$=HL<#_&`(zYz1uBE$%#K2ejH%bD{h7jXiahFz6wcnIJqB^qtuckyRf5im& zyW3e~_kxVK<+}j@J^5texDumwpKYVwT_r?4vdKA94-G(+l|*@8Oeh-A z%8jOh;7asHY$mB&k+tH;V)E;nRBXYoJVQP?M-WuDU1jNHb-F@vq9Y3F;>HYs&xbkqQ*DwAK z!&u7LlCn=BN?hefh`}f~#S9}uVJvMFgN71jnzBSHg;r}ZgBfeGH5lC~#m$zf8)FN} z)Yy0N`?|m1-|u-o=bX>^oO7P{d7tMMemtPF5S4~MVG3lDk8#wnZ22Y|ff6e4xNphK z*+y$GMJ^o#2%OT~tF7$s6s_6W*k(=kT5S+Ls3SVWNN@Rp$)J`4n zjU2UNSOH?grIa?>V8no1KgsShukzw4#^ZzY5LJwO%NesZaFKO`l*BuF6Z(dW54xU$ zm|}9P^gid>Ie*{C5}Fy#DA)FbtV2R0I`1w^!?t)r)@wIwXXdfdGSd|EWB5?JhRSI7m#77nqW`TO z0F*`K#LPbGmeyK|BTLJ1k3QNvAj4(x)O0aZ!U@uH@m?`KfgI?2X&}!;6w@7Ft@@-P|LPY`KA+rw1Z@WP`nYsv+D}`Dp6{t=< zc{@EKpUI~NH4CMXR?ihOT3{qXh*r2RW&lo1fPDA3H&o74qgDZVnGe zM_$b*i<^kcP_1Xl_9psb#oJc)gL>ArM8>PUZ4S~S(&$(G1Hv_CFF@JVa}Crz$|J0#`oKEiZ|S-8`sd;RYI-22M;Gz8@8Z7 z);)JJrl-^vGk5LjHv@O<@E02!C%PQL+9xOzr~54?Jjwap_bBDT|Kd2A&j0;&xPl`E z3l{LxwF-aQRwzzJOg^FPcTRKT*~P2If1n9I>!6D8=i z#?jI-)wxXGRz)9GpsS^ShBA1>m7idx*%B$5=;v%$wZANIz?$YbQ9#j?}|2f4KI{ECcyfhtno0 z$xM|!S!N(mv(N0D4_@k|1%12il!`zd6_o`XnJW7Z5zEPzK&EM*So+<)1OfbfWpGY-_ZTPe`|o0~mQ6_&}Z^1*CU_m0@EAmH9zM4vUFykK zl9+P>{=5^I6ZYk;<{W$%lrR@2tFWnrF4wk(cNUQ)66*-dlaClW__;p?;{H!rqMM}q zorQ)t#aXMSFaNY@j?d678is!4FYVPU!94*3)+x!Nngz}8dd2hn7BWlpy|B?cpvkC{ z7eAt~E^72cG;z~OxG!a_8mCv&B{>G$3H##9$9!_Y|1M>!T)gl<-a9m#ZOaUxnS8qS zMWq&DE3ufYfZIi|=(ubzo`^x>G;i8;Hic%Ga}z!@u>GmtUz44XoU(< zy&Zv882{D2R!3J}>$b6uDkzFpMsw}pRB_4sTvWQJCGF=1l&h`8u-$i&34`<1yB{L==x9sI~`v|XqO(V z|A0&yoS%PPu+^Z}B?8B=#HGD`2fK$2Qo1PJ^`I}G`q~Q~0*v0*75i&JDDW^fkt@B2&|I%%$Ng+) z`b)G#x(m0BpW&$~94YUdM|_{HrkE?qfE8(|!KdD|x{(TP*JYY)1qI^sFOvGwZ6_Rk zhi=oE{^M6o_eCvm^?ZIIjC$(Mh+NSXZu8Aep>K5l5ehnR{Eq3iK77&2PPtkKvAsEF zy>)tTU)hcHc1%3Z&i^NiA)abWQj z{a*~%F#d3EVRv-kq;wfNL7daRu@<=XU=?s8!{COM%Z zw(YRgpgqsPr0iXOU&Yk)E0{obbDiMBJG)q}q#W(G`3q1xiN1|py8z;P-^H~u0MN~Q7k09o3(c z;&Hk0RPVAy#s?dK0DH7u4v?{=05-_#ryvK$nultpdTX7c? z#z%2lt2tx|lmEo-kd^Dy^3DC_E*$(KFV+ym55pv-?9X>xev=(|eG-CYQzdo}c-1Nu z$qi5IUYBFUM)jus^vp7`scMFyF$eEBN4Sl>P~+Lmd&TcidG^9eS?O&078Qo%W=Lvw zX?qQ)lT1K={7Ov9Lc3C zd|ziL0?2hru5{3JJ$rT9uRM>sT4{R{MDg_2!h7K>Wr&7qYt~}ySos3mL|WTiN(P|v zTrYpi8)^)7^C)sMf3_my_83Xr3GW8aU_@Q&VXz=Er3i0yONVj46!Z`O%=0zZ{-Oc< XRd%p?{6-&i;Q`=JdnZhZEs^$LTM=x# literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index 5d72d6f..a36c300 100644 --- a/public/index.html +++ b/public/index.html @@ -1,18 +1,23 @@ - + - - + + Pena Hub + + + + + + + - - Pena Hub diff --git a/public/logo192.png b/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/public/manifest.json b/public/manifest.json index 080d6c7..56f9fd3 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,23 +1,10 @@ { - "short_name": "React App", - "name": "Create React App Sample", + "short_name": "PenaHub", + "name": "Pena Hub", "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], + { "src": "/favicon192.png", "type": "image/png", "sizes": "192x192" }, + { "src": "/favicon512.png", "type": "image/png", "sizes": "512x512" } + ], "start_url": ".", "display": "standalone", "theme_color": "#000000", diff --git a/src/components/CustomSlider.tsx b/src/components/CustomSlider.tsx index f232382..e0aae16 100644 --- a/src/components/CustomSlider.tsx +++ b/src/components/CustomSlider.tsx @@ -6,6 +6,7 @@ type CustomSliderProps = { min: number; max: number; onChange: (value: number | number[]) => void; + firstStep: number; }; export const CustomSlider = ({ @@ -13,11 +14,16 @@ export const CustomSlider = ({ min = 0, max = 100, onChange, + firstStep }: CustomSliderProps) => { const theme = useTheme() const [step, setStep] = useState(1) useEffect(() => { + if (value <= firstStep) { + return setStep(firstStep) + } + if (value < 100) { return setStep(10) } diff --git a/src/components/NumberInputWithUnitAdornment.tsx b/src/components/NumberInputWithUnitAdornment.tsx index e43a40b..7116935 100644 --- a/src/components/NumberInputWithUnitAdornment.tsx +++ b/src/components/NumberInputWithUnitAdornment.tsx @@ -13,10 +13,10 @@ interface Props { } const sliderSettingsByType = { - день: { max: 365, min: 30 }, - шаблон: { max: 5000, min: 100 }, - МБ: { max: 5000, min: 100 }, - заявка: { max: 5000, min: 100 } + день: { max: 365, min: 0 }, + шаблон: { max: 5000, min: 0 }, + МБ: { max: 5000, min: 0 }, + заявка: { max: 5000, min: 0 } } export default function NumberInputWithUnitAdornment({ id, value, adornmentText, privilege, onChange }: Props) { diff --git a/src/pages/TariffConstructor/TariffConstructor.tsx b/src/pages/TariffConstructor/TariffConstructor.tsx index 42c9f59..5099084 100644 --- a/src/pages/TariffConstructor/TariffConstructor.tsx +++ b/src/pages/TariffConstructor/TariffConstructor.tsx @@ -66,7 +66,7 @@ function TariffConstructor() { )} - + diff --git a/src/pages/TariffConstructor/TariffItem.tsx b/src/pages/TariffConstructor/TariffItem.tsx index 1486746..6fe7f36 100644 --- a/src/pages/TariffConstructor/TariffItem.tsx +++ b/src/pages/TariffConstructor/TariffItem.tsx @@ -13,10 +13,10 @@ import { useEffect, useState } from "react" import { useDebouncedCallback } from 'use-debounce'; const sliderSettingsByType = { - день: { max: 365, min: 30 }, - шаблон: { max: 5000, min: 100 }, - МБ: { max: 5000, min: 100 }, - заявка: { max: 5000, min: 100 } + день: { max: 365, min: 0 }, + шаблон: { max: 5000, min: 0 }, + МБ: { max: 5000, min: 0 }, + заявка: { max: 5000, min: 0 } } type PrivilegeName = "день" | "шаблон" | "МБ" | "заявка" @@ -157,6 +157,7 @@ export default function TariffPrivilegeSlider({ privilege }: Props) { min={sliderSettingsByType[privilege.value]?.min } max={sliderSettingsByType[privilege.value]?.max || 100} onChange={handleSliderChange(privilege.value)} + firstStep={privilege.value === "день" ? 30 : 100} /> {!upMd && quantityElement} diff --git a/src/pages/Tariffs/TariffsPage.tsx b/src/pages/Tariffs/TariffsPage.tsx index ade7b2b..c19f590 100644 --- a/src/pages/Tariffs/TariffsPage.tsx +++ b/src/pages/Tariffs/TariffsPage.tsx @@ -178,11 +178,11 @@ function TariffPage() { {StepperText[unit]} - {isMobile ? ( + {/* {isMobile ? (