Compare commits

...

3 Commits

Author SHA1 Message Date
dwelle
77edb39a7e seed 2025-06-10 23:52:11 +02:00
dwelle
56c9ea9259 stuff 2025-06-10 23:30:37 +02:00
dwelle
0d34177761 liquid glass 2025-06-10 23:10:10 +02:00
6 changed files with 295 additions and 10 deletions

View File

@ -4,6 +4,7 @@ import {
TTDDialogTrigger, TTDDialogTrigger,
CaptureUpdateAction, CaptureUpdateAction,
reconcileElements, reconcileElements,
convertToExcalidrawElements,
} from "@excalidraw/excalidraw"; } from "@excalidraw/excalidraw";
import { trackEvent } from "@excalidraw/excalidraw/analytics"; import { trackEvent } from "@excalidraw/excalidraw/analytics";
import { getDefaultAppState } from "@excalidraw/excalidraw/appState"; import { getDefaultAppState } from "@excalidraw/excalidraw/appState";
@ -471,6 +472,276 @@ const ExcalidrawWrapper = () => {
initializeScene({ collabAPI, excalidrawAPI }).then(async (data) => { initializeScene({ collabAPI, excalidrawAPI }).then(async (data) => {
loadImages(data, /* isInitialLoad */ true); loadImages(data, /* isInitialLoad */ true);
if (data.scene) {
data.scene.elements = data.scene.elements?.length
? data.scene.elements
: convertToExcalidrawElements([
{
id: "MyWwgGwbjyZoxKSa2pfBI",
type: "rectangle",
x: 43.5,
y: 52.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#ff8787",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 246249428,
version: 427,
versionNonce: 2079096276,
boundElements: [],
link: null,
locked: false,
},
{
id: "ABor4pClpJJs6adQb4iqs",
type: "rectangle",
x: 357.5,
y: 481.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#b2f2bb",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 1800887636,
version: 445,
versionNonce: 650486612,
boundElements: [],
link: null,
locked: false,
},
{
id: "-FGknlZxdFGYZNoUr2lG5",
type: "rectangle",
x: 1280.5,
y: 47.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#69db7c",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 883462868,
version: 532,
versionNonce: 912136404,
boundElements: [],
link: null,
locked: false,
},
{
id: "XQ3bRtQnS_ydtq13c_p99",
type: "rectangle",
x: 863.5,
y: 334.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#a5d8ff",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 2033653844,
version: 459,
versionNonce: 1984683604,
boundElements: [],
link: null,
locked: false,
},
{
id: "GmC3zgvVq3xUd2Qn0cNX3",
type: "rectangle",
x: 897.5,
y: 697.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#ffec99",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 81325524,
version: 488,
versionNonce: 1332016084,
boundElements: [],
link: null,
locked: false,
},
{
id: "8nvmvwbmFmNAcLAmwZryR",
type: "rectangle",
x: 456.5,
y: 229.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#eebefa",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 950276948,
version: 649,
versionNonce: 532633940,
boundElements: [],
link: null,
locked: false,
},
{
id: "7dyXEvhPDLA0-e3XCaM2H",
type: "rectangle",
x: 1446.5,
y: 609.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#d0bfff",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 1659799764,
version: 570,
versionNonce: 313593556,
boundElements: [],
link: null,
locked: false,
},
{
id: "gJubXeAjkEAr6yywtiZ0T",
type: "rectangle",
x: 1182.5,
y: 800.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#96f2d7",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 391007828,
version: 563,
versionNonce: 2026902612,
boundElements: [],
link: null,
locked: false,
},
{
id: "pSB2Izj9osR_XxVCzyVnD",
type: "rectangle",
x: 1477.5,
y: 295.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#9775fa",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 110715860,
version: 590,
versionNonce: 535980500,
boundElements: [],
link: null,
locked: false,
},
{
id: "yc7IKdtbnjLRaxJI5_q7m",
type: "rectangle",
x: 696.5,
y: 21.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#4dabf7",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 1457899860,
version: 587,
versionNonce: 724438868,
boundElements: [],
link: null,
locked: false,
},
{
id: "7KjY1vcMQm_i_i05wowTC",
type: "rectangle",
x: 447.5,
y: 771.5,
width: 357,
height: 280,
strokeColor: "transparent",
backgroundColor: "#ffc9c9",
fillStyle: "solid",
strokeWidth: 2,
strokeStyle: "solid",
roughness: 1,
opacity: 100,
groupIds: [],
frameId: null,
roundness: { type: 3 },
seed: 2072608468,
version: 610,
versionNonce: 1792607444,
boundElements: [],
link: null,
locked: false,
},
]);
}
initialStatePromiseRef.current.promise.resolve(data.scene); initialStatePromiseRef.current.promise.resolve(data.scene);
}); });

View File

@ -2,7 +2,8 @@
.undo-redo-buttons { .undo-redo-buttons {
background-color: var(--island-bg-color); background-color: var(--island-bg-color);
border-radius: var(--border-radius-lg); border-radius: var(--border-radius-lg);
box-shadow: 0 0 0 1px var(--color-surface-lowest); // box-shadow: 0 0 0 1px var(--color-surface-lowest);
backdrop-filter: blur(40px);
} }
.zoom-button, .zoom-button,
@ -12,6 +13,7 @@
font-size: 0.875rem !important; font-size: 0.875rem !important;
width: var(--lg-button-size); width: var(--lg-button-size);
height: var(--lg-button-size); height: var(--lg-button-size);
backdrop-filter: blur(40px);
svg { svg {
width: var(--lg-icon-size) !important; width: var(--lg-icon-size) !important;

View File

@ -3,6 +3,8 @@
--padding: 0; --padding: 0;
box-sizing: border-box; box-sizing: border-box;
background-color: var(--island-bg-color); background-color: var(--island-bg-color);
backdrop-filter: blur(40px);
-webkit-backdrop-filter: blur(40px);
box-shadow: var(--shadow-island); box-shadow: var(--shadow-island);
border-radius: var(--border-radius-lg); border-radius: var(--border-radius-lg);
padding: calc(var(--padding) * var(--space-factor)); padding: calc(var(--padding) * var(--space-factor));

View File

@ -386,6 +386,9 @@ body.excalidraw-cursor-resize * {
width: 12.5rem; width: 12.5rem;
box-sizing: border-box; box-sizing: border-box;
position: absolute; position: absolute;
background: transparent !important;
backdrop-filter: blur(40px);
-webkit-backdrop-filter: blur(40px);
} }
.dropdown-select { .dropdown-select {
@ -648,14 +651,16 @@ body.excalidraw-cursor-resize * {
.App-mobile-menu, .App-mobile-menu,
.App-menu__left { .App-menu__left {
--button-border: transparent; --button-border: transparent;
--button-bg: var(--color-surface-mid); // --button-bg: var(--color-surface-mid);
--button-bg: rgba(255, 255, 255, 0.3);
} }
@at-root .excalidraw.theme--dark#{&} { @at-root .excalidraw.theme--dark#{&} {
.App-mobile-menu, .App-mobile-menu,
.App-menu__left { .App-menu__left {
--button-hover-bg: #363541; --button-hover-bg: #363541;
--button-bg: var(--color-surface-high); // --button-bg: var(--color-surface-high);
--button-bg: rgba(0, 0, 0, 0.15);
} }
} }

View File

@ -19,7 +19,7 @@
--input-border-color: #{$oc-gray-4}; --input-border-color: #{$oc-gray-4};
--input-hover-bg-color: #{$oc-gray-1}; --input-hover-bg-color: #{$oc-gray-1};
--input-label-color: #{$oc-gray-7}; --input-label-color: #{$oc-gray-7};
--island-bg-color: #ffffff; --island-bg-color: transparent !important;
--keybinding-color: var(--color-gray-40); --keybinding-color: var(--color-gray-40);
--link-color: #{$oc-blue-7}; --link-color: #{$oc-blue-7};
--overlay-bg-color: #{transparentize($oc-white, 0.12)}; --overlay-bg-color: #{transparentize($oc-white, 0.12)};
@ -149,16 +149,16 @@
--color-surface-high: #f1f0ff; --color-surface-high: #f1f0ff;
--color-surface-mid: #f6f6f9; --color-surface-mid: #f6f6f9;
--color-surface-low: #ececf4; --color-surface-low: rgba(236, 236, 244, 0.1);
--color-surface-lowest: #ffffff; --color-surface-lowest: #ffffff;
--color-on-surface: #1b1b1f; --color-on-surface: #1b1b1f;
--color-brand-hover: #5753d0; --color-brand-hover: #5753d0;
--color-on-primary-container: #030064; --color-on-primary-container: #030064;
--color-surface-primary-container: #e0dfff; --color-surface-primary-container: rgba(224, 223, 255, 0.7);
--color-brand-active: #4440bf; --color-brand-active: #4440bf;
--color-border-outline: #767680; --color-border-outline: #767680;
--color-border-outline-variant: #c5c5d0; --color-border-outline-variant: #c5c5d0;
--color-surface-primary-container: #e0dfff; // --color-surface-primary-container: #e0dfff;
--color-badge: #0b6513; --color-badge: #0b6513;
--background-color-badge: #d3ffd2; --background-color-badge: #d3ffd2;
@ -253,16 +253,15 @@
--color-logo-text: #e2dfff; --color-logo-text: #e2dfff;
--color-surface-high: #2e2d39; --color-surface-high: #2e2d39;
--color-surface-low: hsl(240, 8%, 15%); --color-surface-low: rgba(35, 35, 41, 0.1);
--color-surface-mid: hsl(240 6% 10%); --color-surface-mid: hsl(240 6% 10%);
--color-surface-lowest: hsl(0, 0%, 7%); --color-surface-lowest: hsl(0, 0%, 7%);
--color-on-surface: #e3e3e8; --color-on-surface: #e3e3e8;
--color-brand-hover: #bbb8ff; --color-brand-hover: #bbb8ff;
--color-on-primary-container: #e0dfff; --color-on-primary-container: #e0dfff;
--color-surface-primary-container: #403e6a; --color-surface-primary-container: rgba(64, 62, 106, 0.7);
--color-brand-active: #d0ccff; --color-brand-active: #d0ccff;
--color-border-outline: #8e8d9c; --color-border-outline: #8e8d9c;
--color-border-outline-variant: #46464f; --color-border-outline-variant: #46464f;
--color-surface-primary-container: #403e6a;
} }
} }

View File

@ -79,6 +79,10 @@
color: var(--button-color, var(--color-on-surface)); color: var(--button-color, var(--color-on-surface));
font-family: var(--ui-font); font-family: var(--ui-font);
// background: transparent !important;
backdrop-filter: blur(40px);
-webkit-backdrop-filter: blur(40px);
svg { svg {
width: var(--button-width, var(--lg-icon-size)); width: var(--button-width, var(--lg-icon-size));
height: var(--button-height, var(--lg-icon-size)); height: var(--button-height, var(--lg-icon-size));
@ -183,6 +187,8 @@
border: none; border: none;
box-shadow: 0 0 0 1px var(--color-surface-lowest); box-shadow: 0 0 0 1px var(--color-surface-lowest);
background-color: var(--color-surface-low); background-color: var(--color-surface-low);
backdrop-filter: blur(40px);
-webkit-backdrop-filter: blur(40px);
&:active { &:active {
box-shadow: 0 0 0 1px var(--color-brand-active); box-shadow: 0 0 0 1px var(--color-brand-active);