diff --git a/app/components/Button.tsx b/app/components/Button.tsx
index cfa1624b6e..2617ed7272 100644
--- a/app/components/Button.tsx
+++ b/app/components/Button.tsx
@@ -21,7 +21,6 @@ export const Button = ({
...rest
}: ButtonPropsI) => {
const ButtonType = htmlFor ? "label" : "button";
- const variant = disabled ? "disabled" : propsVariant;
function getVariantClassNames(variant: string) {
switch (variant) {
@@ -50,10 +49,13 @@ export const Button = ({
);
return (
-
+
);
};
diff --git a/app/pages/PageEnigma/comps/DragComponent/DragComponent.scss b/app/pages/PageEnigma/comps/DragComponent/DragComponent.scss
new file mode 100644
index 0000000000..9893d6771f
--- /dev/null
+++ b/app/pages/PageEnigma/comps/DragComponent/DragComponent.scss
@@ -0,0 +1,4 @@
+.dragging-item-container {
+ background-color: rgba(#39394d, 0.5);
+ backdrop-filter: blur(3px);
+}
diff --git a/app/pages/PageEnigma/comps/DragComponent/DragComponent.tsx b/app/pages/PageEnigma/comps/DragComponent/DragComponent.tsx
index 5ab6a3daf5..bde6aa8bee 100644
--- a/app/pages/PageEnigma/comps/DragComponent/DragComponent.tsx
+++ b/app/pages/PageEnigma/comps/DragComponent/DragComponent.tsx
@@ -6,6 +6,7 @@ import {
scale,
} from "~/pages/PageEnigma/store";
import { useSignals } from "@preact/signals-react/runtime";
+import "./DragComponent.scss";
export const DragComponent = () => {
useSignals();
@@ -15,6 +16,10 @@ export const DragComponent = () => {
return null;
}
+ const thumbnail = dragItem.value.thumbnail
+ ? dragItem.value.thumbnail
+ : `/resources/images/default-covers/${dragItem.value.imageIndex}.webp`;
+
return (
<>
{overTimeline.value ? (
@@ -36,25 +41,26 @@ export const DragComponent = () => {
/>
) : (
+ }}>
- {dragItem.value.name}
+ className="text-overflow-ellipsis w-full rounded-b-lg px-2 py-1.5 text-center text-sm"
+ style={{ backgroundColor: "#39394D" }}>
+ {dragItem.value.name || dragItem.value.media_id}
)}
diff --git a/app/pages/PageEnigma/comps/SidePanelTabs/AudioTab/typesImported.ts b/app/pages/PageEnigma/comps/SidePanelTabs/AudioTab/typesImported.ts
index 65650f0316..d853e75275 100644
--- a/app/pages/PageEnigma/comps/SidePanelTabs/AudioTab/typesImported.ts
+++ b/app/pages/PageEnigma/comps/SidePanelTabs/AudioTab/typesImported.ts
@@ -9,32 +9,31 @@ export enum WeightCategory {
export enum MediaFileClass {
/// Unknown (default value)
- /// This will be present until we migrate all old files.
- Unknown = "unknown",
+ /// This will be present until we migrate all old files.
+ Unknown = "unknown",
- /// Audio files: wav, mp3, etc.
- Audio = "audio",
+ /// Audio files: wav, mp3, etc.
+ Audio = "audio",
- /// Image files: png, jpeg, etc.
- Image = "image",
+ /// Image files: png, jpeg, etc.
+ Image = "image",
- /// Video files: mp4, etc.
- Video = "video",
+ /// Video files: mp4, etc.
+ Video = "video",
- /// Engine "animations"
- Animation = "animation",
+ /// Engine "animations"
+ Animation = "animation",
- /// Engine "characters"
- Character = "character",
+ /// Engine "characters"
+ Character = "character",
- /// Engine "prop" items
- Prop = "prop",
+ /// Engine "prop" items
+ Prop = "prop",
- /// Engine scenes (internal and external scenes)
- Scene = "scene",
+ /// Engine scenes (internal and external scenes)
+ Scene = "scene",
}
-
export enum MediaFileType {
Audio = "audio",
Video = "video",
@@ -64,7 +63,6 @@ export enum MediaFileType {
None = "none",
}
-
export enum MediaFileSubtype {
/// Animation file from Mixamo
/// Primarily used for FBX and GLB.
@@ -94,22 +92,20 @@ export enum MediaFileSubtype {
/// A common type returned by several endpoints.
/// Basic information to display a user and their avatar.
export interface UserDetailsLight {
- user_token: string,
+ user_token: string;
/// Username (lowercase)
- username: string,
+ username: string;
/// Username with user-specified capitalization
- display_name: string,
- gravatar_hash: string,
- default_avatar: DefaultAvatarInfo,
-
+ display_name: string;
+ gravatar_hash: string;
+ default_avatar: DefaultAvatarInfo;
}
export interface DefaultAvatarInfo {
- image_index: number,
- color_index: number,
+ image_index: number;
+ color_index: number;
}
-
export enum WeightType {
TT2 = "tt2",
HIFIGAN_TT2 = "hifigan_tt2",
@@ -134,6 +130,13 @@ export interface MediaFile {
maybe_original_filename: string | null;
maybe_creator_user: UserDetailsLight | null;
maybe_prompt_token: string | null;
+ cover_image: {
+ maybe_cover_image_public_bucket_path: string | null;
+ default_cover: {
+ color_index: number;
+ image_index: number;
+ };
+ };
creator_set_visibility: string;
created_at: Date;
updated_at: Date;
@@ -153,37 +156,37 @@ export interface GetMediaFileResponse {
}
export interface VoiceConversionModelListItem {
- token: string,
- model_type: string,
- title: string,
+ token: string;
+ model_type: string;
+ title: string;
- creator: CreatorDetails,
- creator_set_visibility: string,
+ creator: CreatorDetails;
+ creator_set_visibility: string;
- ietf_language_tag: string,
- ietf_primary_language_subtag: string,
- is_front_page_featured: boolean,
+ ietf_language_tag: string;
+ ietf_primary_language_subtag: string;
+ is_front_page_featured: boolean;
- created_at: string,
- updated_at: string,
+ created_at: string;
+ updated_at: string;
}
export interface CreatorDetails {
- user_token: string,
- username: string,
- display_name: string,
- gravatar_hash: string,
+ user_token: string;
+ username: string;
+ display_name: string;
+ gravatar_hash: string;
}
export interface VoiceConversionModelListResponse {
- success: boolean,
- models: Array,
+ success: boolean;
+ models: Array;
}
export interface EnqueueVoiceConversionRequest {
- uuid_idempotency_token: string,
- voice_conversion_model_token: string,
- source_media_upload_token: string,
+ uuid_idempotency_token: string;
+ voice_conversion_model_token: string;
+ source_media_upload_token: string;
// Optional args
// auto_predict_f0?: boolean,
@@ -192,6 +195,6 @@ export interface EnqueueVoiceConversionRequest {
}
export interface EnqueueVoiceConversionResponse {
- success: boolean,
- inference_job_token?: string,
-}
\ No newline at end of file
+ success: boolean;
+ inference_job_token?: string;
+}
diff --git a/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElement.tsx b/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElement.tsx
index d87b56296f..b076321cff 100644
--- a/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElement.tsx
+++ b/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElement.tsx
@@ -18,6 +18,9 @@ export const ItemElement = ({ item }: Props) => {
useSignals();
const { startDrag, endDrag } = useContext(TrackContext);
const { initX, initY } = initPosition.value;
+ const thumbnail = item.thumbnail
+ ? item.thumbnail
+ : `/resources/images/default-covers/${item.imageIndex}.webp`;
useEffect(() => {
const onPointerUp = () => {
@@ -65,17 +68,20 @@ export const ItemElement = ({ item }: Props) => {
return (
- {item.name}
+ {item.name || item.media_id}
);
diff --git a/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElements.scss b/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElements.scss
new file mode 100644
index 0000000000..95d861392d
--- /dev/null
+++ b/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElements.scss
@@ -0,0 +1,3 @@
+.sidebar-object-item {
+ background-color: rgba(#39394d, 0.5);
+}
diff --git a/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElements.tsx b/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElements.tsx
index fc15c22ba5..82f5666670 100644
--- a/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElements.tsx
+++ b/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ItemElements.tsx
@@ -1,6 +1,7 @@
import { ItemElement } from "./ItemElement";
import { AssetFilterOption, MediaItem } from "~/pages/PageEnigma/models";
import { dndSidePanelWidth, sidePanelWidth } from "~/pages/PageEnigma/store";
+import "./ItemElements.scss";
interface Props {
debug?: string;
diff --git a/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ObjectsTab.tsx b/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ObjectsTab.tsx
index 08319762cf..db4266d8d6 100644
--- a/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ObjectsTab.tsx
+++ b/app/pages/PageEnigma/comps/SidePanelTabs/itemTabs/ObjectsTab.tsx
@@ -80,6 +80,8 @@ export const ObjectsTab = ({ type }: Props) => {
100,
);
return {
+ colorIndex: item.cover_image.default_cover.color_index,
+ imageIndex: item.cover_image.default_cover.image_index,
media_id: item.token,
name: item.maybe_title,
type: AssetType.OBJECT,
diff --git a/app/pages/PageEnigma/models/assets.ts b/app/pages/PageEnigma/models/assets.ts
index d597e0d0cd..35764255a3 100644
--- a/app/pages/PageEnigma/models/assets.ts
+++ b/app/pages/PageEnigma/models/assets.ts
@@ -1,4 +1,5 @@
export interface MediaItem {
+ colorIndex?: number;
version: number;
type: AssetType;
media_id: string;
@@ -8,6 +9,7 @@ export interface MediaItem {
publicBucketPath?: string;
length?: number;
thumbnail?: string;
+ imageIndex?: number;
isMine?: boolean;
isBookmarked?: boolean;
}
@@ -28,6 +30,6 @@ export enum AssetFilterOption {
BOOKMARKED,
}
-export interface AudioMediaItem extends MediaItem{
+export interface AudioMediaItem extends MediaItem {
category?: string;
}
diff --git a/public/resources/images/default-covers/0.webp b/public/resources/images/default-covers/0.webp
new file mode 100644
index 0000000000..22d64316ab
Binary files /dev/null and b/public/resources/images/default-covers/0.webp differ
diff --git a/public/resources/images/default-covers/1.webp b/public/resources/images/default-covers/1.webp
new file mode 100644
index 0000000000..39e12d0bb4
Binary files /dev/null and b/public/resources/images/default-covers/1.webp differ
diff --git a/public/resources/images/default-covers/10.webp b/public/resources/images/default-covers/10.webp
new file mode 100644
index 0000000000..1bdfaba961
Binary files /dev/null and b/public/resources/images/default-covers/10.webp differ
diff --git a/public/resources/images/default-covers/11.webp b/public/resources/images/default-covers/11.webp
new file mode 100644
index 0000000000..925c954737
Binary files /dev/null and b/public/resources/images/default-covers/11.webp differ
diff --git a/public/resources/images/default-covers/12.webp b/public/resources/images/default-covers/12.webp
new file mode 100644
index 0000000000..927cb714c4
Binary files /dev/null and b/public/resources/images/default-covers/12.webp differ
diff --git a/public/resources/images/default-covers/13.webp b/public/resources/images/default-covers/13.webp
new file mode 100644
index 0000000000..68c2ab838f
Binary files /dev/null and b/public/resources/images/default-covers/13.webp differ
diff --git a/public/resources/images/default-covers/14.webp b/public/resources/images/default-covers/14.webp
new file mode 100644
index 0000000000..84582b89c9
Binary files /dev/null and b/public/resources/images/default-covers/14.webp differ
diff --git a/public/resources/images/default-covers/15.webp b/public/resources/images/default-covers/15.webp
new file mode 100644
index 0000000000..d56fb04a7d
Binary files /dev/null and b/public/resources/images/default-covers/15.webp differ
diff --git a/public/resources/images/default-covers/16.webp b/public/resources/images/default-covers/16.webp
new file mode 100644
index 0000000000..6b280616c2
Binary files /dev/null and b/public/resources/images/default-covers/16.webp differ
diff --git a/public/resources/images/default-covers/17.webp b/public/resources/images/default-covers/17.webp
new file mode 100644
index 0000000000..d13b86daa6
Binary files /dev/null and b/public/resources/images/default-covers/17.webp differ
diff --git a/public/resources/images/default-covers/18.webp b/public/resources/images/default-covers/18.webp
new file mode 100644
index 0000000000..29f751a168
Binary files /dev/null and b/public/resources/images/default-covers/18.webp differ
diff --git a/public/resources/images/default-covers/19.webp b/public/resources/images/default-covers/19.webp
new file mode 100644
index 0000000000..7bed881ef0
Binary files /dev/null and b/public/resources/images/default-covers/19.webp differ
diff --git a/public/resources/images/default-covers/2.webp b/public/resources/images/default-covers/2.webp
new file mode 100644
index 0000000000..9715e6bcd6
Binary files /dev/null and b/public/resources/images/default-covers/2.webp differ
diff --git a/public/resources/images/default-covers/20.webp b/public/resources/images/default-covers/20.webp
new file mode 100644
index 0000000000..1968e9f039
Binary files /dev/null and b/public/resources/images/default-covers/20.webp differ
diff --git a/public/resources/images/default-covers/21.webp b/public/resources/images/default-covers/21.webp
new file mode 100644
index 0000000000..ea1f1b77f4
Binary files /dev/null and b/public/resources/images/default-covers/21.webp differ
diff --git a/public/resources/images/default-covers/22.webp b/public/resources/images/default-covers/22.webp
new file mode 100644
index 0000000000..97fd2b89ed
Binary files /dev/null and b/public/resources/images/default-covers/22.webp differ
diff --git a/public/resources/images/default-covers/23.webp b/public/resources/images/default-covers/23.webp
new file mode 100644
index 0000000000..9e4a6bce1c
Binary files /dev/null and b/public/resources/images/default-covers/23.webp differ
diff --git a/public/resources/images/default-covers/24.webp b/public/resources/images/default-covers/24.webp
new file mode 100644
index 0000000000..72bb9ff41f
Binary files /dev/null and b/public/resources/images/default-covers/24.webp differ
diff --git a/public/resources/images/default-covers/3.webp b/public/resources/images/default-covers/3.webp
new file mode 100644
index 0000000000..089141a371
Binary files /dev/null and b/public/resources/images/default-covers/3.webp differ
diff --git a/public/resources/images/default-covers/4.webp b/public/resources/images/default-covers/4.webp
new file mode 100644
index 0000000000..9f4c72b6fb
Binary files /dev/null and b/public/resources/images/default-covers/4.webp differ
diff --git a/public/resources/images/default-covers/5.webp b/public/resources/images/default-covers/5.webp
new file mode 100644
index 0000000000..7c0501f52c
Binary files /dev/null and b/public/resources/images/default-covers/5.webp differ
diff --git a/public/resources/images/default-covers/6.webp b/public/resources/images/default-covers/6.webp
new file mode 100644
index 0000000000..d0a990bbaa
Binary files /dev/null and b/public/resources/images/default-covers/6.webp differ
diff --git a/public/resources/images/default-covers/7.webp b/public/resources/images/default-covers/7.webp
new file mode 100644
index 0000000000..c1a2b9f3f4
Binary files /dev/null and b/public/resources/images/default-covers/7.webp differ
diff --git a/public/resources/images/default-covers/8.webp b/public/resources/images/default-covers/8.webp
new file mode 100644
index 0000000000..b5ac96d226
Binary files /dev/null and b/public/resources/images/default-covers/8.webp differ
diff --git a/public/resources/images/default-covers/9.webp b/public/resources/images/default-covers/9.webp
new file mode 100644
index 0000000000..68627ee8e2
Binary files /dev/null and b/public/resources/images/default-covers/9.webp differ