Skip to content

Commit cb572f6

Browse files
committed
Merge branch 'master' into preview
2 parents eb060de + f4e85c3 commit cb572f6

7 files changed

Lines changed: 30 additions & 12 deletions

File tree

app/assets/css/tailwind.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@
115115
@layer base {
116116
* {
117117
@apply border-border outline-ring/50;
118+
scrollbar-width: thin;
119+
scrollbar-color: var(--border) transparent;
118120
}
119121
body {
120122
@apply bg-background text-foreground;
@@ -132,4 +134,15 @@
132134
label {
133135
@apply cursor-pointer;
134136
}
137+
138+
::-webkit-scrollbar {
139+
width: 5px;
140+
}
141+
::-webkit-scrollbar-track {
142+
background: transparent;
143+
}
144+
::-webkit-scrollbar-thumb {
145+
background: var(--border);
146+
border-radius: 5px;
147+
}
135148
}

layers/dashboard/app/components/dashboard/links/editor/ImageUploader.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ async function handleFile(file: File) {
4747
}
4848
catch (error) {
4949
console.error(error)
50-
toast.error(t('links.form.image_upload_failed'))
50+
toast.error(t('links.form.image_upload_failed'), {
51+
description: error instanceof Error ? error.message : String(error),
52+
})
5153
}
5254
finally {
5355
uploading.value = false

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "sink",
33
"type": "module",
4-
"version": "0.2.9",
4+
"version": "0.2.10",
55
"private": true,
66
"packageManager": "pnpm@10.28.2",
77
"engines": {

server/api/backup.post.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,7 @@ defineRouteMeta({
88
export default eventHandler(async (event) => {
99
const env = event.context.cloudflare.env
1010

11-
if (!env.R2) {
12-
throw createError({
13-
status: 500,
14-
message: 'R2 binding not configured',
15-
})
16-
}
11+
requireR2Bucket(env)
1712

1813
await backupKVToR2(env, true)
1914

server/api/upload/image.post.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ defineRouteMeta({
2525
})
2626

2727
export default eventHandler(async (event) => {
28-
const { cloudflare } = event.context
29-
const { R2 } = cloudflare.env
28+
const R2 = requireR2Bucket(event.context.cloudflare.env)
3029

3130
const formData = await readFormData(event)
3231
const file = formData.get('file') as File | null

server/routes/_assets/[...key].get.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ import { LinkSchema } from '#shared/schemas/link'
33
const slugValidator = LinkSchema.shape.slug
44

55
export default eventHandler(async (event) => {
6-
const { cloudflare } = event.context
7-
const { R2 } = cloudflare.env
6+
const R2 = requireR2Bucket(event.context.cloudflare.env)
87
const key = getRouterParam(event, 'key')
98

109
if (!key) {

server/utils/r2.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export function requireR2Bucket(env: Cloudflare.Env): R2Bucket {
2+
if (!env.R2) {
3+
throw createError({
4+
statusCode: 503,
5+
statusMessage: 'R2 binding not configured',
6+
})
7+
}
8+
9+
return env.R2
10+
}

0 commit comments

Comments
 (0)