experimental penguinmod feature

This commit is contained in:
sussy layers dev 2023-12-15 21:45:43 +00:00
commit e348067067
5 changed files with 44 additions and 5 deletions

View file

@ -6,6 +6,7 @@
tasks: tasks:
- init: npm install --force && npm run build - init: npm install --force && npm run build
command: npm run dev
vscode:
extensions:
- svelte.svelte-vscode

View file

@ -5,7 +5,8 @@
"scripts": { "scripts": {
"dev": "vite dev", "dev": "vite dev",
"build": "vite build", "build": "vite build",
"preview": "vite preview" "preview": "vite preview",
"bnp": "npm run build && npm run preview"
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-auto": "^2.0.0",

View file

@ -9,6 +9,7 @@
export let color3 = "#0000ff"; export let color3 = "#0000ff";
let color3Included = false; let color3Included = false;
export let tbShow = true;
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
@ -24,6 +25,7 @@
color1, color1,
color2, color2,
color3, color3,
tbShow
}); });
} }
function cancel() { function cancel() {
@ -89,6 +91,14 @@
<input type="checkbox" bind:checked={color3Included} /> <input type="checkbox" bind:checked={color3Included} />
</label> </label>
</div> </div>
<div
style="display:flex;flex-direction:row;align-items:center;"
>
<label>
TurboBuilder Indicator (PenguinMod Experimental Feature)
<input type="checkbox" bind:checked={tbShow} />
</label>
</div>
<div <div
style="display:flex;flex-direction:row;align-items:center;" style="display:flex;flex-direction:row;align-items:center;"
> >
@ -97,7 +107,15 @@
<div <div
class="extensionBubbleIcon" class="extensionBubbleIcon"
style={`background: ${color1}; border-color: ${color2}`} style={`background: ${color1}; border-color: ${color2}`}
/> >
{#if tbShow}
<img
class="tbBubbleIcon"
src="favicon.png"
alt="TurboBuilder"
/>
{/if}
</div>
<div class="extensionBubbleName">Extension</div> <div class="extensionBubbleName">Extension</div>
</div> </div>
</div> </div>
@ -247,8 +265,8 @@
.extensionMenuPreview { .extensionMenuPreview {
width: 60px; width: 60px;
position: relative;
cursor: pointer; cursor: pointer;
overflow: hidden;
color: #575e75; color: #575e75;
user-select: none; user-select: none;
} }
@ -259,6 +277,18 @@
.extensionMenuPreview:active { .extensionMenuPreview:active {
background-color: #e9eef2; background-color: #e9eef2;
} }
.tbBubbleIcon {
width: 16px;
height: 16px;
background: #0006;
backdrop-filter: blur(2px);
border-radius: 8px;
position: absolute;
top: -3px;
right: -3px;
}
:global(body.dark) .extensionMenuPreview { :global(body.dark) .extensionMenuPreview {
color: #ccc; color: #ccc;
} }
@ -273,6 +303,7 @@
border-radius: 100%; border-radius: 100%;
margin: 0 auto 0.125rem; margin: 0 auto 0.125rem;
border: 1px rgba(0, 0, 0, 0.2) solid; border: 1px rgba(0, 0, 0, 0.2) solid;
position: relative;
} }
.extensionBubbleName { .extensionBubbleName {
font-size: 0.65rem; font-size: 0.65rem;

View file

@ -186,6 +186,9 @@ class Compiler {
if (extensionMetadata.color3) { if (extensionMetadata.color3) {
classRegistry.extensionInfo.color3 = extensionMetadata.color3; classRegistry.extensionInfo.color3 = extensionMetadata.color3;
} }
if (extensionMetadata.tbShow) {
classRegistry.extensionInfo.tbShow = extensionMetadata.tbShow;
}
} }
return [].concat(headerCode, classRegistry.top, [ return [].concat(headerCode, classRegistry.top, [

View file

@ -153,6 +153,7 @@
color1: "#0088ff", color1: "#0088ff",
color2: "#0063ba", color2: "#0063ba",
color3: "", color3: "",
tbShow: true
}; };
function updateGeneratedCode() { function updateGeneratedCode() {
@ -363,11 +364,13 @@
color1={extensionMetadata.color1} color1={extensionMetadata.color1}
color2={extensionMetadata.color2} color2={extensionMetadata.color2}
color3={extensionMetadata.color3} color3={extensionMetadata.color3}
tbShow={extensionMetadata.tbShow}
on:completed={(colors) => { on:completed={(colors) => {
ModalState.extensionColors = false; ModalState.extensionColors = false;
extensionMetadata.color1 = colors.detail.color1; extensionMetadata.color1 = colors.detail.color1;
extensionMetadata.color2 = colors.detail.color2; extensionMetadata.color2 = colors.detail.color2;
extensionMetadata.color3 = colors.detail.color3; extensionMetadata.color3 = colors.detail.color3;
extensionMetadata.tbShow = colors.detail.tbShow;
updateGeneratedCode(); updateGeneratedCode();
}} }}
on:cancel={() => { on:cancel={() => {