diff --git a/luckydiamond/src/assets/css/ComponentsStyles/Help.css b/luckydiamond/src/assets/css/ComponentsStyles/Help.css new file mode 100644 index 0000000..8eb71e9 --- /dev/null +++ b/luckydiamond/src/assets/css/ComponentsStyles/Help.css @@ -0,0 +1,73 @@ +*{ + font-family: Montserrat Alternates; + text-decoration: none; +} +.Heading_p1 { + font-size: 18px ; + font-family: Montserrat Alternates; + +} +.heding2_text { + width: 949px; + height: 132px; +} +.Heading_p1 a { + color: #5865F2 ; + font-family: Montserrat Alternates; +} +.questions { + font-size: 18px ; + font-family: Montserrat Alternates; +} +.questions1 { + font-size: 18px ; + font-family: Montserrat Alternates; + background-color:#3f3f3f; + width: 426px; + height: 30px; + border-radius: 8px ; + justify-content: center; + align-content: center; + display: flex; +} +.questions1 b { + margin-top: 4.3px; +} +.questions1 img { + margin-left: 30px; + width: 16px; + margin-top: 6px; +} +.text_questions { + width: 840px; + height: 132px; + font-size: 18px ; + font-family: Montserrat Alternates; +} +.text_questions p { + font-size: 18px ; + font-family: Montserrat Alternates; +} +.questions2 { + font-size: 18px ; + font-family: Montserrat Alternates; + width: 544px; + height: 27px; + + justify-content: center; + align-items: flex-start; + display: flex; +} +.questions2 img { +margin-left: 10px; +width: 16px; +margin-top: 3.5px; + +} +.Social1where { + flex-direction: row; + width: 400px; + display: flex; + justify-content: space-around; + align-content: center; +} \ No newline at end of file diff --git a/luckydiamond/src/assets/css/ComponentsStyles/payments-modal.css b/luckydiamond/src/assets/css/ComponentsStyles/payments-modal.css index c046c74..1757aef 100644 --- a/luckydiamond/src/assets/css/ComponentsStyles/payments-modal.css +++ b/luckydiamond/src/assets/css/ComponentsStyles/payments-modal.css @@ -67,7 +67,41 @@ font-size: 12px; padding-left: 40px; } - +.promo-input { + width: 284px; + height: 44px; + border-radius: 15px; + border: 2px solid #2B3458; + background: #22252F; + color: rgba(148, 148, 148, 0.95); + font-weight: 700; + font-family: Montserrat Alternates; + font-size: 12px; + padding-left: 40px; + flex: 3.5; + font-weight: 700px; +} +.vvod_promocoda { + flex: 1; + width: 52px; + height: 44px; + background-color: #EF4444; + margin-left: 10px; + margin-right: 16px; + justify-content: center; + align-items: center; + display: flex; + border-radius: 10px; + font-family: Montserrat Alternates; + font-weight: 600; + font-size: 19px; + color: #fff; + border: none; +} +.promokods { + display: flex; + flex-wrap: nowrap; +} .display-btns { display: flex; margin-top: 10px; @@ -85,6 +119,7 @@ border: none; margin-right: 6px; padding: 4px 19px; + } .deposit-promocode { @@ -160,7 +195,7 @@ input[type="checkbox"]:checked::before { .btn-style-payments button { border-radius: 10px; background: #EF4444; - ont-family: Montserrat Alternates; + Font-family: Montserrat Alternates; font-size: 16px; color: #fff; font-weight: 700; diff --git a/luckydiamond/src/assets/css/global.css b/luckydiamond/src/assets/css/global.css index 4c97956..7617229 100644 --- a/luckydiamond/src/assets/css/global.css +++ b/luckydiamond/src/assets/css/global.css @@ -256,6 +256,33 @@ button { grid-gap: 0.625rem; } +.content-grid--help { + display: grid; + grid-auto-columns: 1fr; + grid-template-columns: 0.35fr repeat(5, 1fr) 1fr; + grid-template-rows: auto 0fr repeat(4, 1fr); + grid-template-areas: + "menu header header header header header header" + "menu help help help help help chat" + "menu help help help help help chat" + "menu help help help help help chat" + "menu help help help help help chat" + "menu help help help help help chat" + "menu help help help help help chat"; + grid-gap: 0.625rem; +} + +.help { + grid-area: help; + display: flex; + height: 95%; + border-radius: 3.125rem; + background: #17181C; + box-shadow: 0.25rem 0.25rem 0.25rem 0px rgba(0, 0, 0, 0.25); + margin: 0.625rem 2.438rem 1.125rem 1.125rem; + /*height: 96.2%;*/ +} + .bg-gradient-left { background: #293561; diff --git a/luckydiamond/src/assets/icons-test/lest.png b/luckydiamond/src/assets/icons-test/lest.png new file mode 100644 index 0000000..c991949 Binary files /dev/null and b/luckydiamond/src/assets/icons-test/lest.png differ diff --git a/luckydiamond/src/assets/js/games/saper/SaperAPI.js b/luckydiamond/src/assets/js/games/saper/SaperAPI.js index 0efb022..22946ef 100644 --- a/luckydiamond/src/assets/js/games/saper/SaperAPI.js +++ b/luckydiamond/src/assets/js/games/saper/SaperAPI.js @@ -115,4 +115,4 @@ export async function GetWinningAmount(UserInfo) { catch (error) { console.log('Fetch error', error) } -} \ No newline at end of file +} diff --git a/luckydiamond/src/assets/js/rest/RestMethods.js b/luckydiamond/src/assets/js/rest/RestMethods.js index 716805b..41edb22 100644 --- a/luckydiamond/src/assets/js/rest/RestMethods.js +++ b/luckydiamond/src/assets/js/rest/RestMethods.js @@ -74,4 +74,31 @@ export async function GetChatHistory() { } } +export async function ApplyPromoCode(authToken, searchToken, promoCode) { + const data = { + userCredentials: { + searchToken: searchToken, + authtoken: authToken + }, + promoCode: promoCode + }; + try { + const response = await fetch(`${BackendApiUrl}/PromoCode/ApplyPromo`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(data), + redirect: "follow" + }); + + if (!response.ok) { + console.log("Fetch error:", response.status); + } + + return await response.json(); + } catch (error) { + console.log("Fetch error:", error); + } +} diff --git a/luckydiamond/src/components/DevelopComponent.vue b/luckydiamond/src/components/DevelopComponent.vue index ccf7615..7f773bd 100644 --- a/luckydiamond/src/components/DevelopComponent.vue +++ b/luckydiamond/src/components/DevelopComponent.vue @@ -159,7 +159,7 @@

Designer

- +
diff --git a/luckydiamond/src/components/HeaderComponent.vue b/luckydiamond/src/components/HeaderComponent.vue index 8faca8c..3f840dd 100644 --- a/luckydiamond/src/components/HeaderComponent.vue +++ b/luckydiamond/src/components/HeaderComponent.vue @@ -126,7 +126,7 @@ export default { diff --git a/luckydiamond/src/components/HelpComponent.vue b/luckydiamond/src/components/HelpComponent.vue new file mode 100644 index 0000000..6e14652 --- /dev/null +++ b/luckydiamond/src/components/HelpComponent.vue @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/luckydiamond/src/components/PaymentsModal.vue b/luckydiamond/src/components/PaymentsModal.vue index 9288cce..fc6a23a 100644 --- a/luckydiamond/src/components/PaymentsModal.vue +++ b/luckydiamond/src/components/PaymentsModal.vue @@ -33,14 +33,17 @@
-

Промокод не найден

+

{{ promoResponse }}

Промокод успешно применён

Промокод

- +
+ + +
-
+

Подтвердите согласие!

@@ -117,12 +120,14 @@ import PaymentsModalNumbers from "@/mocks/PaymentsModalNumbers"; import { GettingMoneyOperation, WithdrawMoneyOperation } from "@/assets/js/moneyoperation/Claimmoney"; import CaptchaComponent from "@/components/CaptchaComponent.vue"; + import {eventBus} from "@/main"; import { useVuelidate } from '@vuelidate/core' import {maxValue, minValue, required, numeric, integer, minLength, maxLength} from "@vuelidate/validators"; import {GetCurrentMoney} from "@/assets/js/rest/RestMethods"; import {GetCookie} from "@/assets/js/storage/CookieStorage"; +import { ApplyPromoCode } from "@/assets/js/rest/RestMethods.js"; // Замените на правильный путь к файлу с функцией ApplyPromoCode export default { components: { CaptchaComponent }, @@ -212,10 +217,10 @@ export default { closeModal() { return this.$emit("closemodal"); }, - checkValidationPromocode() { - this.errorPromocode = !this.promocodeBase.includes(this.promocode); - this.showPromocodeStatus = true - }, + // checkValidationPromocode() { + // this.errorPromocode = !this.promocodeBase.includes(this.promocode); + // this.showPromocodeStatus = true + // }, completeValidationCheck() { this.offBtn = true @@ -232,6 +237,46 @@ export default { this.captchaToken = Token this.completeValidtaion.captchatokensaving = true }, + async handleApplyPromoCode() { + const authToken = GetCookie("AUTHTOKEN"); + const searchToken = GetCookie("SearchToken"); + + try { + const response = await ApplyPromoCode(authToken, searchToken, this.promocode); + + console.log(response); + + if (response === 'Promo dont exist.') + { + this.showPromocodeStatus = true; + this.errorPromocode = true; + this.promoResponse = 'Промокод не найден'; + } + else if(response === 'promotional code has expired') + { + this.showPromocodeStatus = true; + this.errorPromocode = true; + this.promoResponse = 'Не действителен'; + } + else if(response === 'User is alredy use the promo') + { + this.showPromocodeStatus = true; + this.errorPromocode = true; + this.promoResponse = 'Уже использован'; + } + else + { + this.showPromocodeStatus = true; + this.errorPromocode = false; + this.promoResponse = response; + } + + } + catch (error) + { + console.error("Ошибка при применении промокода:", error); + } +}, async RedirectedMethodDep() { this.v$.$touch() @@ -314,4 +359,4 @@ export default { }, }, }; - + \ No newline at end of file diff --git a/luckydiamond/src/pages/AboutPage.vue b/luckydiamond/src/pages/AboutPage.vue index 5082734..1cde806 100644 --- a/luckydiamond/src/pages/AboutPage.vue +++ b/luckydiamond/src/pages/AboutPage.vue @@ -27,6 +27,7 @@ export default { }, }; }, + name: "HelpPage", components: { HeaderComponent, AsideBarComponent, diff --git a/luckydiamond/src/pages/HelpPage.vue b/luckydiamond/src/pages/HelpPage.vue new file mode 100644 index 0000000..68966b0 --- /dev/null +++ b/luckydiamond/src/pages/HelpPage.vue @@ -0,0 +1,110 @@ + + \ No newline at end of file diff --git a/luckydiamond/src/pages/ProfilePage.vue b/luckydiamond/src/pages/ProfilePage.vue index d681a06..0e4c7da 100644 --- a/luckydiamond/src/pages/ProfilePage.vue +++ b/luckydiamond/src/pages/ProfilePage.vue @@ -118,34 +118,34 @@ export default { }, NotificationMethod() { this.notification = false + }, + formatNumber(number) { + return number < 10 ? `0${number}` : number; + }, + getCurrentFormattedDate() { + const currentDate = new Date(); + return `${this.formatNumber(currentDate.getDate())}.${this.formatNumber(currentDate.getMonth() + 1)}.${currentDate.getFullYear()}, ${this.formatNumber(currentDate.getHours())}:${this.formatNumber(currentDate.getMinutes())}`; + }, + claimDataDeposit(amount) { + const historyPayments = { + name: 'TEST USER', + comment: 'test', + data: this.getCurrentFormattedDate(), + amount: amount + } + + this.arrayHistory.unshift(historyPayments) + }, + claimDataWithdraw(amount) { + const historyPayments = { + name: 'TEST USER', + comment: 'test', + data: this.getCurrentFormattedDate(), + amount: -amount + } + + this.arrayHistory.unshift(historyPayments) } - // formatNumber(number) { - // return number < 10 ? `0${number}` : number; - // }, - // getCurrentFormattedDate() { - // const currentDate = new Date(); - // return `${this.formatNumber(currentDate.getDate())}.${this.formatNumber(currentDate.getMonth() + 1)}.${currentDate.getFullYear()}, ${this.formatNumber(currentDate.getHours())}:${this.formatNumber(currentDate.getMinutes())}`; - // }, - // claimDataDeposit(amount) { - // const historyPayments = { - // name: 'TEST USER', - // comment: 'test', - // data: this.getCurrentFormattedDate(), - // amount: amount - // } - // - // this.arrayHistory.unshift(historyPayments) - // }, - // claimDataWithdraw(amount) { - // const historyPayments = { - // name: 'TEST USER', - // comment: 'test', - // data: this.getCurrentFormattedDate(), - // amount: -amount - // } - // - // this.arrayHistory.unshift(historyPayments) - // } } } \ No newline at end of file diff --git a/luckydiamond/src/pages/newFile.1.js b/luckydiamond/src/pages/newFile.1.js new file mode 100644 index 0000000..e736bd0 --- /dev/null +++ b/luckydiamond/src/pages/newFile.1.js @@ -0,0 +1,22 @@ +export default (await import('vue')).defineComponent({ +data() { +return { +Object: { +bg: "value", +nickname: "value", +icons: {}, +textTacholgy: { text1: "text2" }, +}, +name: 'HelpPage', +components: { +HelpComponent +} +}; + +}, +components: { +HeaderComponent, +AsideBarComponent, +HelpComponent, +}, +}); diff --git a/luckydiamond/src/pages/newFile.js b/luckydiamond/src/pages/newFile.js new file mode 100644 index 0000000..7b8afb4 --- /dev/null +++ b/luckydiamond/src/pages/newFile.js @@ -0,0 +1,16 @@ +export default (await import('vue')).defineComponent({ +data() { +return { +Object: { +bg: "value", +nickname: "value", +icons: {}, +textTacholgy: { text1: "text2" }, +}, +}; +}, +name: "HelpPage", +components: { +HeaderComponent +}, +}); diff --git a/luckydiamond/src/router/router.js b/luckydiamond/src/router/router.js index 5dd9ef5..94c52fb 100644 --- a/luckydiamond/src/router/router.js +++ b/luckydiamond/src/router/router.js @@ -6,7 +6,8 @@ import SapergamePage from "@/pages/games-pages/SapergamePage.vue"; import SettingsPage from "@/pages/SettingsPage.vue"; import CrashGamePage from "@/pages/games-pages/CrashgamePage.vue"; import JackpotPage from "@/pages/games-pages/JackpotPage.vue"; -import AboutPage from "@/pages/AboutPage.vue" +import AboutPage from "@/pages/AboutPage.vue"; +import HelpPage from "@/pages/HelpPage.vue" ; export default createRouter({ history: createWebHistory(), @@ -18,5 +19,6 @@ export default createRouter({ { path: '/game/jackpot', component: JackpotPage, name: 'jackpot' }, { path: '/settings', component: SettingsPage, name: 'settings' }, { path: '/about', component: AboutPage, name: 'about' }, + { path: '/help', component: HelpPage, name: 'help' }, ] })