mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2025-12-05 01:10:15 +00:00
Merge branch 'dev' into feature/add-file-panel-file-sizes
This commit is contained in:
@@ -103,5 +103,5 @@ docker-build:
|
||||
- docker context rm tls-environment-$CI_JOB_ID || true
|
||||
- echo "Please review multi-arch manifests are present:"
|
||||
- if [ "$ENVIRONMENT_NAME" = "development" ]; then docker buildx imagetools inspect "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"; fi
|
||||
- if [ "$ENVIRONMENT_NAME" = "production" ]; then docker buildx imagetools inspect "$CI_REGISTRY_IMAGE:$VERSION"; fi
|
||||
- if [ "$ENVIRONMENT_NAME" = "production" ]; then docker buildx imagetools inspect "$CI_REGISTRY_IMAGE:latest"; fi
|
||||
- if [ "$ENVIRONMENT_NAME" = "nightly" ]; then docker buildx imagetools inspect "$CI_REGISTRY_IMAGE:nightly"; fi
|
||||
|
||||
@@ -3,7 +3,9 @@
|
||||
### New features
|
||||
TBD
|
||||
### Bug fixes
|
||||
TBD
|
||||
- Change hour and minute intervals in APScheudler to fix incorrect triggers ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/910))
|
||||
- Use asyncio locks to limit upload handler race condition ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/907))
|
||||
- Fix static fonts not working on some browsers ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/906))
|
||||
### Tweaks
|
||||
TBD
|
||||
### Lang
|
||||
|
||||
@@ -265,9 +265,8 @@ class TasksManager:
|
||||
if schedule.interval_type == "hours":
|
||||
new_job = self.scheduler.add_job(
|
||||
self.controller.management.queue_command,
|
||||
"cron",
|
||||
minute=0,
|
||||
hour="*/" + str(schedule.interval),
|
||||
"interval",
|
||||
hours=int(schedule.interval),
|
||||
id=str(schedule.schedule_id),
|
||||
args=[
|
||||
{
|
||||
@@ -283,8 +282,8 @@ class TasksManager:
|
||||
elif schedule.interval_type == "minutes":
|
||||
new_job = self.scheduler.add_job(
|
||||
self.controller.management.queue_command,
|
||||
"cron",
|
||||
minute="*/" + str(schedule.interval),
|
||||
"interval",
|
||||
minutes=int(schedule.interval),
|
||||
id=str(schedule.schedule_id),
|
||||
args=[
|
||||
{
|
||||
@@ -395,9 +394,8 @@ class TasksManager:
|
||||
if job_data["interval_type"] == "hours":
|
||||
new_job = self.scheduler.add_job(
|
||||
self.controller.management.queue_command,
|
||||
"cron",
|
||||
minute=0,
|
||||
hour="*/" + str(job_data["interval"]),
|
||||
"interval",
|
||||
hours=int(job_data["interval"]),
|
||||
id=str(sch_id),
|
||||
args=[
|
||||
{
|
||||
@@ -413,8 +411,8 @@ class TasksManager:
|
||||
elif job_data["interval_type"] == "minutes":
|
||||
new_job = self.scheduler.add_job(
|
||||
self.controller.management.queue_command,
|
||||
"cron",
|
||||
minute="*/" + str(job_data["interval"]),
|
||||
"interval",
|
||||
minutes=int(job_data["interval"]),
|
||||
id=str(sch_id),
|
||||
args=[
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import os
|
||||
import logging
|
||||
import shutil
|
||||
import asyncio
|
||||
import anyio
|
||||
from PIL import Image
|
||||
from app.classes.models.server_permissions import EnumPermissionsServer
|
||||
@@ -37,6 +38,15 @@ ARCHIVE_MIME_TYPES = ["application/zip"]
|
||||
|
||||
|
||||
class ApiFilesUploadHandler(BaseApiHandler):
|
||||
|
||||
upload_locks = {}
|
||||
|
||||
def get_lock(self, key: str) -> asyncio.Lock:
|
||||
"""Get or create a lock for the given key."""
|
||||
if key not in self.upload_locks:
|
||||
self.upload_locks[key] = asyncio.Lock()
|
||||
return self.upload_locks[key]
|
||||
|
||||
async def post(self, server_id=None):
|
||||
auth_data = self.authenticate_user()
|
||||
if not auth_data:
|
||||
@@ -281,74 +291,85 @@ class ApiFilesUploadHandler(BaseApiHandler):
|
||||
self.temp_dir, f"{self.filename}.part{self.chunk_index}"
|
||||
)
|
||||
|
||||
# Save the chunk
|
||||
async with await anyio.open_file(chunk_path, "wb") as f:
|
||||
await f.write(self.request.body)
|
||||
lock = self.get_lock(self.file_id) # Capture async lock to avoid race condition
|
||||
|
||||
# Check if all chunks are received
|
||||
received_chunks = [
|
||||
f
|
||||
for f in os.listdir(self.temp_dir)
|
||||
if f.startswith(f"{self.filename}.part")
|
||||
]
|
||||
# When we've reached the total chunks we'll
|
||||
# Compare the hash and write the file
|
||||
if len(received_chunks) == total_chunks:
|
||||
async with await anyio.open_file(file_path, "wb") as outfile:
|
||||
for i in range(total_chunks):
|
||||
WebSocketManager().broadcast_user(
|
||||
auth_data[4]["user_id"],
|
||||
"upload_process",
|
||||
{"cur_file": i, "total_files": total_chunks, "type": u_type},
|
||||
)
|
||||
chunk_file = os.path.join(self.temp_dir, f"{self.filename}.part{i}")
|
||||
async with await anyio.open_file(chunk_file, "rb") as infile:
|
||||
await outfile.write(await infile.read())
|
||||
try:
|
||||
await anyio.Path(chunk_file).unlink(missing_ok=True)
|
||||
except OSError as why:
|
||||
logger.error("Failed to remove chunk file with error: %s", why)
|
||||
try:
|
||||
self.file_helper.del_dirs(self.temp_dir)
|
||||
except OSError as why:
|
||||
logger.error("Failed to import remove temp dir with error: %s", why)
|
||||
if upload_type == "background":
|
||||
# Strip EXIF data
|
||||
image_path = os.path.join(file_path)
|
||||
logger.debug("Stripping exif data from image")
|
||||
image = Image.open(image_path)
|
||||
async with lock:
|
||||
# Save the chunk
|
||||
async with await anyio.open_file(chunk_path, "wb") as f:
|
||||
await f.write(self.request.body)
|
||||
|
||||
# Get current raw pixel data from image
|
||||
image_data = list(image.getdata())
|
||||
# Create new image
|
||||
image_no_exif = Image.new(image.mode, image.size)
|
||||
# Restore pixel data
|
||||
image_no_exif.putdata(image_data)
|
||||
# Check if all chunks are received
|
||||
received_chunks = [
|
||||
f
|
||||
for f in os.listdir(self.temp_dir)
|
||||
if f.startswith(f"{self.filename}.part")
|
||||
]
|
||||
# When we've reached the total chunks we'll
|
||||
# Compare the hash and write the file
|
||||
if len(received_chunks) == total_chunks:
|
||||
async with await anyio.open_file(file_path, "wb") as outfile:
|
||||
for i in range(total_chunks):
|
||||
WebSocketManager().broadcast_user(
|
||||
auth_data[4]["user_id"],
|
||||
"upload_process",
|
||||
{
|
||||
"cur_file": i,
|
||||
"total_files": total_chunks,
|
||||
"type": u_type,
|
||||
},
|
||||
)
|
||||
chunk_file = os.path.join(
|
||||
self.temp_dir, f"{self.filename}.part{i}"
|
||||
)
|
||||
async with await anyio.open_file(chunk_file, "rb") as infile:
|
||||
await outfile.write(await infile.read())
|
||||
try:
|
||||
await anyio.Path(chunk_file).unlink(missing_ok=True)
|
||||
except OSError as why:
|
||||
logger.error(
|
||||
"Failed to remove chunk file with error: %s", why
|
||||
)
|
||||
try:
|
||||
self.file_helper.del_dirs(self.temp_dir)
|
||||
except OSError as why:
|
||||
logger.error("Failed to import remove temp dir with error: %s", why)
|
||||
if upload_type == "background":
|
||||
# Strip EXIF data
|
||||
image_path = os.path.join(file_path)
|
||||
logger.debug("Stripping exif data from image")
|
||||
image = Image.open(image_path)
|
||||
|
||||
image_no_exif.save(image_path)
|
||||
# Get current raw pixel data from image
|
||||
image_data = list(image.getdata())
|
||||
# Create new image
|
||||
image_no_exif = Image.new(image.mode, image.size)
|
||||
# Restore pixel data
|
||||
image_no_exif.putdata(image_data)
|
||||
|
||||
logger.info(
|
||||
f"File upload completed. Filename: {self.filename}"
|
||||
f" Path: {file_path} Type: {u_type}"
|
||||
)
|
||||
self.controller.management.add_to_audit_log(
|
||||
auth_data[4]["user_id"],
|
||||
f"Uploaded file {self.filename}",
|
||||
server_id,
|
||||
self.request.remote_ip,
|
||||
)
|
||||
self.finish_json(
|
||||
200,
|
||||
{
|
||||
"status": "completed",
|
||||
"data": {"message": "File uploaded successfully"},
|
||||
},
|
||||
)
|
||||
else:
|
||||
self.finish_json(
|
||||
200,
|
||||
{
|
||||
"status": "partial",
|
||||
"data": {"message": f"Chunk {self.chunk_index} received"},
|
||||
},
|
||||
)
|
||||
image_no_exif.save(image_path)
|
||||
|
||||
logger.info(
|
||||
f"File upload completed. Filename: {self.filename}"
|
||||
f" Path: {file_path} Type: {u_type}"
|
||||
)
|
||||
self.controller.management.add_to_audit_log(
|
||||
auth_data[4]["user_id"],
|
||||
f"Uploaded file {self.filename}",
|
||||
server_id,
|
||||
self.request.remote_ip,
|
||||
)
|
||||
self.finish_json(
|
||||
200,
|
||||
{
|
||||
"status": "completed",
|
||||
"data": {"message": "File uploaded successfully"},
|
||||
},
|
||||
)
|
||||
else:
|
||||
self.finish_json(
|
||||
200,
|
||||
{
|
||||
"status": "partial",
|
||||
"data": {"message": f"Chunk {self.chunk_index} received"},
|
||||
},
|
||||
)
|
||||
|
||||
@@ -133,8 +133,7 @@
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
@import url("/static/assets/fonts/Atikinson_Hyperlegible_Next/AtkinsonHyperlegibleMono-VariableFont_wght.ttf");
|
||||
@import url("/static/assets/fonts/Atikinson_Hyperlegible_Next/AtkinsonHyperlegibleNext-VariableFont_wght.ttf");
|
||||
@import url("/static/assets/fonts/Atkinson_Hyperlegible_Next/AtkinsonHyperlegible.css");
|
||||
|
||||
*,
|
||||
*::before,
|
||||
@@ -169,7 +168,7 @@ section {
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
@@ -8476,7 +8475,7 @@ a.close.disabled {
|
||||
z-index: 1070;
|
||||
display: block;
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
@@ -8601,7 +8600,7 @@ a.close.disabled {
|
||||
z-index: 1060;
|
||||
display: block;
|
||||
max-width: 276px;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
@@ -13949,7 +13948,7 @@ input:focus {
|
||||
:root,
|
||||
body {
|
||||
font-size: 1rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
color: #212529;
|
||||
color: var(--base-text);
|
||||
}
|
||||
@@ -13966,7 +13965,7 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-stretch: normal;
|
||||
@@ -14145,7 +14144,7 @@ address p {
|
||||
}
|
||||
|
||||
.card-title {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 500;
|
||||
color: #212229;
|
||||
margin-bottom: 15px;
|
||||
@@ -14159,14 +14158,14 @@ address p {
|
||||
|
||||
.card-subtitle {
|
||||
font-weight: 300;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
margin-top: 0.625rem;
|
||||
margin-bottom: 0.625rem;
|
||||
}
|
||||
|
||||
.card-description {
|
||||
margin-bottom: 0.9375rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.rtl .card-description {
|
||||
@@ -14997,7 +14996,7 @@ pre {
|
||||
|
||||
.card-revenue-table .revenue-item .revenue-amount p {
|
||||
font-size: 1.25rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 600;
|
||||
text-align: right;
|
||||
}
|
||||
@@ -15014,7 +15013,7 @@ pre {
|
||||
|
||||
.card-revenue .highlight-text {
|
||||
font-size: 1.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
@@ -15380,7 +15379,7 @@ pre {
|
||||
|
||||
/* Navbar */
|
||||
.navbar.default-layout {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
background: var(--dropdown-bg);
|
||||
transition: background 0.25s ease;
|
||||
-webkit-transition: background 0.25s ease;
|
||||
@@ -15610,7 +15609,7 @@ pre {
|
||||
min-height: calc(100vh - 63px);
|
||||
background: -webkit-gradient(linear, left bottom, left top, from(var(--dropdown-bg)), to(var(--dropdown-bg)));
|
||||
background: linear-gradient(to top, var(--dropdown-bg), var(--dropdown-bg));
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
padding: 0;
|
||||
width: 270px;
|
||||
z-index: 11;
|
||||
@@ -15931,7 +15930,7 @@ pre {
|
||||
-ms-transition: all 0.25s ease;
|
||||
border-top: 1px solid var(--outline);
|
||||
font-size: calc(0.875rem - 0.05rem);
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.footer a {
|
||||
@@ -17475,7 +17474,7 @@ pre {
|
||||
font-weight: initial;
|
||||
line-height: 1;
|
||||
padding: 4px 6px;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.04rem;
|
||||
}
|
||||
@@ -17929,7 +17928,7 @@ pre {
|
||||
.wizard>.actions a {
|
||||
font-size: 0.875rem;
|
||||
line-height: 1;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.btn i,
|
||||
@@ -20165,7 +20164,7 @@ pre {
|
||||
display: inline-block;
|
||||
border: 1px solid #dee2e6;
|
||||
border: 1px solid var(--outline);
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.75rem;
|
||||
color: #212529;
|
||||
color: var(--base-text);
|
||||
@@ -20309,7 +20308,7 @@ select.typeahead {
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
padding: 15px;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
@@ -22762,7 +22761,7 @@ ul li {
|
||||
}
|
||||
|
||||
.preview-list .preview-item .preview-item-content p .content-category {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
padding-right: 15px;
|
||||
border-right: 1px solid #dee2e6;
|
||||
border-right: 1px solid var(--outline);
|
||||
@@ -22826,7 +22825,7 @@ ul li {
|
||||
.pricing-table .pricing-card .pricing-card-body .plan-features li {
|
||||
text-align: left;
|
||||
padding: 4px 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
@@ -22840,7 +22839,7 @@ ul li {
|
||||
.jsgrid .jsgrid-table thead th {
|
||||
border-top: 0;
|
||||
border-bottom-width: 1px;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 500;
|
||||
color: #212529;
|
||||
color: var(--base-text);
|
||||
@@ -23014,7 +23013,7 @@ ul li {
|
||||
/* Tabs */
|
||||
.nav-pills .nav-item .nav-link,
|
||||
.nav-tabs .nav-item .nav-link {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
line-height: 1;
|
||||
font-size: 0.875rem;
|
||||
color: #212529;
|
||||
@@ -23031,7 +23030,7 @@ ul li {
|
||||
}
|
||||
|
||||
.tab-content {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.875rem;
|
||||
line-height: 1.71;
|
||||
}
|
||||
@@ -23524,7 +23523,7 @@ ul li {
|
||||
}
|
||||
|
||||
.settings-panel .events p {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.rtl .settings-panel .events p {
|
||||
@@ -23761,7 +23760,7 @@ ul li {
|
||||
}
|
||||
|
||||
.tooltip .tooltip-inner {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.tooltip-primary .tooltip-inner {
|
||||
@@ -24655,7 +24654,7 @@ ul li {
|
||||
padding: 11px 25px;
|
||||
background: rgba(33, 150, 243, 0.2);
|
||||
width: 80%;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 13px;
|
||||
font-weight: 300;
|
||||
border-radius: 4px;
|
||||
@@ -24663,7 +24662,7 @@ ul li {
|
||||
|
||||
.horizontal-timeline .time-frame .event .event-info {
|
||||
margin-top: 0.8rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: var(--gray);
|
||||
@@ -25814,7 +25813,7 @@ ul li {
|
||||
font-size: 0.875rem;
|
||||
color: var(--gray);
|
||||
margin-bottom: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.email-wrapper .mail-sidebar .menu-bar .online-status .status {
|
||||
@@ -25898,7 +25897,7 @@ ul li {
|
||||
|
||||
.email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user .u-name {
|
||||
margin: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.875rem;
|
||||
line-height: 1;
|
||||
color: #212529;
|
||||
@@ -25963,7 +25962,7 @@ ul li {
|
||||
.email-wrapper .mail-list-container .mail-list .content .sender-name {
|
||||
margin-bottom: 0;
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 500;
|
||||
max-width: 95%;
|
||||
}
|
||||
@@ -26018,17 +26017,17 @@ ul li {
|
||||
|
||||
.email-wrapper .message-body .sender-details .details .msg-subject {
|
||||
margin-bottom: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.email-wrapper .message-body .sender-details .details .sender-email {
|
||||
margin-bottom: 20px;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.email-wrapper .message-body .sender-details .details .sender-email i {
|
||||
font-size: 1rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
margin: 0 1px 0 7px;
|
||||
}
|
||||
|
||||
@@ -26130,7 +26129,7 @@ ul li {
|
||||
.email-wrapper .mail-list-container .mail-list .content .sender-name {
|
||||
margin-bottom: 0;
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 500;
|
||||
max-width: 95%;
|
||||
}
|
||||
@@ -26186,17 +26185,17 @@ ul li {
|
||||
|
||||
.email-wrapper .message-body .sender-details .details .msg-subject {
|
||||
margin-bottom: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.email-wrapper .message-body .sender-details .details .sender-email {
|
||||
margin-bottom: 20px;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.email-wrapper .message-body .sender-details .details .sender-email i {
|
||||
font-size: 1rem;
|
||||
font-family: "Atikinson Hyperlegible Nextson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Nextson Hyperlegible Next", sans-serif;
|
||||
margin: 0 1px 0 7px;
|
||||
}
|
||||
|
||||
@@ -26327,7 +26326,7 @@ ul li {
|
||||
left: 50%;
|
||||
z-index: 1000;
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: initial;
|
||||
line-height: 1.85;
|
||||
border-radius: 10px;
|
||||
@@ -26337,7 +26336,7 @@ ul li {
|
||||
|
||||
.avgrund-popin p {
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: initial;
|
||||
}
|
||||
|
||||
@@ -26418,7 +26417,7 @@ body.avgrund-active {
|
||||
.tour-tour {
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
@@ -26426,7 +26425,7 @@ body.avgrund-active {
|
||||
background: var(--primary);
|
||||
color: var(--base-text);
|
||||
font-size: 0.8125rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
padding: 0.75rem;
|
||||
}
|
||||
|
||||
@@ -26765,7 +26764,7 @@ body.avgrund-active {
|
||||
.context-menu-list .context-menu-item span {
|
||||
color: #000;
|
||||
font-size: 0.75rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.context-menu-list .context-menu-item.context-menu-hover {
|
||||
@@ -27027,7 +27026,7 @@ body.avgrund-active {
|
||||
|
||||
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.dow,
|
||||
.datepicker.datepicker-inline .datepicker-days table.table-condensed thead tr th.dow {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
color: var(--gray);
|
||||
font-size: 0.875rem;
|
||||
font-weight: initial;
|
||||
@@ -27477,7 +27476,7 @@ body.avgrund-active {
|
||||
|
||||
.jsgrid .jsgrid-table th {
|
||||
font-weight: initial;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
border-top-color: #dee2e6;
|
||||
border-top-color: var(--outline);
|
||||
}
|
||||
@@ -27665,7 +27664,7 @@ body.avgrund-active {
|
||||
}
|
||||
|
||||
.noUi-target .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
line-height: 1;
|
||||
@@ -27694,7 +27693,7 @@ body.avgrund-active {
|
||||
color: #212529;
|
||||
color: var(--base-text);
|
||||
font-size: 0.94rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
/* Slider Color variations */
|
||||
@@ -28231,7 +28230,7 @@ body.avgrund-active {
|
||||
.swal2-modal .swal2-title {
|
||||
font-size: 25px;
|
||||
line-height: 1;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
color: #212529;
|
||||
color: var(--base-text);
|
||||
font-weight: initial;
|
||||
@@ -28274,7 +28273,7 @@ body.avgrund-active {
|
||||
|
||||
.swal2-modal .swal2-content {
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
color: #212529;
|
||||
color: var(--base-text);
|
||||
font-weight: initial;
|
||||
@@ -28701,7 +28700,7 @@ div.tagsinput span.tag a {
|
||||
text-decoration: none;
|
||||
border-radius: 5px;
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.wizard>.steps a:hover {
|
||||
@@ -29157,7 +29156,7 @@ div.tagsinput span.tag a {
|
||||
}
|
||||
|
||||
.auth.theme-one .auto-form-wrapper .form-group .submit-btn {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 13px;
|
||||
padding: 12px 8px;
|
||||
font-weight: 600;
|
||||
@@ -29393,7 +29392,7 @@ div.tagsinput span.tag a {
|
||||
}
|
||||
|
||||
.auth.theme-two .auto-form-wrapper form .form-group .submit-btn {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 13px;
|
||||
padding: 11px 33px;
|
||||
font-weight: 600;
|
||||
@@ -29626,7 +29625,7 @@ div.tagsinput span.tag a {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
font-size: 0.9375rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
@@ -29771,7 +29770,7 @@ div.tagsinput span.tag a {
|
||||
}
|
||||
|
||||
.landing-page .feature-list .feature-list-row .feature-list-item .feature-description {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.landing-page .footer {
|
||||
@@ -29816,7 +29815,7 @@ div.tagsinput span.tag a {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
font-size: 0.9375rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
@@ -29855,7 +29854,7 @@ div.tagsinput span.tag a {
|
||||
.landing-page .footer .footer-bottom {
|
||||
color: var(--base-text);
|
||||
color: var(--white);
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.profile-page .profile-header {
|
||||
@@ -29868,14 +29867,14 @@ div.tagsinput span.tag a {
|
||||
|
||||
.profile-page .profile-header .profile-info .profile-user-name {
|
||||
margin-bottom: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 600;
|
||||
color: var(--base-text);
|
||||
}
|
||||
|
||||
.profile-page .profile-header .profile-info .profile-user-designation {
|
||||
margin-bottom: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
color: var(--base-text);
|
||||
color: var(--dropdown-bg);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
--blue: #00aeef;
|
||||
--indigo: #6610f2;
|
||||
--purple: #ab8ce4;
|
||||
--pink: #E91E63;
|
||||
--pink: #e91e63;
|
||||
--red: #ff0017;
|
||||
--orange: #fb9678;
|
||||
--yellow: #ffd500;
|
||||
@@ -31,12 +31,16 @@
|
||||
--warning: #ffaf00;
|
||||
--danger: #ff6258;
|
||||
--light: #fbfbfb;
|
||||
--dark: #252C46;
|
||||
--dark: #252c46;
|
||||
--breakpoint-xs: 0;
|
||||
--breakpoint-sm: 576px;
|
||||
--breakpoint-md: 768px;
|
||||
--breakpoint-lg: 992px;
|
||||
--breakpoint-xl: 1200px;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
}
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI",
|
||||
"Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans",
|
||||
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
||||
"Noto Color Emoji";
|
||||
--font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo,
|
||||
Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
}
|
||||
|
||||
@@ -28,6 +28,10 @@
|
||||
--breakpoint-md: 768px;
|
||||
--breakpoint-lg: 992px;
|
||||
--breakpoint-xl: 1200px;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
}
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI",
|
||||
"Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans",
|
||||
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
||||
"Noto Color Emoji";
|
||||
--font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo,
|
||||
Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
}
|
||||
|
||||
@@ -133,8 +133,7 @@
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
@import url("/static/assets/fonts/Atikinson_Hyperlegible_Next/AtkinsonHyperlegibleMono-VariableFont_wght.ttf");
|
||||
@import url("/static/assets/fonts/Atikinson_Hyperlegible_Next/AtkinsonHyperlegibleNext-VariableFont_wght.ttf");
|
||||
@import url("/static/assets/fonts/Atkinson_Hyperlegible_Next/AtkinsonHyperlegible.css");
|
||||
|
||||
:root {
|
||||
--blue: #00aeef;
|
||||
@@ -178,8 +177,8 @@
|
||||
--breakpoint-md: 768px;
|
||||
--breakpoint-lg: 992px;
|
||||
--breakpoint-xl: 1200px;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--font-family-monospace: "Atikinson Hyperlegible Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
}
|
||||
|
||||
*,
|
||||
@@ -211,7 +210,7 @@ section {
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
@@ -8504,7 +8503,7 @@ a.close.disabled {
|
||||
z-index: 1070;
|
||||
display: block;
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
@@ -8629,7 +8628,7 @@ a.close.disabled {
|
||||
z-index: 1060;
|
||||
display: block;
|
||||
max-width: 276px;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
@@ -13958,7 +13957,7 @@ input:focus {
|
||||
:root,
|
||||
body {
|
||||
font-size: 1rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
color: #212529;
|
||||
}
|
||||
|
||||
@@ -13974,7 +13973,7 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-stretch: normal;
|
||||
@@ -14150,7 +14149,7 @@ address p {
|
||||
}
|
||||
|
||||
.card-title {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 500;
|
||||
color: #212229;
|
||||
margin-bottom: 15px;
|
||||
@@ -14164,14 +14163,14 @@ address p {
|
||||
|
||||
.card-subtitle {
|
||||
font-weight: 300;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
margin-top: 0.625rem;
|
||||
margin-bottom: 0.625rem;
|
||||
}
|
||||
|
||||
.card-description {
|
||||
margin-bottom: 0.9375rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.rtl .card-description {
|
||||
@@ -14986,7 +14985,7 @@ pre {
|
||||
|
||||
.card-revenue-table .revenue-item .revenue-amount p {
|
||||
font-size: 1.25rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 600;
|
||||
text-align: right;
|
||||
}
|
||||
@@ -15003,7 +15002,7 @@ pre {
|
||||
|
||||
.card-revenue .highlight-text {
|
||||
font-size: 1.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
@@ -15978,7 +15977,7 @@ pre {
|
||||
font-weight: initial;
|
||||
line-height: 1;
|
||||
padding: 4px 6px;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.04rem;
|
||||
}
|
||||
@@ -16415,7 +16414,7 @@ pre {
|
||||
.wizard>.actions a {
|
||||
font-size: 0.875rem;
|
||||
line-height: 1;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.btn i,
|
||||
@@ -18583,7 +18582,7 @@ pre {
|
||||
.typeahead {
|
||||
display: inline-block;
|
||||
border: 1px solid #dee2e6;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.75rem;
|
||||
color: #212529;
|
||||
padding: 0 .75rem;
|
||||
@@ -18721,7 +18720,7 @@ select.typeahead {
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
padding: 15px;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
@@ -21128,7 +21127,7 @@ ul li {
|
||||
}
|
||||
|
||||
.preview-list .preview-item .preview-item-content p .content-category {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
padding-right: 15px;
|
||||
border-right: 1px solid #dee2e6;
|
||||
}
|
||||
@@ -21190,7 +21189,7 @@ ul li {
|
||||
.pricing-table .pricing-card .pricing-card-body .plan-features li {
|
||||
text-align: left;
|
||||
padding: 4px 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
@@ -21204,7 +21203,7 @@ ul li {
|
||||
.jsgrid .jsgrid-table thead th {
|
||||
border-top: 0;
|
||||
border-bottom-width: 1px;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 500;
|
||||
color: #212529;
|
||||
border-bottom-color: #dee2e6;
|
||||
@@ -21371,7 +21370,7 @@ ul li {
|
||||
/* Tabs */
|
||||
.nav-pills .nav-item .nav-link,
|
||||
.nav-tabs .nav-item .nav-link {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
line-height: 1;
|
||||
font-size: 0.875rem;
|
||||
color: #212529;
|
||||
@@ -21387,7 +21386,7 @@ ul li {
|
||||
}
|
||||
|
||||
.tab-content {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.875rem;
|
||||
line-height: 1.71;
|
||||
}
|
||||
@@ -21870,7 +21869,7 @@ ul li {
|
||||
}
|
||||
|
||||
.settings-panel .events p {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.rtl .settings-panel .events p {
|
||||
@@ -22103,7 +22102,7 @@ ul li {
|
||||
}
|
||||
|
||||
.tooltip .tooltip-inner {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.tooltip-primary .tooltip-inner {
|
||||
@@ -22980,7 +22979,7 @@ ul li {
|
||||
padding: 11px 25px;
|
||||
background: rgba(33, 150, 243, 0.2);
|
||||
width: 80%;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 13px;
|
||||
font-weight: 300;
|
||||
border-radius: 4px;
|
||||
@@ -22988,7 +22987,7 @@ ul li {
|
||||
|
||||
.horizontal-timeline .time-frame .event .event-info {
|
||||
margin-top: 0.8rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: var(--gray);
|
||||
@@ -24109,7 +24108,7 @@ ul li {
|
||||
font-size: 0.875rem;
|
||||
color: var(--gray);
|
||||
margin-bottom: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.email-wrapper .mail-sidebar .menu-bar .online-status .status {
|
||||
@@ -24191,7 +24190,7 @@ ul li {
|
||||
|
||||
.email-wrapper .mail-sidebar .menu-bar .profile-list-item a .user .u-name {
|
||||
margin: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 0.875rem;
|
||||
line-height: 1;
|
||||
color: #212529;
|
||||
@@ -24253,7 +24252,7 @@ ul li {
|
||||
.email-wrapper .mail-list-container .mail-list .content .sender-name {
|
||||
margin-bottom: 0;
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 500;
|
||||
max-width: 95%;
|
||||
}
|
||||
@@ -24308,17 +24307,17 @@ ul li {
|
||||
|
||||
.email-wrapper .message-body .sender-details .details .msg-subject {
|
||||
margin-bottom: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.email-wrapper .message-body .sender-details .details .sender-email {
|
||||
margin-bottom: 20px;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.email-wrapper .message-body .sender-details .details .sender-email i {
|
||||
font-size: 1rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
margin: 0 1px 0 7px;
|
||||
}
|
||||
|
||||
@@ -24446,7 +24445,7 @@ ul li {
|
||||
left: 50%;
|
||||
z-index: 1000;
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: initial;
|
||||
line-height: 1.85;
|
||||
border-radius: 10px;
|
||||
@@ -24456,7 +24455,7 @@ ul li {
|
||||
|
||||
.avgrund-popin p {
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: initial;
|
||||
}
|
||||
|
||||
@@ -24537,7 +24536,7 @@ body.avgrund-active {
|
||||
.tour-tour {
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
@@ -24545,7 +24544,7 @@ body.avgrund-active {
|
||||
background: var(--primary);
|
||||
var(--base-text);
|
||||
font-size: 0.8125rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
padding: 0.75rem;
|
||||
}
|
||||
|
||||
@@ -25080,7 +25079,7 @@ body.avgrund-active {
|
||||
|
||||
.datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.dow,
|
||||
.datepicker.datepicker-inline .datepicker-days table.table-condensed thead tr th.dow {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
color: var(--gray);
|
||||
font-size: 0.875rem;
|
||||
font-weight: initial;
|
||||
@@ -25512,7 +25511,7 @@ body.avgrund-active {
|
||||
|
||||
.jsgrid .jsgrid-table th {
|
||||
font-weight: initial;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
border-top-color: #dee2e6;
|
||||
}
|
||||
|
||||
@@ -25691,7 +25690,7 @@ body.avgrund-active {
|
||||
}
|
||||
|
||||
.noUi-target .noUi-base .noUi-origin .noUi-handle .noUi-tooltip {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
line-height: 1;
|
||||
@@ -25718,7 +25717,7 @@ body.avgrund-active {
|
||||
.noUi-target .noUi-pips .noUi-value {
|
||||
color: #212529;
|
||||
font-size: 0.94rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
/* Slider Color variations */
|
||||
@@ -26237,7 +26236,7 @@ body.avgrund-active {
|
||||
.swal2-modal .swal2-title {
|
||||
font-size: 25px;
|
||||
line-height: 1;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
color: #212529;
|
||||
font-weight: initial;
|
||||
margin-bottom: 0;
|
||||
@@ -26276,7 +26275,7 @@ body.avgrund-active {
|
||||
|
||||
.swal2-modal .swal2-content {
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
color: #212529;
|
||||
font-weight: initial;
|
||||
margin-top: 11px;
|
||||
@@ -26683,7 +26682,7 @@ div.tagsinput span.tag a {
|
||||
text-decoration: none;
|
||||
border-radius: 5px;
|
||||
font-size: 0.875rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.wizard>.steps a:hover {
|
||||
@@ -27123,7 +27122,7 @@ div.tagsinput span.tag a {
|
||||
}
|
||||
|
||||
.auth.theme-one .auto-form-wrapper .form-group .submit-btn {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 13px;
|
||||
padding: 12px 8px;
|
||||
font-weight: 600;
|
||||
@@ -27353,7 +27352,7 @@ div.tagsinput span.tag a {
|
||||
}
|
||||
|
||||
.auth.theme-two .auto-form-wrapper form .form-group .submit-btn {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-size: 13px;
|
||||
padding: 11px 33px;
|
||||
font-weight: 600;
|
||||
@@ -27578,7 +27577,7 @@ div.tagsinput span.tag a {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
font-size: 0.9375rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
@@ -27723,7 +27722,7 @@ div.tagsinput span.tag a {
|
||||
}
|
||||
|
||||
.landing-page .feature-list .feature-list-row .feature-list-item .feature-description {
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.landing-page .footer {
|
||||
@@ -27766,7 +27765,7 @@ div.tagsinput span.tag a {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
font-size: 0.9375rem;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
@@ -27804,7 +27803,7 @@ div.tagsinput span.tag a {
|
||||
|
||||
.landing-page .footer .footer-bottom {
|
||||
var(--base-text)fff;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
}
|
||||
|
||||
.profile-page .profile-header {
|
||||
@@ -27817,14 +27816,14 @@ div.tagsinput span.tag a {
|
||||
|
||||
.profile-page .profile-header .profile-info .profile-user-name {
|
||||
margin-bottom: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
font-weight: 600;
|
||||
var(--base-text);
|
||||
}
|
||||
|
||||
.profile-page .profile-header .profile-info .profile-user-designation {
|
||||
margin-bottom: 0;
|
||||
font-family: "Atikinson Hyperlegible Next", sans-serif;
|
||||
font-family: "Atkinson Hyperlegible Next", sans-serif;
|
||||
var(--base-text);
|
||||
}
|
||||
|
||||
|
||||
@@ -38,6 +38,10 @@
|
||||
--breakpoint-md: 768px;
|
||||
--breakpoint-lg: 992px;
|
||||
--breakpoint-xl: 1200px;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--font-family-monospace: "Atikinson Hyperlegible Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI",
|
||||
"Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans",
|
||||
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
||||
"Noto Color Emoji";
|
||||
--font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo,
|
||||
Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
}
|
||||
@@ -40,6 +40,10 @@ root,
|
||||
--breakpoint-md: 768px;
|
||||
--breakpoint-lg: 992px;
|
||||
--breakpoint-xl: 1200px;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--font-family-monospace: "Atikinson Hyperlegible Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI",
|
||||
"Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans",
|
||||
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
||||
"Noto Color Emoji";
|
||||
--font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo,
|
||||
Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
}
|
||||
@@ -38,6 +38,10 @@
|
||||
--breakpoint-md: 768px;
|
||||
--breakpoint-lg: 992px;
|
||||
--breakpoint-xl: 1200px;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--font-family-monospace: "Atikinson Hyperlegible Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI",
|
||||
"Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans",
|
||||
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
||||
"Noto Color Emoji";
|
||||
--font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo,
|
||||
Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
}
|
||||
@@ -31,12 +31,16 @@
|
||||
--warning: #ffaf00;
|
||||
--danger: #ff6258;
|
||||
--light: #fbfbfb;
|
||||
--dark: #252C46;
|
||||
--dark: #252c46;
|
||||
--breakpoint-xs: 0;
|
||||
--breakpoint-sm: 576px;
|
||||
--breakpoint-md: 768px;
|
||||
--breakpoint-lg: 992px;
|
||||
--breakpoint-xl: 1200px;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Atikinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--font-family-monospace: "Atikinson Hyperlegible Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI",
|
||||
"Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans",
|
||||
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
||||
"Noto Color Emoji";
|
||||
--font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo,
|
||||
Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
@font-face {
|
||||
font-family: "Atkinson Hyperlegible Mono";
|
||||
font-style: italic;
|
||||
src: url(AtkinsonHyperlegibleMono-Italic-VariableFont_wght.ttf);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Atkinson Hyperlegible Mono";
|
||||
src: url(AtkinsonHyperlegibleMono-VariableFont_wght.ttf);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Atkinson Hyperlegible Next";
|
||||
font-style: italic;
|
||||
src: url(AtkinsonHyperlegibleNext-Italic-VariableFont_wght.ttf);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Atkinson Hyperlegible Next";
|
||||
src: url(AtkinsonHyperlegibleNext-VariableFont_wght.ttf);
|
||||
}
|
||||
@@ -665,9 +665,6 @@
|
||||
"userTheme": "Motiv UI",
|
||||
"uses": "Počet povolených použití (-1==bez omezení)"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Heslo je příliš krátké. Minimální délka je 8 znaků"
|
||||
},
|
||||
"webhooks": {
|
||||
"areYouSureDel": "Seš si jistý že chceš smazat tento webhook?",
|
||||
"areYouSureRun": "Seš si jistý že chceš otestovat tento webhook?",
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
"yes": "Ja"
|
||||
},
|
||||
"base": {
|
||||
"doesNotWorkWithoutJavascript": "<strong>Warnung: </strong>Crafty funktioniert nicht richtig, wenn JavaScript nicht aktiviert ist!"
|
||||
"doesNotWorkWithoutJavascript": "<strong>Warnung: </strong>Crafty funktioniert nicht richtig, wenn JavaScript nicht aktiviert ist!",
|
||||
"createMFA": "Füge eine Zwei-Faktor-Authentifizierung zu deinem Konto hinzu!"
|
||||
},
|
||||
"credits": {
|
||||
"developmentTeam": "Entwicklungsteam",
|
||||
@@ -670,7 +671,6 @@
|
||||
"uses": "Anzahl der erlaubten Verwendungen (-1==Keine Begrenzung)"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Passwort zu kurz. Mindestlänge: 8",
|
||||
"typeInteger": "muss eine Zahl sein.",
|
||||
"typeList": "muss eine Liste (array) sein ",
|
||||
"roleManager": "Rollenmanager muss vom Typ Ganzzahl (Manager ID) oder ohne Wert sein",
|
||||
@@ -715,5 +715,11 @@
|
||||
"url": "Webhook-URL",
|
||||
"webhook_body": "Webhook-Inhalt",
|
||||
"webhooks": "Webhooks"
|
||||
},
|
||||
"configJson": {
|
||||
"allow_nsfw_profile_pictures": "Erlaube Gravatar™ NSFW Profilbilder",
|
||||
"big_bucket_repo": "Big Bucket™ System URL",
|
||||
"delete_default_json": "Standard-JSON-Datei beim Starten löschen",
|
||||
"enable_user_self_delete": "Erlaube Nutzern ihren eigenen Account zu löschen"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -680,9 +680,6 @@
|
||||
"userTheme": "Tema de Interfaz",
|
||||
"uses": "Número de usos permitidos. (Sin límite: -1)"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Contraseña demasiado corta. Longitud mínima: 8"
|
||||
},
|
||||
"webhooks": {
|
||||
"areYouSureDel": "¿Estás seguro de que quieres eliminar este webhook?",
|
||||
"areYouSureRun": "¿Estás seguro de que quieres probar este webhook?",
|
||||
|
||||
@@ -698,7 +698,6 @@
|
||||
"selfDisable": "Vous ne pouvez pas désactiver votre propre compte"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Mot de passe trop court. Longueur minimum : 8",
|
||||
"2FAerror": "Le code d'authentification multifacteur doit comporter 6 chiffres (ex. : 000000) ou un code de secours de 16 caractères séparés tous les 4 par un tiret (ex. : ABCD-EFGH-IJKL-MNOP)",
|
||||
"additionalProperties": "L'envoi de propriétés supplémentaires n'est pas autorisé",
|
||||
"roleManager": "Le gestionnaire de rôle doit être de type entier (ID du gestionnaire) ou None",
|
||||
@@ -722,7 +721,7 @@
|
||||
"filesPageLen": "La longueur doit être supérieure à 1 pour cette propriété",
|
||||
"insufficientPerms": "Erreur de permission : permissions manquantes pour cette ressource",
|
||||
"mfaName": "La saisie doit être une chaîne de caractères d'au moins 3 caractères pour ce champ",
|
||||
"numbericPassword": "Mot de passe numérique. Doit contenir au moins 1 caractère alphabétique"
|
||||
"passProp": "Le mot de passe doit être une chaîne comportant au minimum 8 caractères."
|
||||
},
|
||||
"webhooks": {
|
||||
"areYouSureDel": "Êtes-vous sûr de vouloir supprimer ce webhook ?",
|
||||
|
||||
@@ -664,9 +664,6 @@
|
||||
"userTheme": "ערכת נושא UI",
|
||||
"uses": "מספר השימושים המותרים (-1==ללא הגבלה)"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "סיסמא קצרה מדי. אורך מינימלי: 8"
|
||||
},
|
||||
"webhooks": {
|
||||
"areYouSureDel": "האם אתה בטוח שברצונך למחוק את ה-Webhook הזה?",
|
||||
"areYouSureRun": "האם אתה בטוח שברצונך לבדוק את ה-Webhook הזה?",
|
||||
|
||||
@@ -692,7 +692,6 @@
|
||||
"totpHeader": "Autenticazione a più fattori"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "La password è troppo corta. Lunghezza minima: 8",
|
||||
"enumErr": "Validazione fallita. Valori accettabili includono: ",
|
||||
"serverExeCommand": "Il comando di esecuzione del server dev’essere una stringa con lunghezza minima di 1.",
|
||||
"serverLogPath": "Il percorso del registro del server dev’essere una stringa con lunghezza minima di 1",
|
||||
|
||||
@@ -706,7 +706,6 @@
|
||||
"uses": "許可されている使用回数 (-1で無制限)"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "パスワードが短すぎます。最小文字数は8文字です。",
|
||||
"backupName": "バックアップ名は3文字以上の文字列である必要があります。",
|
||||
"enumErr": "データの検証に失敗しました。次を含む必要があります: ",
|
||||
"filesPageLen": "1文字以上である必要があります",
|
||||
|
||||
@@ -114,7 +114,6 @@
|
||||
"selfDisable": "자신의 계정을 비활성화할 수 없습니다"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "비밀번호가 너무 짧아요! (최소 길이: 8)",
|
||||
"taskIntervalType": "작업 반복 유형은 다음 중 하나여야 합니다: ",
|
||||
"typeBool": "'true' 또는 'false' 여야 합니다 (boolean 타입)",
|
||||
"backupName": "백업 이름은 문자여야 하며 최소 3자 이상이어야 합니다.",
|
||||
@@ -137,8 +136,7 @@
|
||||
"2FAerror": "다중 인증 코드는 6자리 숫자(예: 000000)이거나, 16자 문자열을 4글자씩 하이픈(-)으로 구분한 백업 코드(예: ABCD-EFGH-IJKL-MNOP)여야 합니다.",
|
||||
"totp": "MFA 코드는 6자리 숫자여야 합니다.",
|
||||
"additionalProperties": "추가 속성을 전달할 수 없습니다",
|
||||
"mfaName": "속성 입력은 문자열 유형과 3자 이상이어야 합니다",
|
||||
"numbericPassword": "최소 하나의 알파벳 문자가 필요합니다"
|
||||
"mfaName": "속성 입력은 문자열 유형과 3자 이상이어야 합니다"
|
||||
},
|
||||
"webhooks": {
|
||||
"trigger": "트리거",
|
||||
|
||||
@@ -670,7 +670,6 @@
|
||||
"uses": "NUMBER OV USES ALLOWED (-1==NO LIMIT)"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "PASSWRD TOO SMOL. NEEDZ 8 CATZ PLZ",
|
||||
"backupName": "BACKUP NAME GOTTA BE WURDZ, AT LEAST 3 FISH.",
|
||||
"enumErr": "OOFS IN VALIDATING. GOOD STUFF INCLUDES: ",
|
||||
"serverExeCommand": "SERVER EXECUTION COMMAND GOTTA BE WURDZ, AT LEAST 1 FISH LONG.",
|
||||
|
||||
@@ -669,7 +669,6 @@
|
||||
"uses": "Dauzums, cik reizes lietot (-1==Bez Limita)"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Parole pārāk īsa. Minimālais Garums: 8",
|
||||
"backupName": "Dublējuma nosaukumam jābūt tekstam (string) ar minimālo garumu 3.",
|
||||
"enumErr": "pārbaude neizdevās. Pieņemamie dati ietver: ",
|
||||
"filesPageLen": "garumam jābūt lielākam par 1 priekš vienības",
|
||||
|
||||
@@ -698,7 +698,6 @@
|
||||
"totpIdReq": "MFA ID vereist voor aanvraag"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Wachtwoord te kort. Minimumlengte: 8 tekens",
|
||||
"backupName": "De naam van de back-up moet een string zijn en een minimale lengte van 3 hebben.",
|
||||
"enumErr": "validatie mislukt. Accepteerbare gegevens zijn: ",
|
||||
"filesPageLen": "De lengte moet groter zijn dan 1 voor eigenschap",
|
||||
@@ -721,8 +720,7 @@
|
||||
"mfaName": "Invoer moet van het type string zijn en minstens 3 tekens bevatten voor dit veld",
|
||||
"additionalProperties": "Er mogen geen extra eigenschappen worden meegegeven",
|
||||
"totp": "MFA-code moet uit 6 cijfers bestaan",
|
||||
"2FAerror": "Multi-Factor code moet uit 6 cijfers bestaan (bijv. 000000) of een back-upcode van 16 tekens, gescheiden per 4 met een streepje (bijv. ABCD-EFGH-IJKL-MNOP)",
|
||||
"numbericPassword": "Numeriek wachtwoord. Moet minstens 1 alfabetisch teken bevatten"
|
||||
"2FAerror": "Multi-Factor code moet uit 6 cijfers bestaan (bijv. 000000) of een back-upcode van 16 tekens, gescheiden per 4 met een streepje (bijv. ABCD-EFGH-IJKL-MNOP)"
|
||||
},
|
||||
"webhooks": {
|
||||
"areYouSureDel": "Weet u zeker dat u deze webhook wilt verwijderen?",
|
||||
|
||||
@@ -692,7 +692,6 @@
|
||||
"backupName": "Back-upnaam moet een string zijn en een minimumlengte van 3 hebben.",
|
||||
"filesPageLen": "lengte moet groter zijn dan 1 voor eigenschap",
|
||||
"insufficientPerms": "Toestemmingsfout: Ontbrekende rechten voor deze bron",
|
||||
"passLength": "Wachtwoord Te Kort. Minimumlengte: 8",
|
||||
"roleName": "De rolnaam moet een string zijn die groter is dan 1 teken. Deze mag geen van de volgende symbolen bevatten: [], ",
|
||||
"roleServerId": "De eigenschap van Server-ID moet een string zijn met een minimumlengte van 1",
|
||||
"roleServerPerms": "Servertoestemmingen moeten een 8-bits string zijn",
|
||||
@@ -707,7 +706,7 @@
|
||||
"totp": "MFA-code moet 6 nummers zijn",
|
||||
"mfaName": "Invoer moet van type String zijn van minstens 3 karakters voor deze eigenschap",
|
||||
"additionalProperties": "Aanvullende Eigenschappen mogen niet meegestuurd worden",
|
||||
"numbericPassword": "Numeriek Wachtwoord. Vereist minstens 1 alfabetisch karakter"
|
||||
"passProp": "Wachtwoord moet tekst zijn met een minimale lengte van 8 karakters."
|
||||
},
|
||||
"serverMetrics": {
|
||||
"zoomHint1": "Om in te zoomen op de grafiek, houdt je de shift-toets ingedrukt en gebruik je vervolgens je scrollwiel.",
|
||||
|
||||
@@ -684,9 +684,6 @@
|
||||
"changePass": "Zmień hasło",
|
||||
"changeUser": "Zmień nazwę użytkownika"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Hasło jest zbyt krótkie. Hasło musi mieć minimum 8 znaków."
|
||||
},
|
||||
"webhooks": {
|
||||
"areYouSureDel": "Usunąć ten webhook?",
|
||||
"areYouSureRun": "Przetestować ten webhook?",
|
||||
|
||||
@@ -698,7 +698,6 @@
|
||||
"selfDisable": "Вы не можете отключить свою собственную учетную запись"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Пароль слишком короткий. Минимальная длина: 8",
|
||||
"roleManager": "Роль менеджера должна быть типа integer (ID менеджера) или None",
|
||||
"filesPageLen": "длина свойства должна быть больше 1",
|
||||
"serverCreateName": "Имя сервера должно быть строкой длиной не менее 2-х символов и не должно содержать: \\ / или # ",
|
||||
@@ -722,7 +721,7 @@
|
||||
"totp": "MFA код должен состоять из 6 цифр",
|
||||
"additionalProperties": "Передача дополнительных свойств запрещена",
|
||||
"mfaName": "Вводимые данные должны быть строкой и содержать минимум 3 символа для свойства",
|
||||
"numbericPassword": "Цифровой пароль должен содержать как минимум 1 буквенный символ"
|
||||
"passProp": "Пароль должен быть строкой и не менее 8 символов."
|
||||
},
|
||||
"webhooks": {
|
||||
"areYouSureDel": "Вы уверены, что хотите удалить этот вебхук?",
|
||||
|
||||
@@ -692,7 +692,6 @@
|
||||
"totpIdReq": "จำเป็นต้องมี TOTP ID เพื่อขอการร้องขอ"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "รหัสผ่านสั้นเกินไป จำนวนตัวอักขระขั้นต่ำ: 8",
|
||||
"roleManager": "ผู้จัดการบทบาทต้องเป็นประเภทจำนวนเต็ม (ID ผู้จัดการ) หรือเป็น None",
|
||||
"roleName": "ชื่อบทบาทต้องเป็นสตริงที่มีความยาวมากกว่า 1 ตัวอักษร และต้องไม่มีสัญลักษณ์ใด ๆ ดังนี้: [ ] , ",
|
||||
"filesPageLen": "ความยาวต้องมากกว่า 1 สำหรับคุณสมบัติ",
|
||||
|
||||
@@ -698,7 +698,6 @@
|
||||
"selfDisable": "Kendi hesabınızı devre dışı bırakamazsınız"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Şifre çok kısa. Şifre en az 8 karakter olmalı.",
|
||||
"serverLogPath": "Sunucu günlük yolu en az 1 uzunluğundaki bir dize olmalıdır",
|
||||
"roleName": "Rol adı 1 karakterden büyük bir dize olmalıdır. Ayrıca şu sembollerden herhangi birini içermemelidir: [ ] , ",
|
||||
"typeList": "liste/dizi türünde olmalıdır ",
|
||||
@@ -721,8 +720,7 @@
|
||||
"typeString": "dize türünde olmalıdır.",
|
||||
"userName": " dize türünde, tümü KÜÇÜK HARF, en az 4 karakter ve en fazla 20 karakter olmalıdır",
|
||||
"additionalProperties": "Ek Özelliklerin geçirilmesine izin verilmez",
|
||||
"mfaName": "Özellik için girdi, dize türünde olmalı ve en az 3 karakter içermelidir",
|
||||
"numbericPassword": "Sayısal şifre. En az 1 alfabetik karakter içermelidir"
|
||||
"mfaName": "Özellik için girdi, dize türünde olmalı ve en az 3 karakter içermelidir"
|
||||
},
|
||||
"webhooks": {
|
||||
"areYouSureDel": "Bu webhooku silmek istediğinizden emin misiniz?",
|
||||
|
||||
@@ -698,8 +698,6 @@
|
||||
"selfDisable": "Ти не можеш вимкнути свій аккаунт"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "Пароль, надто короткий. Мінімальна довжина: 8 символів",
|
||||
"numbericPassword": "Пароль складається з цифр. Повинен містити хоча одну літеру",
|
||||
"enumErr": "помилка валідації. Прийнятні дані включають: ",
|
||||
"insufficientPerms": "Помилка доступу: Відсутній доступ до цього ресурсу",
|
||||
"roleServerId": "Властивість Server ID має бути рядком з мінімальною довжиною 1",
|
||||
|
||||
@@ -698,7 +698,6 @@
|
||||
"selfDisable": "您不能禁用您自己的账号"
|
||||
},
|
||||
"validators": {
|
||||
"passLength": "密码过短。最短长度:8",
|
||||
"backupName": "备份名称必须为字符串,且最短长度为 3。",
|
||||
"filesPageLen": "属性的长度必须大于 1",
|
||||
"typeList": "必须为列表/数组类型 ",
|
||||
@@ -722,7 +721,7 @@
|
||||
"totp": "MFA 代码必须为 6 个数字",
|
||||
"additionalProperties": "不允许传递额外属性",
|
||||
"mfaName": "输入的属性必须为字符串类型,且最短为 3 个字符",
|
||||
"numbericPassword": "纯数字密码。需要至少 1 个字母"
|
||||
"passProp": "密码必须为最短 8 个字符的字符串。"
|
||||
},
|
||||
"webhooks": {
|
||||
"areYouSureDel": "您确定要删除此 webhook 吗?",
|
||||
|
||||
Reference in New Issue
Block a user