
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
dashboard-layout-vue
Advanced tools
Vue 3 basic responsive layout for admin dashboards.
Disclaimer
I'm a beginner and this layout is mostly for my own use.
Work in progress
I probably won't be looking at issues, but you're free to fork and modify as you wish.
Requires
<script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
main.js
import { createApp } from 'vue'
import App from './App.vue'
import DashboardLayout from 'dashboard-layout-vue' // <-- This
import 'dashboard-layout-vue/styles.css' // <-- This
const app = createApp(App);
app.use(DashboardLayout) // <-- This
app.mount('#app')
<script setup>
import { computed } from 'vue'
import { useRouter, useRoute } from 'vue-router'
const router = useRouter()
const route = useRoute()
function handleClick(pageTo){
router.push({ path: pageTo})
}
const currentRoute = computed(() => route.path)
</script>
<template>
<DashboardLayout primaryColor="#E91E63" @buttonClicked="handleClick" :currentRoute="currentRoute">
<template v-slot:sidebar-logo>
<div class="logo">My Logo</div>
</template>
<template v-slot:header>
Something in the header
</template>
<template v-slot:content>
</template>
</DashboardLayout>
</template>
Prop | Description | Example |
---|---|---|
menu | The menu | See below |
mobileBreakpoint | Mobile breakpoint | 1024 |
backgroundColor | Background color (the lightest) | '#fff' |
contentBackgroundShade | Shading percentage for content container | -0.05 |
currentRoute | The current route from the useRoute() object | '/app/option1' |
primaryColor | Brand color | '#4361ee' |
fontColor | Font color | '#494c5c' |
sidebarWidth | Width of the sidebar | '16rem' |
Example menu
[
{
section: "Section 1",
options: [
{
id: 'option-1',
displayText: "Option 1",
to: "/app/option1",
ionIcon: "pie-chart-outline"
},
{
id: 'option-child',
displayText: "Option w/ children",
ionIcon: "chatbubbles-outline",
children: [
{ id: 'child-1', displayText: "One child", to: "/app/child", ionIcon: "flask-outline" },
{ id: 'child-2', displayText: "Another child", to: "/app/child", ionIcon: "pricetag-outline" },
],
},
{
id: 'option-2',
displayText: "Option 2",
to: "/app/option2",
ionIcon: "flash-outline"
}
]
},
{
section: "Section 2",
options: [
{
id: 'option-3',
displayText: "Option 3",
to: "/app/option3",
ionIcon: "fish-outline"
}
]
},
]
Slot | Example |
---|---|
header | |
content | |
sidebar-logo |
Event | Description | Example Payload |
---|---|---|
buttonClicked | When an element from a sidebar is clicked | '/app/option1' |
Bye.
FAQs
A simple dashboard layout for Vue
We found that dashboard-layout-vue demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.