mirror of
https://github.com/storytold/artcraft.git
synced 2026-10-31 23:47:51 +00:00
Redesigns how references are attached in the image and video promptboxes, on both the desktop app and the webapp (desktop layout - mobile is unchanged). ### Reference deck - Replaces the image-toggle icon and the upload bands above the prompt with a fanned stack of reference cards inside the promptbox, left of the prompt text - Hovering the deck expands it to show every attached ref - no scrolling, it widens toward the end of the promptbox and wraps into more rows as needed (ready for up to 50 refs for Seedance 2.5) - Cards support drag-to-reorder (grab/grabbing cursors), hover remove, name tooltips (Image 1, Video 2, …), upload progress spinners on individual cards, and click-to-preview fullscreen - A circular **+** overlaps the deck: hovering shows an add menu grouped by type (Image / Video / Audio) with compact limits (e.g. `2/9`, `1/3 · 8/15s`); clicking it opens a file picker that accepts any supported media and sorts files by type automatically ### Video modes - Keyframe mode: Start/End frame band replaced with compact "First frame ⇄ Last frame" cards with a swap button - Reference mode renamed to **Omni reference** and is now the default; images, videos, and audio all stack into one mixed deck ### Generate button - Replaced the "Generate" pill with a circular arrow-up button, credit cost shown beside it ### Under the hood - New shared deck components live in `@storyteller/ui-promptbox` and are used by both apps (previously the two promptbox implementations were fully separate) - New `GenerateIconButton` in `@storyteller/ui-button`; the old `GenerateButton` stays for mobile - Webapp mobile, audio/object/world pages, and the 2D/3D/Edit promptboxes keep their existing UI
90 lines
1.8 KiB
JSON
90 lines
1.8 KiB
JSON
{
|
|
"extends": "../../../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"outDir": "dist",
|
|
"types": [
|
|
"node",
|
|
"@nx/react/typings/cssmodule.d.ts",
|
|
"@nx/react/typings/image.d.ts",
|
|
"vite/client"
|
|
],
|
|
"rootDir": "src",
|
|
"jsx": "react-jsx",
|
|
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo"
|
|
},
|
|
"exclude": [
|
|
"out-tsc",
|
|
"dist",
|
|
"**/*.spec.ts",
|
|
"**/*.test.ts",
|
|
"**/*.spec.tsx",
|
|
"**/*.test.tsx",
|
|
"**/*.spec.js",
|
|
"**/*.test.js",
|
|
"**/*.spec.jsx",
|
|
"**/*.test.jsx",
|
|
"vite.config.ts",
|
|
"vite.config.mts",
|
|
"vitest.config.ts",
|
|
"vitest.config.mts",
|
|
"src/**/*.test.ts",
|
|
"src/**/*.spec.ts",
|
|
"src/**/*.test.tsx",
|
|
"src/**/*.spec.tsx",
|
|
"src/**/*.test.js",
|
|
"src/**/*.spec.js",
|
|
"src/**/*.test.jsx",
|
|
"src/**/*.spec.jsx"
|
|
],
|
|
"include": [
|
|
"src/**/*.js",
|
|
"src/**/*.jsx",
|
|
"src/**/*.ts",
|
|
"src/**/*.tsx"
|
|
],
|
|
"references": [
|
|
{
|
|
"path": "../checkbox/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../slider-v2/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../generation-list/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../close-button/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../lightbox-modal/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../../common/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../../api/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../toaster/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../action-reminder-modal/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../popover/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../tooltip/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../loading-spinner/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../button/tsconfig.lib.json"
|
|
},
|
|
{
|
|
"path": "../modal/tsconfig.lib.json"
|
|
}
|
|
]
|
|
}
|