Compare commits
133 Commits
DevelopRaf
...
DevelopMad
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8f15ada28 | ||
|
|
4648607e3a | ||
|
|
70b8937ef3 | ||
|
|
c7671237e1 | ||
|
|
f2573a5f3b | ||
|
|
3912f4c313 | ||
|
|
6ab6c881b4 | ||
|
|
c6ccf9f368 | ||
|
|
8d84a39351 | ||
|
|
a3b078c7c2 | ||
|
|
9ac77a2fe0 | ||
|
|
e3122f477a | ||
|
|
8f083fb7d2 | ||
|
|
5f9ae77b9f | ||
|
|
ed3e5b6a93 | ||
|
|
1df75ba3ee | ||
|
|
327dd6c7e9 | ||
|
|
c90f249eb6 | ||
|
|
8b6a3b03e0 | ||
|
|
59565dc1c0 | ||
|
|
4f467e83b8 | ||
|
|
88a869569c | ||
|
|
756ece2026 | ||
|
|
552da1b8af | ||
|
|
df7c571fea | ||
|
|
c35276b403 | ||
|
|
73efda2f93 | ||
|
|
285fad1374 | ||
|
|
fce510eb51 | ||
|
|
f7ca16c635 | ||
|
|
6c5f587a1e | ||
|
|
eab559ef33 | ||
|
|
70cdf1fafa | ||
|
|
0573f605b2 | ||
|
|
e872684b30 | ||
|
|
66af95b9e2 | ||
|
|
6601ec2cc9 | ||
|
|
87816193a2 | ||
|
|
935ac5dc52 | ||
|
|
3215d994be | ||
|
|
26ee6ded22 | ||
|
|
2d65e4cd74 | ||
|
|
cf57aaa54c | ||
|
|
49819e061a | ||
|
|
25c8bab94f | ||
|
|
f0ef1fc13e | ||
|
|
3b06b7ef2d | ||
|
|
630f8645a7 | ||
|
|
c4761cec13 | ||
|
|
387e2c9db5 | ||
|
|
052bc12b39 | ||
|
|
0e9d7cbb42 | ||
|
|
d342617a13 | ||
|
|
c54c94e327 | ||
|
|
c1fc92a807 | ||
|
|
b778721ba8 | ||
|
|
df62d26a3b | ||
|
|
d58772127f | ||
|
|
5d7e3db011 | ||
|
|
38c4e317be | ||
|
|
b93f23deaa | ||
|
|
82b32794b8 | ||
|
|
4154d3dba6 | ||
|
|
29a1ac9d37 | ||
|
|
43c090693b | ||
|
|
dace90acdf | ||
|
|
b08a88d8a0 | ||
|
|
b8275abac9 | ||
|
|
8294cc8e97 | ||
|
|
2f424a8e4e | ||
|
|
e3916071d9 | ||
|
|
419bed3cdf | ||
|
|
02deed48b6 | ||
|
|
41734a0e9a | ||
|
|
a96636635a | ||
|
|
782540f358 | ||
|
|
22b398ed5e | ||
|
|
4f8715db07 | ||
|
|
a80af0f6c2 | ||
|
|
385a8a841c | ||
|
|
f3cad0278c | ||
|
|
69cdb9368d | ||
|
|
acf06941fa | ||
|
|
752692db2f | ||
|
|
47b540b4d0 | ||
|
|
68d655d2bf | ||
|
|
5b04a37fe1 | ||
|
|
371fc1c36b | ||
|
|
d8977ae282 | ||
|
|
7c0616710d | ||
|
|
74fa487f02 | ||
|
|
3033014929 | ||
|
|
207d99edec | ||
|
|
b812ea5e97 | ||
|
|
4c49d143ae | ||
|
|
13e026e702 | ||
|
|
a18eca3d8c | ||
|
|
b1a98f704b | ||
|
|
c327fee572 | ||
|
|
90f2c466ba | ||
|
|
612a6c6f01 | ||
|
|
9d8c545528 | ||
|
|
b80d5f4070 | ||
|
|
f5f1128da7 | ||
|
|
407c535ee5 | ||
|
|
fc4e3f460c | ||
|
|
93d48f6867 | ||
|
|
067b47de06 | ||
|
|
63d8066e18 | ||
|
|
34f577f140 | ||
|
|
b6034d8f36 | ||
|
|
a03be74a85 | ||
|
|
be2cf10eac | ||
|
|
032b229a97 | ||
|
|
f5785d143c | ||
|
|
270c6dbce6 | ||
|
|
864215e989 | ||
|
|
f40a2ade8b | ||
|
|
2fe6c054f0 | ||
|
|
7de74e533b | ||
|
|
1bda90f3d8 | ||
|
|
3eac45d056 | ||
|
|
aed7d1acb4 | ||
|
|
1ecdabfdf4 | ||
|
|
1df840c050 | ||
|
|
b0eb2984ad | ||
|
|
4d09d7dd21 | ||
|
|
0c7440440f | ||
|
|
c0017f0b81 | ||
|
|
31a83bba1d | ||
|
|
5dc51486a5 | ||
|
|
7e5cd1bbdc | ||
|
|
f9abb597be |
363
.gitignore
vendored
Normal 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
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
[Вдохновление](https://cs.fail/en/)
|
||||
|
||||
|
||||
## Наша Команда
|
||||
|
||||

|
||||

|
||||
|
||||
@@ -28,14 +28,14 @@
|
||||
.menu__content--chest-icon {
|
||||
margin-left: -1px;
|
||||
transition: 250ms;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.menu__content--chest-icon:hover {
|
||||
margin-left: -5px;
|
||||
height: 125%;
|
||||
width: 125%;
|
||||
margin-left: -2px;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.menu__btn--home {
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 1332px;
|
||||
width: 100%;
|
||||
height: 732px;
|
||||
margin-top: 10px;
|
||||
margin-left: 65px;
|
||||
|
||||
}
|
||||
.bottom_card {
|
||||
width: 1332px;
|
||||
@@ -18,8 +18,7 @@
|
||||
margin-left: 295px;
|
||||
}
|
||||
.top_card {
|
||||
width: 1204px;
|
||||
height: 443px;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-left: 287px;
|
||||
@@ -397,7 +396,114 @@
|
||||
display: flex;
|
||||
}
|
||||
/*the and FUpir_card 1*/
|
||||
/*beginning Swino4ka_card 1*/
|
||||
.Swino4ka_card {
|
||||
width: 250px;
|
||||
height: 443px;
|
||||
background-color: #6b4d3f;
|
||||
border: 3px solid #595959 ;
|
||||
border-color: #595959;
|
||||
border-radius: 22px;
|
||||
}
|
||||
.Swino4ka_text_2 {
|
||||
width: 244px;
|
||||
height: 219.7px;
|
||||
display: inline-block;
|
||||
flex-flow: column-reverse;
|
||||
|
||||
}
|
||||
|
||||
.Swino4ka_aboutinfo_2 {
|
||||
margin-top: 30px;
|
||||
margin-left: 19px;
|
||||
|
||||
}
|
||||
.Swino4ka_aboutinfo_2 p {
|
||||
font-family: 'Montserrat';
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
width: 79px;
|
||||
height: 19px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.Swino4ka_aboutinfo_2 h1 {
|
||||
font-family: 'Montserrat';
|
||||
color: white;
|
||||
font-size: 32px;
|
||||
width: 177px;
|
||||
height: 37px;
|
||||
line-height: 30px;
|
||||
}
|
||||
.Swino4ka_whatjob_1 {
|
||||
display: flex;
|
||||
width: 183px;
|
||||
height: 16px;
|
||||
margin-left: 19px;
|
||||
font-family: 'Montserrat';
|
||||
margin-top: 30px;
|
||||
|
||||
}
|
||||
.Swino4ka_whatjob_1 img {
|
||||
width: 15px;
|
||||
height: 17px;
|
||||
}
|
||||
.Swino4ka_whatjob_1 p {
|
||||
margin-left: 3px;
|
||||
|
||||
}
|
||||
.Swino4ka__whatjob_2 {
|
||||
display: flex;
|
||||
width: 183px;
|
||||
height: 16px;
|
||||
margin-left: 19px;
|
||||
font-family: 'Montserrat';
|
||||
margin-top: 10px;
|
||||
}
|
||||
.Swino4ka__whatjob_2 img {
|
||||
width: 15px;
|
||||
height: 17px;
|
||||
}
|
||||
.Swino4ka__whatjob_2 p {
|
||||
margin-left: 3px;
|
||||
}
|
||||
.Swino4ka__whatjob_3 {
|
||||
display: flex;
|
||||
width: 183px;
|
||||
height: 16px;
|
||||
margin-left: 19px;
|
||||
font-family: 'Montserrat';
|
||||
margin-top: 9px;
|
||||
}
|
||||
.Swino4ka__whatjob_3 img {
|
||||
width: 17px;
|
||||
height: 15px;
|
||||
}
|
||||
.Swino4ka__whatjob_3 p {
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.Swino4ka_skin_2 {
|
||||
width: 244px;
|
||||
height: 221.5px;
|
||||
display: inline-block;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.Swino4ka_skin_2_skin {
|
||||
width: 212px;
|
||||
height: 212px;
|
||||
background-image: url(https://avatar.spworlds.ru/front/212/Swino4ka.png);
|
||||
justify-content: space-around;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
.Swino4ka_skinicons1 {
|
||||
justify-content: space-around;
|
||||
display: flex;
|
||||
}
|
||||
/*the and Swino4ka_card 1*/
|
||||
/*beginning busha888_card 1*/
|
||||
.busha888_card {
|
||||
width: 422px;
|
||||
@@ -485,10 +591,11 @@
|
||||
}
|
||||
/*the and busha888_card 1*/
|
||||
|
||||
/*beginning megatntmega_card 1*/
|
||||
.megatntmega_card {
|
||||
/*beginning GEDPOOL31_card 1*/
|
||||
.GEDPOOL31_card {
|
||||
width: 422px;
|
||||
height: 269px;
|
||||
flex-direction: row;
|
||||
border-radius: 22px;
|
||||
border: 3px solid #595959 ;
|
||||
border-color: #595959;
|
||||
@@ -498,32 +605,33 @@
|
||||
|
||||
}
|
||||
|
||||
.megatntmega_text {
|
||||
width: 211px;
|
||||
.GEDPOOL31_text {
|
||||
width: 200px;
|
||||
height: 269px;
|
||||
|
||||
|
||||
}
|
||||
.megatntmega_aboutinfo {
|
||||
.GEDPOOL31_aboutinfo {
|
||||
margin-top: 30px;
|
||||
margin-left: 15px;
|
||||
|
||||
|
||||
}
|
||||
.megatntmega_aboutinfo p {
|
||||
.GEDPOOL31_aboutinfo p {
|
||||
font-family: 'Montserrat';
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
|
||||
width: 200px;
|
||||
height: 16px;
|
||||
|
||||
}
|
||||
.megatntmega_aboutinfo h1 {
|
||||
.GEDPOOL31_aboutinfo h1 {
|
||||
font-family: 'Montserrat';
|
||||
color: white;
|
||||
font-size: 32px;
|
||||
|
||||
}
|
||||
.megatntmega_whatjob {
|
||||
.GEDPOOL31_whatjob {
|
||||
display: flex;
|
||||
width: 183px;
|
||||
height: 16px;
|
||||
@@ -533,15 +641,15 @@
|
||||
|
||||
margin-top: 30px;
|
||||
}
|
||||
.megatntmega_whatjob p {
|
||||
.GEDPOOL31_whatjob p {
|
||||
margin-left: 3px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.megatntmega_whatjob img {
|
||||
.GEDPOOL31_whatjob img {
|
||||
width: 25px;
|
||||
height: 24px;
|
||||
height: 25px;
|
||||
}
|
||||
.megatntmega_icons {
|
||||
.GEDPOOL31_icons {
|
||||
width: 79px;
|
||||
height: 36px;
|
||||
justify-content: space-around;
|
||||
@@ -550,23 +658,23 @@
|
||||
margin-left: 72px;
|
||||
margin-bottom: 11px;
|
||||
}
|
||||
.megatntmega_icons img {
|
||||
.GEDPOOL31_icons img {
|
||||
display: flex;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
.megatntmega_skin {
|
||||
.GEDPOOL31_skin {
|
||||
margin-top: 51px;
|
||||
margin-bottom: 3px;
|
||||
display: flex;
|
||||
width: 212px;
|
||||
height: 212px;
|
||||
background-image: url(https://avatar.spworlds.ru/front/212/megatntmega.png);
|
||||
}
|
||||
.megatntmega_skin img {
|
||||
.GEDPOOL31_skin img {
|
||||
width: 212px;
|
||||
height: 212px;
|
||||
}
|
||||
/*the and megatntmega_card 1*/
|
||||
/*the and GEDPOOL31_card 1*/
|
||||
|
||||
/*beginning CLARFFY_card 1*/
|
||||
.CLARFFY_card {
|
||||
@@ -659,11 +767,15 @@
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 1332px;
|
||||
width: 100%;
|
||||
height: 732px;
|
||||
margin-top: 80px;
|
||||
margin-left: 142px;
|
||||
|
||||
|
||||
|
||||
}
|
||||
.top_card {
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
.classMenegerCrash {
|
||||
display: flex;
|
||||
|
||||
flex-direction: row;
|
||||
}
|
||||
.classNoMenegerCrash {
|
||||
margin-top: 7.4vh;
|
||||
margin-left: 1vh;
|
||||
}
|
||||
.crash-content {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(6, 1fr);
|
||||
@@ -168,7 +177,30 @@
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* /Crash-Graph */
|
||||
/* /Crash-History */
|
||||
|
||||
.crash__history {
|
||||
background: linear-gradient(90deg, rgba(34, 37, 47, 0.8) -0.54%, rgba(34, 37, 47, 0.8) 83.03%, rgba(73, 59, 74, 0.64) 103.54%);
|
||||
width: 66%;
|
||||
height: 50px;
|
||||
border-radius: 18px;
|
||||
margin-left: 455px;
|
||||
display: grid;
|
||||
grid-template-columns: auto auto auto;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.grid-item {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
border: 1px solid rgba(0, 0, 0, 0.8);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.crash-history__element {
|
||||
height: 80%;
|
||||
border-radius: 18px;
|
||||
background: rgba(34, 37, 47, 0.8);
|
||||
}
|
||||
|
||||
/* Crash-Players */
|
||||
|
||||
|
||||
325
luckydiamond/src/assets/css/PagesStyles/games-pages/double.css
Normal 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;
|
||||
}
|
||||
@@ -11,7 +11,21 @@
|
||||
/* margin-top: 2.6%; */
|
||||
margin: 2.6%;
|
||||
}
|
||||
|
||||
.classMeneger {
|
||||
display: flex;
|
||||
|
||||
flex-direction: row;
|
||||
}
|
||||
.classNoMeneger {
|
||||
margin-left: 1vh;
|
||||
margin-top: 2.4vh;
|
||||
}
|
||||
.IstoriaMenedger {
|
||||
margin-left: 85px;
|
||||
margin-top: 7px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
.jackpot-loading-bar {
|
||||
z-index: 1;
|
||||
/* margin-left: 5%; */
|
||||
@@ -47,17 +61,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;
|
||||
@@ -383,4 +392,10 @@
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
.IstoriaMenedger {
|
||||
margin-left: 20px;
|
||||
margin-top: 7px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,15 @@
|
||||
backdrop-filter: blur(100px);
|
||||
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.classMenegerSaper {
|
||||
display: flex;
|
||||
|
||||
flex-direction: row;
|
||||
}
|
||||
.classNoMenegerSaper {
|
||||
margin-left: 1vh;
|
||||
margin-top: 2.4vh;
|
||||
}
|
||||
.bg {
|
||||
background: #293561;
|
||||
filter: blur(120px);
|
||||
@@ -150,7 +158,8 @@
|
||||
#diamonds-input {
|
||||
/* width: 347px;
|
||||
height: 38px; */
|
||||
width: 37vh;
|
||||
/* width: 37vh; */
|
||||
width: 36vh;
|
||||
height: 4vh;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
|
||||
@keyframes RaindowAnimate {
|
||||
from {
|
||||
color: #6EEB21;
|
||||
@@ -90,6 +91,7 @@
|
||||
}
|
||||
|
||||
.bg-card {
|
||||
|
||||
border-radius: 40px;
|
||||
background: #EF4444;
|
||||
box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
|
||||
@@ -97,8 +99,9 @@
|
||||
|
||||
.bg-early{
|
||||
border-radius: 40px;
|
||||
background: #969B9E;
|
||||
background: #EF4444;
|
||||
box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
|
||||
height: 21.5vh;
|
||||
}
|
||||
|
||||
.gamemode__main {
|
||||
@@ -260,6 +263,29 @@
|
||||
position: relative;
|
||||
bottom: 5%;
|
||||
left: 2%;
|
||||
transition: 250ms;
|
||||
height: 7vh;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.line__btn--doubl {
|
||||
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%;
|
||||
height: 7.4vh;
|
||||
width: 16vh;
|
||||
transition: 250ms;
|
||||
}
|
||||
|
||||
@@ -268,6 +294,7 @@
|
||||
opacity: 0;
|
||||
transition: 250ms;
|
||||
right: 20;
|
||||
|
||||
}
|
||||
|
||||
.line__btn--crash:hover span:after {
|
||||
@@ -281,7 +308,28 @@
|
||||
}
|
||||
|
||||
.line__btn--crash:active {
|
||||
left: 5%;
|
||||
left: 2%;
|
||||
}
|
||||
.line__btn--doubl span:after {
|
||||
content: '\00bb';
|
||||
opacity: 0;
|
||||
transition: 250ms;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.line__btn--doubl:hover span:after {
|
||||
opacity: 1;
|
||||
right: 0;
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
.line__btn--doubl:hover {
|
||||
padding:11px 11px 11px 22px ;
|
||||
width: 20vh;
|
||||
}
|
||||
|
||||
.line__btn--doubl-:active {
|
||||
left: 2%;
|
||||
}
|
||||
|
||||
.line__btn__jackpot {
|
||||
@@ -325,6 +373,7 @@
|
||||
.line__btn--elm {
|
||||
color: #000;
|
||||
font-size: 38px ;
|
||||
|
||||
}
|
||||
|
||||
.line__btn--elm--saper {
|
||||
@@ -357,7 +406,7 @@
|
||||
.gamemode__twoline--first__element {
|
||||
width: 100%;
|
||||
margin: 2% 3.6% 0 5.5%;
|
||||
min-height: 180px;
|
||||
min-height: 209px;
|
||||
}
|
||||
|
||||
.linecontent-3 {
|
||||
@@ -370,35 +419,40 @@
|
||||
color: #fff;
|
||||
text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
|
||||
font-family: Montserrat Alternates;
|
||||
font-size: 80px;
|
||||
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%;
|
||||
width: 100%;
|
||||
min-height: 180px;
|
||||
height:22.3vh ;
|
||||
|
||||
}
|
||||
|
||||
.container {}
|
||||
.gamemode__twoline--two__element .container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
|
||||
|
||||
}
|
||||
.linecontent-4 {
|
||||
|
||||
}
|
||||
.iconsGame {
|
||||
bottom: 20px;
|
||||
height: 20vh;
|
||||
}
|
||||
.ButtonPlayDouble {
|
||||
width: 20vh;
|
||||
margin-top: 1.6vh;
|
||||
}
|
||||
|
||||
.gamemode__twoline--two__element .container a {
|
||||
margin-right: 10%;
|
||||
}
|
||||
@@ -406,6 +460,21 @@
|
||||
.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 */
|
||||
|
||||
@@ -430,7 +499,7 @@
|
||||
}
|
||||
|
||||
.title-twoline {
|
||||
font-size: 60px;
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
.line__img__jackpot {
|
||||
@@ -472,11 +541,7 @@
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.gamemode__twoline--first__element .container a {
|
||||
margin-right: 10%;
|
||||
padding: 2px 11px 11px 11px;
|
||||
margin-bottom: 3%;
|
||||
}
|
||||
|
||||
|
||||
.line__btn__jackpot {
|
||||
border-radius: 16px;
|
||||
@@ -490,8 +555,8 @@
|
||||
}
|
||||
|
||||
.crash--img {
|
||||
height: 60px;
|
||||
width: 60px;
|
||||
height: 128px;
|
||||
width: 128px;
|
||||
}
|
||||
|
||||
.line__content {
|
||||
@@ -506,7 +571,7 @@
|
||||
}
|
||||
|
||||
.title-twoline {
|
||||
font-size: 40px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.line__img__jackpot {
|
||||
@@ -549,11 +614,7 @@
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.gamemode__twoline--first__element .container a {
|
||||
margin-right: 10%;
|
||||
padding: 2px 11px 11px 11px;
|
||||
margin-bottom: 3%;
|
||||
}
|
||||
|
||||
|
||||
.line__btn__jackpot {
|
||||
border-radius: 10px;
|
||||
@@ -575,15 +636,16 @@
|
||||
height: 265px;
|
||||
}
|
||||
|
||||
.gamemode__twoline--first__element {
|
||||
width: 100%;
|
||||
margin: 0 3.6% 0 5.5%;
|
||||
min-height: 60px;
|
||||
}
|
||||
|
||||
|
||||
.gamemode__twoline--two__element {
|
||||
margin-top: 0;
|
||||
width: 100%;
|
||||
min-height: 60px;
|
||||
}
|
||||
.gamemode__twoline--first__element {
|
||||
margin-top: 0;
|
||||
width: 100%;
|
||||
min-height: 60px;
|
||||
}
|
||||
}
|
||||
67
luckydiamond/src/assets/css/PagesStyles/jackpot-history.css
Normal file
@@ -0,0 +1,67 @@
|
||||
.jackpot-history__content {
|
||||
display: flex;
|
||||
max-height: 800px;
|
||||
overflow-y: auto;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.jackpot-history__element {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
margin: 15px;
|
||||
}
|
||||
|
||||
.abc {
|
||||
|
||||
}
|
||||
|
||||
.element-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.element-info .element-info__icon img {
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.element-info .element-info__user-info {
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.element-info .element-info__user-info .username {
|
||||
color: #515D83;
|
||||
font-family: 'Montserrat';
|
||||
font-weight: 700;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.element-info .element-info__user-info .user-deposit {
|
||||
font-family: 'Montserrat';
|
||||
font-weight: 700;
|
||||
font-size: 20px;
|
||||
|
||||
}
|
||||
|
||||
.element-info .element-info__user-info .img-width img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.element-chance {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.element-chance h2 {
|
||||
font-family: 'Montserrat';
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
background: #27345C;
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
.element-chance .chance-style {
|
||||
color: #EF4444;
|
||||
margin-left: 2px;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -264,6 +275,9 @@
|
||||
.withdraw {
|
||||
padding-right: 56%;
|
||||
}
|
||||
.referal {
|
||||
padding-right: 56%;
|
||||
}
|
||||
.withdraw-color h3 {
|
||||
color: #EA3D38;
|
||||
margin-right: 1vh;
|
||||
@@ -334,6 +348,9 @@
|
||||
.withdraw {
|
||||
padding-right: 66%;
|
||||
}
|
||||
.referal {
|
||||
padding-right: 66%;
|
||||
}
|
||||
|
||||
}
|
||||
@media screen and (min-device-width: 1921px) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -109,6 +109,38 @@ button {
|
||||
grid-gap: 0.625rem;
|
||||
}
|
||||
|
||||
.content-grid--double {
|
||||
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 double double double double double chat"
|
||||
"menu double double double double double chat"
|
||||
"menu double double double double double chat"
|
||||
"menu double double double double double chat"
|
||||
"menu double double double double double chat"
|
||||
"menu double double double double double chat";
|
||||
grid-gap: 0.625rem;
|
||||
}
|
||||
|
||||
.jackpot-history__content-grid {
|
||||
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 jackpot-history jackpot-history jackpot-history jackpot-history jackpot-history chat"
|
||||
"menu jackpot-history jackpot-history jackpot-history jackpot-history jackpot-history chat"
|
||||
"menu jackpot-history jackpot-history jackpot-history jackpot-history jackpot-history chat"
|
||||
"menu jackpot-history jackpot-history jackpot-history jackpot-history jackpot-history chat"
|
||||
"menu jackpot-history jackpot-history jackpot-history jackpot-history jackpot-history chat"
|
||||
"menu jackpot-history jackpot-history jackpot-history jackpot-history jackpot-history chat";
|
||||
grid-gap: 0.625rem;
|
||||
}
|
||||
|
||||
.grid-crash {
|
||||
display: grid;
|
||||
grid-template-columns: 0.35fr repeat(5, 1fr) 1fr;
|
||||
@@ -163,7 +195,7 @@ button {
|
||||
height: 86vh;
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* /Chat */
|
||||
@@ -211,9 +243,22 @@ button {
|
||||
margin: 0.625rem 2.438rem 1.125rem 1.125rem; */
|
||||
}
|
||||
|
||||
.jackpot-history {
|
||||
grid-area: jackpot-history;
|
||||
background: #17181C;
|
||||
border-radius: 20px;
|
||||
height: 97%;
|
||||
}
|
||||
|
||||
.double {
|
||||
display: flex;
|
||||
grid-area: double;
|
||||
|
||||
}
|
||||
|
||||
.about {
|
||||
grid-area: about;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -279,7 +324,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);
|
||||
@@ -287,7 +332,7 @@ button {
|
||||
/*height: 96.2%;*/
|
||||
width: 1000px;
|
||||
margin: 0 auto;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -314,8 +359,9 @@ button {
|
||||
height: 35%;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/* /Crash */
|
||||
|
||||
/* Media */
|
||||
|
||||
/* /Media */
|
||||
/* /Media */
|
||||
9
luckydiamond/src/assets/icons-developcard/VK-Icons.svg
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
luckydiamond/src/assets/icons-developcard/YouTube-Icons.png
Normal file
|
After Width: | Height: | Size: 751 B |
|
After Width: | Height: | Size: 15 KiB |
BIN
luckydiamond/src/assets/icons-developcard/YouTube-Icons1.png
Normal file
|
After Width: | Height: | Size: 855 B |
BIN
luckydiamond/src/assets/icons-developcard/YouTube-Icons2.png
Normal file
|
After Width: | Height: | Size: 824 B |
|
After Width: | Height: | Size: 124 KiB |
BIN
luckydiamond/src/assets/icons-developcard/video 1 (2).png
Normal file
|
After Width: | Height: | Size: 195 B |
BIN
luckydiamond/src/assets/icons-developcard/video 123.png
Normal file
|
After Width: | Height: | Size: 624 B |
BIN
luckydiamond/src/assets/icons-developcard/video-1-(3).png
Normal file
|
After Width: | Height: | Size: 751 B |
BIN
luckydiamond/src/assets/icons-developcard/video.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 690 B |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M30 14.9717C30.0153 23.2362 23.2754 29.9942 15.0109 30C11.4414 30.0025 8.16271 28.7583 5.58616 26.6788C4.91619 26.138 4.8661 25.1339 5.47493 24.5251L6.15641 23.8436C6.67711 23.3229 7.5084 23.266 8.0853 23.7236C9.98358 25.23 12.3859 26.1291 15 26.1291C21.1515 26.1291 26.129 21.1506 26.129 15C26.129 8.8485 21.1505 3.87098 15 3.87098C12.0475 3.87098 9.36598 5.0183 7.37491 6.89106L10.4447 9.96087C11.0544 10.5705 10.6226 11.6129 9.76046 11.6129H0.967741C0.433246 11.6129 0 11.1797 0 10.6452V1.85244C0 0.990304 1.04238 0.558509 1.65205 1.16813L4.63826 4.15434C7.33118 1.58081 10.981 0 15 0C23.2748 0 29.9847 6.70042 30 14.9717ZM19.0577 19.7368L19.6519 18.9729C20.1441 18.3401 20.0301 17.428 19.3972 16.9359L16.9355 15.0211V8.70969C16.9355 7.90798 16.2856 7.25808 15.4839 7.25808H14.5161C13.7144 7.25808 13.0645 7.90798 13.0645 8.70969V16.9144L17.0207 19.9915C17.6535 20.4836 18.5655 20.3697 19.0577 19.7368Z" fill="#B8B8B8"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
9
luckydiamond/src/assets/icons-games/double-game/info.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<rect width="20" height="20" fill="url(#pattern0_3764_2)"/>
|
||||
<defs>
|
||||
<pattern id="pattern0_3764_2" patternContentUnits="objectBoundingBox" width="1" height="1">
|
||||
<use xlink:href="#image0_3764_2" transform="scale(0.0078125)"/>
|
||||
</pattern>
|
||||
<image id="image0_3764_2" width="128" height="128" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHQklEQVR4nO1dS2xUVRhGBd8PLOLbrdG1iRtfRJuIBjRGgRgT1iaQYEw0gYXdYowLN0pBUUBdzKrOq7czNePCB9YRxYIuXbQ+VghLoFK/b3ponHY6M525Z/7/3PN/yZdBLNP7f9937z33nHPPWbPGYDAYDAaDwWAwGAwGg8FgMBgyg4mJiRuSJLkPfAB/fmh8fHwYfN5xmH/H/8ef4c9KH6+hR8DAIRj4DEx9HRzFf9fAv8D5VfJP928P8Lv4nfxu6foMS8Cz1Z3N+8E6TPq3B7O7Jb/7NIMFbqvVauul648SuVzuOhjwMswo4fOiR8PbEr/7Aj6L4A6E4VppXTIPnO2PQ/SPIPg5KdPbhOEsPg/h8zFpnTKF+fn5K2D8Vgh7XNrkVYThJ3zuHBkZuVJav2BB8Wg8hPxR2tA+gjDNIOD2sFZaz6AA45+EeL9JG5gi2XDcJK2rehSLxTsh1lGIdUmBaT6uCIVyuXyvtM7qwMs9xNmTKGzceQgBG4u72baR1l0FcEZshCjj0sYIcJJXPGn9RQHzn4D3fygwQ+pq8Dc7saR9GDh4yYcAb4Fz0iZIkx1Z4L5obgl8JELBh6WFV8hj9Xp9nbQ/XuH67csKxNbK6tjY2E3SPnkBihuC+d8oEFk7p/L5/G3SfqUKFoTCTisQNwiyB7FarW6Q9i0VwPzr7czvKQTfo710o7R/fYGNGrvn98VqLpe7WtrHnsDHGpj/iQIRgyY0/CzIUcVk4TlfXMAsECHYK+3nqsAevsQ6edIMwMVgJprgWf/2mLt3PXJG/eOhG9WbUCBWJskGter2gBvSFRcqy4TGu6R9bgkObbqxbnGRMs5z0Pkuab+XAQf2uQJxoiACcETa7yZwDp+0KF3wO77M0Q35swqOt10ALnGKvLTvDeRyuatwQL9Ki9IFc93WxJ9VcLydQjCtokGIg3lFWowYA+BCsN2ntx3hununpYWIOAA/i84kKpfLL0iLEHMASL4849PjTkJNSQsQewA4bOzT4xXBVqh08RaABeJK/KhPr1vCvaUrXrwFoHEVOOjT62Xgu/D4pf9IF24BWAzAWa6Z4NPzJrjFGcQLtwA0hWCbT8+bEOg0r6wHIO/T80WgwXGz5LIsxhUDcGEgk0jxy7ZIF2tckZsHEYB3FRRqbM23BxGAEwoKNbYgbgM/+DZ/KPG7Dp+xP84Vi8VbvQUADcBnFRRpbE9/7QAumaqgQGMbcl6mzwCMShdo7BiA970FAL/gK+kCjR0D8KXPAPSy6rZxsJz1Yj57mRQU1w9nkoUu3m44o+B4eyInjPKV/NQDwAUOpYvrk5keC1gSgvTfG6hUKg9KF2YB6I6lUun+1AOAL35YujALQHfk9jepByCQlz8sAEnjFrAp9QBwcyXpwiwAXQfgOQuABSBd2C0gHHq5BSTWCAyGXhqB9hgYDr08BlpHUDj00hGUga7gKALgrSvYCRPyYFAUAUh8DQY5YUIeDo4iAF6HgwOfEBJLAPxNCAl8SlgsAfA3JcxtoS5epAWgbQCe9haAJOxp4TEEwO+0cCdOqHv5xhCAKZ/eN4BLzDsKCrUAtCC82e/T+wYCfjkkhgD4u/9fBrc146vI0sVaAJbxPLfl8+n9/wUqKijYAtDMMZ+eLxVoh4KCLQDNfNGn502wRaJ0ceCLRDmRDkkXbgFY5AGfXrcENzFSULgFIGnMAHrEp9fthPpWuvjYA4AT8bhPj9sisJnCmQwAuMWnx23BpcpxAL8oECHKAIgvF08EtGpo5gKAe/9LPr3tCtwyJglja/isBeCkii1jCL6IwMmICkRpx0xtGiWyRHw74KA+lRYmIn4s7fcyTE5O3hFg72CIPMP9maX9bgkc3G4FAmWaOMlelfZ5RbhdxPLSImWYJfHHvk5A42QjDnRWgVhZo/7t4y+DG0rZngLpkVqK9ff3Chz0PmnhskJo+aa0n6uGaw8clhYvAzym/r6/Eur1+joUUFIgYpDECVSo1WprpX3sC5ypgkK+lhYzNHKYd2CTPH2jWq1uQFGnpEUNiBxhHZL2LVXwlSW7EnQmz/xgHvdWC65ckYQ5pXxQ5he8re6hBW74+ENpsbUR5h9ho1nan4HAPSLutc6ihU4e8I1gH/X6QbKw9uDv0iYIcia4Hr60wQZPEmFfAe/3fDqS1l8F3C1hVyTzCc5wSDfKS34n8IzgQlQBTC/r5YxnTUfVTubQBDeaOC1tWoo8qW4On3ZwxiuCsJX74SowsFeyR28nH32l9QwaCMFwonym7hKe4Oxiu8+nDF5GIexBpY1FNu5Go3+sGwTc+gTb+SglvFzNefALvqGDcF4jrUuUYN85bxFcIYuDTZ4DMYfvr+PzPV7i8dRyi3T9hiXgqCMM2gy+Bn7AxZOT3iapzrp/y+/YwxW4cOVZL12foUfwSlEoFO7hbhrcUgWX7Kf4ejvJP/Pv+P8qlcrdmR+RMxgMBoPBYDAYDAaDwWAwGAyR4T8v9J98K6ZdvgAAAABJRU5ErkJggg=="/>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
BIN
luckydiamond/src/assets/icons-games/saper-game/arrowTop.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
9
luckydiamond/src/assets/icons-menu/duable-icons.svg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
luckydiamond/src/assets/icons-profile/icon-referal.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
61
luckydiamond/src/assets/js/Profile/Referrals.js
Normal 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));
|
||||
}
|
||||
@@ -29,10 +29,14 @@ export function ConnectToChat() {
|
||||
return;
|
||||
}
|
||||
|
||||
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)) {
|
||||
@@ -41,7 +45,7 @@ export function ConnectToChat() {
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
void(error);
|
||||
void (error);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
69
luckydiamond/src/assets/js/games/double/DoubleApi.js
Normal 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')
|
||||
}
|
||||
}
|
||||
@@ -85,3 +85,25 @@ export async function JoinJackpotGame(userData, amount) {
|
||||
console.log('Fetch error')
|
||||
}
|
||||
}
|
||||
|
||||
export async function getJackpotHistoryGame () {
|
||||
try {
|
||||
const response = await fetch(`${BackendApiUrl}/GameJackpot/GetNewestJackpotGames`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
redirect: "follow"
|
||||
})
|
||||
|
||||
if (!response.ok) {
|
||||
console.log('Fetch error:', response.status)
|
||||
}
|
||||
|
||||
console.log(response)
|
||||
return await response.json()
|
||||
}
|
||||
catch (error) {
|
||||
console.log('Fetch error')
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
<!-- <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 class="menu__content--chest-icon" 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/duable-icons.svg"></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>
|
||||
|
||||
@@ -29,6 +29,8 @@
|
||||
</li>
|
||||
</transition-group>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
<writechat-component @send="ClaimDatamsg"></writechat-component>
|
||||
<!-- <div class="chat__mute-button">
|
||||
@@ -67,14 +69,37 @@ export default {
|
||||
return msg.msg.includes(GetCookie("SpUserName"));
|
||||
},
|
||||
ClaimDatamsg(msg) {
|
||||
const now = Date.now();
|
||||
if (!this.lastMsgTime || now - this.lastMsgTime >= 2000) {
|
||||
SendMessageToChat(msg[0]);
|
||||
this.lastMsgTime = now;
|
||||
} else {
|
||||
alert("Вы не можете отправлять сообщения чаще, чем раз в 2 секунды.");
|
||||
}
|
||||
},
|
||||
const now = Date.now();
|
||||
if (!this.lastMsgTime || now - this.lastMsgTime >= 1000) {
|
||||
const processedMsg = this.processMessage(msg[0]);
|
||||
|
||||
SendMessageToChat(processedMsg);
|
||||
this.lastMsgTime = now;
|
||||
} else {
|
||||
alert("Вы не можете отправлять сообщения так часто");
|
||||
}
|
||||
},
|
||||
processMessage(message) {
|
||||
const maxLength = 5; // Тут макс допустимых символов писать
|
||||
const processedMessage = [];
|
||||
let currentSymbol = "";
|
||||
let count = 0;
|
||||
|
||||
for (let i = 0; i < message.length; i++) {
|
||||
if (message[i] === currentSymbol) {
|
||||
count++;
|
||||
} else {
|
||||
currentSymbol = message[i];
|
||||
count = 1;
|
||||
}
|
||||
|
||||
if (count <= maxLength) {
|
||||
processedMessage.push(message[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return processedMessage.join("");
|
||||
},
|
||||
muteChat() {
|
||||
// Mute the chat by disabling the event listener for incoming messages.
|
||||
this.eventBus.$off("dataChat");
|
||||
@@ -108,32 +133,54 @@ export default {
|
||||
});
|
||||
},
|
||||
created() {
|
||||
GetChatHistory().then((response) => {
|
||||
if (response && response.length) {
|
||||
response.forEach((element) => {
|
||||
let imageUrl =
|
||||
"https://avatar.spworlds.ru/face/55/" + element.userName;
|
||||
GetChatHistory().then((response) => {
|
||||
if (response && response.length) {
|
||||
response.forEach((element) => {
|
||||
let imageUrl =
|
||||
"https://avatar.spworlds.ru/face/55/" + element.userName;
|
||||
|
||||
const MsgUser = {
|
||||
id: this.id + 1,
|
||||
msg: element.message,
|
||||
username: element.userName,
|
||||
icon: imageUrl,
|
||||
};
|
||||
const processedMsg = this.processMessage(element.message); // Process the message
|
||||
|
||||
if (MsgUser.username === "🛠️ System") {
|
||||
MsgUser.icon = "https://avatar.spworlds.ru/face/55/CONSOLE";
|
||||
}
|
||||
const MsgUser = {
|
||||
id: this.id + 1,
|
||||
msg: processedMsg, // Use the processed message
|
||||
username: element.userName,
|
||||
icon: imageUrl,
|
||||
};
|
||||
|
||||
this.array.push(MsgUser);
|
||||
});
|
||||
this.ScrollToBottom();
|
||||
}
|
||||
});
|
||||
},
|
||||
if (MsgUser.username === "🛠️ System") {
|
||||
MsgUser.icon = "https://avatar.spworlds.ru/face/55/CONSOLE";
|
||||
}
|
||||
|
||||
this.array.push(MsgUser);
|
||||
});
|
||||
this.ScrollToBottom();
|
||||
}
|
||||
});
|
||||
},
|
||||
processMessage(message) {
|
||||
const maxLength = 5; // Тут макс допустимых символов писать
|
||||
const processedMessage = [];
|
||||
let currentSymbol = "";
|
||||
let count = 0;
|
||||
|
||||
for (let i = 0; i < message.length; i++) {
|
||||
if (message[i] === currentSymbol) {
|
||||
count++;
|
||||
} else {
|
||||
currentSymbol = message[i];
|
||||
count = 1;
|
||||
}
|
||||
|
||||
if (count <= maxLength) {
|
||||
processedMessage.push(message[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return processedMessage.join("");
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
</div>
|
||||
<div class="Ckutls__whatjob_1">
|
||||
<img src="@/assets/icons-developcard/html.png" alt="html">
|
||||
<p>HTML 5,CSS</p>
|
||||
<p>HTML 5, CSS</p>
|
||||
</div>
|
||||
<div class="Ckutls__whatjob_2">
|
||||
<img src="@/assets/icons-developcard/js.png" alt="html">
|
||||
@@ -106,25 +106,57 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="Swino4ka_card">
|
||||
<div class="Swino4ka_text_2">
|
||||
<div class="Swino4ka_aboutinfo_2">
|
||||
<p>Фронтэндер</p>
|
||||
<h1>Swino4ka</h1>
|
||||
</div>
|
||||
<div class="Swino4ka_whatjob_1">
|
||||
<img src="@/assets/icons-developcard/html.png" alt="html">
|
||||
<p>HTML 5, CSS</p>
|
||||
</div>
|
||||
<div class="Swino4ka__whatjob_2">
|
||||
<img src="@/assets/icons-developcard/js.png" alt="html">
|
||||
<p>JavaScript</p>
|
||||
</div>
|
||||
<div class="Swino4ka__whatjob_3">
|
||||
<img src="@/assets/icons-developcard/Vue.png" alt="html">
|
||||
<p>Vue 3</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Swino4ka_skin_2">
|
||||
<div class="Swino4ka_skin_2_skin">
|
||||
|
||||
<div class="Swino4ka_skinicons1">
|
||||
<a href="https://t.me/Swino4ka_pon" target="_blank" ><img src="@/assets/icons-developcard/telegram.png" alt=""></a>
|
||||
<a href="https://discordapp.com/users/472393576010088449" target="_blank" ><img src="@/assets/icons-developcard/discord.png" alt=""></a>
|
||||
<a href="https://github.com/swino4ka/" target="_blank" ><img src="@/assets/icons-developcard/github.png" alt=""></a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom_card">
|
||||
<div class="megatntmega_card">
|
||||
<div class="megatntmega_text">
|
||||
<div class="megatntmega_aboutinfo">
|
||||
<p>Дизайнер</p>
|
||||
<h1>megatntmega</h1>
|
||||
<div class="GEDPOOL31_card">
|
||||
<div class="GEDPOOL31_text">
|
||||
<div class="GEDPOOL31_aboutinfo">
|
||||
<p>Техническая поддержка</p>
|
||||
<h1>GEDPOOL31</h1>
|
||||
</div>
|
||||
<div class="megatntmega_whatjob">
|
||||
<img src="@/assets/icons-developcard/Figma.png" alt="html">
|
||||
<p>Designer</p>
|
||||
<div class="GEDPOOL31_whatjob">
|
||||
<img src="@/assets/icons-developcard/tech-support.svg" alt="html">
|
||||
<p>Tech-Support</p>
|
||||
</div>
|
||||
<div class="megatntmega_icons">
|
||||
<a href="https://t.me/random_ak" target="_blank" ><img src="@/assets/icons-developcard/telegram.png" alt=""></a>
|
||||
<a href="https://discordapp.com/users/531420425255911424" target="_blank" ><img src="@/assets/icons-developcard/discord.png" alt=""></a>
|
||||
<div class="GEDPOOL31_icons">
|
||||
<a href="https://t.me/GEDPOOL31" target="_blank" ><img src="@/assets/icons-developcard/telegram.png" alt=""></a>
|
||||
<a href="https://discord.com/users/1044186204884701227" target="_blank" ><img src="@/assets/icons-developcard/discord.png" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="megatntmega_skin">
|
||||
|
||||
<div class="GEDPOOL31_skin">
|
||||
<img src="https://avatar.spworlds.ru/front/212/GEDPOOL31.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="busha888_card">
|
||||
@@ -135,7 +167,7 @@
|
||||
</div>
|
||||
<div class="whatjob">
|
||||
<img src="@/assets/icons-developcard/html.png" alt="html">
|
||||
<p>HTML 5,CSS</p>
|
||||
<p>HTML 5, CSS</p>
|
||||
</div>
|
||||
<div class="icons">
|
||||
<a href="https://www.youtube.com/watch?v=dQw4w9WgXcQ" target="_blank" ><img src="@/assets/icons-developcard/odniclasniki.png" alt=""></a>
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
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>
|
||||
<h3>Я согласен с <a href="https://docs.google.com/document/d/1ytKHnXr67o7mu5TKqlpgRjO8DEvQDRHNnaphhzbr_sg/edit?usp=sharing">пользовательским соглашением</a></h3>
|
||||
</div>
|
||||
<div
|
||||
class="btn-deposit btn-text-style btn-display-deposit btn-style-payments"
|
||||
@@ -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/1ytKHnXr67o7mu5TKqlpgRjO8DEvQDRHNnaphhzbr_sg/edit?usp=sharing">пользовательским соглашением</a></h3>
|
||||
</div>
|
||||
<div class="error-captcha" v-if="errorCaptcha && agreeUser === true">
|
||||
<h2>Пройдите проверку!</h2>
|
||||
|
||||
167
luckydiamond/src/components/ReferalModal.vue
Normal 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/1ytKHnXr67o7mu5TKqlpgRjO8DEvQDRHNnaphhzbr_sg/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>
|
||||
@@ -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 = false;
|
||||
|
||||
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();
|
||||
@@ -79,15 +79,23 @@
|
||||
<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="cumming_soon_btn"
|
||||
<!-- <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" class="cumming_soon--img" />
|
||||
|
||||
|
||||
<img class="double--img" src="@/assets/icons-games/double-game/DoubleLogo.svg" />
|
||||
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -106,6 +114,7 @@
|
||||
class="line__btn--crash"
|
||||
>play <span class="line__btn--elm"></span></a
|
||||
>
|
||||
|
||||
<img class="crash--img" src="@/assets/icons-gamemodes/crush-icon.svg" />
|
||||
</div>
|
||||
</li>
|
||||
|
||||
70
luckydiamond/src/pages/JackopthistoryPage.vue
Normal file
@@ -0,0 +1,70 @@
|
||||
t<template>
|
||||
<div class="jackpot-history__content-grid">
|
||||
<aside-bar-element/>
|
||||
|
||||
<chat-component/>
|
||||
|
||||
<header-element-page/>
|
||||
|
||||
<div class="jackpot-history">
|
||||
<div class="jackpot-history__content">
|
||||
<ul class="jackpot-history__element">
|
||||
<li v-for="(game, index) in historyGame" :key="index">
|
||||
<div class="abc">
|
||||
<div class="jackpot-history__element">
|
||||
<div class="element-info">
|
||||
<div class="element-info__icon">
|
||||
<img :src="`https://avatar.spworlds.ru/face/55/${game.winnerUserName}`">
|
||||
</div>
|
||||
<div class="element-info__user-info">
|
||||
<h2 class="username">{{ game.winnerUserName }}</h2>
|
||||
<h2 class="user-deposit">
|
||||
{{ game.winStake.toFixed(2) }}
|
||||
<span class="img-width"><img src="@/assets/icons-profile/icon-diamond-ore.png"></span>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="element-chance">
|
||||
<h2>
|
||||
Шанс <span class="chance-style">{{ game.winnerPercentage.toFixed(2) }}%</span>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { onMounted, reactive } from "vue";
|
||||
|
||||
import ChatComponent from "@/components/ChatComponent.vue";
|
||||
import AsideBarElement from "@/components/AsidebarComponent.vue";
|
||||
import HeaderElementPage from "@/components/HeaderComponent.vue";
|
||||
|
||||
import '@/assets/css/PagesStyles/jackpot-history.css'
|
||||
import {getJackpotHistoryGame} from "@/assets/js/jackpot/JackpotLogic";
|
||||
|
||||
export default {
|
||||
components: {HeaderElementPage, ChatComponent, AsideBarElement},
|
||||
setup() {
|
||||
let historyGame = reactive({})
|
||||
|
||||
onMounted(() => {
|
||||
getJackpotHistoryGame()
|
||||
.then(response => {
|
||||
Object.assign(historyGame, response)
|
||||
})
|
||||
})
|
||||
|
||||
return { historyGame }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
70
luckydiamond/src/pages/JackpothistoryPage.vue
Normal file
@@ -0,0 +1,70 @@
|
||||
t<template>
|
||||
<div class="jackpot-history__content-grid">
|
||||
<aside-bar-element/>
|
||||
|
||||
<chat-component/>
|
||||
|
||||
<header-element-page/>
|
||||
|
||||
<div class="jackpot-history">
|
||||
<div class="jackpot-history__content">
|
||||
<ul class="jackpot-history__element">
|
||||
<li v-for="(game, index) in historyGame" :key="index">
|
||||
<div class="abc">
|
||||
<div class="jackpot-history__element">
|
||||
<div class="element-info">
|
||||
<div class="element-info__icon">
|
||||
<img :src="`https://avatar.spworlds.ru/face/55/${game.winnerUserName}`">
|
||||
</div>
|
||||
<div class="element-info__user-info">
|
||||
<h2 class="username">{{ game.winnerUserName }}</h2>
|
||||
<h2 class="user-deposit">
|
||||
{{ game.winStake.toFixed(2) }}
|
||||
<span class="img-width"><img src="@/assets/icons-profile/icon-diamond-ore.png"></span>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="element-chance">
|
||||
<h2>
|
||||
Шанс <span class="chance-style">{{ game.winnerPercentage.toFixed(2) }}%</span>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { onMounted, reactive } from "vue";
|
||||
|
||||
import ChatComponent from "@/components/ChatComponent.vue";
|
||||
import AsideBarElement from "@/components/AsidebarComponent.vue";
|
||||
import HeaderElementPage from "@/components/HeaderComponent.vue";
|
||||
|
||||
import '@/assets/css/PagesStyles/jackpot-history.css'
|
||||
import {getJackpotHistoryGame} from "@/assets/js/jackpot/JackpotLogic";
|
||||
|
||||
export default {
|
||||
components: {HeaderElementPage, ChatComponent, AsideBarElement},
|
||||
setup() {
|
||||
let historyGame = reactive({})
|
||||
|
||||
onMounted(() => {
|
||||
getJackpotHistoryGame()
|
||||
.then(response => {
|
||||
Object.assign(historyGame, response)
|
||||
})
|
||||
})
|
||||
|
||||
return { historyGame }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
<section class="crash-game">
|
||||
<div class="crash-game__content">
|
||||
<div class="crash-game__start-window">
|
||||
<h2 class="crash__game-name">Краш</h2>
|
||||
<div class="classMenegerCrash">
|
||||
<h2 class="crash__game-name">Краш</h2>
|
||||
<div class="classNoMenegerCrash">
|
||||
<a href="https://docs.google.com/document/d/13jJx5IC0AC8pOpbSG5CU1i9tIQof0Vb0IUFzcR0aKcE" target="_blank">
|
||||
<img src="@/assets/icons-games/double-game/info.svg" alt="" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p>Жди момента и забирай выигрыш</p>
|
||||
<div class="crash-game-window__inputs">
|
||||
<div class="crash-deposit">
|
||||
@@ -129,7 +138,6 @@ export default {
|
||||
const dataCrashParse = JSON.parse(dataCrash)
|
||||
|
||||
this.crashObject = dataCrashParse
|
||||
// console.log(this.crashObject)
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e)
|
||||
@@ -137,7 +145,9 @@ export default {
|
||||
|
||||
if (this.crashObject.Status === 'GameEnd' && this.startGame === true && this.crashObject.Players.some(player => player.UserName === GetCookie('SpUserName'))) {
|
||||
this.startGame = false
|
||||
this.updateUserMoney()
|
||||
setTimeout(() => {
|
||||
this.updateUserMoney();
|
||||
}, 3000);
|
||||
}
|
||||
if (
|
||||
this.crashObject.Players.some(player =>
|
||||
@@ -295,8 +305,9 @@ export default {
|
||||
.then((response) => {
|
||||
console.log(response)
|
||||
this.startGame = false
|
||||
|
||||
this.updateUserMoney()
|
||||
setTimeout(() => {
|
||||
this.updateUserMoney();
|
||||
}, 3000);
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
715
luckydiamond/src/pages/games-pages/DoublePage.vue
Normal file
@@ -0,0 +1,715 @@
|
||||
<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"
|
||||
>
|
||||
|
||||
<div class="classMenegerDouble">
|
||||
<h2>Рулетка</h2>
|
||||
<div class="classNoMenegerDouble">
|
||||
<a href="https://docs.google.com/document/d/1oeL3kHp_5Mjcgsb2i87yMgjjNO2HdUa0_5TK1mJk9S0" target="_blank">
|
||||
<img src="@/assets/icons-games/double-game/info.svg" alt="" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<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;
|
||||
}
|
||||
.classMenegerDouble {
|
||||
display: flex;
|
||||
|
||||
flex-direction: row;
|
||||
}
|
||||
.classNoMenegerDouble {
|
||||
margin-left: 1vh;
|
||||
margin-top: 2.4vh;
|
||||
}
|
||||
|
||||
.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>
|
||||
@@ -43,8 +43,22 @@
|
||||
<div
|
||||
class="jackpot-start__content title-saper padding-elements-jackpot"
|
||||
>
|
||||
<div class="classMeneger">
|
||||
<h2>Джекпот</h2>
|
||||
<div class="classNoMeneger">
|
||||
<a href="https://docs.google.com/document/d/1kW8bPmIZPrjK9EtKo6xsPLv989uOkgUn4wFk_uYOCUI/edit?usp=sharing" target="_blank">
|
||||
<img src="@/assets/icons-games/double-game/info.svg" alt="" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="IstoriaMenedger">
|
||||
|
||||
<a href="#" @click="$router.push({ name: 'jackpot-history' })"><img class="IstoriaMenedger" src="@/assets/icons-games/double-game/Vector.svg"></a>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<p>Больше ставь, больше побеждай!</p>
|
||||
|
||||
|
||||
<div class="saper-start__choises diamonds diamonds-input__margin">
|
||||
<h3>Сумма депозита</h3>
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
<div class="bg-two"></div>
|
||||
<div class="saper-start" :class="{ 'game-start__menu-off' : gameStart }">
|
||||
<div class="saper-start__content title-saper padding-elements">
|
||||
<h2>Сапёр</h2>
|
||||
<div class="classMenegerSaper">
|
||||
<h2>Сапёр</h2>
|
||||
<div class="classNoMenegerSaper">
|
||||
<a href="https://docs.google.com/document/d/1aoN7tqLxWxOBJ-NXUs4GHK8Nl2n2Q-Kw6JHzmujku6A" target="_blank">
|
||||
<img src="@/assets/icons-games/double-game/info.svg" alt="" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p>Находи изумруды на поле и избегай кристалы</p>
|
||||
<div class="saper-start__choises crystals">
|
||||
<h3>Количество кристалов</h3>
|
||||
|
||||
@@ -6,6 +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 JackopthistoryPage from "@/pages/JackopthistoryPage.vue";
|
||||
import DoublePage from "@/pages/games-pages/DoublePage.vue";
|
||||
import AboutPage from "@/pages/AboutPage.vue";
|
||||
import HelpPage from "@/pages/HelpPage.vue" ;
|
||||
|
||||
@@ -17,6 +19,8 @@ export default createRouter({
|
||||
{ path: '/game/saper', component: SapergamePage, name: 'saper' },
|
||||
{ path: '/game/crash', component: CrashGamePage, name: 'crash' },
|
||||
{ path: '/game/jackpot', component: JackpotPage, name: 'jackpot' },
|
||||
{ path: '/game/jackpot/history', component: JackopthistoryPage, name: 'jackpot-history' },
|
||||
{ path: '/game/double', component: DoublePage, name: 'double' },
|
||||
{ path: '/settings', component: SettingsPage, name: 'settings' },
|
||||
{ path: '/about', component: AboutPage, name: 'about' },
|
||||
{ path: '/help', component: HelpPage, name: 'help' },
|
||||
|
||||