diff options
author | Mario Vavti <mario@mariovavti.com> | 2022-03-29 11:42:53 +0200 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2022-03-29 11:42:53 +0200 |
commit | 0784cd593a39a4fc297e8a82f7e79bc8019a0868 (patch) | |
tree | 22182afb37cf460f8208fff9d276a0672add3185 /view | |
parent | 0e2e9321025f87fe9587f3d183adaea6185e4e20 (diff) | |
parent | 9c5d2ee5630dd7033904039dcd1e92db8821b644 (diff) | |
download | volse-hubzilla-0784cd593a39a4fc297e8a82f7e79bc8019a0868.tar.gz volse-hubzilla-0784cd593a39a4fc297e8a82f7e79bc8019a0868.tar.bz2 volse-hubzilla-0784cd593a39a4fc297e8a82f7e79bc8019a0868.zip |
Merge branch '7.2RC'7.2
Diffstat (limited to 'view')
80 files changed, 2601 insertions, 187 deletions
diff --git a/view/css/full.css b/view/css/full.css index 3f9a01d24..1a36c9b08 100644 --- a/view/css/full.css +++ b/view/css/full.css @@ -7,7 +7,6 @@ header #banner { } section { - display: block; - min-height: 112px; - margin: 50px 10px; + height: 100vh; + padding: 4.5rem 7px 200px 7px; } diff --git a/view/css/minimal.css b/view/css/minimal.css new file mode 100644 index 000000000..3bd04a5df --- /dev/null +++ b/view/css/minimal.css @@ -0,0 +1,3 @@ +section { + height: 100vh; +} diff --git a/view/css/mod_pdledit_gui.css b/view/css/mod_pdledit_gui.css new file mode 100644 index 000000000..dcda842dc --- /dev/null +++ b/view/css/mod_pdledit_gui.css @@ -0,0 +1,3 @@ +.aside_wrapper { + min-height: 70vh; +} diff --git a/view/css/widgets.css b/view/css/widgets.css index 0a091272c..ebe0f47b0 100644 --- a/view/css/widgets.css +++ b/view/css/widgets.css @@ -136,17 +136,6 @@ li:hover .group-edit-icon { } -/* tasklist */ - -.tasklist-tasks { - max-height: 300px; - overflow-y: auto; -} - -#tasklist-new-summary { - width: 250px; -} - /* cover photo */ #cover-photo { diff --git a/view/fr/htconfig.tpl b/view/fr/htconfig.tpl index ddc1d1053..563877247 100644 --- a/view/fr/htconfig.tpl +++ b/view/fr/htconfig.tpl @@ -1,9 +1,8 @@ <?php -// Set the following for your MySQL installation +// Définissez les éléments suivants pour votre installation MySQL // Utilisez ces informations pour configurer votre instance de BD (MySQL) -// Copy or rename this file to .htconfig.php -// Copier ou renomer ce fichier .htconfig.php et placer le à la racine de l'installation de la Matrice Rouge. +// Copier ou renomer ce fichier .htconfig.php et placer le à la racine de l'installation. $db_host = '{{$dbhost}}'; $db_port = '{{$dbport}}'; @@ -13,52 +12,74 @@ $db_data = '{{$dbdata}}'; $db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres /* - * Note: Plusieurs de ces réglages seront disponibles via le panneau d'administration - * après l'installation. Lorsque des modifications sont apportés à travers le panneau d'administration - * elle sont automatiquement enregistrées dans la base de données. - * Les configurations inscrites dans la BD prévalent sur celles de ce fichier de configuration. + * Note: Plusieurs de ces réglages seront disponibles via le panneau d'administration + * après l'installation. Lorsque des modifications sont apportés à travers le panneau d'administration + * elle sont automatiquement enregistrées dans la base de données. + * Les configurations inscrites dans la BD prévalent sur celles de ce fichier de configuration. * - * En cas de difficultés d'accès au panneau d'administration, nous mettons à votre disposition, + * En cas de difficultés d'accès au panneau d'administration, nous mettons à votre disposition, * un outil en ligne de commande est disponible [util/config] pour rechercher et apporter des modifications - * sur les entrées dans la BD. + * sur les entrées dans la BD. * - */ + */ -// Choisissez votre emplacement géographique. Si vous n'êtes pas certain, utilisez "America/Los_Angeles". -// Vous pourrez le changer plus tard et ce réglage n'affecte que les visiteurs anonymes. +// Choisissez votre emplacement géographique. Si vous n'êtes pas certain, utilisez "America/Los_Angeles". +// Vous pourrez le changer plus tard et ce réglage n'affecte que les visiteurs anonymes. App::$config['system']['timezone'] = '{{$timezone}}'; -// Quel sera le nom de votre site? +// Quels Sont l'url et le nom de votre site ? Ne pas mettre le slash à la fin App::$config['system']['baseurl'] = '{{$siteurl}}'; App::$config['system']['sitename'] = "Hubzilla"; App::$config['system']['location_hash'] = '{{$site_id}}'; -// These lines set additional security headers to be sent with all responses -// You may wish to set transport_security_header to 0 if your server already sends -// this header. content_security_policy may need to be disabled if you wish to -// run the piwik analytics plugin or include other offsite resources on a page +// Ces lignes définissent des en-têtes de sécurité supplémentaires à envoyer avec toutes les réponses. +// Vous pouvez définir transport_security_header à 0 si votre serveur envoie déjà cet en-tête. +// Content_security_policy peut être désactivé si vous souhaitez utiliser le plugin d'analyse Piwik ou inclure d'autres sites web. +// Utiliser le plugin piwik analytics ou ajouter d'autres ressources hors site sur une page. App::$config['system']['transport_security_header'] = 1; App::$config['system']['content_security_policy'] = 1; +App::$config['system']['ssl_cookie_protection'] = 1; // Vos choix sont REGISTER_OPEN, REGISTER_APPROVE, ou REGISTER_CLOSED. -// Soyez certains de créer votre compte personnel avant de déclarer -// votre site REGISTER_CLOSED. 'register_text' (si vous décider de l'utiliser) -// renvois son contenu systématiquement sur la page d'enregistrement des nouveaux membres. +// Soyez certains de créer votre compte personnel avant de déclarer +// votre site REGISTER_CLOSED. 'register_text' (si vous décider de l'utiliser) +// renvois son contenu systématiquement sur la page d'enregistrement des nouveaux membres. // REGISTER_APPROVE requiert la configuration de 'admin_email' avec l'adresse de courriel -// d'un membre déjà inscrit qui pourra autoriser et/ou approuver/supprimer la demande. +// d'un membre déjà inscrit qui pourra autoriser et/ou approuver/supprimer la demande. App::$config['system']['register_policy'] = REGISTER_OPEN; App::$config['system']['register_text'] = ''; App::$config['system']['admin_email'] = '{{$adminmail}}'; -// taille maximale pour l'importation d'un message, 0 est illimité +// Il est recommandé de laisser cette valeur à 1. La valeur 0 permet aux personnes de s'inscrire sans avoir à prouver qu'elles possèdent une adresse électronique. +// vérifier que cette adresse électronique leur appartient. + +App::$config['system']['verify_email'] = 1; + +// Restrictions d'accès au site. Par défaut, nous allons créer des sites privés. +// Vous avez le choix entre ACCESS_PRIVATE, ACCESS_PAID, ACCESS_TIERED et ACCESS_FREE. +// Si vous laissez REGISTER_OPEN ci-dessus, n'importe qui peut s'inscrire sur votre site. +// Cependant, votre site ne sera pas répertorié comme un hub ouvert aux inscriptions. +// Nous utiliserons la politique d'accès au système (ci-dessous) +// pour déterminer s'il faut ou non inscrire votre site dans l'annuaire +// comme un hub ouvert où tout le monde peut créer des comptes. Vous avez le choix entre : +// inscription payante, à plusieurs niveaux ou gratuite : détermine la façon dont ces inscriptions seront présentées. + + App::$config['system']['access_policy'] = ACCESS_PRIVATE; + + // Si vous gérez un site public, vous souhaitez peut-être que les visiteurs soient dirigés // vers une "page d'accueil" où vous pouvez décrire en détail les caractéristiques, les politiques ou les services proposés. + // Il doit s'agir d'une URL absolue commençant par http:// ou https:// . + + App::$config['system']['sellpage'] = ''; + +// taille maximale pour l'importation d'un message, 0 est illimité App::$config['system']['max_import_size'] = 200000; -// taille maximale pour le téléversement de photos +// taille maximale pour le téléversement de photos App::$config['system']['maximagesize'] = 8000000; @@ -66,15 +87,25 @@ App::$config['system']['maximagesize'] = 8000000; App::$config['system']['php_path'] = '{{$phpath}}'; -// configurez la façon dont votre site communique avec les autres serveurs. [Répertoire des membres inscrits à la Matrice] -// DIRECTORY_MODE_NORMAL = client du répertoire de membres, nous vous trouverons un répertoire accessible autre serveur. -// DIRECTORY_MODE_SECONDARY = copie mirroir du répertoire des membres. -// DIRECTORY_MODE_PRIMARY = répertoire des membres principal. -// DIRECTORY_MODE_STANDALONE = "autonome/déconnecté" ou répertoire de membres privés +// configurez la façon dont votre site communique avec les autres serveurs. [Répertoire des membres inscrits à la Matrice] +// DIRECTORY_MODE_NORMAL = client du répertoire de membres, nous vous trouverons un répertoire accessible autre serveur. +// DIRECTORY_MODE_SECONDARY = copie mirroir du répertoire des membres. +// DIRECTORY_MODE_PRIMARY = répertoire des membres principal. +// DIRECTORY_MODE_STANDALONE = "autonome/déconnecté" ou répertoire de membres privés App::$config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL; -// Thème par défaut +// Thème par défaut App::$config['system']['theme'] = 'redbasic'; +// Configuration de l'enregistrement des erreurs PHP +// Avant de faire cela, assurez-vous que le serveur web a la permission de créer et d'écrire dans le fichier php.out dans le répertoire web correspondant. +// de créer et d'écrire dans le fichier php.out dans le répertoire web correspondant, +// ou changez le nom (ci-dessous) pour un fichier/chemin où cela est autorisé. +// Décommentez les 4 lignes suivantes pour activer la journalisation des erreurs PHP. + +//error_reporting(E_ERROR | E_WARNING | E_PARSE ) ; +//ini_set('error_log', 'php.out') ; +//ini_set('log_errors', '1') ; +//ini_set('display_errors', '0') ; diff --git a/view/fr/invite.material.subject.tpl b/view/fr/invite.material.subject.tpl new file mode 100644 index 000000000..4f3ff1c7a --- /dev/null +++ b/view/fr/invite.material.subject.tpl @@ -0,0 +1 @@ +Invitation {{$invite_loc}} diff --git a/view/fr/invite.material.tpl b/view/fr/invite.material.tpl new file mode 100644 index 000000000..6d9b770b7 --- /dev/null +++ b/view/fr/invite.material.tpl @@ -0,0 +1 @@ +{{* tpl en matériel, pour inviter avec des données essentielles *}} diff --git a/view/fr/lostpass_eml.tpl b/view/fr/lostpass_eml.tpl index 0421d41a8..81e426af6 100644 --- a/view/fr/lostpass_eml.tpl +++ b/view/fr/lostpass_eml.tpl @@ -1,30 +1,32 @@ - -Cher {{$username}}, - Une demande pour réinitialiser votre mot de passe a récemment été reçue par {{$sitename}} -Pour confirmer cette requête, veuillez suivre le lien de vérification -ci-dessous ou en faire un copier-coller dans la barre d'adresse de votre navigateur. - -Si vous N'AVEZ PAS demandé ce changement, NE SUIVEZ PAS ce lien, ignorez-le simplement et/ou supprimez ce courriel. - -Votre mot de passe ne sera pas changé à moins que nous puissions vérifier vos intentions. - -Suivez ce lien pour confirmer votre identité: - -{{$reset_link}} - -Vous recevrez ensuite un second courriel avec votre nouveau mot de passe. - -Vous pouvez changer ce mot de passe à partir des réglages du profil après vous être connecté. - -Voici les détails de connexion: - -Emplacement du site:⇥{{$siteurl}} -Utilisateur:⇥{{$email}} - - - - -Sincèrement, - L'administrateur {{$sitename}} - -
\ No newline at end of file +Cher {{$username}},
+
+Une demande pour réinitialiser votre mot de passe a récemment été reçue par {{$sitename}}
+Pour confirmer cette requête, veuillez suivre le lien de vérification
+ci-dessous ou en faire un copier-coller dans la barre d'adresse de votre navigateur.
+
+Si vous N'AVEZ PAS demandé ce changement, NE SUIVEZ PAS ce lien, ignorez-le simplement et/ou supprimez ce courriel.
+
+Votre mot de passe ne sera pas changé à moins que nous puissions vérifier vos intentions.
+
+Suivez ce lien pour confirmer votre identité:
+
+{{$reset_link}}
+
+Vous recevrez ensuite un second courriel avec votre nouveau mot de passe.
+
+Vous pouvez changer ce mot de passe à partir des réglages du profil après vous être connecté.
+
+Voici les détails de connexion:
+
+Emplacement du site: {{$siteurl}}
+Utilisateur: {{$email}}
+
+
+Sincèrement,
+L'administrateur de {{$sitename}}
+
+--
+Conditions d'utilisation :
+{{$siteurl}}/help/TermsOfService
+
+
diff --git a/view/fr/passchanged_eml.tpl b/view/fr/passchanged_eml.tpl index 7c4e3d7bb..c70e45f6b 100644 --- a/view/fr/passchanged_eml.tpl +++ b/view/fr/passchanged_eml.tpl @@ -1,19 +1,21 @@ - -Cher {{$username}}, - Votre mot de passe a bien été réinitialisé. -Veuillez conserver cette information (ou changer immédiatement ce mot de passe temporaire). - - -Voici les détails de connexion: - -Emplacement du site:⇥{{$siteurl}} -Utilisateur:⇥{{$email}} -Mot de passe:⇥{{$new_password}} - -Vous pouvez changer ce mot de passe à partir des réglages du profil après vous être connecté. - - -Sincèrement, - L'administrateur {{$sitename}} - -
\ No newline at end of file +Cher {{$username}},
+
+Votre mot de passe a bien été réinitialisé.
+Veuillez conserver cette information (ou changer immédiatement ce mot de passe temporaire).
+
+
+Voici les détails de connexion:
+
+Emplacement du site : {{$siteurl}}
+Utilisateur : {{$email}}
+Mot de passe : {{$new_password}}
+
+Vous pouvez changer ce mot de passe à partir des Paramètres / Paramètres du compte après vous être connecté.
+
+
+Sincèrement,
+L'administrateur {{$sitename}}
+
+--
+Conditions d'utilisation :
+{{$siteurl}}/help/TermsOfService
diff --git a/view/fr/update_fail_eml.tpl b/view/fr/update_fail_eml.tpl index 5fbad2c8a..5548579ed 100644 --- a/view/fr/update_fail_eml.tpl +++ b/view/fr/update_fail_eml.tpl @@ -1,16 +1,21 @@ -Bonjour, -Je suis le serveur web de {{$sitename}}; - -Les développeurs de la Matrice Rouge ont lancé une mise à jour {{$update}} récemment, -toutefois, lorsque j'ai essayé de l'installer, quelques choses d'inattendu s'est produit. - -Nous devons corriger la situation et cela requiert votre intervention. - -Veuillez contacter un développeur de la Matrice Rouge si vous avez des difficultés à déterminer -la meilleure approche pour résoudre le problème. Ma base de donnée est peut-être corrompue. - -Le message d'erreur est '{{$error}}'. - -Veuillez accepter mes plus humbles excuses pour les désagréments, - - votre serveur web a {{$siteurl}}
\ No newline at end of file +Bonjour,
+Je suis le serveur web de {{$sitename}};
+
+Les développeurs du projet ont récemment publié la mise à jour {{$update}}, mais lors de la tentative d'installation, quelque chose s'est mal passé.
+
+Ce problème doit être résolu rapidement et nécessite votre intervention.
+
+Veuillez contacter un développeur du projet si vous ne parvenez pas à résoudre le problème par vous-même. La base de données de votre installation est peut-être corrompue.
+
+Le message d'erreur est '{{$error}}'.
+
+Vous pouvez tenter de réappliquer cette mise à jour en vous rendant à l'adresse suivante (avec un compte administrateur) :
+
+{{$baseurl}}/admin/dbsync
+
+
+{{$source}}
+
+Veuillez nous excuser pour ce désagrément,
+
+votre serveur Web à {{$siteurl}}}}
diff --git a/view/pdl/mod_admin.pdl b/view/pdl/mod_admin.pdl index 1cf49750d..3c9633a69 100644 --- a/view/pdl/mod_admin.pdl +++ b/view/pdl/mod_admin.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=admin][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_appman.pdl b/view/pdl/mod_appman.pdl index ad8843890..71306785e 100644 --- a/view/pdl/mod_appman.pdl +++ b/view/pdl/mod_appman.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=appstore][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_apps.pdl b/view/pdl/mod_apps.pdl index 32e2ce560..be9e15366 100644 --- a/view/pdl/mod_apps.pdl +++ b/view/pdl/mod_apps.pdl @@ -2,6 +2,9 @@ [widget=appstore][/widget] [widget=appcategories][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_articles.pdl b/view/pdl/mod_articles.pdl index 490917358..051e89278 100644 --- a/view/pdl/mod_articles.pdl +++ b/view/pdl/mod_articles.pdl @@ -5,6 +5,9 @@ [widget=tasklist][/widget] [widget=notes][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_blocks.pdl b/view/pdl/mod_blocks.pdl index 4a90a4f36..c0ccacdc7 100644 --- a/view/pdl/mod_blocks.pdl +++ b/view/pdl/mod_blocks.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=design_tools][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_cal.pdl b/view/pdl/mod_cal.pdl index d7e5d29f3..47af1ed38 100644 --- a/view/pdl/mod_cal.pdl +++ b/view/pdl/mod_cal.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=profile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_cards.pdl b/view/pdl/mod_cards.pdl index fd08121fc..2252659a3 100644 --- a/view/pdl/mod_cards.pdl +++ b/view/pdl/mod_cards.pdl @@ -4,6 +4,9 @@ [widget=tasklist][/widget] [widget=notes][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_cdav.pdl b/view/pdl/mod_cdav.pdl index c0f9a511f..be5b491ae 100644 --- a/view/pdl/mod_cdav.pdl +++ b/view/pdl/mod_cdav.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=cdav][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_channel.pdl b/view/pdl/mod_channel.pdl index 5857fca95..80333afdc 100644 --- a/view/pdl/mod_channel.pdl +++ b/view/pdl/mod_channel.pdl @@ -8,6 +8,9 @@ [widget=categories][/widget] [widget=tagcloud_wall][var=limit]24[/var][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_chanview.pdl b/view/pdl/mod_chanview.pdl index a5461df50..0527ac00c 100644 --- a/view/pdl/mod_chanview.pdl +++ b/view/pdl/mod_chanview.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=vcard][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_chat.pdl b/view/pdl/mod_chat.pdl index 8a79b4b12..b761e3361 100644 --- a/view/pdl/mod_chat.pdl +++ b/view/pdl/mod_chat.pdl @@ -5,6 +5,9 @@ [widget=suggestedchats][/widget] [widget=chatroom_members][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_cloud.pdl b/view/pdl/mod_cloud.pdl index 7f40e7ea0..699aff1f8 100644 --- a/view/pdl/mod_cloud.pdl +++ b/view/pdl/mod_cloud.pdl @@ -2,6 +2,9 @@ [widget=profile][/widget] [widget=categories][var=files]1[/var][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_common.pdl b/view/pdl/mod_common.pdl index 7e15fc869..df722e5bf 100644 --- a/view/pdl/mod_common.pdl +++ b/view/pdl/mod_common.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=fullprofile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_connect.pdl b/view/pdl/mod_connect.pdl index d7e5d29f3..47af1ed38 100644 --- a/view/pdl/mod_connect.pdl +++ b/view/pdl/mod_connect.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=profile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_connections.pdl b/view/pdl/mod_connections.pdl index 3c3dfd313..992ed9ca4 100644 --- a/view/pdl/mod_connections.pdl +++ b/view/pdl/mod_connections.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=findpeople][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_connedit.pdl b/view/pdl/mod_connedit.pdl index a5461df50..0527ac00c 100644 --- a/view/pdl/mod_connedit.pdl +++ b/view/pdl/mod_connedit.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=vcard][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_defperms.pdl b/view/pdl/mod_defperms.pdl index 37c85c765..759dbf039 100644 --- a/view/pdl/mod_defperms.pdl +++ b/view/pdl/mod_defperms.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=settings_menu][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_directory.pdl b/view/pdl/mod_directory.pdl index 3840691b4..56ce119f8 100644 --- a/view/pdl/mod_directory.pdl +++ b/view/pdl/mod_directory.pdl @@ -3,6 +3,9 @@ [widget=dirsort][/widget] [widget=dirtags][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_display.pdl b/view/pdl/mod_display.pdl index a5461df50..0527ac00c 100644 --- a/view/pdl/mod_display.pdl +++ b/view/pdl/mod_display.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=vcard][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_editblock.pdl b/view/pdl/mod_editblock.pdl index 4a90a4f36..c0ccacdc7 100644 --- a/view/pdl/mod_editblock.pdl +++ b/view/pdl/mod_editblock.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=design_tools][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_editlayout.pdl b/view/pdl/mod_editlayout.pdl index 4a90a4f36..c0ccacdc7 100644 --- a/view/pdl/mod_editlayout.pdl +++ b/view/pdl/mod_editlayout.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=design_tools][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_editwebpage.pdl b/view/pdl/mod_editwebpage.pdl index 4a90a4f36..c0ccacdc7 100644 --- a/view/pdl/mod_editwebpage.pdl +++ b/view/pdl/mod_editwebpage.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=design_tools][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_go.pdl b/view/pdl/mod_go.pdl index 7e15fc869..df722e5bf 100644 --- a/view/pdl/mod_go.pdl +++ b/view/pdl/mod_go.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=fullprofile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_group.pdl b/view/pdl/mod_group.pdl index 749ede18c..523f24178 100644 --- a/view/pdl/mod_group.pdl +++ b/view/pdl/mod_group.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=privacygroups][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_help.pdl b/view/pdl/mod_help.pdl index 4bb380cc9..6f8a41226 100644 --- a/view/pdl/mod_help.pdl +++ b/view/pdl/mod_help.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=helpindex][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_id.pdl b/view/pdl/mod_id.pdl index 7e15fc869..df722e5bf 100644 --- a/view/pdl/mod_id.pdl +++ b/view/pdl/mod_id.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=fullprofile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_import_items.pdl b/view/pdl/mod_import_items.pdl index e657fa88b..9f0bb4d9a 100644 --- a/view/pdl/mod_import_items.pdl +++ b/view/pdl/mod_import_items.pdl @@ -1,3 +1,8 @@ +[region=aside] +[/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [/region] diff --git a/view/pdl/mod_layouts.pdl b/view/pdl/mod_layouts.pdl index 4a90a4f36..c0ccacdc7 100644 --- a/view/pdl/mod_layouts.pdl +++ b/view/pdl/mod_layouts.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=design_tools][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_locs.pdl b/view/pdl/mod_locs.pdl index 37c85c765..759dbf039 100644 --- a/view/pdl/mod_locs.pdl +++ b/view/pdl/mod_locs.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=settings_menu][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_menu.pdl b/view/pdl/mod_menu.pdl index 4a90a4f36..c0ccacdc7 100644 --- a/view/pdl/mod_menu.pdl +++ b/view/pdl/mod_menu.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=design_tools][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_mitem.pdl b/view/pdl/mod_mitem.pdl index 0cca7fd85..f0b03c854 100644 --- a/view/pdl/mod_mitem.pdl +++ b/view/pdl/mod_mitem.pdl @@ -2,6 +2,9 @@ [widget=design_tools][/widget] [widget=menu_preview][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_moderate.pdl b/view/pdl/mod_moderate.pdl index 95f069031..11cdb4672 100644 --- a/view/pdl/mod_moderate.pdl +++ b/view/pdl/mod_moderate.pdl @@ -1,3 +1,8 @@ +[region=aside] +[/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_permcats.pdl b/view/pdl/mod_permcats.pdl index bc6c89920..996b073da 100644 --- a/view/pdl/mod_permcats.pdl +++ b/view/pdl/mod_permcats.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=permcats][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_photos.pdl b/view/pdl/mod_photos.pdl index bdcc087f3..4b544faa9 100644 --- a/view/pdl/mod_photos.pdl +++ b/view/pdl/mod_photos.pdl @@ -2,6 +2,9 @@ [widget=profile][/widget] [widget=photo_albums][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_profile.pdl b/view/pdl/mod_profile.pdl index 7e15fc869..df722e5bf 100644 --- a/view/pdl/mod_profile.pdl +++ b/view/pdl/mod_profile.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=fullprofile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_profile_photo.pdl b/view/pdl/mod_profile_photo.pdl index 7e15fc869..df722e5bf 100644 --- a/view/pdl/mod_profile_photo.pdl +++ b/view/pdl/mod_profile_photo.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=fullprofile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_profiles.pdl b/view/pdl/mod_profiles.pdl index 7e15fc869..df722e5bf 100644 --- a/view/pdl/mod_profiles.pdl +++ b/view/pdl/mod_profiles.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=fullprofile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_profperm.pdl b/view/pdl/mod_profperm.pdl index d7e5d29f3..47af1ed38 100644 --- a/view/pdl/mod_profperm.pdl +++ b/view/pdl/mod_profperm.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=profile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_pubstream.pdl b/view/pdl/mod_pubstream.pdl index 539900155..914218e19 100644 --- a/view/pdl/mod_pubstream.pdl +++ b/view/pdl/mod_pubstream.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=pubtagcloud][var=trending]8[/var][var=limit]20[/var][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_rate.pdl b/view/pdl/mod_rate.pdl deleted file mode 100644 index a5461df50..000000000 --- a/view/pdl/mod_rate.pdl +++ /dev/null @@ -1,7 +0,0 @@ -[region=aside] -[widget=vcard][/widget] -[/region] -[region=right_aside] -[widget=notifications][/widget] -[widget=newmember][/widget] -[/region] diff --git a/view/pdl/mod_ratings.pdl b/view/pdl/mod_ratings.pdl deleted file mode 100644 index f6e87cb7c..000000000 --- a/view/pdl/mod_ratings.pdl +++ /dev/null @@ -1,11 +0,0 @@ -[region=aside] -[widget=pubsites][/widget] -[widget=vcard][/widget] -[widget=rating][/widget] -[widget=suggestions][/widget] -[widget=findpeople][/widget] -[/region] -[region=right_aside] -[widget=notifications][/widget] -[widget=newmember][/widget] -[/region] diff --git a/view/pdl/mod_search.pdl b/view/pdl/mod_search.pdl index ed1f77c5a..11cdb4672 100644 --- a/view/pdl/mod_search.pdl +++ b/view/pdl/mod_search.pdl @@ -1,5 +1,8 @@ [region=aside] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_settings.pdl b/view/pdl/mod_settings.pdl index 37c85c765..759dbf039 100644 --- a/view/pdl/mod_settings.pdl +++ b/view/pdl/mod_settings.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=settings_menu][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_sharedwithme.pdl b/view/pdl/mod_sharedwithme.pdl index 95f069031..11cdb4672 100644 --- a/view/pdl/mod_sharedwithme.pdl +++ b/view/pdl/mod_sharedwithme.pdl @@ -1,3 +1,8 @@ +[region=aside] +[/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_sources.pdl b/view/pdl/mod_sources.pdl index 37c85c765..759dbf039 100644 --- a/view/pdl/mod_sources.pdl +++ b/view/pdl/mod_sources.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=settings_menu][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_suggest.pdl b/view/pdl/mod_suggest.pdl index b74391cba..7878bca4e 100644 --- a/view/pdl/mod_suggest.pdl +++ b/view/pdl/mod_suggest.pdl @@ -2,6 +2,9 @@ [widget=follow][/widget] [widget=findpeople][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_thing.pdl b/view/pdl/mod_thing.pdl index 7e15fc869..df722e5bf 100644 --- a/view/pdl/mod_thing.pdl +++ b/view/pdl/mod_thing.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=fullprofile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_tokens.pdl b/view/pdl/mod_tokens.pdl index 97bdc3ab4..6a81829fe 100644 --- a/view/pdl/mod_tokens.pdl +++ b/view/pdl/mod_tokens.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=tokens][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_uexport.pdl b/view/pdl/mod_uexport.pdl index ed1f77c5a..11cdb4672 100644 --- a/view/pdl/mod_uexport.pdl +++ b/view/pdl/mod_uexport.pdl @@ -1,5 +1,8 @@ [region=aside] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_viewconnections.pdl b/view/pdl/mod_viewconnections.pdl index d7e5d29f3..47af1ed38 100644 --- a/view/pdl/mod_viewconnections.pdl +++ b/view/pdl/mod_viewconnections.pdl @@ -1,6 +1,9 @@ [region=aside] [widget=profile][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_webpages.pdl b/view/pdl/mod_webpages.pdl index d13bf8862..87945fb5f 100644 --- a/view/pdl/mod_webpages.pdl +++ b/view/pdl/mod_webpages.pdl @@ -2,6 +2,9 @@ [widget=design_tools][/widget] [widget=website_portation_tools][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/pdl/mod_wiki.pdl b/view/pdl/mod_wiki.pdl index db8faa0d9..e650e364e 100644 --- a/view/pdl/mod_wiki.pdl +++ b/view/pdl/mod_wiki.pdl @@ -2,6 +2,9 @@ [widget=profile][/widget] [widget=wiki_pages][/widget] [/region] +[region=content] +$content +[/region] [region=right_aside] [widget=notifications][/widget] [widget=newmember][/widget] diff --git a/view/php/default.php b/view/php/default.php index 64d58a0c1..10e150906 100644 --- a/view/php/default.php +++ b/view/php/default.php @@ -1,3 +1,15 @@ +<?php +/** + * * Name: default + * * Description: Hubzilla default 3-column layout + * * Version: 1 + * * Author: Mario Vavti + * * Maintainer: Mario Vavti + * * ContentRegion: aside, left_aside_wrapper + * * ContentRegion: content, region_2 + * * ContentRegion: right_aside, right_aside_wrapper + */ +?> <!DOCTYPE html > <html prefix="og: http://ogp.me/ns#"> <head> @@ -8,7 +20,7 @@ <body <?php if($page['direction']) echo 'dir="rtl"' ?> > <?php if(x($page,'banner')) echo $page['banner']; ?> <header><?php if(x($page,'header')) echo $page['header']; ?></header> - <?php if(x($page,'nav')) echo $page['nav']; ?></nav> + <?php if(x($page,'nav')) echo $page['nav']; ?> <main> <div class="content"> <div class="columns"> diff --git a/view/php/full.php b/view/php/full.php index 1a9cd9a84..d855fb650 100644 --- a/view/php/full.php +++ b/view/php/full.php @@ -1,3 +1,13 @@ +<?php +/** + * * Name: full + * * Description: A single column full width layout with the hubzilla navbar + * * Version: 1 + * * Author: None + * * Maintainer: None + * * ContentRegion: content, region_1 + */ +?> <!DOCTYPE html > <html prefix="og: http://ogp.me/ns#"> <head> @@ -8,8 +18,9 @@ <body <?php if($page['direction']) echo 'dir="rtl"' ?> > <?php if(x($page,'banner')) echo $page['banner']; ?> <header><?php if(x($page,'header')) echo $page['header']; ?></header> - <nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark"><?php if(x($page,'nav')) echo $page['nav']; ?></nav> - <section id="region_2"><?php if(x($page,'content')) echo $page['content']; ?> + <?php if(x($page,'nav')) echo $page['nav']; ?> + <section id="region_1"> + <?php if(x($page,'content')) echo $page['content']; ?> <div id="page-footer"></div> </section> </body> diff --git a/view/php/minimal.php b/view/php/minimal.php index 3572f3b5c..3fab0c5f9 100644 --- a/view/php/minimal.php +++ b/view/php/minimal.php @@ -1,14 +1,25 @@ -<!DOCTYPE html >
-<html prefix="og: http://ogp.me/ns#">
-<head>
- <title><?php if(x($page,'title')) echo $page['title'] ?></title>
- <script>var baseurl="<?php echo z_root() ?>";</script>
- <?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
-</head>
-<body>
- <section style="margin:0px!important; padding:0px!important; float:none!important;display:block!important;"><?php if(x($page,'content')) echo $page['content']; ?>
- <div id="page-footer"></div>
- </section>
-</body>
-</html>
-
+<?php +/** + * * Name: full + * * Description: A single column full width layout without a navbar + * * Version: 1 + * * Author: None + * * Maintainer: None + * * ContentRegion: content, region_1 + */ +?> +<!DOCTYPE html > +<html prefix="og: http://ogp.me/ns#"> +<head> + <title><?php if(x($page,'title')) echo $page['title'] ?></title> + <script>var baseurl="<?php echo z_root() ?>";</script> + <?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?> +</head> +<body> + <section id="region_1"> + <?php if(x($page,'content')) echo $page['content']; ?> + <div id="page-footer"></div> + </section> +</body> +</html> + diff --git a/view/php/none.php b/view/php/none.php index 51d0e83dc..5e92310b7 100644 --- a/view/php/none.php +++ b/view/php/none.php @@ -1 +1,10 @@ +<?php +/** + * * Name: none + * * Description: A barebones empty single page template + * * Version: 1 + * * Author: None + * * Maintainer: None + */ +?> <?php if(x($page,'content')) echo $page['content']; ?> diff --git a/view/php/zen.php b/view/php/zen.php index a96cf722f..24aae951b 100644 --- a/view/php/zen.php +++ b/view/php/zen.php @@ -1,11 +1,11 @@ <!DOCTYPE html> <html prefix="og: http://ogp.me/ns#"> -<head> - <title><?php if(x($page,'title')) echo $page['title'] ?></title> - <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1"> - <?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?> -</head> -<body> - <?php if(x($page,'content')) echo $page['content']; ?> -</body> + <head> + <title><?php if(x($page,'title')) echo $page['title'] ?></title> + <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1"> + <?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?> + </head> + <body> + <?php if(x($page,'content')) echo $page['content']; ?> + </body> </html> diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index cea9b8ae5..ebbc1aaa3 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -1728,7 +1728,7 @@ dl.bb-dl > dd > li { text-align: center; } -#login-main, .rmagic-button { +.login-wrapper { max-width: 400px; margin-top: 20px; margin-left: auto; diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js index c0c03d4f8..04469cb85 100644 --- a/view/theme/redbasic/js/redbasic.js +++ b/view/theme/redbasic/js/redbasic.js @@ -17,8 +17,13 @@ $(document).ready(function() { } $('#css3-calc').remove(); // Remove the test element - stickyScroll('.aside_spacer_left', '.aside_spacer_top_left', '.content', parseFloat(window.getComputedStyle(document.querySelector('#region_1')).getPropertyValue('padding-top')), 0); - stickyScroll('.aside_spacer_right', '.aside_spacer_top_right', '.content', parseFloat(window.getComputedStyle(document.querySelector('#region_3')).getPropertyValue('padding-top')), 20); + if (document.querySelector('#region_1')) { + stickyScroll('.aside_spacer_left', '.aside_spacer_top_left', '.content', parseFloat(window.getComputedStyle(document.querySelector('#region_1')).getPropertyValue('padding-top')), 0); + } + + if (document.querySelector('#region_3')) { + stickyScroll('.aside_spacer_right', '.aside_spacer_top_right', '.content', parseFloat(window.getComputedStyle(document.querySelector('#region_3')).getPropertyValue('padding-top')), 20); + } $('#expand-aside').on('click', function() { if($('main').hasClass('region_1-on')){ @@ -121,8 +126,14 @@ function setStyle(element, cssProperty) { } function stickyScroll(sticky, stickyTop, container, topOffset, bottomOffset) { + var lastScrollTop = 0; var sticky = document.querySelector(sticky); + + if (!sticky) { + return; + } + var stickyHeight = sticky.getBoundingClientRect().height; var stickyTop = document.querySelector(stickyTop); var content = document.querySelector(container); diff --git a/view/theme/redbasic/php/style.php b/view/theme/redbasic/php/style.php index 9cb835ec6..3dbc29a96 100644 --- a/view/theme/redbasic/php/style.php +++ b/view/theme/redbasic/php/style.php @@ -36,9 +36,8 @@ if(! App::$install) { // not --- like the mobile theme does instead. // Allow layouts to over-ride the schema - -if($_REQUEST['schema']) { - $schema = $_REQUEST['schema']; +if (isset($_REQUEST['schema']) && preg_match('/^[\w_-]+$/i', $_REQUEST['schema'])) { + $schema = $_REQUEST['schema']; } if (($schema) && ($schema != '---')) { @@ -112,6 +111,10 @@ if(file_exists('view/theme/redbasic/css/style.css')) { $x = file_get_contents('view/theme/redbasic/css/style.css'); + if($schema === 'dark' && file_exists('view/theme/redbasic/schema/bootstrap-nightfall.css')) { + $x .= file_get_contents('view/theme/redbasic/schema/bootstrap-nightfall.css'); + } + if($narrow_navbar && file_exists('view/theme/redbasic/css/narrow_navbar.css')) { $x .= file_get_contents('view/theme/redbasic/css/narrow_navbar.css'); } diff --git a/view/theme/redbasic/schema/bootstrap-nightfall.css b/view/theme/redbasic/schema/bootstrap-nightfall.css new file mode 100644 index 000000000..d9cb8cc63 --- /dev/null +++ b/view/theme/redbasic/schema/bootstrap-nightfall.css @@ -0,0 +1,1898 @@ +/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * + * Bootstrap-Nightfall v1.1.3 (https://vinorodrigues.github.io/bootstrap-dark-5/) + * Copyright 2020-2022 Vino Rodrigues + * This version is an extraction with only the dark elements, or deltas, of the + * dark theme. Used as a bootstrap plugin. + */ +:root { + color-scheme: dark; +} + +:root { + --bs-blue: #375a7f; + --bs-indigo: #673ab7; + --bs-purple: #654ea3; + --bs-pink: #e83e8c; + --bs-red: #e74c3c; + --bs-orange: #fd7e14; + --bs-yellow: #f39c12; + --bs-green: #00bc8c; + --bs-teal: #45b5aa; + --bs-cyan: #17a2b8; + --bs-white: #fafafa; + --bs-black: #111; + --bs-gray: #7e7e7e; + --bs-gray-dark: #121212; + --bs-gray-100: #e1e1e1; + --bs-gray-200: #cfcfcf; + --bs-gray-300: #b1b1b1; + --bs-gray-400: #9e9e9e; + --bs-gray-500: #7e7e7e; + --bs-gray-600: #626262; + --bs-gray-700: #515151; + --bs-gray-800: #3b3b3b; + --bs-gray-900: #222; + --bs-primary: #375a7f; + --bs-secondary: #626262; + --bs-success: #00bc8c; + --bs-info: #17a2b8; + --bs-warning: #f39c12; + --bs-danger: #e74c3c; + --bs-light: #9e9e9e; + --bs-dark: #3b3b3b; + --bs-primary-rgb: 55, 90, 127; + --bs-secondary-rgb: 98, 98, 98; + --bs-success-rgb: 0, 188, 140; + --bs-info-rgb: 23, 162, 184; + --bs-warning-rgb: 243, 156, 18; + --bs-danger-rgb: 231, 76, 60; + --bs-light-rgb: 158, 158, 158; + --bs-dark-rgb: 59, 59, 59; + --bs-white-rgb: 250, 250, 250; + --bs-black-rgb: 17, 17, 17; + --bs-body-color-rgb: 225, 225, 225; + --bs-body-bg-rgb: 34, 34, 34; + --bs-body-color: #e1e1e1; + --bs-body-bg: #222; + --bs-gradient: linear-gradient(180deg, rgba(17, 17, 17, 0.15), rgba(17, 17, 17, 0)); +} + +hr { + color: #fafafa; + background-color: currentColor; + opacity: 0.1; +} + +mark { + background-color: rgba(243, 156, 18, 0.5); +} + +a { + color: #5f7b99; +} +a:hover { + color: #4b6b8c; +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; +} + +pre { + color: #e1e1e1; +} +pre code { + color: inherit; +} + +code { + color: #45b5aa; +} +a > code { + color: inherit; +} + +kbd { + color: #e1e1e1; + background-color: #3b3b3b; +} + +caption { + color: #9e9e9e; +} + +.blockquote-footer { + color: #626262; +} + +.img-thumbnail { + background-color: #222; + border: 1px solid #515151; +} + +.figure-caption { + color: #9e9e9e; +} + +.table { + --bs-table-color: #e1e1e1; + --bs-table-bg: transparent; + --bs-table-border-color: #515151; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: #e1e1e1; + --bs-table-striped-bg: rgba(250, 250, 250, 0.05); + --bs-table-active-color: #e1e1e1; + --bs-table-active-bg: rgba(250, 250, 250, 0.1); + --bs-table-hover-color: #e1e1e1; + --bs-table-hover-bg: rgba(250, 250, 250, 0.075); + color: #e1e1e1; + border-color: #515151; +} +.table > :not(:first-child) { + border-top: 2px solid currentColor; +} + +.table-primary { + --bs-table-color: #fff; + --bs-table-bg: #1c2d40; + --bs-table-border-color: #334253; + --bs-table-striped-bg: #27384a; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #334253; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #2d3d4e; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #334253; +} + +.table-secondary { + --bs-table-color: #fff; + --bs-table-bg: #313131; + --bs-table-border-color: #464646; + --bs-table-striped-bg: #3b3b3b; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #464646; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #404040; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #464646; +} + +.table-success { + --bs-table-color: #fff; + --bs-table-bg: #005e46; + --bs-table-border-color: #1a6e59; + --bs-table-striped-bg: #0d664f; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #1a6e59; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #136a54; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #1a6e59; +} + +.table-info { + --bs-table-color: #fff; + --bs-table-bg: #0c515c; + --bs-table-border-color: #24626c; + --bs-table-striped-bg: #185a64; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #24626c; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #1e5e68; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #24626c; +} + +.table-warning { + --bs-table-color: #fff; + --bs-table-bg: #7a4e09; + --bs-table-border-color: #876022; + --bs-table-striped-bg: #815715; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #876022; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #845b1b; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #876022; +} + +.table-danger { + --bs-table-color: #fff; + --bs-table-bg: #74261e; + --bs-table-border-color: #823c35; + --bs-table-striped-bg: #7b3129; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #823c35; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #7e362f; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #823c35; +} + +.table-light { + --bs-table-color: #000; + --bs-table-bg: #9e9e9e; + --bs-table-border-color: #8e8e8e; + --bs-table-striped-bg: #969696; + --bs-table-striped-color: #000; + --bs-table-active-bg: #8e8e8e; + --bs-table-active-color: #000; + --bs-table-hover-bg: #929292; + --bs-table-hover-color: #000; + color: #000; + border-color: #8e8e8e; +} + +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #3b3b3b; + --bs-table-border-color: #4f4f4f; + --bs-table-striped-bg: #454545; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #4f4f4f; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #4a4a4a; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #4f4f4f; +} + +.form-text { + color: #9e9e9e; +} + +.form-control { + color: #b1b1b1; + background-color: #222; + border: 1px solid #515151; +} +.form-control:focus { + color: #b1b1b1; + background-color: #222; + border-color: #9badbf; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-control::-moz-placeholder { + color: #5a5a5a; +} +.form-control::placeholder { + color: #5a5a5a; +} +.form-control:disabled, .form-control[readonly] { + background-color: #222; +} +.form-control::-webkit-file-upload-button { + color: #b1b1b1; + background-color: #3b3b3b; + border-color: inherit; +} +.form-control::file-selector-button { + color: #b1b1b1; + background-color: #3b3b3b; + border-color: inherit; +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #383838; +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #383838; +} +.form-control::-webkit-file-upload-button { + color: #b1b1b1; + background-color: #3b3b3b; + border-color: inherit; +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #383838; +} + +.form-control-plaintext { + color: #e1e1e1; + background-color: transparent; + border: solid transparent; +} + +.form-select { + color: #b1b1b1; + background-color: #222; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23cfcfcf' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + border: 1px solid #515151; +} +.form-select:focus { + border-color: #9badbf; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + background-image: none; +} +.form-select:disabled { + background-color: #3b3b3b; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #b1b1b1; +} + +.form-check-input { + background-color: #222; + border: 1px solid rgba(255, 255, 255, 0.25); +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #9badbf; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-check-input:checked { + background-color: #375a7f; + border-color: #375a7f; +} +.form-check-input:checked[type=checkbox] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fafafa' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fafafa'/%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #375a7f; + border-color: #375a7f; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fafafa' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + opacity: 0.5; +} + +.form-switch .form-check-input { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28250, 250, 250, 0.25%29'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:focus { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%239badbf'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fafafa'/%3e%3c/svg%3e"); +} + +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + opacity: 0.65; +} + +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #222, 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #222, 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-range::-webkit-slider-thumb { + background-color: #375a7f; + border: 0; +} +.form-range::-webkit-slider-thumb:active { + background-color: #c3ced9; +} +.form-range::-webkit-slider-runnable-track { + background-color: #515151; +} +.form-range::-moz-range-thumb { + background-color: #375a7f; + border: 0; +} +.form-range::-moz-range-thumb:active { + background-color: #c3ced9; +} +.form-range::-moz-range-track { + background-color: #515151; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #7e7e7e; +} +.form-range:disabled::-moz-range-thumb { + background-color: #7e7e7e; +} + +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} + +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; +} + +.input-group-text { + color: #b1b1b1; + background-color: #3b3b3b; + border: 1px solid #515151; +} + +.valid-feedback { + color: #00bc8c; +} + +.valid-tooltip { + color: #111; + background-color: rgba(0, 188, 140, 0.9); +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #00bc8c; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #00bc8c; + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.25); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #00bc8c; +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23cfcfcf' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); +} +.was-validated .form-select:valid[multiple], .was-validated .form-select:valid[size]:not([size="1"]), .form-select.is-valid[multiple], .form-select.is-valid[size]:not([size="1"]) { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #00bc8c; + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.25); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #00bc8c; +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #00bc8c; +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #00bc8c; +} + +.invalid-feedback { + color: #e74c3c; +} + +.invalid-tooltip { + color: #fafafa; + background-color: rgba(231, 76, 60, 0.9); +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #e74c3c; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74c3c'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #e74c3c; + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.25); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #e74c3c; +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23cfcfcf' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74c3c'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); +} +.was-validated .form-select:invalid[multiple], .was-validated .form-select:invalid[size]:not([size="1"]), .form-select.is-invalid[multiple], .form-select.is-invalid[size]:not([size="1"]) { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74c3c'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #e74c3c; + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.25); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #e74c3c; +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #e74c3c; +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #e74c3c; +} + +.btn { + color: #e1e1e1; + background-color: transparent; + border: 1px solid transparent; +} +.btn:hover { + color: #e1e1e1; +} +.btn-check:focus + .btn, .btn:focus { + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + opacity: 0.65; +} + +.btn-primary { + color: #fafafa; + background-color: #375a7f; + border-color: #375a7f; +} +.btn-primary:hover { + color: #fafafa; + background-color: #2f4d6c; + border-color: #2c4866; +} +.btn-check:focus + .btn-primary, .btn-primary:focus { + color: #fafafa; + background-color: #2f4d6c; + border-color: #2c4866; + box-shadow: 0 0 0 0.25rem rgba(84, 114, 145, 0.5); +} +.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle { + color: #fafafa; + background-color: #2c4866; + border-color: #29445f; +} +.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(84, 114, 145, 0.5); +} +.btn-primary:disabled, .btn-primary.disabled { + color: #fafafa; + background-color: #375a7f; + border-color: #375a7f; +} + +.btn-secondary { + color: #fafafa; + background-color: #626262; + border-color: #626262; +} +.btn-secondary:hover { + color: #fafafa; + background-color: #535353; + border-color: #4e4e4e; +} +.btn-check:focus + .btn-secondary, .btn-secondary:focus { + color: #fafafa; + background-color: #535353; + border-color: #4e4e4e; + box-shadow: 0 0 0 0.25rem rgba(121, 121, 121, 0.5); +} +.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle { + color: #fafafa; + background-color: #4e4e4e; + border-color: #4a4a4a; +} +.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(121, 121, 121, 0.5); +} +.btn-secondary:disabled, .btn-secondary.disabled { + color: #fafafa; + background-color: #626262; + border-color: #626262; +} + +.btn-success { + color: #111; + background-color: #00bc8c; + border-color: #00bc8c; +} +.btn-success:hover { + color: #111; + background-color: #26c69d; + border-color: #1ac398; +} +.btn-check:focus + .btn-success, .btn-success:focus { + color: #111; + background-color: #26c69d; + border-color: #1ac398; + box-shadow: 0 0 0 0.25rem rgba(3, 162, 122, 0.5); +} +.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle { + color: #111; + background-color: #33c9a3; + border-color: #1ac398; +} +.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(3, 162, 122, 0.5); +} +.btn-success:disabled, .btn-success.disabled { + color: #111; + background-color: #00bc8c; + border-color: #00bc8c; +} + +.btn-info { + color: #fafafa; + background-color: #17a2b8; + border-color: #17a2b8; +} +.btn-info:hover { + color: #fafafa; + background-color: #148a9c; + border-color: #128293; +} +.btn-check:focus + .btn-info, .btn-info:focus { + color: #fafafa; + background-color: #148a9c; + border-color: #128293; + box-shadow: 0 0 0 0.25rem rgba(57, 175, 194, 0.5); +} +.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle { + color: #fafafa; + background-color: #128293; + border-color: #117a8a; +} +.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(57, 175, 194, 0.5); +} +.btn-info:disabled, .btn-info.disabled { + color: #fafafa; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-warning { + color: #111; + background-color: #f39c12; + border-color: #f39c12; +} +.btn-warning:hover { + color: #111; + background-color: #f5ab36; + border-color: #f4a62a; +} +.btn-check:focus + .btn-warning, .btn-warning:focus { + color: #111; + background-color: #f5ab36; + border-color: #f4a62a; + box-shadow: 0 0 0 0.25rem rgba(209, 135, 18, 0.5); +} +.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle { + color: #111; + background-color: #f5b041; + border-color: #f4a62a; +} +.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(209, 135, 18, 0.5); +} +.btn-warning:disabled, .btn-warning.disabled { + color: #111; + background-color: #f39c12; + border-color: #f39c12; +} + +.btn-danger { + color: #fafafa; + background-color: #e74c3c; + border-color: #e74c3c; +} +.btn-danger:hover { + color: #fafafa; + background-color: #c44133; + border-color: #b93d30; +} +.btn-check:focus + .btn-danger, .btn-danger:focus { + color: #fafafa; + background-color: #c44133; + border-color: #b93d30; + box-shadow: 0 0 0 0.25rem rgba(234, 102, 89, 0.5); +} +.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle { + color: #fafafa; + background-color: #b93d30; + border-color: #ad392d; +} +.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(234, 102, 89, 0.5); +} +.btn-danger:disabled, .btn-danger.disabled { + color: #fafafa; + background-color: #e74c3c; + border-color: #e74c3c; +} + +.btn-light { + color: #fafafa; + background-color: #9e9e9e; + border-color: #9e9e9e; +} +.btn-light:hover { + color: #fafafa; + background-color: #868686; + border-color: #7e7e7e; +} +.btn-check:focus + .btn-light, .btn-light:focus { + color: #fafafa; + background-color: #868686; + border-color: #7e7e7e; + box-shadow: 0 0 0 0.25rem rgba(172, 172, 172, 0.5); +} +.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle { + color: #fafafa; + background-color: #7e7e7e; + border-color: #777777; +} +.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(172, 172, 172, 0.5); +} +.btn-light:disabled, .btn-light.disabled { + color: #fafafa; + background-color: #9e9e9e; + border-color: #9e9e9e; +} + +.btn-dark { + color: #fafafa; + background-color: #3b3b3b; + border-color: #3b3b3b; +} +.btn-dark:hover { + color: #fafafa; + background-color: #323232; + border-color: #2f2f2f; +} +.btn-check:focus + .btn-dark, .btn-dark:focus { + color: #fafafa; + background-color: #323232; + border-color: #2f2f2f; + box-shadow: 0 0 0 0.25rem rgba(88, 88, 88, 0.5); +} +.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle { + color: #fafafa; + background-color: #2f2f2f; + border-color: #2c2c2c; +} +.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(88, 88, 88, 0.5); +} +.btn-dark:disabled, .btn-dark.disabled { + color: #fafafa; + background-color: #3b3b3b; + border-color: #3b3b3b; +} + +.btn-outline-primary { + color: #375a7f; + border-color: #375a7f; +} +.btn-outline-primary:hover { + color: #fff; + background-color: #375a7f; + border-color: #375a7f; +} +.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus { + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.5); +} +.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show { + color: #fff; + background-color: #375a7f; + border-color: #375a7f; +} +.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.5); +} +.btn-outline-primary:disabled, .btn-outline-primary.disabled { + color: #375a7f; + background-color: transparent; +} + +.btn-outline-secondary { + color: #626262; + border-color: #626262; +} +.btn-outline-secondary:hover { + color: #fff; + background-color: #626262; + border-color: #626262; +} +.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus { + box-shadow: 0 0 0 0.25rem rgba(98, 98, 98, 0.5); +} +.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show { + color: #fff; + background-color: #626262; + border-color: #626262; +} +.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(98, 98, 98, 0.5); +} +.btn-outline-secondary:disabled, .btn-outline-secondary.disabled { + color: #626262; + background-color: transparent; +} + +.btn-outline-success { + color: #00bc8c; + border-color: #00bc8c; +} +.btn-outline-success:hover { + color: #000; + background-color: #00bc8c; + border-color: #00bc8c; +} +.btn-check:focus + .btn-outline-success, .btn-outline-success:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.5); +} +.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show { + color: #000; + background-color: #00bc8c; + border-color: #00bc8c; +} +.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.5); +} +.btn-outline-success:disabled, .btn-outline-success.disabled { + color: #00bc8c; + background-color: transparent; +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} +.btn-outline-info:hover { + color: #000; + background-color: #17a2b8; + border-color: #17a2b8; +} +.btn-check:focus + .btn-outline-info, .btn-outline-info:focus { + box-shadow: 0 0 0 0.25rem rgba(23, 162, 184, 0.5); +} +.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show { + color: #000; + background-color: #17a2b8; + border-color: #17a2b8; +} +.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(23, 162, 184, 0.5); +} +.btn-outline-info:disabled, .btn-outline-info.disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-warning { + color: #f39c12; + border-color: #f39c12; +} +.btn-outline-warning:hover { + color: #000; + background-color: #f39c12; + border-color: #f39c12; +} +.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus { + box-shadow: 0 0 0 0.25rem rgba(243, 156, 18, 0.5); +} +.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show { + color: #000; + background-color: #f39c12; + border-color: #f39c12; +} +.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(243, 156, 18, 0.5); +} +.btn-outline-warning:disabled, .btn-outline-warning.disabled { + color: #f39c12; + background-color: transparent; +} + +.btn-outline-danger { + color: #e74c3c; + border-color: #e74c3c; +} +.btn-outline-danger:hover { + color: #000; + background-color: #e74c3c; + border-color: #e74c3c; +} +.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus { + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.5); +} +.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show { + color: #000; + background-color: #e74c3c; + border-color: #e74c3c; +} +.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.5); +} +.btn-outline-danger:disabled, .btn-outline-danger.disabled { + color: #e74c3c; + background-color: transparent; +} + +.btn-outline-light { + color: #9e9e9e; + border-color: #9e9e9e; +} +.btn-outline-light:hover { + color: #000; + background-color: #9e9e9e; + border-color: #9e9e9e; +} +.btn-check:focus + .btn-outline-light, .btn-outline-light:focus { + box-shadow: 0 0 0 0.25rem rgba(158, 158, 158, 0.5); +} +.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show { + color: #000; + background-color: #9e9e9e; + border-color: #9e9e9e; +} +.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(158, 158, 158, 0.5); +} +.btn-outline-light:disabled, .btn-outline-light.disabled { + color: #9e9e9e; + background-color: transparent; +} + +.btn-outline-dark { + color: #3b3b3b; + border-color: #3b3b3b; +} +.btn-outline-dark:hover { + color: #fff; + background-color: #3b3b3b; + border-color: #3b3b3b; +} +.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus { + box-shadow: 0 0 0 0.25rem rgba(59, 59, 59, 0.5); +} +.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show { + color: #fff; + background-color: #3b3b3b; + border-color: #3b3b3b; +} +.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(59, 59, 59, 0.5); +} +.btn-outline-dark:disabled, .btn-outline-dark.disabled { + color: #3b3b3b; + background-color: transparent; +} + +.btn-link { + color: #5f7b99; +} +.btn-link:hover { + color: #4b6b8c; +} +.btn-link:disabled, .btn-link.disabled { + color: #626262; +} + +.dropdown-menu { + color: #e1e1e1; + background-color: #111; + border: 1px solid rgba(250, 250, 250, 0.15); +} + +.dropdown-divider { + border-top: 1px solid rgba(250, 250, 250, 0.15); +} + +.dropdown-item { + color: #f8f9fa; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: #dfe0e1; + background-color: #343a40; +} +.dropdown-item.active, .dropdown-item:active { + color: #fafafa; + background-color: #375a7f; +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: #7e7e7e; + background-color: transparent; +} + +.dropdown-header { + color: #9e9e9e; +} + +.dropdown-item-text { + color: #f8f9fa; +} + +.dropdown-menu-dark { + color: #515151; + background-color: #cfcfcf; + border-color: rgba(250, 250, 250, 0.15); +} +.dropdown-menu-dark .dropdown-item { + color: #515151; +} +.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus { + color: #111; + background-color: rgba(17, 17, 17, 0.15); +} +.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active { + color: #fafafa; + background-color: #375a7f; +} +.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { + color: #7e7e7e; +} +.dropdown-menu-dark .dropdown-divider { + border-color: rgba(250, 250, 250, 0.15); +} +.dropdown-menu-dark .dropdown-item-text { + color: #515151; +} +.dropdown-menu-dark .dropdown-header { + color: #7e7e7e; +} + +.nav-link { + color: #5f7b99; +} +.nav-link:hover, .nav-link:focus { + color: #4b6b8c; +} +.nav-link.disabled { + color: #9e9e9e; +} + +.nav-tabs { + border-bottom: 1px solid #515151; +} +.nav-tabs .nav-link { + border: 1px solid transparent; +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #3b3b3b #3b3b3b #515151; +} +.nav-tabs .nav-link.disabled { + color: #9e9e9e; + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #b1b1b1; + background-color: #222; + border-color: #515151 #515151 #222; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fafafa; + background-color: #375a7f; +} + +.navbar-toggler { + background-color: transparent; + border: 1px solid transparent; +} + +.navbar-light .navbar-brand { + color: rgba(250, 250, 250, 0.9); +} +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(250, 250, 250, 0.9); +} +.navbar-light .navbar-nav .nav-link { + color: rgba(250, 250, 250, 0.55); +} +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(250, 250, 250, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(250, 250, 250, 0.3); +} +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(250, 250, 250, 0.9); +} +.navbar-light .navbar-toggler { + color: rgba(250, 250, 250, 0.55); + border-color: rgba(250, 250, 250, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28250, 250, 250, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-light .navbar-text { + color: rgba(250, 250, 250, 0.55); +} +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:hover, +.navbar-light .navbar-text a:focus { + color: rgba(250, 250, 250, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fafafa; +} +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fafafa; +} +.navbar-dark .navbar-nav .nav-link { + color: rgba(250, 250, 250, 0.55); +} +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(250, 250, 250, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(250, 250, 250, 0.25); +} +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .nav-link.active { + color: #fafafa; +} +.navbar-dark .navbar-toggler { + color: rgba(250, 250, 250, 0.55); + border-color: rgba(250, 250, 250, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28250, 250, 250, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-dark .navbar-text { + color: rgba(250, 250, 250, 0.55); +} +.navbar-dark .navbar-text a, +.navbar-dark .navbar-text a:hover, +.navbar-dark .navbar-text a:focus { + color: #fafafa; +} + +.card { + background-color: #222; + border: 1px solid rgba(250, 250, 250, 0.125); +} + +.card-header { + background-color: rgba(250, 250, 250, 0.03); + border-bottom: 1px solid rgba(250, 250, 250, 0.125); +} + +.card-footer { + background-color: rgba(250, 250, 250, 0.03); + border-top: 1px solid rgba(250, 250, 250, 0.125); +} + +.accordion-button { + color: #e1e1e1; + background-color: #222; +} +.accordion-button:not(.collapsed) { + color: #879cb2; + background-color: #1c2d40; + box-shadow: inset 0 -1px 0 rgba(250, 250, 250, 0.125); +} +.accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23879cb2'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} +.accordion-button::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e1e1e1'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + border-color: #9badbf; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} + +.accordion-item { + background-color: #222; + border: 1px solid rgba(250, 250, 250, 0.125); +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} + +.breadcrumb-item + .breadcrumb-item::before { + color: #9e9e9e; +} +.breadcrumb-item.active { + color: #9e9e9e; +} + +.page-link { + color: #5f7b99; + background-color: #3b3b3b; + border: 1px solid #515151; +} +.page-link:hover { + color: #4b6b8c; + background-color: #515151; + border-color: #515151; +} +.page-link:focus { + color: #4b6b8c; + background-color: #3b3b3b; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} + +.page-item.active .page-link { + color: #fafafa; + background-color: #375a7f; + border-color: #375a7f; +} +.page-item.disabled .page-link { + color: #5a5a5a; + background-color: #222; + border-color: #515151; +} + +.badge { + color: #fafafa; +} + +.alert-heading { + color: inherit; +} + +.alert-primary { + color: #738ca5; + background-color: #1c2d40; + border-color: #21364c; +} +.alert-primary .alert-link { + color: #5c7084; +} + +.alert-secondary { + color: #919191; + background-color: #313131; + border-color: #3b3b3b; +} +.alert-secondary .alert-link { + color: #747474; +} + +.alert-success { + color: #4dd0af; + background-color: #005e46; + border-color: #007154; +} +.alert-success .alert-link { + color: #3ea68c; +} + +.alert-info { + color: #5dbecd; + background-color: #0c515c; + border-color: #0e616e; +} +.alert-info .alert-link { + color: #4a98a4; +} + +.alert-warning { + color: #f7ba59; + background-color: #7a4e09; + border-color: #925e0b; +} +.alert-warning .alert-link { + color: #c69547; +} + +.alert-danger { + color: #ee8277; + background-color: #74261e; + border-color: #8b2e24; +} +.alert-danger .alert-link { + color: #be685f; +} + +.alert-light { + color: #bbbbbb; + background-color: #4f4f4f; + border-color: #5f5f5f; +} +.alert-light .alert-link { + color: #969696; +} + +.alert-dark { + color: #767676; + background-color: #1e1e1e; + border-color: #232323; +} +.alert-dark .alert-link { + color: #5e5e5e; +} + +.progress { + background-color: #3b3b3b; +} + +.progress-bar { + color: #111; + background-color: #375a7f; +} + +.list-group-item-action { + color: #b1b1b1; +} +.list-group-item-action:hover, .list-group-item-action:focus { + color: #b1b1b1; + background-color: #2f2f2f; +} +.list-group-item-action:active { + color: #e1e1e1; + background-color: #3b3b3b; +} + +.list-group-item { + color: #e1e1e1; + background-color: #222; + border: 1px solid rgba(250, 250, 250, 0.125); +} +.list-group-item.disabled, .list-group-item:disabled { + color: #9e9e9e; + background-color: #222; +} +.list-group-item.active { + color: #fafafa; + background-color: #375a7f; + border-color: #375a7f; +} + +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #738ca5; + background-color: #1c2d40; +} +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #738ca5; + background-color: #19293a; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #738ca5; + border-color: #738ca5; +} + +.list-group-item-secondary { + color: #919191; + background-color: #313131; +} +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #919191; + background-color: #2c2c2c; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #919191; + border-color: #919191; +} + +.list-group-item-success { + color: #4dd0af; + background-color: #005e46; +} +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #4dd0af; + background-color: #00553f; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #4dd0af; + border-color: #4dd0af; +} + +.list-group-item-info { + color: #5dbecd; + background-color: #0c515c; +} +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #5dbecd; + background-color: #0b4953; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #5dbecd; + border-color: #5dbecd; +} + +.list-group-item-warning { + color: #f7ba59; + background-color: #7a4e09; +} +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #f7ba59; + background-color: #6e4608; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #f7ba59; + border-color: #f7ba59; +} + +.list-group-item-danger { + color: #ee8277; + background-color: #74261e; +} +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #ee8277; + background-color: #68221b; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #ee8277; + border-color: #ee8277; +} + +.list-group-item-light { + color: #bbbbbb; + background-color: #4f4f4f; +} +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #bbbbbb; + background-color: #474747; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #bbbbbb; + border-color: #bbbbbb; +} + +.list-group-item-dark { + color: #767676; + background-color: #1e1e1e; +} +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #767676; + background-color: #1b1b1b; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #767676; + border-color: #767676; +} + +.btn-close { + color: #fafafa; + background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fafafa'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + opacity: 0.5; +} +.btn-close:hover { + color: #fafafa; + opacity: 0.75; +} +.btn-close:focus { + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); + opacity: 1; +} +.btn-close:disabled, .btn-close.disabled { + opacity: 0.25; +} + +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + background-color: rgba(17, 17, 17, 0.85); + border: 1px solid rgba(250, 250, 250, 0.1); + box-shadow: 0 0.5rem 1rem rgba(17, 17, 17, 0.15); +} + +.toast-header { + color: #9e9e9e; + background-color: rgba(17, 17, 17, 0.85); + border-bottom: 1px solid rgba(250, 250, 250, 0.05); +} + +.modal-content { + background-color: #2f2f2f; + border: 1px solid rgba(250, 250, 250, 0.2); +} + +.modal-backdrop { + background-color: #111; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: 0.85; +} + +.modal-header { + border-bottom: 1px solid #515151; +} + +.modal-footer { + border-top: 1px solid #515151; +} + +.tooltip { + opacity: 0; +} +.tooltip.show { + opacity: 0.9; +} + +.bs-tooltip-top .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + border-top-color: #fafafa; +} + +.bs-tooltip-end .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + border-right-color: #fafafa; +} + +.bs-tooltip-bottom .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + border-bottom-color: #fafafa; +} + +.bs-tooltip-start .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + border-left-color: #fafafa; +} + +.tooltip-inner { + color: #111; + background-color: #fafafa; +} + +.popover { + background-color: #111; + border: 1px solid rgba(250, 250, 250, 0.2); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + border-color: transparent; + border-style: solid; +} + +.bs-popover-top > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + border-top-color: rgba(250, 250, 250, 0.25); +} +.bs-popover-top > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-top-color: #111; +} + +.bs-popover-end > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + border-right-color: rgba(250, 250, 250, 0.25); +} +.bs-popover-end > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-right-color: #111; +} + +.bs-popover-bottom > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + border-bottom-color: rgba(250, 250, 250, 0.25); +} +.bs-popover-bottom > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-bottom-color: #111; +} +.bs-popover-bottom .popover-header::before, +.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + border-bottom: 1px solid #1f1f1f; +} + +.bs-popover-start > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + border-left-color: rgba(250, 250, 250, 0.25); +} +.bs-popover-start > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-left-color: #111; +} + +.popover-header { + background-color: #1f1f1f; + border-bottom: 1px solid rgba(250, 250, 250, 0.2); +} + +.popover-body { + color: #e1e1e1; +} + +.carousel-control-prev, +.carousel-control-next { + color: #fafafa; + opacity: 0.5; +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fafafa; + opacity: 0.9; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fafafa'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fafafa'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.carousel-indicators [data-bs-target] { + background-color: #111; + opacity: 0.5; +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + color: #111; +} + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #fafafa; +} +.carousel-dark .carousel-caption { + color: #fafafa; +} + +.offcanvas { + background-color: #2f2f2f; +} + +.offcanvas-backdrop { + background-color: #111; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.85; +} + +.offcanvas-start { + border-right: 1px solid rgba(250, 250, 250, 0.2); +} + +.offcanvas-end { + border-left: 1px solid rgba(250, 250, 250, 0.2); +} + +.offcanvas-top { + border-bottom: 1px solid rgba(250, 250, 250, 0.2); +} + +.offcanvas-bottom { + border-top: 1px solid rgba(250, 250, 250, 0.2); +} + +.placeholder { + background-color: currentColor; + opacity: 0.5; +} + +@-webkit-keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient(130deg, #fafafa 55%, rgba(255, 255, 255, 0.8) 75%, #fafafa 95%); + mask-image: linear-gradient(130deg, #fafafa 55%, rgba(255, 255, 255, 0.8) 75%, #fafafa 95%); +} + +.link-primary { + color: #375a7f; +} +.link-primary:hover, .link-primary:focus { + color: #2c4866; +} + +.link-secondary { + color: #626262; +} +.link-secondary:hover, .link-secondary:focus { + color: #4e4e4e; +} + +.link-success { + color: #00bc8c; +} +.link-success:hover, .link-success:focus { + color: #33c9a3; +} + +.link-info { + color: #17a2b8; +} +.link-info:hover, .link-info:focus { + color: #128293; +} + +.link-warning { + color: #f39c12; +} +.link-warning:hover, .link-warning:focus { + color: #f5b041; +} + +.link-danger { + color: #e74c3c; +} +.link-danger:hover, .link-danger:focus { + color: #b93d30; +} + +.link-light { + color: #9e9e9e; +} +.link-light:hover, .link-light:focus { + color: #7e7e7e; +} + +.link-dark { + color: #3b3b3b; +} +.link-dark:hover, .link-dark:focus { + color: #2f2f2f; +} + +.vr { + background-color: currentColor; + opacity: 0.1; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(17, 17, 17, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(17, 17, 17, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(17, 17, 17, 0.175) !important; +} + +.border { + border: 1px solid #515151 !important; +} + +.border-top { + border-top: 1px solid #515151 !important; +} + +.border-end { + border-right: 1px solid #515151 !important; +} + +.border-bottom { + border-bottom: 1px solid #515151 !important; +} + +.border-start { + border-left: 1px solid #515151 !important; +} + +.border-primary { + border-color: #375a7f !important; +} + +.border-secondary { + border-color: #626262 !important; +} + +.border-success { + border-color: #00bc8c !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #f39c12 !important; +} + +.border-danger { + border-color: #e74c3c !important; +} + +.border-light { + border-color: #9e9e9e !important; +} + +.border-dark { + border-color: #3b3b3b !important; +} + +.border-white { + border-color: #fafafa !important; +} + +.border-black { + border-color: #111 !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: #9e9e9e !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(250, 250, 250, 0.5) !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(17, 17, 17, 0.5) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: #111 !important; +} + +body::-moz-selection { + color: #cfcfcf; + background: rgba(23, 162, 184, 0.5); +} + +body::selection { + color: #cfcfcf; + background: rgba(23, 162, 184, 0.5); +} + +/*# sourceMappingURL=bootstrap-nightfall.css.map */
\ No newline at end of file diff --git a/view/theme/redbasic/schema/dark.css b/view/theme/redbasic/schema/dark.css index bf55fec72..e7049a1c5 100644 --- a/view/theme/redbasic/schema/dark.css +++ b/view/theme/redbasic/schema/dark.css @@ -157,6 +157,10 @@ option { color:#fff !important; } +.dropdown-item { + color: $font_colour; +} + a.btn, aside a { font-weight: 400 !important; } @@ -164,7 +168,7 @@ a.btn, aside a { .btn { background-color: #1e1e1e; border-color: #222; - color: #ccc; + color: $font_colour; text-shadow: none; box-shadow: none; } @@ -181,7 +185,7 @@ a.btn, aside a { } .btn-primary, input#event-submit, input#rmagic-submit-button, input#lostpass-submit-button { - background-color: #337AB7; + background-color: #20537E; color: #FFF; } @@ -192,8 +196,8 @@ a.btn, aside a { } .btn-success { - color: #FFF !important; - background-color: #5CB85C !important; + color: #ccc !important; + background-color: #336A33 !important; border-color: #4CAE4C !important; } @@ -216,7 +220,7 @@ a.btn, aside a { } .btn-danger, form#chat-destroy > input { - background-color: #D9534F !important; + background-color: #B22A26 !important; border-color: #D43F3A !important; color: #FFF !important; } diff --git a/view/tpl/login.tpl b/view/tpl/login.tpl index cc4616b16..ead524193 100644 --- a/view/tpl/login.tpl +++ b/view/tpl/login.tpl @@ -1,13 +1,13 @@ <form action="{{$dest_url}}" id="{{$form_id}}" method="post" > <input type="hidden" name="auth-params" value="login" /> - <div id="login-main" class="d-grid gap-2"> + <div class="login-wrapper d-grid gap-2"> {{include file="field_input.tpl" field=$lname}} {{include file="field_password.tpl" field=$lpassword}} {{include file="field_checkbox.tpl" field=$remember_me}} <button type="submit" name="submit" class="btn btn-primary">{{$login}}</button> - {{if $register}}<a href="{{$register.link}}" title="{{$register.title}}" id="register-link" class="float-end">{{$register.desc}}</a>{{/if}} - {{if $lostlink}}<a href="lostpass" title="{{$lostpass}}" id="lost-password-link" >{{$lostlink}}</a>{{/if}} -<hr> + {{if $register}}<a href="{{$register.link}}" title="{{$register.title}}" class="register-link float-end">{{$register.desc}}</a>{{/if}} + {{if $lostlink}}<a href="lostpass" title="{{$lostpass}}" class="lost-pass-link">{{$lostlink}}</a>{{/if}} + <hr> <a href="rmagic" class="btn btn-outline-success">{{$remote_login}}</a> </div> {{foreach $hiddens as $k=>$v}} diff --git a/view/tpl/navbar_default.tpl b/view/tpl/navbar_default.tpl index 8d6d5dfd7..0dccd4404 100644 --- a/view/tpl/navbar_default.tpl +++ b/view/tpl/navbar_default.tpl @@ -1,23 +1,5 @@ <nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark"> <div class="container-fluid flex-nowrap"> - {{if $nav.login && !$userinfo}} - <div class="d-lg-none pt-1 pb-1"> - {{if $nav.loginmenu.1.4}} - <a class="btn btn-primary btn-sm text-white" href="#" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}_collapse" data-bs-toggle="modal" data-bs-target="#nav-login"> - {{$nav.loginmenu.1.1}} - </a> - {{else}} - <a class="btn btn-primary btn-sm text-white" href="login" title="{{$nav.loginmenu.1.3}}"> - {{$nav.loginmenu.1.1}} - </a> - {{/if}} - {{if $nav.register}} - <a class="btn btn-warning btn-sm text-dark" href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}" > - {{$nav.register.1}} - </a> - {{/if}} - </div> - {{/if}} {{if $userinfo}} <div class="d-flex" style="max-width: 50%"> <div class="dropdown"> @@ -83,8 +65,9 @@ {{/if}} {{/if}} </div> + {{else}} + <div id="banner" class="navbar-text d-lg-none">{{$banner}}</div> {{/if}} - <div class="navbar-toggler-right"> {{if $nav.help.6}} <button id="context-help-btn" class="navbar-toggler border-0" type="button" onclick="contextualHelp(); return false;"> @@ -179,6 +162,25 @@ </nav> <div class="offcanvas offcanvas-end" tabindex="-1" id="app-bin" aria-labelledby="app-bin-label"> <div class="offcanvas-header"> + {{if $nav.login && !$userinfo}} + <div class="d-lg-none pt-1 pb-1"> + {{if $nav.loginmenu.1.4}} + <a class="btn btn-primary btn-sm text-white" href="#" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}_collapse" data-bs-toggle="modal" data-bs-target="#nav-login"> + {{$nav.loginmenu.1.1}} + </a> + {{else}} + <a class="btn btn-primary btn-sm text-white" href="login" title="{{$nav.loginmenu.1.3}}"> + {{$nav.loginmenu.1.1}} + </a> + {{/if}} + {{if $nav.register}} + <a class="btn btn-warning btn-sm text-dark" href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}" > + {{$nav.register.1}} + </a> + {{/if}} + </div> + <div class="d-lg-flex"></div> + {{else}} <div class="lh-1" id="app-bin-label"> {{if $name}} <img src="{{$thumb}}" class="menu-img-2"> @@ -189,7 +191,10 @@ {{/if}} </div> <i id="app-bin-trash" class="fa fa-2x fa-fw fa-trash-o d-none"></i> + {{/if}} + <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button> + </div> <div class="offcanvas-body pt-0"> {{if $channel_apps.0}} diff --git a/view/tpl/pdledit_gui.tpl b/view/tpl/pdledit_gui.tpl new file mode 100644 index 000000000..8c4ca3e50 --- /dev/null +++ b/view/tpl/pdledit_gui.tpl @@ -0,0 +1,243 @@ +<div id="pdledit_gui_offcanvas" class="offcanvas offcanvas-lg offcanvas-bottom shadow border rounded-top start-50 translate-middle-x" tabindex="-1" data-bs-backdrop="false" data-bs-scroll="true" style="min-width: 300px"> + <div id="pdledit_gui_offcanvas_body" class="offcanvas-body"></div> + <div class="offcanvas-header"> + <div class="offcanvas-title h3"></div> + <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button> + </div> +</div> + +<div id="pdledit_gui_offcanvas_edit" class="offcanvas offcanvas-lg offcanvas-bottom shadow border rounded-top start-50 translate-middle-x" tabindex="-1" data-bs-backdrop="false" data-bs-scroll="true" style="min-width: 300px"> + <div id="pdledit_gui_offcanvas_edit_body" class="offcanvas-body"> + <textarea id="pdledit_gui_offcanvas_edit_textarea" class="form-control font-monospace h-100"></textarea> + </div> + <div class="offcanvas-header"> + <button id="pdledit_gui_offcanvas_edit_submit" type="button" class="btn btn-primary">Submit</button> + <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button> + </div> +</div> + +<div id="pdledit_gui_offcanvas_submit" class="offcanvas offcanvas-lg offcanvas-bottom shadow border rounded-top start-50 translate-middle-x" tabindex="-1" data-bs-backdrop="false" data-bs-scroll="true" style="min-width: 300px"> + <div id="pdledit_gui_offcanvas_submit_body" class="offcanvas-body"></div> + <div class="offcanvas-header"> + <button id="pdledit_gui_offcanvas_submit_submit" type="button" class="btn btn-primary">Submit</button> + <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button> + </div> +</div> + +<ul class="nav position-fixed bottom-0 start-50 bg-light translate-middle-x text-uppercase" style="min-width: 300px"> + <li class="nav-item"> + <a id="pdledit_gui_modules" class="nav-link" href="#">Modules</a> + </li> + <li class="nav-item"> + <a id="pdledit_gui_templates" class="nav-link" href="#">Templates</a> + </li> + <li class="nav-item"> + <a id="pdledit_gui_items" class="nav-link" href="#">Items</a> + </li> + <li class="nav-item"> + <a id="pdledit_gui_src" class="nav-link" href="#">Source</a> + </li> + {{if $module_modified}} + <li class="nav-item"> + <a id="pdledit_gui_reset" class="nav-link" href="#">Reset</a> + </li> + {{/if}} + <li class="nav-item"> + <a id="pdledit_gui_save" class="nav-link" href="#">Apply</a> + </li> +</ul> + +<script> + $(document).ready(function() { + let poi; + let regions = []; + let content_regions = []; + let page_src = atob('{{$page_src}}'); + + let offcanvas = new bootstrap.Offcanvas(document.getElementById('pdledit_gui_offcanvas')); + let edit_offcanvas = new bootstrap.Offcanvas(document.getElementById('pdledit_gui_offcanvas_edit')); + let submit_offcanvas = new bootstrap.Offcanvas(document.getElementById('pdledit_gui_offcanvas_submit')); + + {{foreach $content_regions as $content_region}} + regions.push('{{$content_region.0}}'); + content_regions.push('{{$content_region.1}}'); + + let sortable_{{$content_region.1}} = document.getElementById('{{$content_region.1}}'); + new Sortable(sortable_{{$content_region.1}}, { + group: 'shared', + handle: '.pdledit_gui_item_handle', + animation: 150 + }); + {{/foreach}} + + let sortable_items = document.getElementById('pdledit_gui_offcanvas_body'); + new Sortable(sortable_items, { + group: { + name: 'shared', + pull: 'clone', + put: false + }, + sort: false, + handle: '.pdledit_gui_item_handle', + animation: 150, + onEnd: function (e) { + $(e.item).find('button').removeClass('disabled'); + } + }); + + $(document).on('click', '.pdledit_gui_item_src', function(e) { + poi = this.closest('.pdledit_gui_item'); + let src = atob(poi.dataset.src); + $('#pdledit_gui_offcanvas_edit_textarea').val(src); + $('#pdledit_gui_offcanvas_edit_textarea').bbco_autocomplete('comanche'); + edit_offcanvas.show(); + }); + + $(document).on('click', '.pdledit_gui_item_remove', function(e) { + poi = this.closest('.pdledit_gui_item'); + $(poi).remove(); + }); + + $(document).on('click', '#pdledit_gui_offcanvas_edit_submit', function(e) { + let src = $('#pdledit_gui_offcanvas_edit_textarea').val(); + + if (poi) { + poi.dataset.src = btoa(src); + } + else { + $.post( + 'pdledit_gui', + { + 'save_src': 1, + 'module': '{{$module}}', + 'src': $('#pdledit_gui_offcanvas_edit_textarea').val() + } + ) + .done(function(data) { + if (data.success) { + window.location.href = 'pdledit_gui/' + data.module; + } + }); + } + + edit_offcanvas.hide(); + }); + + $(document).on('click', '#pdledit_gui_offcanvas_submit_submit', function(e) { + if ($('#pdledit_gui_templates_form').length) { + $.post( + 'pdledit_gui', + { + 'save_template': 1, + 'module': '{{$module}}', + 'data': $('#pdledit_gui_templates_form').serializeArray() + } + ) + .done(function(data) { + if (data.success) { + window.location.href = 'pdledit_gui/' + data.module; + } + }); + } + + submit_offcanvas.hide(); + }); + + $(document).on('click', '#pdledit_gui_src', function(e) { + e.preventDefault(); + poi = null; // this is important! + + let obj = {}; + + content_regions.forEach(function (content_region, i) { + let data_src = []; + $('#' + content_region + ' > .card').each(function () { + data_src.push(atob(this.dataset.src)); + }); + obj[regions[i]] = data_src; + }); + + for (let [region, entries] of Object.entries(obj)) { + let region_pdl = ''; + + entries.forEach(function (entry) { + region_pdl = region_pdl.concat(entry + "\r\n"); + }); + + let regex_str = '\\[region=' + region + '\\](.*?)\\[\\/region\\]'; + let replace_str = '[region=' + region + ']' + "\r\n" + region_pdl + "\r\n" + '[/region]' + let regex = new RegExp(regex_str, 'ism'); + + page_src = page_src.replace(regex, replace_str); + } + + $('#pdledit_gui_offcanvas_edit_textarea').val(page_src); + $('#pdledit_gui_offcanvas_edit_textarea').bbco_autocomplete('comanche'); + edit_offcanvas.show(); + }); + + $(document).on('click', '#pdledit_gui_items', function(e) { + e.preventDefault(); + $('#pdledit_gui_offcanvas_body').html(atob('{{$items}}')); + offcanvas.show(); + }); + + $(document).on('click', '#pdledit_gui_templates', function(e) { + e.preventDefault(); + $('#pdledit_gui_offcanvas_submit_body').html(atob('{{$templates}}')); + + submit_offcanvas.show(); + }); + + $(document).on('click', '#pdledit_gui_modules', function(e) { + e.preventDefault(); + $('#pdledit_gui_offcanvas_body').html(atob('{{$modules}}')); + offcanvas.show(); + }); + + $(document).on('click', '#pdledit_gui_save', function(e) { + e.preventDefault(); + + let obj = {}; + + content_regions.forEach(function (content_region, i) { + let data_src = []; + $('#' + content_region + ' > .card').each(function () { + data_src.push(this.dataset.src); + }); + obj[regions[i]] = data_src; + }); + + $.post( + 'pdledit_gui', + { + 'save': 1, + 'module': '{{$module}}', + 'data': JSON.stringify(obj) + } + ) + .done(function(data) { + if (data.success) { + window.location.href = 'pdledit_gui/' + data.module; + } + }); + }); + + $(document).on('click', '#pdledit_gui_reset', function(e) { + e.preventDefault(); + $.post( + 'pdledit_gui', + { + 'reset': 1, + 'module': '{{$module}}' + } + ) + .done(function(data) { + if (data.success) { + window.location.href = 'pdledit_gui/' + data.module; + } + }); + }); + + }); +</script> diff --git a/view/tpl/pdledit_gui_item.tpl b/view/tpl/pdledit_gui_item.tpl new file mode 100644 index 000000000..9d0095ed4 --- /dev/null +++ b/view/tpl/pdledit_gui_item.tpl @@ -0,0 +1,18 @@ +<div class="pdledit_gui_item card mb-3" data-src="{{$entry.src}}"> + <div class="card-header d-flex justify-content-between"> + <span class="text-uppercase">{{$entry.name}}</span> + <div class="badge rounded-pill{{if $entry.type === 'widget'}} bg-info text-dark{{/if}}{{if $entry.type === 'content'}} bg-primary{{/if}}{{if $entry.type === 'menu'}} bg-secondary{{/if}}{{if $entry.type === 'block'}} bg-warning text-dark{{/if}}"> + {{$entry.type}} + </div> + </div> + <div class="card-body"> + {{if $entry.desc}} + <div class="mb-3 text-muted">{{$entry.desc}}</div> + {{/if}} + {{if $entry.type !== 'content'}} + <button type="button" class="btn btn-sm btn-outline-primary pdledit_gui_item_src{{if $disable_controls}} disabled{{/if}}">Edit</button> + <button type="button" class="btn btn-sm btn-outline-danger pdledit_gui_item_remove{{if $disable_controls}} disabled{{/if}}">Remove</button> + <i class="fa fa-fw fa-arrows-alt m-2 float-end cursor-pointer pdledit_gui_item_handle"></i> + {{/if}} + </div> +</div> diff --git a/view/tpl/pdledit_gui_templates.tpl b/view/tpl/pdledit_gui_templates.tpl new file mode 100644 index 000000000..0f3d8a7b6 --- /dev/null +++ b/view/tpl/pdledit_gui_templates.tpl @@ -0,0 +1,11 @@ +<form id="pdledit_gui_templates_form"> + {{foreach $templates as $template}} + <div class="form-check mb-2"> + <input class="form-check-input" type="radio" name="template" id="id_template_{{$template.name}}" value="{{$template.name}}" {{if $template.name == $active}} checked{{/if}}> + <label class="form-check-label" for="id_template_{{$template.name}}"> + {{$template.name}} + </label> + <small class="text-muted">{{$template.desc}}</small> + </div> + {{/foreach}} +</form> diff --git a/view/tpl/photo_album_portfolio.tpl b/view/tpl/photo_album_portfolio.tpl index 1635e0ae1..e939ac3e1 100644 --- a/view/tpl/photo_album_portfolio.tpl +++ b/view/tpl/photo_album_portfolio.tpl @@ -1,7 +1,7 @@ {{if isset($mode) && $mode == 'orbit'}} <div class="row"> <div class="orbit small-12 medium-9 large-9 columns" id="photo-album-contents-{{$album_id}}" role="region" aria-label="portfolioOrbit-{{$album_id}}" data-orbit data-options="animInFromLeft:fade-in; animInFromRight:fade-in; animOutToLeft:fade-out; animOutToRight:fade-out;"> - + <ul class="orbit-container"> <button class="orbit-previous"><span class="show-for-sr">Previous Slide</span>◀︎</button> <button class="orbit-next"><span class="show-for-sr">Next Slide</span>▶︎</button> diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl index 9b23d7d82..2c617834a 100644 --- a/view/tpl/settings.tpl +++ b/view/tpl/settings.tpl @@ -26,6 +26,10 @@ {{include file="field_input.tpl" field=$photo_path}} {{include file="field_input.tpl" field=$attach_path}} {{include file="field_input.tpl" field=$expire}} + + {{include file="field_textarea.tpl" field=$message_filter_excl}} + {{include file="field_textarea.tpl" field=$message_filter_incl}} + {{if $basic_addon}} {{$basic_addon}} {{/if}} diff --git a/view/tpl/suggest_widget.tpl b/view/tpl/suggest_widget.tpl index 7b9afa668..d4a5a56f9 100644 --- a/view/tpl/suggest_widget.tpl +++ b/view/tpl/suggest_widget.tpl @@ -6,5 +6,5 @@ {{/foreach}} {{/if}} <div class="clear"></div> -<div class="suggest-widget-more"><a href="suggest">{{$more}}</a></div> +<div class="suggest-widget-more"><a href="directory?f=&suggest=1">{{$more}}</a></div> </div> |