mirror of
https://github.com/qbcore-fivem/qb-core.git
synced 2026-08-28 22:01:33 +00:00
74ac036d4a
Major refactor to centralize QBCore and replace the web UI stack: - Move QBConfig into a unified QBCore.Config and initialize QBCore.PlayerData; add shared/functions.lua. - Remove legacy client/main.lua and server/main.lua exports and update fxmanifest to include shared/functions and drop those main scripts. - Update client event handling: adapt player data events to QBCore:Client:OnPlayerUpdated and trigger job/gang update events; remove deprecated exploitable handlers. - Web UI rewrite: remove Vue/Quasar dependency and config module; implement a lightweight vanilla JS notification system (html/js/app.js) with updated html and css assets, plus drawtext tweaks. - CSS overhaul for notification styling and animations; HTML head/meta/font cleanup. - Server fixes: use QBCore.Shared.Locations in teleport command and strengthen numeric parsing/validation for coords. - Add .gitattributes for consistent text/eol handling and small code cleanups (thread/comment removal). These changes consolidate config/shared logic under QBCore, simplify the frontend dependencies, and fix a few parsing/event issues.
98 lines
1.6 KiB
CSS
98 lines
1.6 KiB
CSS
:root {
|
|
--primary-bg: #211f26;
|
|
--active-bg: #c10114;
|
|
--font-color: #e6e1e5;
|
|
--md-elevation-1: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);
|
|
--md-radius-extra-small: 0.15rem;
|
|
}
|
|
|
|
#drawtext-container {
|
|
display: none;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
padding: 0;
|
|
margin: 0;
|
|
font-family: var(--font-primary) !important;
|
|
font-weight: var(--font-weight-light);
|
|
}
|
|
|
|
.text {
|
|
position: absolute;
|
|
background: var(--primary-bg);
|
|
color: var(--font-color);
|
|
margin-top: 0.5rem;
|
|
padding: 0.45rem;
|
|
border-radius: var(--md-radius-extra-small);
|
|
box-shadow: var(--md-elevation-1);
|
|
}
|
|
|
|
@media (width: 3840px) and (height: 2160px) {
|
|
#drawtext-container {
|
|
display: none;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
padding: 0;
|
|
margin: 0;
|
|
font-family: var(--font-primary) !important;
|
|
font-weight: var(--font-weight-light);
|
|
font-size: 1.5vh;
|
|
}
|
|
}
|
|
|
|
.text.pressed {
|
|
background: var(--active-bg);
|
|
}
|
|
|
|
.top {
|
|
left: 45vw;
|
|
top: -100px;
|
|
}
|
|
|
|
.top.show {
|
|
transition: 0.5s;
|
|
top: 10px;
|
|
opacity: 1;
|
|
}
|
|
|
|
.top.hide {
|
|
transition: 0.5s;
|
|
top: -100px;
|
|
opacity: 0;
|
|
}
|
|
|
|
.right {
|
|
top: 50%;
|
|
right: -100px;
|
|
}
|
|
|
|
.right.show {
|
|
transition: 0.5s;
|
|
right: 10px;
|
|
opacity: 1;
|
|
}
|
|
|
|
.right.hide {
|
|
transition: 0.5s;
|
|
right: -100px;
|
|
opacity: 0;
|
|
}
|
|
|
|
.left {
|
|
top: 50%;
|
|
left: -100px;
|
|
}
|
|
|
|
.left.show {
|
|
transition: 0.5s;
|
|
left: 10px;
|
|
opacity: 1;
|
|
}
|
|
|
|
.left.hide {
|
|
transition: 0.5s;
|
|
left: -100px;
|
|
opacity: 0;
|
|
}
|