Reapply "Merge branch 'main' into DevelopCkutls"

This reverts commit 26ee6ded22.
This commit is contained in:
rafael1209
2024-04-08 23:45:01 +03:00
parent 87816193a2
commit 6601ec2cc9
40 changed files with 2385 additions and 274 deletions

363
.gitignore vendored Normal file
View File

@@ -0,0 +1,363 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd

View File

@@ -39,6 +39,7 @@
[Вдохновление](https://cs.fail/en/)
## Наша Команда
![team](https://cdn.discordapp.com/attachments/1175674631684898866/1208428357952348170/Group_92.png?ex=65e33f9c&is=65d0ca9c&hm=9279223a5486b16e30267bced4fd1f7cc63ff59292cb5e29d741914b5902e5e0&)
![Group 65](https://github.com/danilt2000/LuckyDiamond/assets/96600211/fb41b4fa-24d4-4372-8b58-089d1c9d4ca4)

View File

@@ -9,11 +9,33 @@
display: flex;
align-items: center;
flex-direction: column;
margin-top: 12%;
}
.menu__content--jackpot-icon{
width: 16vh;
height: -4vh;
margin-left: -5px;
transition: 250ms;
width: 125%;
height: 125%;
}
.menu__content--jackpot-icon:hover {
margin-left: -15px;
width: 175%;
height: 175%;
}
.menu__content--chest-icon {
margin-left: -1px;
transition: 250ms;
width: 100%;
height: 100%;
}
.menu__content--chest-icon:hover {
margin-left: -5px;
height: 125%;
width: 125%;
}
.menu__btn--home {
@@ -24,6 +46,7 @@
display: flex;
align-items: center;
height: 100%;
width: 100%;
}
.fotosloti {
display: flex;
@@ -54,11 +77,29 @@
}
.menu__content--cruch-icon {
margin-left: 6px
margin-left: 6px;
transition: 250ms;
width: 100%;
height: 100%;
}
.menu__content--cruch-icon:hover {
margin-left: 0px;
width: 125%;
height: 125%;
}
.menu__content--bomb-icon {
margin-left: 6px
margin-left: 6px;
width: 100%;
height: 100%;
transition: 250ms;
}
.menu__content--bomb-icon:hover {
margin-left: 0px;
width: 125%;
height: 125%;
}
.menu__content--gamemodes {
@@ -76,8 +117,6 @@
justify-content: center;
align-items: center;
text-align: center;
max-width: 100%;
max-height: 100%;
}
.menu__btn--settings {

View File

@@ -24,6 +24,11 @@
font-weight: 700;
font-size: 18px;
margin-right: 3em;
transition: 250ms;
}
.header__nav nav a:hover {
color: #EF4444;
}
.header__nav--now {
@@ -84,6 +89,7 @@
padding: 20px 23px 20px 23px;
text-decoration: none;
margin-left: -15%;
transition: 200ms;
}
.header__auth--discord {

View File

@@ -53,6 +53,12 @@
left: 10%;
}
.referal-icon-diamond img {
position: absolute;
top: 35.5%;
left: 10%;
}
.deposit-icon__input .promo-input,
.deposit-icon__input .deposit-amount__input,
.withdraw-input .with-input{

View File

@@ -0,0 +1,29 @@
.banpage--body {
background-color: rgb(17, 14, 32);
background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
padding: 0px;
margin: 0;
color: #fff;
text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
font-family: Montserrat Alternates;
font-size:25px;
font-weight: 700;
text-transform: uppercase;
text-align: center;
}
.banpage--video {
border-radius: 10px;
}
.banpage--block {
width: 50%;
height: 100%;
display: block;
background-color: #ef4444;
margin: auto;
margin-top: 100px;
padding-top: 50px;
padding-bottom: 100px;
border-radius: 10px;
box-shadow: 12px 12px 2px 1px rgba(92, 12, 12, 0.2);
}

View File

@@ -0,0 +1,325 @@
.bet-button {
border: none;
padding: 10px 20px;
margin: 5px;
border-radius: 10px;
color: white;
font-weight: bold;
cursor: pointer;
transition: transform 0.1s ease;
outline: none;
}
/* Цвета для кнопок */
.bet-button.red {
background-color: #863443;
}
.bet-button.green {
background-color: #2D4940;
}
.bet-button.black {
background-color: #202333;
}
/* Стили для нажатой кнопки */
.bet-button:active {
transform: scale(0.95);
/* Уменьшение при нажатии */
}
.bet-button.active {
opacity: 0.7;
/* Пример изменения стиля активной кнопки */
}
/* Можно добавить тени для кнопок, чтобы они выглядели объемнее */
.bet-button {
margin: 1.2% 0 0 5.8%;
margin-bottom: 1vh;
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
}
/* Стиль для тени при нажатии (опционально) */
.bet-button:active {
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
}
.double-start {
z-index: 1;
border-radius: 20px;
background: #1D223E;
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
width: 42vh;
height: 37vh;
border: 1px solid #262C55;
margin: 2.6%;
margin-top: 0px;
}
.double-game {
z-index: 1;
border-radius: 20px;
width: 69%;
height: 94%;
}
.double-ui-component {
display: flex;
align-items: center;
background-color: #25325A;
border-radius: 15px;
/* padding: 10px 20px; */
padding-right: 2vh;
padding-bottom: 1vh;
padding-top: 1vh;
padding-left: 2vh;
margin-bottom: 1vh;
max-width: 300px;
color: white;
font-family: Arial, sans-serif;
/* background: linear-gradient(to right, #1C213390 50%, #2F5139); */
}
.double-ui-component-gradient {
background: linear-gradient(to right, #1C213390 50%, #2F5139);
}
/* .double-ui-component img {} */
.double-ui-component .double-username {
flex-grow: 1;
text-align: left;
margin-left: 1vh;
font-size: 18px;
font-family: Montserrat;
font-weight: bold;
color: #515D83;
}
.double-ui-component .double-score {
display: flex;
align-items: center;
}
.double-score {
font-size: 20px;
font-family: Montserrat;
font-weight: bold;
color: #748985;
}
.double-img-user {
margin-top: 6px;
}
.double-ui-component .double-score img {
width: 3vh;
height: 3vh;
margin-left: 10px;
}
.double-members-ingame-red {
overflow-y: auto;
background: linear-gradient(to bottom right,
#A9373C,
#1C2133 20%);
z-index: 1;
border: 2px solid #3B4260;
border-radius: 15px;
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
margin-top: 1vh;
width: 100%;
height: 49vh;
/* height: 94%; */
padding: 2vh;
}
.double-members-ingame-green {
overflow-y: auto;
background: linear-gradient(to bottom right,
#345D3B,
#1C2133 20%);
z-index: 1;
border: 2px solid #3B4260;
border-radius: 15px;
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
margin-top: 1vh;
width: 100%;
height: 49vh;
/* height: 94%; */
padding: 2vh;
}
.double-members-ingame-black {
overflow-y: auto;
background: linear-gradient(to bottom right,
#1B1A1A,
#1C2133 26%);
z-index: 1;
border: 2px solid #3B4260;
border-radius: 15px;
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
margin-top: 1vh;
margin-top: 1vh;
width: 100%;
/* height: 94%; */
height: 49vh;
padding: 2vh;
}
.double-members-flex-container {
display: flex;
justify-content: space-between;
align-items: center;
color: white;
margin-bottom: 2vh;
}
.double-red-box {
display: flex;
align-items: baseline;
font-size: 18px;
font-family: Montserrat;
font-weight: bold;
color: #B64848;
}
.double-white-box {
display: flex;
align-items: baseline;
font-size: 18px;
font-family: Montserrat;
font-weight: bold;
color: FEEBEB;
}
.double-green-box {
display: flex;
align-items: baseline;
font-size: 18px;
font-family: Montserrat;
font-weight: bold;
color: #5EA25C;
}
.double-number-color {
color: #56629A;
font-weight: bold;
font-size: 18px;
font-family: Montserrat;
}
.double-red-box span {
font-size: larger;
/* Or any specific size */
margin-left: 5px;
/* Spacing between RED and X2 */
}
.double-user-icon {
display: flex;
align-items: center;
}
.double-user-icon .double-user-icon-span {
background-image: url('../../../icons-games/double-game/MembersInGame.png');
width: 20px;
height: 20px;
margin-right: 5px;
}
.double-game {
z-index: 1;
border-radius: 20px;
width: 69%;
height: 94%;
}
.double-game-main-box {
border-radius: 10px;
border: 1px solid #262C55;
padding-top: 4vh;
padding-bottom: 4vh;
padding-left: 0vh !important;
padding-right: 0vh !important;
background: #1A1F37;
margin-bottom: 1vh !important;
}
.double-carousel {
z-index: 1;
position: relative;
background: #2E2D37;
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
width: 100%;
margin-top: 1px;
border: 1vh solid #2E2D37;
border-right: 0vh !important;
border-left: 0vh !important;
height: 95%;
}
.container-double-history-text {
display: flex;
}
.double-history-text {
background-color: #728DF8;
border: none;
color: #0E1220;
padding-right: 1vh;
padding-left: 1vh;
font-size: 16px;
margin: 4px 2px;
border-radius: 5px;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
font-size: 18px;
font-family: Montserrat;
font-weight: bold;
}
.double-carousel-arrow {
position: absolute;
bottom: -3vh;
left: 50%;
transform: translateX(-50%);
color: #728DF8;
font-size: 24px;
}
.double-carousel-arrow-animate {
animation: blink 1s infinite;
}
@keyframes blink {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
.double-carousel-arrow-upper {
position: absolute;
top: -3vh;
left: 50%;
transform: translateX(-50%) rotate(180deg);
color: #728DF8;
font-size: 24px;
}
.double-game-history-main-box {
border-radius: 20px;
border: 1px solid #262C55;
padding-top: 1vh;
padding-bottom: 0vh;
padding-left: 1vh;
padding-right: 0vh;
background: #1A1F37;
}

View File

@@ -47,17 +47,12 @@
.carousel-arrow {
position: absolute;
bottom: -20px;
/* Регулируйте положение стрелки относительно нижнего края карусели */
left: 50%;
/* Центрирование стрелки по горизонтали */
transform: translateX(-50%);
/* Дополнительное центрирование, чтобы точка указывала точно на центр */
color: #728DF8;
/* Цвет стрелки */
font-size: 24px;
/* Размер стрелки */
/* Добавьте любые дополнительные стили, такие как цвет фона, границы и т.д. */
}
.jackpot-useringame-list{
margin-top: 3.5%;
overflow-y: auto;

View File

@@ -150,7 +150,8 @@
#diamonds-input {
/* width: 347px;
height: 38px; */
width: 37vh;
/* width: 37vh; */
width: 36vh;
height: 4vh;
}

View File

@@ -97,7 +97,7 @@
.bg-early{
border-radius: 40px;
background: #969B9E;
background: #EF4444;
box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
@@ -137,6 +137,7 @@
font-weight: 700;
text-transform: uppercase;
text-align: center;
padding: 0px 0px 0px 28px;
}
.line__footer {
@@ -153,7 +154,6 @@
}
.line__footer img {
width: 60%;
margin-bottom: 5%;
}
@@ -175,13 +175,37 @@
.line__img__jackpot {
display: flex;
margin: 1% 6.6% 1% 4.7%;
margin: 1% 6.6% 1% 0%;
}
.display-firstline {
display: flex;
}
.cumming_soon_btn {
border-radius: 21px;
background: #FFF;
box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
color: #000;
text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
font-family: Montserrat Alternates;
font-size: 36px;
font-weight: 700;
padding: 11px 0px 11px 11px;
text-decoration: none;
text-transform: uppercase;
position: relative;
bottom: 5%;
left: 2%;
transition: 250ms;
cursor: default;
}
.cumming_soon_btn:hover {
background-color: #525252;
opacity: 0.75;
}
.line__btn {
border-radius: 21px;
background: #FFF;
@@ -191,14 +215,75 @@
font-family: Montserrat Alternates;
font-size: 36px;
font-weight: 700;
padding: 11px 11px;
padding: 11px 0px 11px 11px;
text-decoration: none;
text-transform: uppercase;
position: relative;
bottom: 5%;
left: 2%;
transition: 250ms;
}
.line__btn span:after {
content: '\00bb';
opacity: 0;
transition: 250ms;
right: 20;
}
.line__btn:hover span:after {
opacity: 1;
right: 0;
padding-right: 0px;
}
.line__btn:hover {
padding:11px 11px 11px 22px ;
}
.line__btn:active {
left: 5%;
}
.line__btn--crash {
border-radius: 21px;
background: #FFF;
box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
color: #000;
text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
font-family: Montserrat Alternates;
font-size: 36px;
font-weight: 700;
padding: 11px 0px 11px 11px;
text-decoration: none;
text-transform: uppercase;
position: relative;
bottom: 5%;
left: 2%;
transition: 250ms;
}
.line__btn--crash span:after {
content: '\00bb';
opacity: 0;
transition: 250ms;
right: 20;
}
.line__btn--crash:hover span:after {
opacity: 1;
right: 0;
padding-right: 0px;
}
.line__btn--crash:hover {
padding:11px 11px 11px 22px ;
}
.line__btn--crash:active {
left: 5%;
}
.line__btn__jackpot {
border-radius: 21px;
background: #FFF;
@@ -208,14 +293,35 @@
font-family: Montserrat Alternates;
font-size: 36px;
font-weight: 700;
padding: 11px 11px;
padding: 11px 0px 11px 11px;
text-decoration: none;
text-transform: uppercase;
position: relative;
bottom: 4%;
left: 6%;
transition: 250ms;
}
.line__btn__jackpot span:after {
content: '\00bb';
opacity: 0;
transition: 250ms;
}
.line__btn__jackpot:hover span:after {
opacity: 1;
right: 0;
padding-right: 0px;
}
.line__btn__jackpot:hover {
padding:11px 11px 11px 22px ;
}
.line__btn__jackpot:active {
left: 10%;
}
.line__btn--elm {
color: #000;
font-size: 38px ;
@@ -251,7 +357,7 @@
.gamemode__twoline--first__element {
width: 100%;
margin: 2% 3.6% 0 5.5%;
min-height: 180px;
min-height: 209px;
}
.linecontent-3 {
@@ -264,23 +370,13 @@
color: #fff;
text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
font-family: Montserrat Alternates;
font-size: 87px;
font-size: 60px;
font-weight: 700;
text-transform: uppercase;
padding: 4.5% 2.2%;
}
.gamemode__twoline--first__element .container {
display: flex;
justify-content: center;
align-items: center;
}
.gamemode__twoline--first__element .container a {
margin-right: 10%;
padding: 12px 10px;
margin-bottom: 3%;
}
.gamemode__twoline--two__element {
margin-top: 2%;
@@ -297,159 +393,195 @@
margin-right: 10%;
}
.cumming_soon--img {
margin-bottom: 4%;
}
.gamemode__twoline--two__element {
margin-top: 2%;
width: 100%;
min-height: 180px;
}
.gamemode__twoline--first__element .container {
display: flex;
justify-content: center;
}
.gamemode__twoline--first__element .container a {
margin-right: 10%;
}
/* /GameMode */
/* Media */
@media (max-width: 1586px) {
#diamonds-input-saper {
width: 30vh !important;
}
}
@media screen and (min-device-width: 1400px) and (max-device-width: 1600px) {
.header__auth--discord {
width: 14%;
}
.header__balance {
width: auto;
}
.main {
width: 75% !important;
}
.main__content h1 {
font-size: 4.5em;
}
.gamemode__content--text div {
width: 75%;
}
.gamemode__main {
height: auto;
width: 25%;
}
.title-firstline {
font-size: 4.1em;
}
.line__footer {
flex-direction: column;
}
.line__footer img {
margin-top: -2em;
}
.line__content .line__btn--main .line__btn {
left: 0;
top: 2vh;
/* top: -.4em; */
/* top: top: 2vh;; */
}
.line__img {
margin: 1% -8% 0 30%;
}
.gamemode__firstline img {
width: 60%;
}
.gamemode__firstline .title-firstline {
font-size: 3.2em;
}
.gamemode__twolines img {
display: none;
}
.gamemode__twolines .title-twoline {
font-size: 3.238em;
}
.line__btn {
font-size: 28px;
padding: 6px 11px;
}
.gamemode__twoline--first__element .container a {
padding: 6px 11px;
}
}
@media screen and (min-device-width: 1200px) and (max-device-width: 1399px) {
.header__auth--discord {
width: 14%;
}
.header__balance {
width: auto;
}
.main__content h1 {
font-size: 4.5em;
}
.main {
width: 78% !important;
}
.gamemode__main {
height: auto;
width: 28.5%;
}
.gamemode__content--text div {
width: 78%;
}
.title-firstline {
font-size: 4.1em;
}
.line__footer {
flex-direction: column;
}
.line__footer img {
margin-top: -2em;
}
.line__content .line__btn--main .line__btn {
left: 0;
top: -.4em;
}
.line__img {
margin: 1% -8% 0 15%;
}
.gamemode__firstline img {
width: 60%;
}
.gamemode__firstline .title-firstline {
font-size: 3.2em;
}
.gamemode__twolines img {
display: none;
}
.gamemode__twolines .title-twoline {
font-size: 3.238em;
}
.line__btn {
font-size: 28px;
padding: 6px 11px;
}
.gamemode__twoline--first__element .container a {
padding: 6px 11px;
}
}
@media screen and (max-width: 1100px) {
.main__content h1 {
font-size: 3.5em;
}
.title-firstline {
font-size: 3.4em;
}
.line__img {
margin: -1% -18% 0 2%;
}
}
@media screen and (min-height: 820px) {
.chat {
height: 87vh !important;
}
}
@media screen and (max-width: 1850px) {
@media only screen and (max-width:1800px) {
.line__img__jackpot {
display: none !important;
width: 150px;
height: 150px;
}
}
/*
@media screen and (min-height: 800) {
.chat {
height: 85vh !important;
.line__footer img {
width: 55%;
margin-bottom: 5%;
}
} */
/* /Media */
}
@media only screen and (max-width:1700px) {
.title-jackpot {
font-size:60px;
padding: 0px 0px 0px 28px;
}
.title-twoline {
font-size: 40px;
}
.line__img__jackpot {
height: 150px;
width: 150px;
}
.line__footer img {
width: 40%;
margin-bottom: 5%;
}
.line__content {
width: 100%;
height: 100%;
}
.line__btn {
border-radius: 16px;
font-size: 30px;
padding: 11px 11px 11px 11px;
}
.main__content h1 {
font-size: 70px;
}
.title-firstline {
font-size:80px;
}
.cumming_soon_btn {
font-size: 30px;
border-radius: 16px;
}
.cumming_soon--img {
height: 40px;
width: 80px;
}
.line__btn__jackpot {
border-radius: 16px;
font-size: 30px;
}
.line__btn--crash {
border-radius: 16px;
font-size: 30px;
padding: 7px 0px 11px 11px;
}
.crash--img {
height: 60px;
width: 60px;
}
.line__content {
height: 354px;
}
}
@media only screen and (max-width:1300px) {
.title-jackpot {
font-size:40px;
padding: 0px 0px 0px 28px;
}
.title-twoline {
font-size: 20px;
}
.line__img__jackpot {
height: 125px;
width: 125px;
}
.line__footer img {
width: 40%;
margin-bottom: 5%;
}
.line__content {
width: 100%;
height: 100%;
}
.line__btn {
border-radius: 10px;
font-size: 20px;
padding: 11px 11px 11px 11px;
}
.main__content h1 {
font-size: 40px;
}
.title-firstline {
font-size:60px;
}
.cumming_soon_btn {
font-size: 20px;
border-radius: 10px;
height: 50px;
}
.cumming_soon--img {
height: 40px;
width: 80px;
}
.line__btn__jackpot {
border-radius: 10px;
font-size: 20px;
}
.line__btn--crash {
border-radius: 10px;
font-size: 20px;
padding: 0px 0px 0px 16px;
}
.crash--img {
height: 50px;
width: 50px;
}
.line__content {
height: 265px;
}
.gamemode__twoline--two__element {
margin-top: 0;
width: 100%;
min-height: 60px;
}
.gamemode__twoline--first__element {
margin-top: 0;
width: 100%;
min-height: 60px;
}
}

View File

@@ -88,6 +88,17 @@
background: #EF4444;
}
.referal {
padding: 3.8% 46% 3% 14%;
margin-top: 12px;
background: #2D6AE0;
}
.referal img {
height: 20px;
width: 22px;
}
.playerandvid {
margin-right: 10vh;
}

View File

@@ -76,3 +76,56 @@
background: red; /* Цвет фона трека для Firefox */
height: 8px; /* Высота трека для Firefox */
}
/* toggle in label designing */
.toggle {
position : relative ;
display : flex;
width : 60px;
height : 32px;
background-color: #000413;
border-radius: 5px;
justify-content: center;
align-items: center;
}
/* After slide changes */
.toggle:after {
content: '';
position: absolute;
width: 22px;
height: 22px;
border-radius: 5px;
display: flex;
justify-content: center;
align-items: center;
align-content: center;
background-color: #EF4444;
top: 5px;
left: 6px;
transition: all 0.5s;
}
/* Toggle text */
.toggle p {
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
}
/* Checkbox checked effect */
.checkbox:checked + .toggle::after {
left : 34px;
}
/* Checkbox checked toggle label bg color */
/* Checkbox vanished */
.checkbox {
display : none;
}

View File

@@ -179,7 +179,7 @@ button {
height: 86vh;
position: relative;
z-index: 3;
}
/* /Chat */
@@ -235,7 +235,7 @@ button {
.about {
grid-area: about;
}
@@ -301,7 +301,7 @@ button {
grid-area: help;
display: flex;
/* height:99%; */
height:86vh;
height: 86vh;
border-radius: 3.125rem;
background: #17181C;
box-shadow: 0.25rem 0.25rem 0.25rem 0px rgba(0, 0, 0, 0.25);
@@ -309,7 +309,7 @@ button {
/*height: 96.2%;*/
width: 1000px;
margin: 0 auto;
}
@@ -336,8 +336,9 @@ button {
height: 35%;
z-index: 0;
}
/* /Crash */
/* Media */
/* /Media */
/* /Media */

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,61 @@
import { BackendApiUrl } from '@/properties/Сonfig.js';
import { GetCookie } from "@/assets/js/storage/CookieStorage";
export async function GetReferralData () {
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
const userData = {
searchToken: GetCookie("SearchToken"),
authtoken: GetCookie("AUTHTOKEN"),
};
const raw = JSON.stringify({
"userCredentials": {
"searchToken": userData.searchToken,
"authtoken": userData.authtoken
}
});
const response = await fetch(`${BackendApiUrl}/PromoCode/GetReferralInfo`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: raw,
redirect: "follow"
});
return await response.json();
}
export async function WithdrawReferralMoney () {
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
const userData = {
searchToken: GetCookie("SearchToken"),
authtoken: GetCookie("AUTHTOKEN"),
};
const raw = JSON.stringify({
"userCredentials": {
"searchToken": userData.searchToken,
"authtoken": userData.authtoken
}
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://spsystemcore20231122004605.azurewebsites.net/api/PromoCode/TakeMoneyReferral", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
}

View File

@@ -10,7 +10,6 @@ export function ConnectToChat() {
try {
if (webSocket && webSocket.readyState === WebSocket.OPEN) {
console.log('WebSocket connection already established.');
return;
}
@@ -22,17 +21,32 @@ export function ConnectToChat() {
webSocket.onmessage = function (event) {
const dataObject = JSON.parse(event.data);
try {
const dataObject = JSON.parse(event.data);
if (dataObject && Object.prototype.hasOwnProperty.call(dataObject, 'SpUserName') && Object.prototype.hasOwnProperty.call(dataObject, 'Message')) {
eventBus.emit('dataChat', event.data);
console.log('CHAT')
}
else {
eventBus.emit('crash', event.data)
}
if (dataObject && Object.prototype.hasOwnProperty.call(dataObject, 'SpUserName') && Object.prototype.hasOwnProperty.call(dataObject, 'Message')) {
eventBus.emit('dataChat', event.data);
return;
}
// console.log('Message from Server:', event.data);
if (dataObject.MessageType == 'DoubleGameState') {
eventBus.emit('doubleGame', event.data)
return;
}
if (dataObject.MessageType == "CrashGameState") {
eventBus.emit('crash', event.data);
return;
}
if (Array.isArray(dataObject.CurrentGame.PlayerList)) {
eventBus.emit('jackpotGameTik', event.data);
return;
}
} catch (error) {
void (error);
}
};
webSocket.onclose = function () {

View File

@@ -0,0 +1,69 @@
import { BackendApiUrl } from '@/properties/Сonfig.js';
import {
GetCookie
} from "@/assets/js/storage/CookieStorage.js";
export async function GetNewestDoubleGames() {
try {
const response = await fetch(`${BackendApiUrl}/GameDouble/GetNewestDoubleGames`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
redirect: 'follow'
})
if (!response.ok) {
console.log('Fetch error:', response.status)
}
return await response
}
catch (error) {
console.log('Fetch error')
}
}
export async function JoinGame(amount, betColor) {
let betColorInt = 0;
if (betColor == "red") {
betColorInt = 0;
}
if (betColor == "green") {
betColorInt = 1;
}
if (betColor == "black") {
betColorInt = 2;
}
const data = {
UserCredentials: {
SearchToken: GetCookie("SearchToken"),
AUTHTOKEN: GetCookie("AUTHTOKEN")
},
bet: amount,
betColor: betColorInt
}
try {
const response = await fetch(`${BackendApiUrl}/GameDouble/JoinGame`, {
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')
}
}

View File

@@ -1,59 +1,59 @@
import { BackendWebSocketJackpotUrl } from '@/properties/Сonfig.js';
// import { BackendWebSocketJackpotUrl } from '@/properties/Сonfig.js';
import { BackendApiUrl } from '@/properties/Сonfig.js';
import { eventBus } from "@/main";
// import { eventBus } from "@/main";
// import {
// GetCookie
// } from "@/assets/js/storage/CookieStorage.js";
let webSocket;
// let webSocket;
export function ConnectToJackpotSocket() {
try {
// export function ConnectToJackpotSocket() {
// try {
if (webSocket && webSocket.readyState === WebSocket.OPEN) {
console.log('WebSocket connection already established.');
return;
}
// if (webSocket && webSocket.readyState === WebSocket.OPEN) {
// console.log('WebSocket connection already established.');
// return;
// }
webSocket = new WebSocket(BackendWebSocketJackpotUrl);
// webSocket = new WebSocket(BackendWebSocketJackpotUrl);
webSocket.onopen = function () {
console.log('Connection established');
};
// webSocket.onopen = function () {
// console.log('Connection established');
// };
webSocket.onmessage = function (event) {
// webSocket.onmessage = function (event) {
// const dataObject = JSON.parse(event.data);
// // const dataObject = JSON.parse(event.data);
eventBus.emit('jackpotGameTik', event.data);
// eventBus.emit('jackpotGameTik', event.data);
// console.log(dataObject)
// if (dataObject && Object.prototype.hasOwnProperty.call(dataObject, 'SpUserName') && Object.prototype.hasOwnProperty.call(dataObject, 'Message')) {
// eventBus.emit('dataChat', event.data);
// console.log('CHAT')
// }
// else {
// eventBus.emit('crash', event.data)
// }
// // console.log(dataObject)
// // if (dataObject && Object.prototype.hasOwnProperty.call(dataObject, 'SpUserName') && Object.prototype.hasOwnProperty.call(dataObject, 'Message')) {
// // eventBus.emit('dataChat', event.data);
// // console.log('CHAT')
// // }
// // else {
// // eventBus.emit('crash', event.data)
// // }
};
// };
webSocket.onclose = function () {
// webSocket.onclose = function () {
webSocket = new WebSocket(BackendWebSocketJackpotUrl);
// webSocket = new WebSocket(BackendWebSocketJackpotUrl);
console.log('Connection closed and reconnected');
};
// console.log('Connection closed and reconnected');
// };
webSocket.onerror = function (event) {
webSocket = new WebSocket(BackendWebSocketJackpotUrl);
console.error('WebSocket Error:', event);
};
} catch (error) {
console.error('Error in ConnectToChat:', error);
}
}
// webSocket.onerror = function (event) {
// webSocket = new WebSocket(BackendWebSocketJackpotUrl);
// console.error('WebSocket Error:', event);
// };
// } catch (error) {
// console.error('Error in ConnectToChat:', error);
// }
// }
export async function JoinJackpotGame(userData, amount) {
const data = {

View File

@@ -4,7 +4,11 @@ import {GetCookie} from "@/assets/js/storage/CookieStorage";
export async function GettingMoneyOperation(amount) {
const data = {
Amount: amount
Amount: amount,
UserCredentials: {
searchToken: GetCookie('SearchToken'),
authtoken: GetCookie('AUTHTOKEN')
}
};
try {
const response = await fetch(`${BackendApiUrl}/payment/donate`, {

View File

@@ -9,7 +9,8 @@
<!-- <div class="fotosloti"><a href="#"><img src="../assets/icons-menu/slots-icon.svg" ></a></div> -->
<a href="#" @click="$router.push({ name: 'jackpot' })"><img class="menu__content--jackpot-icon" src="../assets/icons-menu/jackpot-icon.svg"></a>
<a href="#" @click="$router.push({ name: 'crash' })"><img class="menu__content--cruch-icon" src="../assets/icons-menu/crush-icon.svg"></a>
<a href="#"><img src="../assets/icons-menu/case-icon.png"></a>
<a href="#" @click="$router.push({ name: 'double' })"><img class="menu__content--chest-icon" src="../assets/icons-menu/case-icon.png"></a>
<!-- <a href="#" @click="$router.push({ name: 'saper' })"><img class="menu__content--bomb-icon" src="../assets/icons-menu/bomb-icon.svg"></a> -->
<a href="#" @click="$router.push({ name: 'saper' })"><img class="menu__content--bomb-icon" src="../assets/icons-menu/bomb-icon.svg"></a>
</div>

View File

@@ -29,6 +29,8 @@
</li>
</transition-group>
</ul>
</div>
<writechat-component @send="ClaimDatamsg"></writechat-component>
<!-- <div class="chat__mute-button">
@@ -68,11 +70,11 @@ export default {
},
ClaimDatamsg(msg) {
const now = Date.now();
if (!this.lastMsgTime || now - this.lastMsgTime >= 2000) {
if (!this.lastMsgTime || now - this.lastMsgTime >= 1000) {
SendMessageToChat(msg[0]);
this.lastMsgTime = now;
} else {
alert("Вы не можете отправлять сообщения чаще, чем раз в 2 секунды.");
alert("Вы не можете отправлять сообщения так часто");
}
},
muteChat() {
@@ -135,5 +137,4 @@ export default {
</script>
<style scoped>
</style>

View File

@@ -115,7 +115,7 @@
</div>
<div class="withdraw-checkbox checkbox-styles">
<input @click="agreeUser = !agreeUser" type="checkbox" />
<h3>Я согласен с пользовательским соглашением.</h3>
<h3>Я согласен <a href="https://docs.google.com/document/d/1lU_zTWJdD1lcMlIAFDIVz-DlZAoq3a-OFkoO8WBIkzo/edit?usp=sharing">пользовательским соглашением</a></h3>
</div>
<div class="error-captcha" v-if="errorCaptcha && agreeUser === true">
<h2>Пройдите проверку!</h2>

View File

@@ -0,0 +1,167 @@
<template>
<div class="payment-modal withdraw-modal">
<div class="payments-modal__content close-modal__icon text-styles__margin">
<h1>Рефералы</h1>
<img @click="closeModal" src="@/assets/icons-other/icon-payments-modal-close.svg" />
</div>
<div class="payments-modal__deposit">
<div class="error-deposit" v-if="errorDeposit">
<h2>Ошибка с суммой депозита</h2>
</div>
<div
class="deposit-input deposit-text referal-icon-diamond deposit-icon__input"
>
<br>
<h3>Ваш реферальный код</h3>
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-if="referralData.referralCode"
:value="referralData.referralCode"
/>
<br>
<br>
<h3>Доступно к выводу</h3>
<img src="@/assets/icons-games/saper-game/icon-diamond-ore-saper.png" />
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-if="referralData.avalibleAmount !== 0"
:value="referralData.avalibleAmount"
/>
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-else
:value="'0'"
/>
<div class="deposit-btns">
<ul class="display-btns btns-style-diamonds">
<li v-for="(number, index) in PaymentsModalNumbers" :key="index">
<button
@click="clickedBtnChoice(index, number.diamonds)"
:class="{
'btn-click': clickedBtn === index,
[number]: clickedBtn === number,
}"
>
{{ number.diamonds }}
</button>
</li>
</ul>
</div>
<div class="deposit-promocode deposit-promocode__padding--input">
<h3>Всего привели рефералов</h3>
<div class="promokods">
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-if="referralData.activationsAmount !== 0"
:value="referralData.activationsAmount"
/>
<input
:class="{ 'animate-start-btn': errorDeposit }"
readonly
class="deposit-amount__input"
v-else
:value="'0'"
/>
</div>
</div>
<div class="error-checkbox" v-if="errorAgree">
<h2>Подтвердите согласие!</h2>
</div>
<div class="deposit-checkbox checkbox-styles">
<input
@click="agreeUser = !agreeUser"
type="checkbox"
:class="{ 'animate-start-btn': errorAgree }"
/>
<h3>Я согласен с <a href="https://docs.google.com/document/d/1lU_zTWJdD1lcMlIAFDIVz-DlZAoq3a-OFkoO8WBIkzo/edit?usp=sharing">пользовательским соглашением</a></h3>
</div>
<div
class="btn-deposit btn-text-style btn-display-deposit btn-style-payments"
>
<p>
Вы подтверждаете правильность введенных данных при создании вывода.
</p>
<button type="submit" @click="handleWithdraw">Вывести</button>
<p>
Перед пополнение прочитайте политику конфиденциальности и
пользовательское соглашение.
</p>
</div>
</div>
</div>
</div>
</template>
<script>
import "@/assets/css/ComponentsStyles/payments-modal.css";
import { GetReferralData } from "@/assets/js/Profile/Referrals";
import { WithdrawReferralMoney } from "@/assets/js/Profile/Referrals";
import { eventBus } from "@/main";
export default {
data() {
return {
referralData: {},
errorDeposit: false,
errorAgree: false,
agreeUser: false,
amount: 0,
PaymentsModalNumbers: [],
};
},
props: ["payments"],
async created() {
this.referralData = await GetReferralData();
},
computed: {
avalibleAmountValue() {
return this.referralData.avalibleAmount !== 0 ? this.referralData.avalibleAmount : '0';
},
activationsAmountValue() {
return this.referralData.activationsAmount !== 0 ? this.referralData.activationsAmount : '0';
}
},
methods: {
async handleWithdraw() {
try {
if (!this.agreeUser) {
this.errorAgree = true;
setTimeout(() => {
this.errorAgree = false;
}, 1500);
return;
}
if (this.referralData.avalibleAmount == 0) {
window.alert("У вас нет денег на вывод :(");
return;
}
await WithdrawReferralMoney().then(async (response) => {
try {
console.log("work", response);
} catch (e) {
console.error(e);
}
await this.$emit("notifacetionmoney");
eventBus.emit("Updatebalance");
this.$emit("closemodal");
});
} catch (error) {
console.error("Error withdrawing referral money:", error);
}
},
closeModal() {
this.$emit("closemodal");
},
},
};
</script>

View File

@@ -1,9 +1,17 @@
import { createApp } from 'vue'
import App from './App.vue'
const SiteOff = {
template: `<div style="text-align: center; margin-top: 20%;">
<h1>Site is currently unavailable.</h1>
<p>We are currently performing maintenance. We will be back shortly!</p>
</div>`
};
const siteIsOff = true;
import router from "@/router/router";
import mitt from 'mitt'
import { Mixins } from "@/mixins/mixin";
import { Mixins } from "@/mixins/mixin";
import {
ConnectToChat
} from "@/assets/js/chat/ChatLogic.js";
@@ -11,12 +19,35 @@ import '@/assets/css/global.css'
export const eventBus = mitt()
const app = createApp(App)
// const app = createApp(App)
const app = createApp(siteIsOff ? SiteOff : App);
if (!siteIsOff) {
app.use(router);
app.mixin(Mixins);
app.provide(eventBus);
// ConnectToChat(); // Uncomment if chat should also be disabled when the site is off.
}
// app.use(router)
// app.mixin(Mixins)
app.config.warnHandler = (msg) => {
// Intercept specific warning message and suppress it
if (msg.includes('Property or method "clickedBtn" is not defined on the instance but referenced during render.')) {
// You can simply return to ignore it, or even better, log it somewhere if you have a logging system
return;
}
// Log or handle other warnings as you see fit
};
app.use(router)
app.mixin(Mixins)
app.mount('#app')
app.provide(eventBus)
// app.provide(eventBus)
ConnectToChat();

View File

@@ -0,0 +1,20 @@
<template>
<body class="banpage--body">
<div class="banpage--block">
<center><h1>Вы были заблокированны на проекте LuckyDiamond</h1></center>
<center><iframe class="banpage--video" width="560" height="315" src="https://www.youtube.com/embed/XeoS-zsGVCs?si=zLlKqDQIzvqOzFjW" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></center>
</div>
</body>
</template>
<script>
import '@/assets/css/PagesStyles/BanPage.css'
</script>
<style scoped>
</style>

View File

@@ -37,12 +37,12 @@
<h3 class="title-firstline">{{ mode.title }}</h3>
<div class="line__footer">
<img src="../assets/icons-gamemodes/bomb-icon.svg" />
<div class="line__btn--main">
<div>
<a
href="#"
@click="$router.push({ name: 'saper' })"
class="line__btn"
>play <span class="line__btn--elm--saper">></span></a
>play <span class="line__btn--elm--saper"></span></a
>
</div>
</div>
@@ -66,7 +66,7 @@
href="#"
@click="$router.push({ name: 'jackpot' })"
class="line__btn__jackpot"
>play <span class="line__btn--elm">></span></a
> play <span class="line__btn--elm"></span></a
>
</div>
</div>
@@ -79,15 +79,19 @@
<div class="gamemode__twolines">
<div class="gamemode__twoline--first__element bg-early">
<ul>
<li v-for="mode in twolinefirstelementGameMode" :key="mode">
<li v-for="mode in twolinetwoelementGameMode" :key="mode.id">
<div :class="'linecontent-' + mode.id">
<h3 class="title-twoline">скоро</h3>
<h3 class="title-twoline">рулетка</h3>
</div>
<div class="container">
<a href="#" class="line__btn"
>play <span class="line__btn--elm">></span></a
<!-- <a href="#" class="line__btn">play <span class="line__btn--elm">></span></a> -->
<a
href="#"
@click="$router.push({ name: 'double' })"
class="line__btn--crash"
>play <span class="line__btn--elm"></span></a
>
<img src="@/assets/icons-gamemodes/slots-icon.png" style="margin-bottom: 4%;" />
<img class="crash--img" src="@/assets/icons-gamemodes/slots-icon.png" />
</div>
</li>
</ul>
@@ -103,10 +107,10 @@
<a
href="#"
@click="$router.push({ name: 'crash' })"
class="line__btn"
>play <span class="line__btn--elm">></span></a
class="line__btn--crash"
>play <span class="line__btn--elm"></span></a
>
<img src="@/assets/icons-gamemodes/crush-icon.svg" />
<img class="crash--img" src="@/assets/icons-gamemodes/crush-icon.svg" />
</div>
</li>
</ul>

View File

@@ -14,6 +14,7 @@
<div class="profile__btns--payments">
<a href="#" class="text-btn btn-bg btn-margin btn-display" @click="depositClick"><img class="icon-margin-deposit-withdraw" src="@/assets/icons-profile/icon-deposit.svg"> Пополнить</a>
<a href="#" class="withdraw text-btn btn-bg btn-display" @click="withdrawClick"><img class="icon-margin-deposit-withdraw" src="@/assets/icons-profile/icon-withdraw.png"> Вывести</a>
<a href="#" class="referal text-btn btn-bg btn-display" @click="referalClick"><img class="icon-margin-deposit-withdraw" src="@/assets/icons-profile/icon-referal.png"> Рефералы</a>
</div>
</div>
<div class="payments">
@@ -57,6 +58,7 @@
</div>
</div>
</section>
<referal-modal v-if="openRef" @notifacetionmoney="NotificationEventListener" @closemodal="openRef = false"></referal-modal>
<payments-modal v-if="openModal" @notifacetionmoney="NotificationEventListener" @closemodal="openModal = false" :payments="payments"></payments-modal>
<notiicationwindow-component @notificationremove="NotificationMethod" :notification="notification"></notiicationwindow-component>
</div>
@@ -67,13 +69,14 @@ import axios from 'axios';
import ChatComponent from "@/components/ChatComponent.vue";
import HeaderComponent from "@/components/HeaderComponent.vue";
import PaymentsModal from "@/components/PaymentsModal.vue";
import ReferalModal from "@/components/ReferalModal.vue";
import ProfilemobilePage from "@/pages/adaptive-pages/ProfilemobilePage.vue";
import NotiicationwindowComponent from "@/components/NotiicationwindowComponent.vue";
import { GetCookie } from "@/assets/js/storage/CookieStorage";
import '@/assets/css/PagesStyles/profile.css'
import {GetCurrentMoney} from "@/assets/js/rest/RestMethods";
export default {
components: {ProfilemobilePage, HeaderComponent, AsideBarComponent, ChatComponent, PaymentsModal, NotiicationwindowComponent },
components: {ProfilemobilePage, HeaderComponent, AsideBarComponent, ChatComponent, PaymentsModal, ReferalModal, NotiicationwindowComponent },
data() {
return {
username: 'Artemka',
@@ -82,11 +85,12 @@ export default {
balance: 0,
mobile: false,
openModal: false,
openRef: false,
payments: true,
arrayHistory: [],
}
},
emits: ['notificationremove'],
mounted() {
this.checkWindowSize()
@@ -96,6 +100,57 @@ export default {
this.RemoveWindowListener()
},
created() {
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Cookie", "ARRAffinity=a6e48b9e9d2653435be7b61998d8624b44115214104213d6c8b8c526cc56dc70; ARRAffinitySameSite=a6e48b9e9d2653435be7b61998d8624b44115214104213d6c8b8c526cc56dc70");
const userData = {
searchToken: GetCookie("SearchToken"),
authtoken: GetCookie("AUTHTOKEN"),
};
const raw = JSON.stringify({
"userCredentials": {
"searchToken": userData.searchToken,
"authtoken": userData.authtoken
}
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://spsystemcore20231122004605.azurewebsites.net/api/PromoCode/GetReferralInfo", requestOptions)
.then((response) => response.text())
.then((result) => {
console.log(result);
if (result == "\"The Referral is not created\"") {
const raw = JSON.stringify({
"userCredentials": {
"searchToken": userData.searchToken,
"authtoken": userData.authtoken
}
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://spsystemcore20231122004605.azurewebsites.net/api/PromoCode/CreateReferal", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
}
})
.catch((error) => console.error(error));
axios.post('https://spsystemcore20231122004605.azurewebsites.net/api/Payment/GetPaymentHistory', {
searchToken: GetCookie('SearchToken'),
authtoken: GetCookie('AUTHTOKEN')
@@ -129,10 +184,16 @@ export default {
depositClick() {
this.openModal = true
this.payments = true
this.openRef = false
},
withdrawClick() {
this.openModal = true
this.payments = false
this.openRef = false
},
referalClick() {
this.openModal = false
this.openRef = true
},
NotificationEventListener() {
this.notification = true

View File

@@ -12,19 +12,32 @@
<button id="volume-down" @click="volumeDown">-</button>
</div>
-->
<div class="volume-section">
<h1 class="volume-text">Звук</h1>
<input
id="volumeControl"
type="range"
min="0"
max="10"
v-model="volume"
@input="handleVolumeChange"
ref="volumeControl"
/>
<h1 class="volume-text--grey">Данная страница находится в разработке, и будет полностью переделанна</h1>
<div class="classssboxxxx">
<div class="volume-section">
<h1 class="volume-text">Звук</h1>
<input
id="volumeControl"
type="range"
min="0"
max="10"
v-model="volume"
@input="handleVolumeChange"
ref="volumeControl"
/>
</div>
<!-- 3/23/2024 DT I turned off the chat off button because it wasn't working and wasn't displaying correctly on the frontend -->
<!-- <div class="buttonbox">
<input type="checkbox"
id="switch"
class="checkbox" />
<label for="switch"
class="toggle">
</label>
<p>скрыть чат</p>
</div> -->
</div>
</section>
</div>

View File

@@ -0,0 +1,697 @@
<template>
<div class="content-grid--double">
<aside-bar-component></aside-bar-component>
<chat-component></chat-component>
<header-component></header-component>
<div class="bg-gradient-left"></div>
<section class="double">
<div class="double-start">
<div
class="jackpot-start__content title-saper padding-elements-jackpot"
>
<h2>Рулетка</h2>
<p>Крути, ставь, побеждай!</p>
<div class="saper-start__choises diamonds diamonds-input__margin">
<h3>Цвет победной ячейки</h3>
<button
class="bet-button red"
:class="{ active: activeButton === 'red' }"
@click="handleClick('red')"
>
x2
</button>
<button
class="bet-button green"
:class="{ active: activeButton === 'green' }"
@click="handleClick('green')"
>
x20
</button>
<button
class="bet-button black"
:class="{ active: activeButton === 'black' }"
@click="handleClick('black')"
>
x2
</button>
<div class="diamonds__choises">
<img
class="diamond-icon"
src="@/assets/icons-games/saper-game/icon-diamond-ore-saper.png"
/>
<input
v-model="amountDeposit"
type="number"
id="diamonds-input"
/>
<div class="diamonds__btns btn-style__diamonds">
<ul class="diamonds-btns__display">
<li v-for="(item, index) in JackpotNumbers" :key="index">
<button
@click="clickedBtnChoice(index, item.diamonds)"
:class="{
'btn-click': clickedBtn === index,
[index]: clickedBtn === index,
}"
:id="item.diamonds === 'max' ? 'max-button' : null"
v-if="item.diamonds !== undefined"
>
{{ item.diamonds }}
</button>
</li>
</ul>
</div>
</div>
</div>
<div class="jackpot-start__btns">
<div class="error-block" v-if="ErrorClick">
<h2>Ошибка при заполнении</h2>
</div>
<button
class="btn-start"
:class="{ 'animate-start-btn': ErrorClick }"
@click="clickPlayBtn"
>
Начать игру
</button>
<!-- <button class="btn-claim" v-if="winningAmount === 0">Забрать {{ winningAmount }} АР</button>
<button class="btn-claim" @click="claimWinningAmount()" v-else>Забрать {{ winningAmount.toFixed(2) }} АР</button> -->
</div>
</div>
</div>
<!-- </div> -->
<div class="double-game">
<div class="bootstrap-wrapper">
<div class="container">
<div class="row">
<div class="col-md-12 double-game-main-box">
<div class="double-carousel">
<div class="double-carousel-arrow" id="arrow"></div>
<div class="double-carousel-arrow-upper" id="arrow-upper"></div>
<Carousel
ref="carousel"
:wrapAround="true"
:autoplay="autoPlay"
class="no-pointer-events"
:transition="150"
:itemsToShow="10"
@slide-start="handleStepCarousel"
>
<Slide v-for="(slide, index) in slides" :key="index">
<div>
<img
:src="slide.img"
onerror="this.onerror=null;this.src='data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';"
/>
</div>
</Slide>
</Carousel>
</div>
</div>
<div class="col-md-12 double-game-history-main-box">
<div class="container-double-history-text">
<span class="double-history-text">история</span>
</div>
<div class="double--history-carousel">
<Carousel
ref="carouselHistory"
class="no-pointer-events"
:transition="150"
:itemsToShow="24"
>
<Slide v-for="(slide, index) in slidesHistory" :key="index">
<div>
<img
:src="slide.img"
onerror="this.onerror=null;this.src='data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';"
/>
</div>
</Slide>
</Carousel>
</div>
</div>
<div class="col-md-4" style="padding-left: 0px">
<div class="double-members-ingame-red">
<div class="double-members-flex-container">
<div class="double-red-box">RED X2</div>
<div class="double-user-icon">
<span class="double-user-icon-span"></span>
<span class="double-number-color">{{
numberUserCountRed
}}</span>
</div>
</div>
<div
v-for="user in usersRed"
:key="user.name"
class="double-ui-component"
:id="`user-${user.name}`"
>
<img :src="user.image" alt="User" width="40" height="40" />
<div class="double-username">{{ user.name }}</div>
<div class="double-score">
{{ user.amount }}
<img
class="double-img-user"
src="@/assets/icons-header/diamond-ore-icon.png"
/>
</div>
</div>
<!-- </div> -->
</div>
</div>
<div class="col-md-4" style="padding-left: 0px">
<div class="double-members-ingame-green">
<div class="double-members-flex-container">
<div class="double-green-box">GREEN X20</div>
<div class="double-user-icon">
<span class="double-user-icon-span"></span>
<span class="double-number-color">{{
numberUserCountGreen
}}</span>
</div>
</div>
<div
v-for="user in usersGreen"
:key="user.name"
class="double-ui-component"
:id="`user-${user.name}`"
>
<img :src="user.image" alt="User" width="40" height="40" />
<div class="double-username">{{ user.name }}</div>
<div class="double-score">
{{ user.amount }}
<img
class="double-img-user"
src="@/assets/icons-header/diamond-ore-icon.png"
/>
</div>
</div>
</div>
</div>
<div
class="col-md-4"
style="padding-left: 0px; padding-right: 0px"
>
<div class="double-members-ingame-black">
<div class="double-members-flex-container">
<div class="double-white-box">BLACK X2</div>
<div class="double-user-icon">
<span class="double-user-icon-span"></span>
<span class="double-number-color">{{
numberUserCountBlack
}}</span>
</div>
</div>
<div
v-for="user in usersBlack"
:key="user.name"
class="double-ui-component"
:id="`user-${user.name}`"
>
<img :src="user.image" alt="User" width="40" height="40" />
<div class="double-username">{{ user.name }}</div>
<div class="double-score">
{{ user.amount }}
<img
class="double-img-user"
src="@/assets/icons-header/diamond-ore-icon.png"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</template>
<script>
import { reactive, ref, onMounted } from "vue";
import AsideBarComponent from "@/components/AsidebarComponent.vue";
import HeaderComponent from "@/components/HeaderComponent.vue";
import ChatComponent from "@/components/ChatComponent.vue";
import JackpotNumbers from "@/mocks/JackpotNumbers";
import {
GetNewestDoubleGames,
JoinGame,
} from "@/assets/js/games/double/DoubleApi";
import { GetCurrentMoney } from "@/assets/js/rest/RestMethods";
import { GetCookie } from "@/assets/js/storage/CookieStorage";
import { Carousel, Slide } from "vue3-carousel";
import "vue3-carousel/dist/carousel.css";
import "@/assets/css/PagesStyles/games-pages/jackpot.css";
import "@/assets/css/PagesStyles/games-pages/double.css";
import "@/assets/css/global.css";
import { eventBus } from "@/main";
import { useVuelidate } from "@vuelidate/core";
import {
maxValue,
minValue,
required,
numeric,
integer,
} from "@vuelidate/validators";
export default {
components: {
HeaderComponent,
AsideBarComponent,
ChatComponent,
Carousel,
Slide,
},
data() {
return {
JackpotNumbers,
clickedColor: "",
amountDeposit: 0,
activeButton: null,
};
},
methods: {
async clickedBtnChoice(index, content) {
this.clickedBtn = index;
if (content === "max") {
await GetCurrentMoney(
GetCookie("AUTHTOKEN"),
GetCookie("SearchToken")
).then((response) => {
const responseBalance = response.currentMoney;
if (responseBalance === this.balance) {
this.amountDeposit = parseInt(responseBalance);
}
});
} else {
this.amountDeposit = content;
}
},
async handleClick(color) {
this.clickedColor = color;
this.activeButton = color;
},
async clickPlayBtn() {
this.v$.$touch();
this.offBtn = true;
if (
this.balance < this.amountDeposit ||
!Number.isInteger(Number(this.amountDeposit))
) {
this.textError = "Некорректное значение. Введите целое число.";
this.offBtn = false;
}
await JoinGame(this.amountDeposit, this.clickedColor).then((response) => {
if (
response === `You can't join to started or ended game` ||
response === "Player alredy in the game."
) {
this.offBtn = false;
if (response === `You can't join to started or ended game`) {
this.textError = "Игра уже началась или только закончилась!";
} else if (response === "Player alredy in the game.") {
this.textError = "Вы уже в игре!";
}
return;
}
if (!response.ok) {
this.textError = "Пожалуйста подождите";
}
});
this.offBtn = false;
},
},
validations() {
return {
amountDeposit: {
required,
numeric,
minValue: minValue(1),
maxValue: maxValue(this.balance),
integer,
},
};
},
async created() {},
setup() {
const v$ = useVuelidate();
const usersRed = ref([]);
const usersGreen = ref([]);
const usersBlack = ref([]);
const numberUserCountRed = ref(0);
const numberUserCountGreen = ref(0);
const numberUserCountBlack = ref(0);
const slides = reactive([
{
img: require("@/assets/icons-games/double-game/RectangleGreenDouble.png"),
target: "Green",
},
{
img: require("@/assets/icons-games/double-game/RectangleRedDouble.png"),
target: "Red",
},
{
img: require("@/assets/icons-games/double-game/RectangleBlackDouble.png"),
target: "Black",
},
{
img: require("@/assets/icons-games/double-game/RectangleRedDouble.png"),
target: "Red",
},
{
img: require("@/assets/icons-games/double-game/RectangleBlackDouble.png"),
target: "Black",
},
{
img: require("@/assets/icons-games/double-game/RectangleGreenDouble.png"),
target: "Green",
},
{
img: require("@/assets/icons-games/double-game/RectangleBlackDouble.png"),
target: "Black",
},
{
img: require("@/assets/icons-games/double-game/RectangleRedDouble.png"),
target: "Red",
},
{
img: require("@/assets/icons-games/double-game/RectangleBlackDouble.png"),
target: "Black",
},
{
img: require("@/assets/icons-games/double-game/RectangleRedDouble.png"),
target: "Red",
},
]);
const slidesHistory = reactive([]);
let doubleData = reactive({});
let autoPlay = ref(0);
let targetColor = ref("");
let timeToGame = ref(0);
let endGame = ref(false);
onMounted(() => {
loadGameHistory();
// usersRed.value = fetchUsersRed();
eventBus.on("doubleGame", (dataDouble) => {
const dataDoubleParse = JSON.parse(dataDouble);
addClassById('arrow', 'double-carousel-arrow-animate');
addClassById('arrow-upper', 'double-carousel-arrow-animate');
if (dataDoubleParse.Players.length > 0) {
processUsersInGame(dataDoubleParse.Players);
}
if (endGame.value != true) {
if (dataDoubleParse.Status == "InGame") {
autoPlay.value = 20;
targetColor.value = dataDoubleParse.WInColor;
removeClassById('arrow', 'double-carousel-arrow-animate');
removeClassById('arrow-upper', 'double-carousel-arrow-animate');
}
if (dataDoubleParse.Status == "GameEnd") {
targetColor.value = dataDoubleParse.WInColor;
endGame.value = true;
autoPlay.value = 150;
removeClassById('arrow', 'double-carousel-arrow-animate');
removeClassById('arrow-upper', 'double-carousel-arrow-animate');
addWinEffectTouUsers(
dataDoubleParse.Players,
dataDoubleParse.WInColor
);
}
}
});
});
function addClassById(id, className) {
const element = document.getElementById(id);
if (element) {
element.classList.add(className);
}
}
function removeClassById(id, className) {
const element = document.getElementById(id);
if (element) {
element.classList.remove(className);
}
}
function addWinEffectTouUsers(usersArray, winColor) {
usersArray.forEach((user) => {
if (user.BetColor == winColor) {
setTimeout(() => {
addGradientClassToUser(user);
}, 2000);
}
});
}
function addGradientClassToUser(user) {
const element = document.getElementById("user-" + user.UserName);
if (element) {
element.classList.add("double-ui-component-gradient");
}
}
function addUserIfNotExist(usersArray, newUser, BetColor) {
const userExists = usersArray.some((user) => user.name === newUser.name);
if (!userExists) {
if (BetColor == "Red") {
numberUserCountRed.value += 1;
}
if (BetColor == "Green") {
numberUserCountGreen.value += 1;
}
if (BetColor == "Black") {
numberUserCountBlack.value += 1;
}
usersArray.push(newUser);
}
}
function handleStepCarousel(data) {
try {
if (endGame.value == true) {
let { currentSlideIndex } = data;
if (
slides[currentSlideIndex + 1].target == targetColor.value &&
endGame.value == true
) {
stopAutoPlay();
setTimeout(() => {
setTimeout(() => {
if (
usersRed.value.length > 0 ||
usersBlack.value.length > 0 ||
usersGreen.value.length > 0
) {
usersRed.value = [];
usersGreen.value = [];
usersBlack.value = [];
}
}, 4000);
loadGameHistory();
}, 2000);
}
}
} catch (error) {
void error;
}
}
function processUsersInGame(users) {
users.forEach((user) => {
if (user.BetColor == "Red") {
const newUser = {
name: user.UserName,
image:
"https://avatar.spworlds.ru/face/55/" + user.UserName + ".png",
amount: user.Bet,
hasGradient: false,
};
addUserIfNotExist(usersRed.value, newUser, "Red");
}
if (user.BetColor == "Green") {
const newUser = {
name: user.UserName,
image:
"https://avatar.spworlds.ru/face/55/" + user.UserName + ".png",
amount: user.Bet,
hasGradient: false,
};
addUserIfNotExist(usersGreen.value, newUser, "Green");
}
if (user.BetColor == "Black") {
const newUser = {
name: user.UserName,
image:
"https://avatar.spworlds.ru/face/55/" + user.UserName + ".png",
amount: user.Bet,
hasGradient: false,
};
addUserIfNotExist(usersBlack.value, newUser, "Black");
}
});
}
async function loadGameHistory() {
try {
await GetNewestDoubleGames()
.then((response) => {
return response.json();
})
.then((data) => {
slidesHistory.value = [];
slidesHistory.length = 0;
for (let i = 0; i < 25; i++) {
// doubleData = Object.assign(doubleData, dataDoubleParse);
// timeToGame.value = doubleData.WaitingTime;
if (data[i].winColor == "Red") {
slidesHistory.push({
img: require("@/assets/icons-games/double-game/HistoryRectangleRedDouble.png"),
target: "Red",
});
}
if (data[i].winColor == "Black") {
slidesHistory.push({
img: require("@/assets/icons-games/double-game/HistoryRectangleBlackDouble.png"),
target: "Black",
});
}
if (data[i].winColor == "Green") {
slidesHistory.push({
img: require("@/assets/icons-games/double-game/HistoryRectangleGreenDouble.png"),
target: "Green",
});
}
}
console.log(data);
})
.catch((error) => {
void error;
});
} catch (error) {
void error;
}
}
function stopAutoPlay() {
autoPlay.value = 0;
endGame.value = false;
targetColor.value = "";
}
return {
slides,
slidesHistory,
autoPlay,
doubleData,
targetColor,
timeToGame,
handleStepCarousel,
stopAutoPlay,
usersRed,
usersBlack,
usersGreen,
v$,
};
},
};
</script>
<style scoped>
.carousel__slide {
padding: 1px;
}
.carousel__viewport {
perspective: 2000px;
}
.carousel__track {
transform-style: preserve-3d;
}
.carousel__slide--sliding {
transition: 0.5s;
}
.carousel__slide {
opacity: 0.9;
transform: rotateY(-20deg) scale(0.9);
}
.carousel__slide--active ~ .carousel__slide {
transform: rotateY(20deg) scale(0.9);
}
.carousel__slide--prev {
opacity: 1;
transform: rotateY(-10deg) scale(0.95);
}
.carousel__slide--next {
opacity: 1;
transform: rotateY(10deg) scale(0.95);
}
.carousel__slide--active {
opacity: 1;
transform: rotateY(0) scale(1.1);
}
.double--history-carousel {
opacity: 1 !important;
transform: rotateY(0) scale(1) !important;
}
.double--history-carousel .carousel__slide--active ~ .carousel__slide,
.double--history-carousel .carousel__slide--prev,
.double--history-carousel .carousel__slide--next,
.double--history-carousel .carousel__slide--active {
opacity: 1;
transform: rotateY(0) scale(1);
}
</style>

View File

@@ -263,7 +263,7 @@ import "@/assets/css/PagesStyles/games-pages/jackpot.css";
import "@/assets/css/global.css";
import JackpotNumbers from "@/mocks/JackpotNumbers";
import {
ConnectToJackpotSocket,
// ConnectToJackpotSocket,
JoinJackpotGame,
} from "@/assets/js/jackpot/JackpotLogic.js";
import { useVuelidate } from "@vuelidate/core";
@@ -659,7 +659,7 @@ export default {
},
},
mounted() {
ConnectToJackpotSocket();
// ConnectToJackpotSocket();
eventBus.on("jackpotGameTik", (data) => {
try {

View File

@@ -297,7 +297,7 @@ export default {
}
});
} catch (e) {
console.error('Error in Percentage', e);
//console.error('Error in Percentage', e);
}
}
@@ -330,7 +330,7 @@ export default {
this.offEventPointers = false
let AnswerServer
let LimitClicked = this.amountCrystals
//let LimitClicked = this.amountCrystals
let DepositDiamonds = this.amountDeposit
const X_Cordinates = value[this.gamesCircle]
@@ -365,10 +365,10 @@ export default {
})
}
catch (e) {
console.error(e)
//console.error(e)
}
console.log(LimitClicked, DepositDiamonds, X_Cordinates)
//console.log(LimitClicked, DepositDiamonds, X_Cordinates)
this.gamesCircle = this.gamesCircle + 1
this.offEventPointers = true
if (AnswerServer === 'You dead') {
@@ -457,7 +457,7 @@ export default {
this.getBalanceUser()
}
catch (e) {
console.error('Error in GetData', e)
//console.error('Error in GetData', e)
}
}
else {
@@ -507,7 +507,7 @@ export default {
})
}
catch (e) {
console.error(e)
//console.error(e)
}
},
async claimWinningAmount() {
@@ -528,7 +528,7 @@ export default {
return eventBus.emit('Updatebalance')
}
catch (e) {
console.error(e)
//console.error(e)
}
}
},

View File

@@ -72,6 +72,12 @@
font-family: Montserrat Alternates;
font-size: 18px;
font-weight: 700;
transition: 250ms;
}
.header_other_text_menu:hover {
color: #EF4444;
}
.flex-container {