mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
Run pre-commit-config and apply it
This commit is contained in:
parent
5d30e94351
commit
6c9dcc586f
11 changed files with 264 additions and 266 deletions
|
|
@ -17,7 +17,7 @@ repos:
|
|||
- id: check-case-conflict
|
||||
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 8fe627072f15ff2e3d380887b92f7868efaf6d05 # frozen: 24.4.0
|
||||
rev: 3702ba224ecffbcec30af640c149f231d90aebdb # frozen: 24.4.2
|
||||
hooks:
|
||||
- id: black
|
||||
name: Black Python Formatter
|
||||
|
|
@ -61,7 +61,7 @@ repos:
|
|||
hooks:
|
||||
- id: codespell
|
||||
name: Codespell Spell Checker
|
||||
exclude: (^src/(ui/templates|common/core/.+/files|bw/loading)/.+.html|modsecurity-rules.conf.*)$
|
||||
exclude: (^src/(ui/templates|common/core/.+/files|bw/loading)/.+.html|modsecurity-rules.conf.*|src/ui/static/js/lottie-web.min.js)$
|
||||
entry: codespell --ignore-regex="(tabEl|Widgits)" --skip src/ui/static/js/utils/flatpickr.js,src/ui/static/css/style.css,CHANGELOG.md
|
||||
language: python
|
||||
types: [text]
|
||||
|
|
|
|||
|
|
@ -13,8 +13,10 @@ README.md
|
|||
SECURITY.md
|
||||
tsparticles.bundle.min.js
|
||||
flatpickr.*
|
||||
src/ui/static/js/lottie-web.min.js
|
||||
src/ui/static/js/editor/*
|
||||
src/ui/static/js/utils/purify/*
|
||||
src/ui/static/json/particles.json
|
||||
src/ui/templates/*
|
||||
src/common/core/*/ui/*
|
||||
datepicker-foundation.css
|
||||
|
|
|
|||
|
|
@ -1204,6 +1204,6 @@ You can easily deploy BunkerWeb on your Azure subscription in several ways:
|
|||
|
||||
Login in [Azure portal](https://portal.azure.com){:target="_blank"}.
|
||||
|
||||
Get BunkerWeb from the [Create ressource menu](https://portal.azure.com/#view/Microsoft_Azure_Marketplace/GalleryItemDetailsBladeNopdl/id/bunkerity.bunkerweb){:target="_blank"}.
|
||||
Get BunkerWeb from the [Create resource menu](https://portal.azure.com/#view/Microsoft_Azure_Marketplace/GalleryItemDetailsBladeNopdl/id/bunkerity.bunkerweb){:target="_blank"}.
|
||||
|
||||
You can also go through the [Marketplace](https://azuremarketplace.microsoft.com/fr-fr/marketplace/apps/bunkerity.bunkerweb?tab=Overview){:target="_blank"}.
|
||||
You can also go through the [Marketplace](https://azuremarketplace.microsoft.com/fr-fr/marketplace/apps/bunkerity.bunkerweb?tab=Overview){:target="_blank"}.
|
||||
|
|
|
|||
|
|
@ -253,10 +253,11 @@ STREAM support :white_check_mark:
|
|||
|
||||
Integrate easily the Database.
|
||||
|
||||
| Setting | Default |Context|Multiple| Description |
|
||||
|--------------------|-----------------------------------------|-------|--------|--------------------------------------------------|
|
||||
|`DATABASE_URI` |`sqlite:////var/lib/bunkerweb/db.sqlite3`|global |no |The database URI, following the sqlalchemy format.|
|
||||
|`DATABASE_LOG_LEVEL`|`warning` |global |no |The level to use for database logs. |
|
||||
| Setting | Default |Context|Multiple| Description |
|
||||
|-----------------------|-----------------------------------------|-------|--------|-----------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|`DATABASE_URI` |`sqlite:////var/lib/bunkerweb/db.sqlite3`|global |no |The database URI, following the sqlalchemy format. |
|
||||
|`DATABASE_URI_READONLY`| |global |no |The database URI for read-only operations, it can also serve as a fallback if the main database is down. Following the sqlalchemy format.|
|
||||
|`DATABASE_LOG_LEVEL` |`warning` |global |no |The level to use for database logs. |
|
||||
|
||||
## DNSBL
|
||||
|
||||
|
|
|
|||
|
|
@ -1,236 +1,232 @@
|
|||
{
|
||||
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"parameters": {
|
||||
"location": {
|
||||
"type": "string"
|
||||
},
|
||||
"networkInterfaceName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"networkSecurityGroupName": {
|
||||
"type": "string"
|
||||
},
|
||||
"networkSecurityGroupRules": {
|
||||
"type": "array"
|
||||
},
|
||||
"subnetName": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualNetworkName": {
|
||||
"type": "string"
|
||||
},
|
||||
"addressPrefixes": {
|
||||
"type": "array"
|
||||
},
|
||||
"subnets": {
|
||||
"type": "array"
|
||||
},
|
||||
"publicIpAddressName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"publicIpAddressType": {
|
||||
"type": "string"
|
||||
},
|
||||
"publicIpAddressSku": {
|
||||
"type": "string"
|
||||
},
|
||||
"pipDeleteOption": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineName": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineComputerName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineRG": {
|
||||
"type": "string"
|
||||
},
|
||||
"osDiskType": {
|
||||
"type": "string"
|
||||
},
|
||||
"osDiskDeleteOption": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineSize": {
|
||||
"type": "string"
|
||||
},
|
||||
"nicDeleteOption": {
|
||||
"type": "string"
|
||||
},
|
||||
"hibernationEnabled": {
|
||||
"type": "bool"
|
||||
},
|
||||
"adminUsername": {
|
||||
"type": "string"
|
||||
},
|
||||
"securityType": {
|
||||
"type": "string"
|
||||
},
|
||||
"secureBoot": {
|
||||
"type": "bool"
|
||||
},
|
||||
"vTPM": {
|
||||
"type": "bool"
|
||||
},
|
||||
"virtualMachine1Zone": {
|
||||
"type": "string"
|
||||
}
|
||||
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"parameters": {
|
||||
"location": {
|
||||
"type": "string"
|
||||
},
|
||||
"variables": {
|
||||
"nsgId": "[resourceId(resourceGroup().name, 'Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroupName'))]",
|
||||
"vnetName": "[parameters('virtualNetworkName')]",
|
||||
"vnetId": "[resourceId(resourceGroup().name,'Microsoft.Network/virtualNetworks', parameters('virtualNetworkName'))]",
|
||||
"subnetRef": "[concat(variables('vnetId'), '/subnets/', parameters('subnetName'))]"
|
||||
"networkInterfaceName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"name": "[parameters('networkInterfaceName1')]",
|
||||
"type": "Microsoft.Network/networkInterfaces",
|
||||
"apiVersion": "2022-11-01",
|
||||
"location": "[parameters('location')]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Network/networkSecurityGroups/', parameters('networkSecurityGroupName'))]",
|
||||
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]",
|
||||
"[concat('Microsoft.Network/publicIpAddresses/', parameters('publicIpAddressName1'))]"
|
||||
],
|
||||
"properties": {
|
||||
"ipConfigurations": [
|
||||
{
|
||||
"name": "ipconfig1",
|
||||
"properties": {
|
||||
"subnet": {
|
||||
"id": "[variables('subnetRef')]"
|
||||
},
|
||||
"privateIPAllocationMethod": "Dynamic",
|
||||
"publicIpAddress": {
|
||||
"id": "[resourceId(resourceGroup().name, 'Microsoft.Network/publicIpAddresses', parameters('publicIpAddressName1'))]",
|
||||
"properties": {
|
||||
"deleteOption": "[parameters('pipDeleteOption')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"networkSecurityGroup": {
|
||||
"id": "[variables('nsgId')]"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "[parameters('networkSecurityGroupName')]",
|
||||
"type": "Microsoft.Network/networkSecurityGroups",
|
||||
"apiVersion": "2020-05-01",
|
||||
"location": "[parameters('location')]",
|
||||
"properties": {
|
||||
"securityRules": "[parameters('networkSecurityGroupRules')]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "[parameters('virtualNetworkName')]",
|
||||
"type": "Microsoft.Network/virtualNetworks",
|
||||
"apiVersion": "2023-02-01",
|
||||
"location": "[parameters('location')]",
|
||||
"properties": {
|
||||
"addressSpace": {
|
||||
"addressPrefixes": "[parameters('addressPrefixes')]"
|
||||
},
|
||||
"subnets": "[parameters('subnets')]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "[parameters('publicIpAddressName1')]",
|
||||
"type": "Microsoft.Network/publicIpAddresses",
|
||||
"apiVersion": "2020-08-01",
|
||||
"location": "[parameters('location')]",
|
||||
"properties": {
|
||||
"publicIpAllocationMethod": "[parameters('publicIpAddressType')]"
|
||||
},
|
||||
"sku": {
|
||||
"name": "[parameters('publicIpAddressSku')]"
|
||||
},
|
||||
"zones": [
|
||||
"[parameters('virtualMachine1Zone')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "[parameters('virtualMachineName1')]",
|
||||
"type": "Microsoft.Compute/virtualMachines",
|
||||
"apiVersion": "2024-03-01",
|
||||
"location": "[parameters('location')]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName1'))]"
|
||||
],
|
||||
"properties": {
|
||||
"hardwareProfile": {
|
||||
"vmSize": "[parameters('virtualMachineSize')]"
|
||||
},
|
||||
"storageProfile": {
|
||||
"osDisk": {
|
||||
"createOption": "fromImage",
|
||||
"managedDisk": {
|
||||
"storageAccountType": "[parameters('osDiskType')]"
|
||||
},
|
||||
"deleteOption": "[parameters('osDiskDeleteOption')]"
|
||||
},
|
||||
"imageReference": {
|
||||
"publisher": "bunkerity",
|
||||
"offer": "bunkerweb",
|
||||
"sku": "bunkerweb",
|
||||
"version": "latest"
|
||||
}
|
||||
},
|
||||
"networkProfile": {
|
||||
"networkInterfaces": [
|
||||
{
|
||||
"id": "[resourceId('Microsoft.Network/networkInterfaces', parameters('networkInterfaceName1'))]",
|
||||
"properties": {
|
||||
"deleteOption": "[parameters('nicDeleteOption')]"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"additionalCapabilities": {
|
||||
"hibernationEnabled": false
|
||||
},
|
||||
"osProfile": {
|
||||
"computerName": "[parameters('virtualMachineComputerName1')]",
|
||||
"adminUsername": "[parameters('adminUsername')]",
|
||||
"linuxConfiguration": {
|
||||
"disablePasswordAuthentication": true
|
||||
}
|
||||
},
|
||||
"securityProfile": {
|
||||
"securityType": "[parameters('securityType')]",
|
||||
"uefiSettings": {
|
||||
"secureBootEnabled": "[parameters('secureBoot')]",
|
||||
"vTpmEnabled": "[parameters('vTPM')]"
|
||||
}
|
||||
},
|
||||
"diagnosticsProfile": {
|
||||
"bootDiagnostics": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"plan": {
|
||||
"name": "bunkerweb",
|
||||
"publisher": "bunkerity",
|
||||
"product": "bunkerweb"
|
||||
},
|
||||
"zones": [
|
||||
"[parameters('virtualMachine1Zone')]"
|
||||
]
|
||||
}
|
||||
],
|
||||
"outputs": {
|
||||
"adminUsername": {
|
||||
"type": "string",
|
||||
"value": "[parameters('adminUsername')]"
|
||||
}
|
||||
"networkSecurityGroupName": {
|
||||
"type": "string"
|
||||
},
|
||||
"networkSecurityGroupRules": {
|
||||
"type": "array"
|
||||
},
|
||||
"subnetName": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualNetworkName": {
|
||||
"type": "string"
|
||||
},
|
||||
"addressPrefixes": {
|
||||
"type": "array"
|
||||
},
|
||||
"subnets": {
|
||||
"type": "array"
|
||||
},
|
||||
"publicIpAddressName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"publicIpAddressType": {
|
||||
"type": "string"
|
||||
},
|
||||
"publicIpAddressSku": {
|
||||
"type": "string"
|
||||
},
|
||||
"pipDeleteOption": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineName": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineComputerName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineRG": {
|
||||
"type": "string"
|
||||
},
|
||||
"osDiskType": {
|
||||
"type": "string"
|
||||
},
|
||||
"osDiskDeleteOption": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineSize": {
|
||||
"type": "string"
|
||||
},
|
||||
"nicDeleteOption": {
|
||||
"type": "string"
|
||||
},
|
||||
"hibernationEnabled": {
|
||||
"type": "bool"
|
||||
},
|
||||
"adminUsername": {
|
||||
"type": "string"
|
||||
},
|
||||
"securityType": {
|
||||
"type": "string"
|
||||
},
|
||||
"secureBoot": {
|
||||
"type": "bool"
|
||||
},
|
||||
"vTPM": {
|
||||
"type": "bool"
|
||||
},
|
||||
"virtualMachine1Zone": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"variables": {
|
||||
"nsgId": "[resourceId(resourceGroup().name, 'Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroupName'))]",
|
||||
"vnetName": "[parameters('virtualNetworkName')]",
|
||||
"vnetId": "[resourceId(resourceGroup().name,'Microsoft.Network/virtualNetworks', parameters('virtualNetworkName'))]",
|
||||
"subnetRef": "[concat(variables('vnetId'), '/subnets/', parameters('subnetName'))]"
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"name": "[parameters('networkInterfaceName1')]",
|
||||
"type": "Microsoft.Network/networkInterfaces",
|
||||
"apiVersion": "2022-11-01",
|
||||
"location": "[parameters('location')]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Network/networkSecurityGroups/', parameters('networkSecurityGroupName'))]",
|
||||
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]",
|
||||
"[concat('Microsoft.Network/publicIpAddresses/', parameters('publicIpAddressName1'))]"
|
||||
],
|
||||
"properties": {
|
||||
"ipConfigurations": [
|
||||
{
|
||||
"name": "ipconfig1",
|
||||
"properties": {
|
||||
"subnet": {
|
||||
"id": "[variables('subnetRef')]"
|
||||
},
|
||||
"privateIPAllocationMethod": "Dynamic",
|
||||
"publicIpAddress": {
|
||||
"id": "[resourceId(resourceGroup().name, 'Microsoft.Network/publicIpAddresses', parameters('publicIpAddressName1'))]",
|
||||
"properties": {
|
||||
"deleteOption": "[parameters('pipDeleteOption')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"networkSecurityGroup": {
|
||||
"id": "[variables('nsgId')]"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "[parameters('networkSecurityGroupName')]",
|
||||
"type": "Microsoft.Network/networkSecurityGroups",
|
||||
"apiVersion": "2020-05-01",
|
||||
"location": "[parameters('location')]",
|
||||
"properties": {
|
||||
"securityRules": "[parameters('networkSecurityGroupRules')]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "[parameters('virtualNetworkName')]",
|
||||
"type": "Microsoft.Network/virtualNetworks",
|
||||
"apiVersion": "2023-02-01",
|
||||
"location": "[parameters('location')]",
|
||||
"properties": {
|
||||
"addressSpace": {
|
||||
"addressPrefixes": "[parameters('addressPrefixes')]"
|
||||
},
|
||||
"subnets": "[parameters('subnets')]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "[parameters('publicIpAddressName1')]",
|
||||
"type": "Microsoft.Network/publicIpAddresses",
|
||||
"apiVersion": "2020-08-01",
|
||||
"location": "[parameters('location')]",
|
||||
"properties": {
|
||||
"publicIpAllocationMethod": "[parameters('publicIpAddressType')]"
|
||||
},
|
||||
"sku": {
|
||||
"name": "[parameters('publicIpAddressSku')]"
|
||||
},
|
||||
"zones": ["[parameters('virtualMachine1Zone')]"]
|
||||
},
|
||||
{
|
||||
"name": "[parameters('virtualMachineName1')]",
|
||||
"type": "Microsoft.Compute/virtualMachines",
|
||||
"apiVersion": "2024-03-01",
|
||||
"location": "[parameters('location')]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName1'))]"
|
||||
],
|
||||
"properties": {
|
||||
"hardwareProfile": {
|
||||
"vmSize": "[parameters('virtualMachineSize')]"
|
||||
},
|
||||
"storageProfile": {
|
||||
"osDisk": {
|
||||
"createOption": "fromImage",
|
||||
"managedDisk": {
|
||||
"storageAccountType": "[parameters('osDiskType')]"
|
||||
},
|
||||
"deleteOption": "[parameters('osDiskDeleteOption')]"
|
||||
},
|
||||
"imageReference": {
|
||||
"publisher": "bunkerity",
|
||||
"offer": "bunkerweb",
|
||||
"sku": "bunkerweb",
|
||||
"version": "latest"
|
||||
}
|
||||
},
|
||||
"networkProfile": {
|
||||
"networkInterfaces": [
|
||||
{
|
||||
"id": "[resourceId('Microsoft.Network/networkInterfaces', parameters('networkInterfaceName1'))]",
|
||||
"properties": {
|
||||
"deleteOption": "[parameters('nicDeleteOption')]"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"additionalCapabilities": {
|
||||
"hibernationEnabled": false
|
||||
},
|
||||
"osProfile": {
|
||||
"computerName": "[parameters('virtualMachineComputerName1')]",
|
||||
"adminUsername": "[parameters('adminUsername')]",
|
||||
"linuxConfiguration": {
|
||||
"disablePasswordAuthentication": true
|
||||
}
|
||||
},
|
||||
"securityProfile": {
|
||||
"securityType": "[parameters('securityType')]",
|
||||
"uefiSettings": {
|
||||
"secureBootEnabled": "[parameters('secureBoot')]",
|
||||
"vTpmEnabled": "[parameters('vTPM')]"
|
||||
}
|
||||
},
|
||||
"diagnosticsProfile": {
|
||||
"bootDiagnostics": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"plan": {
|
||||
"name": "bunkerweb",
|
||||
"publisher": "bunkerity",
|
||||
"product": "bunkerweb"
|
||||
},
|
||||
"zones": ["[parameters('virtualMachine1Zone')]"]
|
||||
}
|
||||
],
|
||||
"outputs": {
|
||||
"adminUsername": {
|
||||
"type": "string",
|
||||
"value": "[parameters('adminUsername')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
from contextlib import suppress
|
||||
from json import loads
|
||||
from glob import glob
|
||||
from os import sep
|
||||
|
|
@ -7,7 +8,7 @@ from os.path import join
|
|||
def get_ui_templates():
|
||||
ui_templates = []
|
||||
for template_file in glob(join(sep, "usr", "share", "bunkerweb", "templates", "*.json")):
|
||||
try:
|
||||
with suppress(BaseException): # TODO: log exceptions
|
||||
ui_template = {}
|
||||
with open(template_file, "r") as f:
|
||||
bw_template = loads(f.read())
|
||||
|
|
@ -23,9 +24,5 @@ def get_ui_templates():
|
|||
ui_step["settings"].append(ui_setting)
|
||||
ui_template["steps"].append(ui_step)
|
||||
ui_templates.append(ui_template)
|
||||
except Exception as e:
|
||||
# print(e)
|
||||
# TODO: log
|
||||
pass
|
||||
# print(ui_templates, flush=True)
|
||||
return ui_templates
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ class News {
|
|||
) {
|
||||
sessionStorage.setItem(
|
||||
"lastRefetch",
|
||||
Math.round(new Date().getTime() / 1000) + 3600
|
||||
Math.round(new Date().getTime() / 1000) + 3600,
|
||||
);
|
||||
sessionStorage.setItem("lastNews", JSON.stringify(lastNews));
|
||||
}
|
||||
|
|
@ -102,7 +102,7 @@ class News {
|
|||
news.photo.url,
|
||||
news.excerpt,
|
||||
news.tags,
|
||||
news.date
|
||||
news.date,
|
||||
);
|
||||
const BASE_URL = this.BASE_URL;
|
||||
let cleanHTML = DOMPurify.sanitize(cardHTML);
|
||||
|
|
@ -114,7 +114,7 @@ class News {
|
|||
slug.addEventListener("click", function () {
|
||||
window.open(
|
||||
`${BASE_URL}blog/post/${news.slug}?utm_campaign=self&utm_source=ui`,
|
||||
"_blank"
|
||||
"_blank",
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
@ -268,7 +268,7 @@ class FlashMsg {
|
|||
if (Number(this.flashCount.textContent) > 0) this.animeBtn();
|
||||
// display only one fixed flash message
|
||||
const flashFixedEls = document.querySelectorAll(
|
||||
"[data-flash-message-fixed]"
|
||||
"[data-flash-message-fixed]",
|
||||
);
|
||||
if (flashFixedEls.length > 1) {
|
||||
flashFixedEls.forEach((el, i) => {
|
||||
|
|
@ -298,7 +298,7 @@ class FlashMsg {
|
|||
flashEl.remove();
|
||||
//update count
|
||||
this.flashCount.textContent = document.querySelectorAll(
|
||||
"[data-flash-message]"
|
||||
"[data-flash-message]",
|
||||
).length;
|
||||
}
|
||||
} catch (err) {}
|
||||
|
|
@ -401,7 +401,7 @@ class Banner {
|
|||
// Try to get data from api
|
||||
if (sessionStorage.getItem("bannerNews") !== null) {
|
||||
return this.updateBanner(
|
||||
JSON.parse(sessionStorage.getItem("bannerNews"))
|
||||
JSON.parse(sessionStorage.getItem("bannerNews")),
|
||||
);
|
||||
}
|
||||
fetch("https://www.bunkerweb.io/api/bw-ui-news")
|
||||
|
|
@ -413,7 +413,7 @@ class Banner {
|
|||
// Refetch after one hour
|
||||
sessionStorage.setItem(
|
||||
"bannerRefetch",
|
||||
Math.round(new Date().getTime() / 1000) + 3600
|
||||
Math.round(new Date().getTime() / 1000) + 3600,
|
||||
);
|
||||
return this.updateBanner(res.data[0].data);
|
||||
})
|
||||
|
|
@ -446,7 +446,7 @@ class Banner {
|
|||
this.bannerEl.querySelector(
|
||||
`[role="listitem"][data-id="${
|
||||
+visibleEl.getAttribute("data-id") + 1
|
||||
}"]`
|
||||
}"]`,
|
||||
) || this.bannerEl.querySelector(`[role="listitem"][data-id="0"]`);
|
||||
|
||||
// Hide current one
|
||||
|
|
@ -537,7 +537,7 @@ class Clipboard {
|
|||
if (result.state === "granted" || result.state === "prompt") {
|
||||
/* write to the clipboard now */
|
||||
const copyEl = document.querySelector(
|
||||
e.target.getAttribute("data-clipboard-target")
|
||||
e.target.getAttribute("data-clipboard-target"),
|
||||
);
|
||||
|
||||
copyEl.select();
|
||||
|
|
@ -557,7 +557,7 @@ class Clipboard {
|
|||
if (this.isCopy) return;
|
||||
/* write to the clipboard now */
|
||||
const copyEl = document.querySelector(
|
||||
e.target.getAttribute("data-clipboard-target")
|
||||
e.target.getAttribute("data-clipboard-target"),
|
||||
);
|
||||
|
||||
copyEl.select();
|
||||
|
|
@ -575,7 +575,7 @@ class Clipboard {
|
|||
if (this.isCopy) return;
|
||||
/* write to the clipboard now */
|
||||
const copyEl = document.querySelector(
|
||||
e.target.getAttribute("data-clipboard-target")
|
||||
e.target.getAttribute("data-clipboard-target"),
|
||||
);
|
||||
|
||||
copyEl.select();
|
||||
|
|
@ -609,13 +609,13 @@ const setMenu = new Menu();
|
|||
const setNewsSidebar = new Sidebar(
|
||||
"[data-sidebar-info]",
|
||||
"[data-sidebar-info-open]",
|
||||
"[data-sidebar-info-close]"
|
||||
"[data-sidebar-info-close]",
|
||||
);
|
||||
|
||||
const setFlashSidebar = new Sidebar(
|
||||
"[data-flash-sidebar]",
|
||||
"[data-flash-sidebar-open]",
|
||||
"[data-flash-sidebar-close]"
|
||||
"[data-flash-sidebar-close]",
|
||||
);
|
||||
|
||||
const setClipboard = new Clipboard();
|
||||
|
|
|
|||
2
src/ui/static/js/lottie-web.min.js
vendored
2
src/ui/static/js/lottie-web.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -282,8 +282,9 @@ class DisabledPop {
|
|||
if (this.isReadonly) return;
|
||||
//for checkbox and regular inputs
|
||||
if (
|
||||
e.target.tagName === "INPUT" &&
|
||||
e.target.hasAttribute("data-default-method") || e.target.hasAttribute("data-method")
|
||||
(e.target.tagName === "INPUT" &&
|
||||
e.target.hasAttribute("data-default-method")) ||
|
||||
e.target.hasAttribute("data-method")
|
||||
) {
|
||||
const el = e.target;
|
||||
this.showPopup(el, "input");
|
||||
|
|
@ -317,7 +318,8 @@ class DisabledPop {
|
|||
.querySelector("button[data-setting-password]")
|
||||
? true
|
||||
: false;
|
||||
const method = el.getAttribute("data-method") || el.getAttribute("data-default-method");
|
||||
const method =
|
||||
el.getAttribute("data-method") || el.getAttribute("data-default-method");
|
||||
const popupHTML = `
|
||||
<div data-disabled-info class="${
|
||||
type === "select" ? "translate-y-2" : ""
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -174,7 +174,7 @@ try:
|
|||
|
||||
select_plugin = safe_get_element(DRIVER, By.XPATH, "//button[@data-tab-select-dropdown-btn='']")
|
||||
assert_button_click(DRIVER, select_plugin)
|
||||
DRIVER.execute_script(f"""return document.querySelector('button[data-tab-select-handler="headers"]').click()""")
|
||||
DRIVER.execute_script("""return document.querySelector('button[data-tab-select-handler="headers"]').click()""")
|
||||
|
||||
log_info("Start keyword to show only one multiple ...")
|
||||
|
||||
|
|
@ -255,10 +255,10 @@ try:
|
|||
log_info("Select from dropdown ...")
|
||||
|
||||
select = safe_get_element(DRIVER, By.XPATH, "//button[@data-setting-select='timers-log-level']")
|
||||
DRIVER.execute_script(f"""return document.querySelector('button[data-setting-select="timers-log-level"]').click()""")
|
||||
DRIVER.execute_script("""return document.querySelector('button[data-setting-select="timers-log-level"]').click()""")
|
||||
|
||||
select_active_item = safe_get_element(DRIVER, By.XPATH, "//button[@data-setting-select-dropdown-btn='timers-log-level' and contains(@class, 'active')]")
|
||||
DRIVER.execute_script(f"""return document.querySelector('button[data-setting-select-dropdown-btn="timers-log-level"][class*="active"]').click()""")
|
||||
DRIVER.execute_script("""return document.querySelector('button[data-setting-select-dropdown-btn="timers-log-level"][class*="active"]').click()""")
|
||||
|
||||
log_info("Select dropdown done, trying toggle checkbox...")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue