Add no whitelist page

This commit is contained in:
2026-03-22 17:11:03 +01:00
parent 5b7ef4c951
commit 7ecd952f08
8 changed files with 542 additions and 55 deletions

5
assets/no_whitelist.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path color="#000000" d="M7.992 0A2.008 2.008 0 0 0 6 2H5c-.657 0-1.178.06-1.617.225-.439.164-.79.461-.998.838-.415.752-.37 1.673-.385 2.931v5.012c.015 1.258-.03 2.179.385 2.932.208.376.56.673.998.838.439.164.96.224 1.617.224h3.762a4.5 4.5 0 0 1-.498-1H5c-.592 0-1.005-.063-1.265-.16-.26-.098-.372-.203-.473-.387C3.06 13.087 3.015 12.259 3 11V6c.015-1.259.06-2.087.262-2.453.101-.184.213-.29.473-.387C3.995 3.062 4.408 3 5 3v.999h6V3c.593 0 1.006.063 1.266.16.26.098.371.203.473.387.201.366.247 1.194.261 2.453v2.031a4.5 4.5 0 0 1 1 .233v-2.27c-.015-1.258.031-2.179-.385-2.932a1.88 1.88 0 0 0-.998-.837C12.179 2.06 11.657 2 11 2H9.996a2.008 2.008 0 0 0-1.992-2zm.01 1c.559 0 1 .442 1 1a.99.99 0 0 1-1 1 .982.982 0 0 1-.922-.61A1.01 1.01 0 0 1 7.003 2c0-.558.441-1 1-1zM5 6v1h6.012V6zm0 2v1h4.674a4.5 4.5 0 0 1 1.338-.74V8zm-.01 2v1h3v-1z" fill="gray" font-family="sans-serif" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;text-transform:none;isolation:auto;mix-blend-mode:normal;marker:none" white-space="normal"/>
<path class="error" color="#000000" d="M12.5 9A3.5 3.5 0 0 0 9 12.5a3.5 3.5 0 0 0 3.5 3.5 3.5 3.5 0 0 0 3.5-3.5A3.5 3.5 0 0 0 12.5 9zm-.5 1h1v1.168c0 .348-.016.667-.047.957-.03.29-.069.581-.115.875h-.666a12.898 12.898 0 0 1-.125-.875 9.146 9.146 0 0 1-.047-.957zm.5 4a.5.5 0 0 1 .5.5.5.5 0 0 1-.5.5.5.5 0 0 1-.5-.5.5.5 0 0 1 .5-.5z" fill="#f22c42" overflow="visible" style="marker:none"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -49,3 +49,10 @@ Execute `python install.py`
Note: in case if you aren't virtual environment, the script stop.
Enjoy.
## Generate resource file
`rcc -g python .\resources.qrc -o .\src\resources_rc.py`
You need to give complete path of rcc:
`H:\Qt\6.10.2\mingw_64\bin\rcc.exe -g python resources.qrc -o .\src\resources.py`

View File

@@ -1,5 +1,6 @@
<RCC>
<qresource prefix="/">
<file>assets/no_whitelist.svg</file>
<file>assets/closed-store-info.svg</file>
<file>assets/letter-i-info.svg</file>
<file>assets/open-store-info.svg</file>

View File

@@ -7,7 +7,7 @@ from PySide6.QtGui import QColor
# ---------------------------------------------------------------------------
NO_STAFF = True
NO_WHITELIST = False
NO_WHITELIST = True
REDIRECT_URI = "http://localhost:5000/callback"
SCOPES = ["identify"]

View File

