Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/web/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -754,6 +754,7 @@ export default {
<div class="app-body">
<ActivityBar
v-if="!isMobile && showActivityBar && sidebar_mode !== 'disable'"
:key="assemblyCompletedKey"
v-model="creator_mode"
:dark="dark"
:autohide="sidebar_mode === 'autohide'"
Expand Down
101 changes: 39 additions & 62 deletions src/web/components/general/ActivityBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export default defineComponent({
type: Boolean,
required: false,
default: false,
}
},
},
emits: ["update:modelValue"],
methods: {
Expand All @@ -34,10 +34,10 @@ export default defineComponent({
</script>

<template>
<div class="activity-bar-container" :class="{ 'autohide': autohide }">
<div class="activity-bar-container" :class="{ autohide: autohide }">
<div class="activity-bar" :class="{ 'dark-mode': dark }">
<div class="activity-bar-content">
<hr/>
<hr />
<div
class="activity-item"
:class="{ active: modelValue === 'assembly' }"
Expand All @@ -56,66 +56,48 @@ export default defineComponent({
<font-awesome-icon :icon="['fas', 'gears']" size="lg" />
</div>

<hr/>

<hr />

<div v-if="modelValue === 'assembly'">
<div
class="activity-item"
v-b-modal.examples_assembly
title="Examples"
>
>
<font-awesome-icon :icon="['fas', 'file-lines']" size="lg" />
</div>
<hr/>
<div
class="activity-item"
v-b-modal.load_assembly
title="Load file"
>
<hr />
<div class="activity-item" v-b-modal.load_assembly title="Load file">
<font-awesome-icon :icon="['fas', 'upload']" size="lg" />
</div>
<div
class="activity-item"
v-b-modal.save_assembly
title="Save file"
>
<div class="activity-item" v-b-modal.save_assembly title="Save file">
<font-awesome-icon :icon="['fas', 'download']" size="lg" />
</div>
<div
class="activity-item"
v-b-modal.make_uri
title="Share as url"
>
<div class="activity-item" v-b-modal.make_uri title="Share as url">
<font-awesome-icon :icon="['fas', 'link']" size="lg" />
</div>
<hr/>
<div
class="activity-item"
v-b-modal.load_binary
title="Load library"
>
<hr />
<div class="activity-item" v-b-modal.load_binary title="Load library">
<font-awesome-icon :icon="['fas', 'file-arrow-up']" size="lg" />
</div>
<div
class="activity-item"
@click="removeLibrary"
title="Remove library"
>
>
<font-awesome-icon :icon="['fas', 'trash-can']" size="lg" />
</div>
<hr/>
<hr />
<div
class="activity-item"
v-b-modal.calculator_assembly
title="IEEE754 Calculator"
>
<font-awesome-icon :icon="['fas', 'calculator']" size="lg" />
</div>
<hr/>
<hr />
</div>


<div v-if="modelValue === 'simulator'">
<div
class="activity-item"
Expand All @@ -124,12 +106,8 @@ export default defineComponent({
>
<font-awesome-icon :icon="['fas', 'file-lines']" size="lg" />
</div>
<hr/>
<div
class="activity-item"
v-b-modal.flash
title="Flash"
>
<hr />
<div class="activity-item" v-b-modal.flash title="Flash">
<font-awesome-icon :icon="['fab', 'usb']" size="lg" />
</div>
<div
Expand All @@ -139,9 +117,8 @@ export default defineComponent({
>
<font-awesome-icon :icon="['fas', 'calculator']" size="lg" />
</div>
<hr/>
<hr />
</div>

</div>
</div>
</div>
Expand All @@ -161,8 +138,8 @@ export default defineComponent({
}

&.autohide {
width: 0;
width: 0;

.activity-bar {
position: absolute;
left: 0;
Expand All @@ -172,20 +149,20 @@ export default defineComponent({
transform: translateX(-100%);
transition: transform 0.3s ease;
}

&::after {
content: '';
content: "";
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 15px;
width: 15px;
}

&:hover {
.activity-bar {
transform: translateX(0);
box-shadow: 2px 0 5px rgba(0,0,0,0.2);
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
}
}
}
Expand All @@ -196,22 +173,22 @@ export default defineComponent({
height: 100%;
display: flex;
flex-direction: column;
background-color: rgb(238, 238, 238);
border-right: 1px solid #dee2e6;
background-color: rgb(238, 238, 238);
border-right: 1px solid #dee2e6;
flex-shrink: 0;

&.dark-mode {
background-color: hsl(214, 9%, 12%);
border-right: 1px solid rgba(255, 255, 255, 0.1);
background-color: hsl(214, 9%, 12%);
border-right: 1px solid rgba(255, 255, 255, 0.1);

.activity-item {
color: #adb5bd;
color: #adb5bd;

&:hover {
color: #f8f9fa;
color: #f8f9fa;
background-color: rgba(255, 255, 255, 0.1);
}

&.active {
color: #64b5f6;
border-left-color: #64b5f6;
Expand All @@ -222,7 +199,7 @@ export default defineComponent({
.activity-bar-content {
display: flex;
flex-direction: column;
height: 100%;
height: 100%;
}

.activity-item {
Expand All @@ -232,22 +209,22 @@ export default defineComponent({
justify-content: center;
align-items: center;
cursor: pointer;
color: #6c757d;
border-left: 3px solid transparent;
color: #6c757d;
border-left: 3px solid transparent;
transition: all 0.2s ease;

&:hover {
color: #212529;
background-color: rgba(0, 0, 0, 0.1);
color: #212529;
background-color: rgba(0, 0, 0, 0.1);
}

&.active {
color: #2196f3;
border-left-color: #2196f3;
}

&:active:not(.active) {
transform: scale(0.95);
transform: scale(0.95);
}
}
}
Expand Down
Loading