Files
dokuwiki-plugin-botmon/style.less

455 lines
13 KiB
Plaintext
Raw Normal View History

2025-09-01 16:25:25 +02:00
#botmon__admin {
2025-08-29 23:14:10 +03:00
section[role="tabpanel"] {
margin: .25rem 0;
}
/* grid layout classes (taken from the Ad-Hoc Wrap plugin) */
.grid-2-columns,
.grid-3-columns {
display: grid;
}
.grid-2-columns {
grid-template-columns: 1fr 1fr;
grid-gap: 0 .5em;
}
.grid-3-columns {
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 0 .33em;
}
/* the "today" tab: */
2025-09-01 16:25:25 +02:00
#botmon__today {
2025-08-29 23:14:10 +03:00
/* item header */
2025-08-29 23:14:10 +03:00
header {
2025-09-01 15:42:06 +02:00
background-color: #F0F0F0;
color: #333;
border: #CCC solid 1px;
border-radius: .5rem .5rem 0 0;
margin: .5rem 0 1pt 0;
padding: .25rem .5rem;
font-size: 1rem;
2025-09-01 16:56:08 +02:00
line-height: 1.25;
2025-09-01 15:42:06 +02:00
}
/* list formatting */
dl {
2025-08-29 23:14:10 +03:00
& {
2025-09-01 15:42:06 +02:00
border-left: #555 solid 1px;
padding-left: .5rem;
margin: 0;
2025-09-01 16:56:08 +02:00
font-size: 1rem;
line-height: 1.5;
2025-08-29 23:14:10 +03:00
}
2025-09-01 15:42:06 +02:00
&:first-child {
border-left: none;
padding-left: 0;
}
dt {
margin-bottom: .2em;
}
dd {
display: flex;
justify-content: space-between;
padding: 0; margin: 0;
}
dd:nth-child(even) {
background-color: #EEE;
2025-08-29 23:14:10 +03:00
}
}
2025-09-01 15:42:06 +02:00
/* Content */
2025-09-01 16:25:25 +02:00
#botmon__today__content {
& details {
2025-09-01 15:42:06 +02:00
& {
margin: 0 0 1pt 0;
2025-09-01 16:56:08 +02:00
text-align: left;
2025-09-01 15:42:06 +02:00
}
summary {
& {
display: flex;
justify-content: flex-start;
align-items: center;
column-gap: .25em;
2025-09-01 15:42:06 +02:00
font-weight: bold;
font-size: 1rem;
2025-09-01 16:56:08 +02:00
line-height: 1.5;
2025-09-01 15:42:06 +02:00
margin: 0;
padding: .25em;
color: #333;
cursor: pointer;
2025-09-01 15:42:06 +02:00
}
2025-09-01 16:56:08 +02:00
&::marker, &::before {
content: none;
2025-09-01 16:56:08 +02:00
display: none;
2025-09-01 15:42:06 +02:00
}
&::before {
content: '';
2025-09-01 15:42:06 +02:00
display: inline-block;
width: 1.25em; height: 1.25em;
background: transparent url('img/chevron.svg') center no-repeat;
background-size: 1.25em;
transform: rotate(-90deg);
transition-duration: .25s;
2025-09-01 15:42:06 +02:00
}
}
&[open] {
2025-09-03 23:20:56 +02:00
& > summary::before {
transform: rotate(0deg);
2025-09-01 15:42:06 +02:00
}
}
& > div {
padding: .5rem;
border: #CCC solid 1px;
border-top-width: 0;
border-radius: 0 0 .25rem .25rem;
2025-09-01 15:42:06 +02:00
}
& details summary {
2025-09-05 23:03:22 +02:00
& {
background-color: transparent;
border: transparent none 0;
}
span.title {
flex-grow: 1;
}
}
}
& > details > summary {
background-color: #F0F0F0;
border: #CCC solid 1px;
2025-09-01 15:42:06 +02:00
}
}
/* visitor lists: */
#botmon__today__visitorlists {
details ul {
margin: 0;
padding: 0;
list-style: none;
}
details ul > li {
margin: 0 0 0 .75rem;
padding: 0;
color: #000;
}
details ul > li > details {
2025-09-04 23:01:46 +02:00
border: #ccc solid 1px;
border-radius: .5em;
}
details ul > li > details > summary {
display: flex;
justify-content: space-between;
align-items: center;
column-gap: .5em;
font-weight: normal;
font-size: 1rem;
line-height: 1.5;
2025-09-04 23:01:46 +02:00
background-color: #F0F0F0;
border-bottom: #CCC solid 1px;
2025-09-05 23:03:22 +02:00
border-radius: .7em;
}
details ul > li > details > summary > span {
display: flex;
2025-09-04 23:01:46 +02:00
align-items: center;
column-gap: .25em;
}
details ul > li > details > summary > span:first-child {
flex-grow: 1;
}
details ul > li > details > summary > span > span {
2025-09-04 23:01:46 +02:00
display: flex;
align-items: center;
column-gap: .25em;
height: 1.5em;
overflow: hidden;
2025-09-05 23:03:22 +02:00
margin-right: .2rem;
}
details ul > li > details > summary > span > span::before {
content: '';
display: inline-block;
2025-09-04 23:01:46 +02:00
min-width: 1.25em; height: 1em;
text-align: center;
background: transparent url('img/placeholder.svg') center no-repeat;
background-size: 1em;
}
details ul > li > details > summary > span > span.icon {
width: 1.25em;
overflow: hidden;
}
details ul > li > details > summary > span > span[title] {
cursor: help;
}
dl.visitor_details {
& {
display: grid;
grid-template-columns: min-content auto;
2025-09-04 23:01:46 +02:00
border-left: transparent none 0;
}
dt {
grid-column: 1;
white-space: nowrap;
}
dd {
2025-09-07 16:11:17 +02:00
& {
grid-column: 2;
display: inline-block;
background-color: transparent;
}
&.bot-rating {
text-align: right;
}
}
2025-09-04 23:01:46 +02:00
dd.pages {
& {
}
ul {
li {
& {
display: flex;
justify-content: space-between;
align-items: center;
}
2025-09-07 16:11:17 +02:00
span {
&.visit-length {
min-width: min-content;
}
&.bounce {
width: 1.25em; height: 1.25em;
overflow: hidden;
}
&.bounce::before {
display: inline-block;
content: '';
width: 1.25em; height: 1.25em;
background: transparent url('img/bounce.svg') center no-repeat;
background-size: 1.25em;
}
}
2025-09-04 23:01:46 +02:00
}
}
}
}
dd.has_icon::before {
content: '';
display: inline-block;
width: 1.25em; height: 1.25em;
background: transparent url('img/placeholder.svg') center no-repeat;
background-size: 1em;
}
2025-09-05 16:31:11 +02:00
ul.eval {
li {
display: flex;
justify-content: space-between;
align-items: center;
}
li:nth-child(odd) {
background-color: #EEE;
}
li.total {
border-top: #333 solid 1px;
font-style: italic;
}
}
2025-09-03 23:20:56 +02:00
/* bot icons */
span.bot::before, dd.bot::before { background-image: url('img/robot.svg') }
span.bot_bingbot::before, dd.bot_bingbot::before { background-image: url('img/bing.svg') }
span.bot_googlebot::before, dd.bot_googlebot::before,
span.bot_googleads::before, dd.bot_googleads::before,
span.bot_googleapi::before, dd.bot_googleapi::before { background-image: url('img/google.svg') }
span.bot_applebot::before, dd.bot_applebot::before { background-image: url('img/apple.svg') }
2025-09-05 23:03:22 +02:00
span.bot_slurp::before, dd.bot_slurp::before { background-image: url('img/yahoo.svg') }
span.bot_ddg::before, dd.bot_ddg::before { background-image: url('img/ddg.svg') }
2025-09-04 23:01:46 +02:00
span.bot_openai::before, dd.bot_openai::before { background-image: url('img/openai.svg') }
2025-09-05 23:03:22 +02:00
span.bot_claude::before, dd.bot_claude::before { background-image: url('img/anthropic.png') }
span.bot_perplexity::before, dd.bot_perplexity::before { background-image: url('img/perplexity.svg') }
2025-09-03 23:20:56 +02:00
span.bot_metabots::before, dd.bot_metabots::before { background-image: url('img/meta.svg') }
2025-09-05 23:03:22 +02:00
span.bot_qwant::before, dd.bot_qwant::before { background-image: url('img/qwant.svg') }
span.bot_yandex::before, dd.bot_yandex::before { background-image: url('img/yandex.svg') }
2025-09-03 23:20:56 +02:00
span.bot_seznambot::before, dd.bot_seznambot::before { background-image: url('img/seznam.svg') }
2025-09-05 23:03:22 +02:00
span.bot_ahrefs::before, dd.bot_ahrefs::before { background-image: url('img/ahrefs.png') }
span.bot_ccbot::before, dd.bot_ccbot::before { background-image: url('img/ccbot.png') }
span.bot_mjbot::before, dd.bot_mjbot::before { background-image: url('img/majestic.png') }
span.bot_petal::before, dd.bot_petal::before { background-image: url('img/petal.svg') }
span.bot_barkrowler::before, dd.bot_barkrowler::before { background-image: url('img/babbar.png') }
span.bot_semrush::before, dd.bot_semrush::before { background-image: url('img/semrush.png') }
span.bot_bytespider::before, dd.bot_bytespider::before { background-image: url('img/bytedance.svg') }
span.bot_dfseo::before, dd.bot_dfseo::before { background-image: url('img/dataforseo.png') }
span.bot_hunter::before, dd.bot_hunter::before { background-image: url('img/hunter.png') }
span.bot_serpstat::before, dd.bot_serpstat::before { background-image: url('img/serpstat.svg') }
span.bot_netestate::before, dd.bot_netestate::before { background-image: url('img/netestate.png') }
span.bot_imagesift::before, dd.bot_imagesift::before { background-image: url('img/hive.svg') }
2025-09-08 20:38:07 +02:00
/*span.bot_mozcom::before, dd.bot_mozcom::before { background-image: url('img/moz.svg') }*/
2025-09-05 23:03:22 +02:00
/*span.bot_maui::before, dd.bot_maui::before { background-image: url('img/maui.svg') }*/
span.bot_plagaware::before, dd.bot_plagaware::before { background-image: url('img/plagaware.png') }
2025-09-03 23:20:56 +02:00
/* user info */
2025-09-04 23:01:46 +02:00
span.user_known::before { background-image: url('img/user.svg') }
2025-09-03 23:20:56 +02:00
/* platform icons */
span.platform_win10::before, dd.platform_win10::before { background-image: url('img/win11.svg') }
2025-09-05 12:47:36 +02:00
span.platform_macos::before, dd.platform_macos::before { background-image: url('img/apple.svg') }
2025-09-03 23:20:56 +02:00
span.platform_linux::before, dd.platform_linux::before { background-image: url('img/linux.svg') }
span.platform_ios::before, dd.platform_ios::before { background-image: url('img/ios.svg') }
span.platform_android::before, dd.platform_android::before { background-image: url('img/android.svg') }
span.platform_winold::before, dd.platform_winold::before { background-image: url('img/winold.png') }
2025-09-05 12:47:36 +02:00
span.platform_macosold::before, dd.platform_macosold::before { background-image: url('img/macos.svg') }
2025-09-03 23:20:56 +02:00
span.platform_tizen::before, dd.platform_tizen::before { background-image: url('img/tizen.png') }
span.platform_hmos::before, dd.platform_hmos::before { background-image: url('img/hmos.svg') }
span.platform_chromium::before, dd.platform_chromium::before { background-image: url('img/chromium.svg') }
2025-09-04 23:01:46 +02:00
span.platform_bsd::before, dd.platform_bsd::before { background-image: url('img/freebsd.png') }
/* browser icons */
2025-09-03 23:20:56 +02:00
span.client_opera::before, dd.client_opera::before { background-image: url('img/opera.svg') }
span.client_msie::before, dd.client_msie::before { background-image: url('img/msie.svg') }
span.client_brave::before, dd.client_brave::before { background-image: url('img/brave.svg') }
span.client_msedge::before, dd.client_msedge::before { background-image: url('img/msedge.svg') }
span.client_chrome::before, dd.client_chrome::before { background-image: url('img/chrome.svg') }
span.client_chromeold::before, dd.client_chromeold::before { background-image: url('img/chromeold.svg') }
span.client_safari::before, dd.client_safari::before { background-image: url('img/safari.png') }
span.client_ddg::before, dd.client_ddg::before { background-image: url('img/ddg.svg') }
span.client_firefox::before, dd.client_firefox::before { background-image: url('img/firefox.png') }
span.client_samsung::before, dd.client_samsung::before { background-image: url('img/samsung.svg') }
span.client_uc::before, dd.client_uc::before { background-image: url('img/uc.svg') }
span.client_huawei::before, dd.client_huawei::before { background-image: url('img/huawei.png') }
2025-09-05 12:47:36 +02:00
span.client_vivaldi::before, dd.client_vivaldi::before { background-image: url('img/vivaldi.svg') }
span.client_aol::before, dd.client_aol::before { background-image: url('img/aol.png') }
2025-09-06 16:36:13 +02:00
span.client_ya::before, dd.client_ya::before { background-image: url('img/yandex.svg') }
/* ip address type */
2025-09-03 23:20:56 +02:00
span.ip6::before, dd.ip6::before { background-image: url('img/ip6.svg') }
span.ip4::before, dd.ip4::before { background-image: url('img/ip4.svg') }
span.ip0::before, dd.ip0::before { background-image: url('img/localhost.svg') }
/* user agent */
2025-09-03 23:20:56 +02:00
span.agent::before { background-image: url('img/info.svg') }
2025-09-04 23:01:46 +02:00
/* pageviews */
span.pageviews {
border: #999 solid 1px;
padding: 0 2px;
font-size: smaller;
border-radius: .25em;
}
span.pageviews::before { background-image: url('img/page.svg') }
}
/* item footer */
2025-08-29 23:14:10 +03:00
footer {
& {
display: flex;
align-items: center;
column-gap: .25rem;
2025-09-01 15:42:06 +02:00
background-color: #F0F0F0;
2025-08-29 23:14:10 +03:00
color: #333;
2025-09-01 15:42:06 +02:00
border: #CCC solid 1px;
border-radius: 0 0 .5rem .5rem;
margin: 1pt 0 0 0;
2025-08-29 23:14:10 +03:00
padding: .25rem .5rem;
2025-09-01 16:56:08 +02:00
line-height: 1.25;
2025-08-29 23:14:10 +03:00
}
& > svg {
width: 1.25em; height: 1.25em;
fill: #333;
flex-shrink: 0;
}
& > span {
font-size: .96rem;
line-height: 1.25rem;
}
& > span.error {
color: #961D1B;
font-weight: bold;
}
}
}
2025-09-01 16:56:08 +02:00
}
/* dark mode overrides */
@media (prefers-color-scheme: dark) {
body.darkmode.mode_admin #botmon__admin {
#botmon__today {
header {
background-color: #0c0c0d;
color: #adadb3;
border-color: #666;
}
/* list formatting */
dl {
& {
border-left-color: #777;
}
dt {
color: #adadb3;
}
dd:nth-child(even) {
background-color: #333337;
2025-09-01 16:56:08 +02:00
}
}
#botmon__today__content > details {
summary {
& {
background-color: #0c0c0d;
color: #adadb3;
border-color: #666;
}
&::after {
color: #76b0fd;
}
2025-09-01 16:56:08 +02:00
}
& > div {
border-color: #666;
2025-09-01 16:56:08 +02:00
}
}
2025-09-03 23:20:56 +02:00
/* visitor lists: */
#botmon__today__visitorlists {
details ul > li {
color: #aeaeae;
}
}
2025-09-05 16:43:38 +02:00
ul.eval {
li:nth-child(odd) {
2025-09-06 16:20:58 +02:00
background-color: #333337;
2025-09-05 16:43:38 +02:00
}
li.total {
border-top-color: #CCC;
}
}
2025-09-01 16:56:08 +02:00
footer {
& {
background-color: #0c0c0d;
color: #adadb3;
border-color: #CCC;
}
& > svg {
fill: #777;
}
& > span.error {
color: #961D1B;
}
}
}
}
}
/* layout overrides for narrow screens: */
@media (max-width: 670px) {
#botmon__admin {
.grid-2-columns,
.grid-3-columns {
grid-template-columns: 100%;
}
}
}