diff --git a/.gitignore b/.gitignore index acd4d89..0593bc3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules dist dist-ssr +dist-archive *.local .vite diff --git a/index.html b/index.html index 686d998..66c89ee 100644 --- a/index.html +++ b/index.html @@ -2,6 +2,7 @@ + RUWIO diff --git a/package.json b/package.json index 5d32ba0..b09b768 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,14 @@ { "name": "animatr", "private": true, - "version": "0.8.2", + "version": "0.8.3", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc --noEmit && vite build", "preview": "vite preview", - "type-check": "vue-tsc --noEmit" + "type-check": "vue-tsc --noEmit", + "pack": "bash scripts/pack.sh" }, "dependencies": { "@phosphor-icons/vue": "^2.2.1", diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..97d4cbf Binary files /dev/null and b/public/favicon.ico differ diff --git a/scripts/pack.sh b/scripts/pack.sh new file mode 100755 index 0000000..b7cff2c --- /dev/null +++ b/scripts/pack.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash +# Pack everything needed to install + run the Vue frontend into a +# single tarball: sources, entry HTML, Vite/TS config, and the lock +# file. Recipient runs: +# +# tar -xzf ruwio-.tar.gz +# cd ruwio- +# npm install +# npm run dev # or: npm run build +# +# Deliberately excluded: node_modules, dist, the render server, +# docker-compose, logo working files, personal notes, screenshots, +# .claude/, .git/. +set -euo pipefail + +cd "$(dirname "$0")/.." + +VERSION=$(node -p "require('./package.json').version") +NAME="ruwio-${VERSION}" +OUT_DIR="dist-archive" +ARCHIVE="${OUT_DIR}/${NAME}.tar.gz" + +mkdir -p "$OUT_DIR" +rm -f "$ARCHIVE" + +# Explicit allowlist — everything else stays out. If you add a new +# top-level file the Vue app depends on (e.g. a separate env file or +# a PostCSS config), extend this list. +tar --transform "s,^,${NAME}/," -czf "$ARCHIVE" \ + index.html \ + package.json \ + package-lock.json \ + tsconfig.json \ + vite.config.ts \ + .gitignore \ + public \ + src + +echo "Created $ARCHIVE" +ls -lh "$ARCHIVE" diff --git a/src/App.vue b/src/App.vue index ca7509b..e594168 100644 --- a/src/App.vue +++ b/src/App.vue @@ -26,6 +26,7 @@ import ExportDialog from './components/ExportDialog.vue' import FullscreenPreview from './components/FullscreenPreview.vue' import PropertiesPanel from './components/PropertiesPanel.vue' import Timeline from './components/Timeline.vue' +import TooltipHost from './components/TooltipHost.vue' import WelcomeDialog from './components/WelcomeDialog.vue' import TestOverlay from './devtools/TestOverlay.vue' import ruwioLogo from './assets/logo.png' @@ -418,13 +419,16 @@ onBeforeUnmount(() => {
-
- - - @@ -504,7 +515,7 @@ onBeforeUnmount(() => { {{ t('app.mainTimeline') }} - + {{ store.activeClip?.name ?? '' }} @@ -514,7 +525,7 @@ onBeforeUnmount(() => { {{ t('app.mainTimeline') }} - + {{ store.activeButtonAsset?.name ?? '' }} @@ -526,7 +537,7 @@ onBeforeUnmount(() => {
{
+
diff --git a/src/components/AboutDialog.vue b/src/components/AboutDialog.vue index e94452f..7d5ae2e 100644 --- a/src/components/AboutDialog.vue +++ b/src/components/AboutDialog.vue @@ -46,6 +46,8 @@ const shortcuts: Shortcut[] = [ + +

{{ t('about.credit') }}

@@ -128,4 +130,11 @@ kbd { color: var(--text-dim-strong); } +.credit { + margin: 6px 0 0; + font-size: 11px; + text-align: center; + color: var(--text-dim); +} + diff --git a/src/components/ActionEditor.vue b/src/components/ActionEditor.vue index 8c71b4e..4542115 100644 --- a/src/components/ActionEditor.vue +++ b/src/components/ActionEditor.vue @@ -106,13 +106,13 @@ function onTypeChange(index: number, newType: Action['type']) { {{ actionTypeLabel(type) }} - - - diff --git a/src/components/AssetSidebar.vue b/src/components/AssetSidebar.vue index 65f74f0..eaa5f36 100644 --- a/src/components/AssetSidebar.vue +++ b/src/components/AssetSidebar.vue @@ -1,5 +1,5 @@ + + + + diff --git a/src/components/WelcomeDialog.vue b/src/components/WelcomeDialog.vue index 4560a5f..8f3fdbf 100644 --- a/src/components/WelcomeDialog.vue +++ b/src/components/WelcomeDialog.vue @@ -161,7 +161,7 @@ watch(