@@ -181151,6 +181151,119 @@ ill:#60C3AB;\x22 cx\
=\x22225.067\x22 cy=\x224\
43.733\x22 r=\x2211.73\
3\x22/>\x0d\x0a</svg>\
\x00\x00\x06\xe2\
<\
?xml version=\x221.\
0\x22 encoding=\x22utf\
-8\x22?><!-- Upload\
ed to: SVG Repo,\
www.svgrepo.com\
, Generator: SVG\
Repo Mixer Tool\
s -->\x0a<svg width\
=\x22800px\x22 height=\
\x22800px\x22 viewBox=\
\x220 0 16 16\x22 xmln\
s=\x22http://www.w3\
.org/2000/svg\x22>\x0d\
\x0a <path color\
=\x22#000000\x22 d=\x22M7\
.992 0A2.008 2.0\
08 0 0 0 6 2H5c-\
.657 0-1.178.06-\
1.617.225-.439.1\
64-.79.461-.998.\
838-.415.752-.37\
1.673-.385 2.93\
1v5.012c.015 1.2\
58-.03 2.179.385\
2.932.208.376.5\
6.673.998.838.43\
9.164.96.224 1.6\
17.224h3.762a4.5\
4.5 0 0 1-.498-\
1H5c-.592 0-1.00\
5-.063-1.265-.16\
-.26-.098-.372-.\
203-.473-.387C3.\
06 13.087 3.015 \
12.259 3 11V6c.0\
15-1.259.06-2.08\
7.262-2.453.101-\
.184.213-.29.473\
-.387C3.995 3.06\
2 4.408 3 5 3v.9\
99h6V3c.593 0 1.\
006.063 1.266.16\
.26.098.371.203.\
473.387.201.366.\
247 1.194.261 2.\
453v2.031a4.5 4.\
5 0 0 1 1 .233v-\
2.27c-.015-1.258\
.031-2.179-.385-\
2.932a1.88 1.88 \
0 0 0-.998-.837C\
12.179 2.06 11.6\
57 2 11 2H9.996a\
2.008 2.008 0 0 \
0-1.992-2zm.01 1\
c.559 0 1 .442 1\
1a.99.99 0 0 1-\
1 1 .982.982 0 0\
1-.922-.61A1.01\
1.01 0 0 1 7.00\
3 2c0-.558.441-1\
1-1zM5 6v1h6.01\
2V6zm0 2v1h4.674\
a4.5 4.5 0 0 1 1\
.338-.74V8zm-.01\
2v1h3v-1z\x22 fill\
=\x22gray\x22 font-fam\
ily=\x22sans-serif\x22\
font-weight=\x2240\
0\x22 overflow=\x22vis\
ible\x22 style=\x22lin\
e-height:normal;\
text-indent:0;te\
xt-align:start;t\
ext-decoration-l\
ine:none;text-de\
coration-style:s\
olid;text-decora\
tion-color:#0000\
00;text-transfor\
m:none;isolation\
:auto;mix-blend-\
mode:normal;mark\
er:none\x22 white-s\
pace=\x22normal\x22/>\x0d\
\x0a <path class\
=\x22error\x22 color=\x22\
#000000\x22 d=\x22M12.\
5 9A3.5 3.5 0 0 \
0 9 12.5a3.5 3.5\
0 0 0 3.5 3.5 3\
.5 3.5 0 0 0 3.5\
-3.5A3.5 3.5 0 0\
0 12.5 9zm-.5 1\
h1v1.168c0 .348-\
.016.667-.047.95\
7-.03.29-.069.58\
1-.115.875h-.666\
a12.898 12.898 0\
0 1-.125-.875 9\
.146 9.146 0 0 1\
-.047-.957zm.5 4\
a.5.5 0 0 1 .5.5\
.5.5 0 0 1-.5.5.\
5.5 0 0 1-.5-.5.\
5.5 0 0 1 .5-.5z\
\x22 fill=\x22#f22c42\x22\
overflow=\x22visib\
le\x22 style=\x22marke\
r:none\x22/>\x0d\x0a</svg\
>\
"
qt_resource_name = b"\
@@ -181217,12 +181330,16 @@ qt_resource_name = b"\
\x0cA\xab\xe7\
\x00c\
\x00o\x00m\x00p\x00u\x00t\x00e\x00r\x00-\x00t\x00v\x00.\x00s\x00v\x00g\
\x00\x10\
\x0b[_\x07\
\x00n\
\x00o\x00_\x00w\x00h\x00i\x00t\x00e\x00l\x00i\x00s\x00t\x00.\x00s\x00v\x00g\
"
qt_resource_struct = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x0d\x00\x00\x00\x02\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x0e\x00\x00\x00\x02\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x01\xba\x00\x00\x00\x00\x00\x01\x00+\xdd\xc1\
\x00\x00\x01\x9c\x0ft\xac\xa3\
@@ -181240,6 +181357,8 @@ qt_resource_struct = b"\
\x00\x00\x01\x9c\xd8\xa1X\x0f\
\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00(\xfb*\
\x00\x00\x01\x9c\xd9\xa2\xfa\xf9\
\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00,7\xc6\
\x00\x00\x01\x9d\x16B\x01\xc7\
\x00\x00\x00\xb2\x00\x00\x00\x00\x00\x01\x00)\x83\x02\
\x00\x00\x01\x9c\xed\xb0@\xf2\
\x00\x00\x01\xea\x00\x00\x00\x00\x00\x01\x00,1\x15\

View File

@@ -35,6 +35,21 @@ class MainWindow(QMainWindow):
self.setWindowFlags(Qt.WindowType.FramelessWindowHint | Qt.WindowType.Window)
self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
self.ui.stackedWidget.setCurrentIndex(0)
if NO_WHITELIST:
self.ui.stackedWidget.setCurrentIndex(2)
# msg = CustomMessageBox(
# title="La Tanière: Non whitelisté",
# message="\n\nTu n'est pas whitelisté sur le serveur\n\n"
# "Assure-toi de te faire whitelister.\n\n"
# "Lorsque cela sera fait, relance le launcher.",
# icon_type=CustomMessageBox.WARNING,
# buttons=CustomMessageBox.OK
# )
# msg.exec()
# quit_application()
# Test bouton en contruction
en_chantier = True
if en_chantier:
@@ -87,17 +102,6 @@ class MainWindow(QMainWindow):
self._center_window()
self.show()
if NO_WHITELIST:
msg = CustomMessageBox(
title="La Tanière: Non whitelisté",
message="\n\nTu n'est pas whitelisté sur le serveur\n\n"
"Assure-toi de te faire whitelister.\n\n"
"Lorsque cela sera fait, relance le launcher.",
icon_type=CustomMessageBox.WARNING,
buttons=CustomMessageBox.OK
)
msg.exec()
quit_application()
# ------------------------------------------------------------------
# Setup

View File

@@ -15,19 +15,17 @@ QFrame#logo_frame {
background-position: center;
}
QFrame#frame_2 QLabel {
QFrame#frame_2 QLabel,
QFrame#frame_6 QLabel {
color: rgb(163, 177, 198);
}
QFrame#frame_2 QLabel#discord_title_label {
QFrame#frame_2 QLabel#discord_info_title_label,
QFrame#frame_6 QLabel#whitelist_info_title_label {
font-size: 28px;
color: rgb(255, 255, 255) /* label enfant, obligé de définir la couleur car ne prend pas la général */
}
QFrame#frame_2 QLabel#label_2 {
/* font-family: 'sans serif'; */
}
QLabel#maintitle_label {
font-size: 38px;
}
@@ -111,7 +109,8 @@ QPushButton#staff_btn:pressed
QPushButton#discord_btn,
QPushButton#discord_auth_btn,
QPushButton#intranet_btn
QPushButton#intranet_btn,
QPushButton#whitelist_ok_boutton
{
background-color: rgba(32, 58, 67, 0.6); /* Bleu très sombre semi-transparent */
border: 1px solid rgba(255, 255, 255, 0.1);
@@ -122,7 +121,8 @@ QPushButton#intranet_btn
}
QPushButton#discord_btn:hover,
QPushButton#discord_auth_btn:hover
QPushButton#discord_auth_btn:hover,
QPushButton#whitelist_ok_boutton:hover
{
background-color: rgba(88, 101, 242, 0.4); /* Fond bleu Discord translucide */
border: 2px solid #7289da; /* Bordure plus épaisse et claire pour l'éclat */

View File

@@ -627,7 +627,7 @@
<property name="minimumSize">
<size>
<width>700</width>
<height>0</height>
<height>482</height>
</size>
</property>
<property name="maximumSize">
@@ -640,39 +640,39 @@
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="currentIndex">
<number>0</number>
<number>2</number>
</property>
<widget class="QWidget" name="page">
<widget class="QWidget" name="main_page">
<property name="minimumSize">
<size>
<width>0</width>
<height>650</height>
<height>482</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>700</width>
<height>650</height>
<height>482</height>
</size>
</property>
<widget class="QFrame" name="frame">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>680</width>
<height>650</height>
<x>0</x>
<y>0</y>
<width>700</width>
<height>482</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>650</height>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>680</width>
<width>700</width>
<height>650</height>
</size>
</property>
@@ -907,6 +907,22 @@
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QFrame" name="info_frame">
<property name="sizePolicy">
@@ -959,22 +975,6 @@
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>170</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
@@ -982,20 +982,20 @@
<property name="minimumSize">
<size>
<width>0</width>
<height>650</height>
<height>482</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>700</width>
<height>650</height>
<height>482</height>
</size>
</property>
<widget class="QFrame" name="frame_2">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<x>0</x>
<y>0</y>
<width>700</width>
<height>482</height>
</rect>
@@ -1078,7 +1078,7 @@
</spacer>
</item>
<item>
<widget class="QLabel" name="label">
<widget class="QLabel" name="discord_info_icon">
<property name="minimumSize">
<size>
<width>32</width>
@@ -1103,7 +1103,7 @@
</widget>
</item>
<item>
<widget class="QLabel" name="discord_title_label">
<widget class="QLabel" name="discord_info_title_label">
<property name="minimumSize">
<size>
<width>180</width>
@@ -1135,7 +1135,7 @@
</widget>
</item>
<item>
<widget class="QFrame" name="frame_7">
<widget class="QFrame" name="auth_discord_page_content">
<property name="maximumSize">
<size>
<width>700</width>
@@ -1322,6 +1322,357 @@
</layout>
</widget>
</widget>
<widget class="QWidget" name="whitelist">
<property name="minimumSize">
<size>
<width>700</width>
<height>482</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>700</width>
<height>482</height>
</size>
</property>
<widget class="QFrame" name="frame_6">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>700</width>
<height>482</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>700</width>
<height>482</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>700</width>
<height>482</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QFrame" name="whitelist_page_title">
<property name="minimumSize">
<size>
<width>0</width>
<height>80</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>80</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>292</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="whitelist_info_icon_labe">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../resources.qrc">:/assets/letter-i-info.svg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="whitelist_info_title_label">
<property name="minimumSize">
<size>
<width>180</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>Information</string>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>291</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_7">
<property name="maximumSize">
<size>
<width>700</width>
<height>16777215</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="whitelist_info_text">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="text">
<string>Tu nes pas whitelisté sur le serveur.
Inscris-toi sur Discord, puis relance le launcher.</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_11">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>30</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QFrame" name="frame_9">
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer_12">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="whitelist_ok_boutton">
<property name="minimumSize">
<size>
<width>380</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>250</width>
<height>50</height>
</size>
</property>
<property name="text">
<string> Compris !</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/assets/no_whitelist.svg</normaloff>:/assets/no_whitelist.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_13">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_12">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>200</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</widget>
</item>
</layout>