diff --git a/frontend/src/routes/files/Index.svelte b/frontend/src/routes/files/Index.svelte index ca76eed..88a0f77 100644 --- a/frontend/src/routes/files/Index.svelte +++ b/frontend/src/routes/files/Index.svelte @@ -6,6 +6,7 @@ import { t } from '../../translations.svelte'; import { user } from '../../user.svelte'; + const image_extensions = ['jpg','jpeg','gif','png','svg']; const router = useTinyRouter(); let children = $state({}); let new_dir = $state(null); @@ -80,12 +81,17 @@ yikes(); } + function is_image(file){ + let parts = file.toLowerCase().split('.'); + let ext = parts.pop(); + return image_extensions.includes(ext); + } + async function loadChildren(p){ p = p.substring(6); if (p == '') p = '/'; children = { dirs : {}, files : {}, title : p}; path = p; - console.log(p); if (p == '/'){ children.dirs[`/user/${user.id}`] = t('my_files'); children.dirs['/project'] = t('projects') @@ -106,6 +112,12 @@ } } + function markdown(file){ + let parts = file.split('/'); + let md = `![${parts.pop()}](/api/files${file})`; + navigator.clipboard.writeText(md); + } + function onclick(ev){ ev.preventDefault(); ev.stopPropagation(); @@ -178,8 +190,11 @@
  • {v} + {#if is_image(k)} + + {/if} {#if delete_allowed} - + {/if}
  • {/each} diff --git a/translations/src/main/resources/de.json b/translations/src/main/resources/de.json index e0bbbfe..c081c79 100644 --- a/translations/src/main/resources/de.json +++ b/translations/src/main/resources/de.json @@ -84,6 +84,7 @@ "failed": "fehlgeschlagen", "failed_login_attempts" : "Account nach {attempts} fehlgeschlagenen Logins gesperrt bis {release_time}", + "file": "Datei", "files": "Dateien", "filter": "Filter", "footer": "Fuß-Text", @@ -123,6 +124,7 @@ "logout_user": "{user} abmelden", "long_click_to_edit": "lang klicken zum Bearbeiten", + "markdown_code": "Markdown-Code", "MANAGE_LOGIN_SERVICES": "Login-Services verwalten", "member": "Mitarbeiter", "members": "Mitarbeiter", diff --git a/translations/src/main/resources/en.json b/translations/src/main/resources/en.json index 1e08120..7fdbc5b 100644 --- a/translations/src/main/resources/en.json +++ b/translations/src/main/resources/en.json @@ -123,6 +123,7 @@ "logout_user": "logout {user}", "long_click_to_edit": "click long to edit", + "markdown_code": "Markdown-Code", "MANAGE_LOGIN_SERVICES": "manage login services", "member": "member", "members": "members", diff --git a/web/src/main/resources/web/css/basic.css b/web/src/main/resources/web/css/basic.css index 40a4840..3227407 100644 --- a/web/src/main/resources/web/css/basic.css +++ b/web/src/main/resources/web/css/basic.css @@ -659,4 +659,8 @@ li.task button.symbol:nth-child(1){ .timetracks .selected td:not(.year):not(.month){ background: skyblue; +} + +.markdown image{ + max-width: 75%; } \ No newline at end of file diff --git a/web/src/main/resources/web/css/bloodshed.css b/web/src/main/resources/web/css/bloodshed.css index 99e2506..27f0690 100644 --- a/web/src/main/resources/web/css/bloodshed.css +++ b/web/src/main/resources/web/css/bloodshed.css @@ -298,6 +298,11 @@ span.timetracking { right: 0; top: 0; } + +.markdown img{ + max-width: 75%; +} + table{ min-width: 30vw; } diff --git a/web/src/main/resources/web/css/default.css b/web/src/main/resources/web/css/default.css index a86c23c..29840e6 100644 --- a/web/src/main/resources/web/css/default.css +++ b/web/src/main/resources/web/css/default.css @@ -294,6 +294,11 @@ span.timetracking { right: 0; top: 0; } + +.markdown img{ + max-width: 75%; +} + table{ min-width: 30vw; } diff --git a/web/src/main/resources/web/css/winter.css b/web/src/main/resources/web/css/winter.css index 99e2506..27f0690 100644 --- a/web/src/main/resources/web/css/winter.css +++ b/web/src/main/resources/web/css/winter.css @@ -298,6 +298,11 @@ span.timetracking { right: 0; top: 0; } + +.markdown img{ + max-width: 75%; +} + table{ min-width: 30vw; }