Skip to content

Commit

Permalink
Proof of concept : UiKit theme on Vue.js SPA
Browse files Browse the repository at this point in the history
  • Loading branch information
lcharette committed Sep 10, 2023
1 parent 415f70b commit b222d4b
Show file tree
Hide file tree
Showing 19 changed files with 387 additions and 474 deletions.
89 changes: 11 additions & 78 deletions app/assets/App.vue
Original file line number Diff line number Diff line change
@@ -1,85 +1,18 @@
<script setup>
import { RouterLink, RouterView } from 'vue-router'
import HelloWorld from './components/HelloWorld.vue'
import UIkit from 'uikit'
import Icons from 'uikit/dist/js/uikit-icons'
import Navbar from './components/Navbar.vue'
UIkit.use(Icons);
</script>

<template>
<header>
<img alt="Vue logo" class="logo" src="./assets/logo.svg" width="125" height="125" />

<div class="wrapper">
<HelloWorld msg="You did it!" />

<nav>
<RouterLink to="/">Home</RouterLink>
<RouterLink to="/about">About</RouterLink>
</nav>
</div>
</header>

<RouterView />
<header>
<Navbar title="Website Title" />
</header>
<RouterView />
</template>

<style scoped>
header {
line-height: 1.5;
max-height: 100vh;
}
.logo {
display: block;
margin: 0 auto 2rem;
}
nav {
width: 100%;
font-size: 12px;
text-align: center;
margin-top: 2rem;
}
nav a.router-link-exact-active {
color: var(--color-text);
}
nav a.router-link-exact-active:hover {
background-color: transparent;
}
nav a {
display: inline-block;
padding: 0 1rem;
border-left: 1px solid var(--color-border);
}
nav a:first-of-type {
border: 0;
}
@media (min-width: 1024px) {
header {
display: flex;
place-items: center;
padding-right: calc(var(--section-gap) / 2);
}
.logo {
margin: 0 2rem 0 0;
}
header .wrapper {
display: flex;
place-items: flex-start;
flex-wrap: wrap;
}
nav {
text-align: left;
margin-left: -1rem;
font-size: 1rem;
padding: 1rem 0;
margin-top: 1rem;
}
}
<style lang="less">
@import "uikit/src/less/uikit.theme.less";
</style>
73 changes: 0 additions & 73 deletions app/assets/assets/base.css

This file was deleted.

1 change: 0 additions & 1 deletion app/assets/assets/logo.svg

This file was deleted.

35 changes: 0 additions & 35 deletions app/assets/assets/main.css

This file was deleted.

43 changes: 0 additions & 43 deletions app/assets/components/HelloWorld.vue

This file was deleted.

31 changes: 31 additions & 0 deletions app/assets/components/Navbar.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<script setup>
import { RouterLink } from 'vue-router'
defineProps({
title: {
type: String,
required: true
}
})
</script>

<template>
<div uk-sticky="sel-target: .uk-navbar-container; cls-active: uk-navbar-sticky">
<div class="uk-navbar-container tm-navbar-container">
<div class="uk-container uk-container-expand">
<nav class="uk-navbar" uk-navbar>
<div class="uk-navbar-left">
<a href="/" class="uk-navbar-item uk-logo">{{ title }}</a>
<ul class="uk-navbar-nav">
<li>
<RouterLink to="/">Home</RouterLink>
</li>
<li>
<RouterLink to="/about">About</RouterLink>
</li>
</ul>
</div>
</nav>
</div>
</div>
</div>
</template>
86 changes: 0 additions & 86 deletions app/assets/components/TheWelcome.vue

This file was deleted.

Loading

0 comments on commit b222d4b

Please sign in to comment.