Skip to content

Commit 777e754

Browse files
committed
bun + fixes
1 parent 30858eb commit 777e754

File tree

10 files changed

+1890
-191
lines changed

10 files changed

+1890
-191
lines changed

frontend/bun.lock

Lines changed: 1750 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/package-lock.json

Lines changed: 93 additions & 144 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525
"@sveltejs/adapter-cloudflare": "^7.2.4",
2626
"@sveltejs/kit": "^2.43.7",
2727
"@sveltejs/vite-plugin-svelte": "^6.2.1",
28-
"@tailwindcss/forms": "^0.5.9",
29-
"@tailwindcss/typography": "^0.5.19",
3028
"@tailwindcss/vite": "^4.1.14",
3129
"@types/node": "^24.6.2",
3230
"@vite-pwa/sveltekit": "^1.0.0",

frontend/src/app.css

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
@import 'tailwindcss';
2-
@plugin '@tailwindcss/forms';
3-
@plugin '@tailwindcss/typography';
42

53
@import '@catppuccin/tailwindcss/mocha.css';
64

frontend/src/app.html

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,39 @@
1-
<!DOCTYPE html>
1+
<!doctype html>
22
<html lang="en">
3-
<head>
4-
<meta charset="utf-8">
5-
<meta name="viewport" content="width=device-width, initial-scale=1">
6-
<link rel="manifest" href="/manifest.webmanifest">
7-
<meta name="application-name" content="rustytime">
8-
<meta name="theme-color" content="#b4befe">
9-
<meta name="color-scheme" content="light dark">
10-
<meta name="msapplication-square70x70logo" content="/pwa/mstile-icon-128.png">
11-
<meta name="msapplication-square150x150logo" content="/pwa/mstile-icon-270.png">
12-
<meta name="msapplication-square310x310logo" content="/pwa/mstile-icon-558.png">
13-
<meta name="msapplication-wide310x150logo" content="/pwa/mstile-icon-558-270.png">
14-
</head>
15-
<body data-sveltekit-preload-data="hover">
16-
%sveltekit.head%
17-
<script>
18-
(function() {
19-
const savedTheme = localStorage.getItem('theme');
20-
const prefersDark =
21-
window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
22-
const theme =
23-
savedTheme === 'light' || savedTheme === 'dark' ?
24-
savedTheme :
25-
prefersDark ?
26-
'dark' :
27-
'light';
28-
if (theme === 'dark') {
29-
document.documentElement.classList.add('mocha');
30-
}
31-
})();
32-
</script>
33-
<div style="display: contents">%sveltekit.body%</div>
34-
</body>
35-
</html>
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1" />
6+
<link rel="manifest" href="/manifest.webmanifest" />
7+
<meta name="application-name" content="rustytime" />
8+
<meta name="theme-color" content="#b4befe" />
9+
<meta name="color-scheme" content="light dark" />
10+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
11+
<meta name="apple-mobile-web-app-title" content="rustytime" />
12+
<meta name="msapplication-square70x70logo" content="/pwa/mstile-icon-128.png" />
13+
<meta name="msapplication-square150x150logo" content="/pwa/mstile-icon-270.png" />
14+
<meta name="msapplication-square310x310logo" content="/pwa/mstile-icon-558.png" />
15+
<meta name="msapplication-wide310x150logo" content="/pwa/mstile-icon-558-270.png" />
16+
<link rel="apple-touch-icon" href="/pwa/apple-icon-180.png" />
17+
<meta name="apple-mobile-web-app-capable" content="yes" />
18+
</head>
19+
<body data-sveltekit-preload-data="hover">
20+
%sveltekit.head%
21+
<script>
22+
(function () {
23+
const savedTheme = localStorage.getItem('theme');
24+
const prefersDark =
25+
window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
26+
const theme =
27+
savedTheme === 'light' || savedTheme === 'dark'
28+
? savedTheme
29+
: prefersDark
30+
? 'dark'
31+
: 'light';
32+
if (theme === 'dark') {
33+
document.documentElement.classList.add('mocha');
34+
}
35+
})();
36+
</script>
37+
<div style="display: contents">%sveltekit.body%</div>
38+
</body>
39+
</html>

frontend/src/lib/utils/authEffect.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export function handleAuthEffect<T = unknown>(params: AuthEffectParams<T>) {
6666
return;
6767
}
6868

69-
if (requireAdmin && user && !user.is_admin) {
69+
if (requireAdmin && user && user.admin_level < 1) {
7070
if (typeof window !== 'undefined') {
7171
const target = resolve('/dashboard');
7272
if (window.location.pathname !== target) {

frontend/src/routes/+layout.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<meta property="og:image" content={ogImageUrl} />
5959
<meta property="og:image:alt" content="rustytime logo" />
6060

61-
<meta name="twitter:card" content="summary_large_image" />
61+
<meta name="twitter:card" content="summary" />
6262
<meta name="twitter:title" content={SITE_TITLE} />
6363
<meta name="twitter:description" content={SITE_DESCRIPTION} />
6464
<meta name="twitter:image" content={ogImageUrl} />

frontend/src/routes/admin/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
theme
7474
);
7575
activityChart = new ApexCharts(activityElement, options);
76-
activityChart.render();
76+
await activityChart.render();
7777
}
7878
}
7979
} catch (error) {

frontend/src/routes/dashboard/+page.svelte

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ api_key = ${dashboardData.api_key}`;
8989
theme
9090
);
9191
projectsChart = new ApexCharts(projectsElement, options);
92-
projectsChart.render();
92+
await projectsChart.render();
9393
}
9494
}
9595
@@ -102,7 +102,7 @@ api_key = ${dashboardData.api_key}`;
102102
}
103103
const options = createPieChartOptions(dashboardData.languages.slice(0, 8), [], theme);
104104
languagesChart = new ApexCharts(languagesElement, options);
105-
languagesChart.render();
105+
await languagesChart.render();
106106
}
107107
}
108108
@@ -115,7 +115,7 @@ api_key = ${dashboardData.api_key}`;
115115
}
116116
const options = createPieChartOptions(dashboardData.editors.slice(0, 8), [], theme);
117117
editorsChart = new ApexCharts(editorsElement, options);
118-
editorsChart.render();
118+
await editorsChart.render();
119119
}
120120
}
121121
@@ -132,7 +132,7 @@ api_key = ${dashboardData.api_key}`;
132132
theme
133133
);
134134
osChart = new ApexCharts(osElement, options);
135-
osChart.render();
135+
await osChart.render();
136136
}
137137
}
138138
} catch (error) {
@@ -284,10 +284,10 @@ api_key = ${dashboardData.api_key}`;
284284
<textarea
285285
id="api-setup"
286286
readonly
287-
value={config}
288287
rows="3"
289288
class="resize-none text-text block w-full pr-14 px-2 py-2 border border-ctp-surface1 rounded-md bg-ctp-surface0/70 text-sm font-mono"
290-
></textarea>
289+
>{config}</textarea
290+
>
291291
<button
292292
onclick={() => copySetup()}
293293
aria-label="Copy setup to clipboard"
5.87 KB
Loading

0 commit comments

Comments
 (0)