1
0
mirror of https://github.com/typemill/typemill.git synced 2025-08-03 20:57:38 +02:00

Dark mode for kixote

This commit is contained in:
trendschau
2025-06-30 21:18:40 +02:00
parent a374e41597
commit ddf97fd1b7
6 changed files with 175 additions and 118 deletions

2
cache/timer.yaml vendored
View File

@@ -1 +1 @@
licenseupdate: 1750964534
licenseupdate: 1751307798

View File

@@ -1 +0,0 @@
["# Typemill","Typemill is a lightweight, flat-file CMS designed for simple, fast, and flexible website and eBook creation using Markdown. Create handbooks, documentation, manuals, reports, traditional websites, online novels, and more.","Log in to the author area at [\/tm\/login](\/tm\/login).","![](media\/live\/chatgpt-typemill-dummy-wide.webp){.center loading=\"lazy\" width=\"820\" height=\"470\"}","Stay in the loop and subscribe to the [Typemill newsletter](https:\/\/typemill.net\/news)!"]

View File

@@ -143,20 +143,30 @@ class ControllerApiKixote extends Controller
}
}
# get toke stats for AI service
# get token stats for AI service
if($aiservice && $useragreement)
{
switch ($aiservice)
{
case 'chatgpt':
$tokenstats = [
'url' => 'https://platform.openai.com/settings/organization/billing/overview',
'label' => 'ChatGPT Billing'
'service' => 'ChatGPT',
'url' => 'https://platform.openai.com/settings/organization/billing/overview',
];
break;
case 'claude':
$tokenstats = [
'service' => 'Claude',
'url' => 'https://console.anthropic.com/usage',
];
break;
default:
$tokenstats = 0;
$tokenstats = [
'service' => 'Kixote',
'token' => 0
];
break;
}
}
@@ -395,7 +405,7 @@ class ControllerApiKixote extends Controller
];
$apiservice = new ApiCalls();
$apiservice->setTimeout(30);
$apiservice->setTimeout(120);
$apiResponse = $apiservice->makePostCall($url, $postdata, $authHeader);
if (!$apiResponse)
@@ -467,7 +477,7 @@ class ControllerApiKixote extends Controller
];
$apiservice = new ApiCalls();
$apiservice->setTimeout(30);
$apiservice->setTimeout(120);
$apiResponse = $apiservice->makePostCall($url, $postdata, $headers);
if (!$apiResponse) {

View File

@@ -1238,10 +1238,6 @@ video {
white-space: nowrap;
}
.rounded-lg {
border-radius: 0.5rem;
}
.border {
border-width: 1px;
}
@@ -1884,11 +1880,6 @@ video {
color: rgb(28 25 23 / var(--tw-text-opacity));
}
.text-teal-300 {
--tw-text-opacity: 1;
color: rgb(94 234 212 / var(--tw-text-opacity));
}
.text-teal-500 {
--tw-text-opacity: 1;
color: rgb(20 184 166 / var(--tw-text-opacity));
@@ -2105,11 +2096,6 @@ video {
color: rgb(250 250 249 / var(--tw-text-opacity));
}
.hover\:text-stone-700:hover {
--tw-text-opacity: 1;
color: rgb(68 64 60 / var(--tw-text-opacity));
}
.hover\:text-stone-800:hover {
--tw-text-opacity: 1;
color: rgb(41 37 36 / var(--tw-text-opacity));
@@ -2310,6 +2296,11 @@ video {
border-color: rgb(68 64 60 / var(--tw-border-opacity));
}
.dark\:hover\:bg-rose-500:hover:is(.dark *) {
--tw-bg-opacity: 1;
background-color: rgb(244 63 94 / var(--tw-bg-opacity));
}
.dark\:hover\:bg-stone-200:hover:is(.dark *) {
--tw-bg-opacity: 1;
background-color: rgb(231 229 228 / var(--tw-bg-opacity));
@@ -2355,6 +2346,11 @@ video {
color: rgb(28 25 23 / var(--tw-text-opacity));
}
.hover\:dark\:text-teal-600:is(.dark *):hover {
--tw-text-opacity: 1;
color: rgb(13 148 136 / var(--tw-text-opacity));
}
.focus\:dark\:border-stone-600:is(.dark *):focus {
--tw-border-opacity: 1;
border-color: rgb(87 83 78 / var(--tw-border-opacity));

File diff suppressed because one or more lines are too long

View File

@@ -32,6 +32,7 @@ aiservices:
type: 'checkboxlist'
options:
chatgpt: "Use ChatGPT and accept their terms and conditions."
claude: "Use Claude and accept their terms and conditions."
password:
name: password
label: 'Actual Password'