10 Commits

Author SHA1 Message Date
Sebastian de9614fdb6 chore(deps): update dependency vite to v8.2.2
JS Unit Tests / test (pull_request) Successful in 1m14s
Build Test / test (pull_request) Successful in 1m29s
2026-09-01 03:02:46 +00:00
Sebastian d619693460 refactor(module): register browser integration through context
Signed-off-by: Sebastian <krupinski01@gmail.com>
2026-08-31 22:55:59 -04:00
Sebastian 631c35a00a fix(preview): show fallback when image loading fails
Signed-off-by: Sebastian <krupinski01@gmail.com>
2026-08-31 22:55:59 -04:00
Sebastian 7c241f2228 Merge pull request 'chore(deps): update dependency vue-tsc to v3.3.8' (#25) from renovate/vue-language-tools-monorepo into main
Reviewed-on: #25
2026-07-25 23:55:59 +00:00
Sebastian df793a1c1c chore(deps): update dependency vue-tsc to v3.3.8
Build Test / test (pull_request) Successful in 57s
JS Unit Tests / test (pull_request) Successful in 56s
2026-07-25 03:01:41 +00:00
Sebastian b01d999c1b Merge pull request 'chore(deps): update dependency vuetify to v4.1.6' (#23) from renovate/vuetify-4.x-lockfile into main
Reviewed-on: #23
2026-07-24 14:17:05 +00:00
Sebastian 6d2bf620d2 chore(deps): update dependency vuetify to v4.1.6
JS Unit Tests / test (pull_request) Successful in 31s
Build Test / test (pull_request) Successful in 38s
2026-07-24 14:09:42 +00:00
Sebastian 4d4ea83c12 Merge pull request 'fix(deps): update dependency vue-router to v5' (#15) from renovate/vue-router-5.x into main
Reviewed-on: #15
2026-07-24 14:08:04 +00:00
Sebastian 06592d5590 fix(deps): update dependency vue-router to v5
Build Test / test (pull_request) Successful in 48s
JS Unit Tests / test (pull_request) Successful in 36s
2026-07-24 14:06:28 +00:00
Sebastian 2cacf41ac2 Merge pull request 'chore: implement js test suites' (#22) from chore/js-test-suites into main
Reviewed-on: #22
2026-07-24 04:32:46 +00:00
5 changed files with 629 additions and 302 deletions
+7 -12
View File
@@ -2,10 +2,11 @@
namespace KTXM\MediaViewer;
use KTXF\Module\ModuleBrowserInterface;
use KTXF\Module\Configuration\BrowserModuleContextInterface;
use KTXF\Module\Configuration\ModuleContextInterface;
use KTXF\Module\ModuleInstanceAbstract;
class Module extends ModuleInstanceAbstract implements ModuleBrowserInterface
class Module extends ModuleInstanceAbstract
{
public function __construct()
@@ -41,16 +42,10 @@ class Module extends ModuleInstanceAbstract implements ModuleBrowserInterface
return [];
}
public function registerBI(): array
public function configure(ModuleContextInterface $context): void
{
return [
'handle' => $this->handle(),
'namespace' => 'MediaViewer',
'version' => $this->version(),
'label' => $this->label(),
'author' => $this->author(),
'description' => $this->description(),
'boot' => 'static/module.mjs',
];
if ($context instanceof BrowserModuleContextInterface) {
$context->registerModule($this, 'MediaViewer', 'static/module.mjs');
}
}
}
+618 -289
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -19,7 +19,7 @@
"dependencies": {
"pinia": "^4.0.0",
"vue": "^3.5.18",
"vue-router": "^4.5.1",
"vue-router": "^5.0.0",
"vuetify": "^4.0.0"
},
"devDependencies": {
+2
View File
@@ -3,6 +3,7 @@ import { ref, computed, onMounted, onUnmounted } from 'vue'
import type { MediaLeafProps } from '@/types'
const props = defineProps<MediaLeafProps>()
const emit = defineEmits<{ error: [] }>()
// ── Pan / zoom state ────────────────────────────────────────────────────────
@@ -103,6 +104,7 @@ onUnmounted(() => {
transformOrigin: 'center center',
}"
draggable="false"
@error="emit('error')"
/>
<!-- Zoom hint -->
+1
View File
@@ -82,6 +82,7 @@ defineExpose({
:item="item"
:presentation="presentation"
class="media-stage__viewer"
@error="error = true; url = ''"
/>
</template>
<template #fallback>