A Pen by john chumz on CodePen.
Created
March 13, 2020 10:18
-
-
Save ialeke/41f2bd2bdd65a8b790e35763651296d6 to your computer and use it in GitHub Desktop.
Vuetify Template
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div id="app"> | |
<v-app id="inspire"> | |
<v-navigation-drawer | |
v-model="drawer" | |
:clipped="$vuetify.breakpoint.lgAndUp" | |
app | |
> | |
<v-list dense> | |
<template v-for="item in items"> | |
<v-layout | |
v-if="item.heading" | |
:key="item.heading" | |
row | |
align-center | |
> | |
<v-flex xs6> | |
<v-subheader v-if="item.heading"> | |
{{ item.heading }} | |
</v-subheader> | |
</v-flex> | |
<v-flex | |
xs6 | |
class="text-xs-center" | |
> | |
<a | |
href="#!" | |
class="body-2 black--text" | |
>EDIT</a> | |
</v-flex> | |
</v-layout> | |
<v-list-group | |
v-else-if="item.children" | |
:key="item.text" | |
v-model="item.model" | |
:prepend-icon="item.model ? item.icon : item['icon-alt']" | |
append-icon="" | |
> | |
<template v-slot:activator> | |
<v-list-item> | |
<v-list-item-content> | |
<v-list-item-title> | |
{{ item.text }} | |
</v-list-item-title> | |
</v-list-item-content> | |
</v-list-item> | |
</template> | |
<v-list-item | |
v-for="(child, i) in item.children" | |
:key="i" | |
@click="" | |
> | |
<v-list-item-action v-if="child.icon"> | |
<v-icon>{{ child.icon }}</v-icon> | |
</v-list-item-action> | |
<v-list-item-content> | |
<v-list-item-title> | |
{{ child.text }} | |
</v-list-item-title> | |
</v-list-item-content> | |
</v-list-item> | |
</v-list-group> | |
<v-list-item | |
v-else | |
:key="item.text" | |
@click="" | |
> | |
<v-list-item-action> | |
<v-icon>{{ item.icon }}</v-icon> | |
</v-list-item-action> | |
<v-list-item-content> | |
<v-list-item-title> | |
{{ item.text }} | |
</v-list-item-title> | |
</v-list-item-content> | |
</v-list-item> | |
</template> | |
</v-list> | |
</v-navigation-drawer> | |
<v-app-bar | |
:clipped-left="$vuetify.breakpoint.lgAndUp" | |
app | |
color="blue darken-3" | |
dark | |
> | |
<v-toolbar-title | |
style="width: 300px" | |
class="ml-0 pl-3" | |
> | |
<v-app-bar-nav-icon @click.stop="drawer = !drawer"></v-app-bar-nav-icon> | |
<span class="hidden-sm-and-down">Google Contacts</span> | |
</v-toolbar-title> | |
<v-text-field | |
flat | |
solo-inverted | |
hide-details | |
prepend-inner-icon="search" | |
label="Search" | |
class="hidden-sm-and-down" | |
></v-text-field> | |
<v-spacer></v-spacer> | |
<v-btn icon> | |
<v-icon>apps</v-icon> | |
</v-btn> | |
<v-btn icon> | |
<v-icon>notifications</v-icon> | |
</v-btn> | |
<v-btn | |
icon | |
large | |
> | |
<v-avatar | |
item | |
> | |
<v-img | |
src="https://cdn.vuetifyjs.com/images/logos/logo.svg" | |
alt="Vuetify" | |
> | |
</v-img></v-avatar> | |
</v-btn> | |
</v-app-bar> | |
<v-content> | |
<v-container | |
fluid | |
fill-height | |
> | |
<v-layout | |
align-center | |
justify-center | |
> | |
<v-tooltip right> | |
<template v-slot:activator="{ on }"> | |
<v-btn | |
:href="source" | |
icon | |
large | |
target="_blank" | |
v-on="on" | |
> | |
<v-icon large>mdi-code-tags</v-icon> | |
</v-btn> | |
</template> | |
<span>Source</span> | |
</v-tooltip> | |
<v-tooltip right> | |
<template v-slot:activator="{ on }"> | |
<v-btn | |
icon | |
large | |
href="https://codepen.io/johnjleider/pen/MNYLdL" | |
target="_blank" | |
v-on="on" | |
> | |
<v-icon large>mdi-codepen</v-icon> | |
</v-btn> | |
</template> | |
<span>Codepen</span> | |
</v-tooltip> | |
</v-layout> | |
</v-container> | |
</v-content> | |
<v-btn | |
bottom | |
color="pink" | |
dark | |
fab | |
fixed | |
right | |
@click="dialog = !dialog" | |
> | |
<v-icon>add</v-icon> | |
</v-btn> | |
<v-dialog | |
v-model="dialog" | |
width="800px" | |
> | |
<v-card> | |
<v-card-title class="grey darken-2"> | |
Create contact | |
</v-card-title> | |
<v-container grid-list-sm> | |
<v-layout | |
row | |
wrap | |
> | |
<v-flex | |
xs12 | |
align-center | |
justify-space-between | |
> | |
<v-layout align-center> | |
<v-avatar | |
size="40px" | |
class="mr-3" | |
> | |
<img | |
src="//ssl.gstatic.com/s2/oz/images/sge/grey_silhouette.png" | |
alt="" | |
> | |
</v-avatar> | |
<v-text-field | |
placeholder="Name" | |
></v-text-field> | |
</v-layout> | |
</v-flex> | |
<v-flex xs6> | |
<v-text-field | |
prepend-icon="business" | |
placeholder="Company" | |
></v-text-field> | |
</v-flex> | |
<v-flex xs6> | |
<v-text-field | |
placeholder="Job title" | |
></v-text-field> | |
</v-flex> | |
<v-flex xs12> | |
<v-text-field | |
prepend-icon="mail" | |
placeholder="Email" | |
></v-text-field> | |
</v-flex> | |
<v-flex xs12> | |
<v-text-field | |
type="tel" | |
prepend-icon="phone" | |
placeholder="(000) 000 - 0000" | |
></v-text-field> | |
</v-flex> | |
<v-flex xs12> | |
<v-text-field | |
prepend-icon="notes" | |
placeholder="Notes" | |
></v-text-field> | |
</v-flex> | |
</v-layout> | |
</v-container> | |
<v-card-actions> | |
<v-btn | |
text | |
color="primary" | |
>More</v-btn> | |
<v-spacer></v-spacer> | |
<v-btn | |
text | |
color="primary" | |
@click="dialog = false" | |
>Cancel</v-btn> | |
<v-btn | |
text | |
@click="dialog = false" | |
>Save</v-btn> | |
</v-card-actions> | |
</v-card> | |
</v-dialog> | |
</v-app> | |
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
new Vue({ | |
el: '#app', | |
vuetify: new Vuetify(), | |
data: () => ({ | |
dialog: false, | |
drawer: null, | |
items: [ | |
{ icon: 'contacts', text: 'Contacts' }, | |
{ icon: 'history', text: 'Frequently contacted' }, | |
{ icon: 'content_copy', text: 'Duplicates' }, | |
{ | |
icon: 'keyboard_arrow_up', | |
'icon-alt': 'keyboard_arrow_down', | |
text: 'Labels', | |
model: true, | |
children: [ | |
{ icon: 'add', text: 'Create label' }, | |
], | |
}, | |
{ | |
icon: 'keyboard_arrow_up', | |
'icon-alt': 'keyboard_arrow_down', | |
text: 'More', | |
model: false, | |
children: [ | |
{ text: 'Import' }, | |
{ text: 'Export' }, | |
{ text: 'Print' }, | |
{ text: 'Undo changes' }, | |
{ text: 'Other contacts' }, | |
], | |
}, | |
{ icon: 'settings', text: 'Settings' }, | |
{ icon: 'chat_bubble', text: 'Send feedback' }, | |
{ icon: 'help', text: 'Help' }, | |
{ icon: 'phonelink', text: 'App downloads' }, | |
{ icon: 'keyboard', text: 'Go to the old version' }, | |
], | |
}) | |
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script src="https://unpkg.com/vue/dist/vue.js"></script> | |
<script src="https://unpkg.com/vuetify/dist/vuetify.min.js"></script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons" rel="stylesheet" /> | |
<link href="https://unpkg.com/vuetify/dist/vuetify.min.css" rel="stylesheet" /> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment