diff --git a/packages/client/src/components/file-type-icon.vue b/packages/client/src/components/file-type-icon.vue
deleted file mode 100644
index 11d28188c..000000000
--- a/packages/client/src/components/file-type-icon.vue
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
diff --git a/packages/client/src/components/image-viewer.vue b/packages/client/src/components/image-viewer.vue
deleted file mode 100644
index 7bc88399e..000000000
--- a/packages/client/src/components/image-viewer.vue
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/client/src/components/ui/hr.vue b/packages/client/src/components/ui/hr.vue
deleted file mode 100644
index 0cb5b4887..000000000
--- a/packages/client/src/components/ui/hr.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
diff --git a/packages/client/src/directives/follow-append.ts b/packages/client/src/directives/follow-append.ts
deleted file mode 100644
index b0e99628b..000000000
--- a/packages/client/src/directives/follow-append.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Directive } from 'vue';
-import { getScrollContainer, getScrollPosition } from '@/scripts/scroll';
-
-export default {
- mounted(src, binding, vn) {
- if (binding.value === false) return;
-
- let isBottom = true;
-
- const container = getScrollContainer(src)!;
- container.addEventListener('scroll', () => {
- const pos = getScrollPosition(container);
- const viewHeight = container.clientHeight;
- const height = container.scrollHeight;
- isBottom = (pos + viewHeight > height - 32);
- }, { passive: true });
- container.scrollTop = container.scrollHeight;
-
- const ro = new ResizeObserver((entries, observer) => {
- if (isBottom) {
- const height = container.scrollHeight;
- container.scrollTop = height;
- }
- });
-
- ro.observe(src);
-
- // TODO: 新たにプロパティを作るのをやめMapを使う
- src._ro_ = ro;
- },
-
- unmounted(src, binding, vn) {
- if (src._ro_) src._ro_.unobserve(src);
- }
-} as Directive;