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}
- {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.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