Compare commits

...

2 Commits

4 changed files with 102 additions and 41 deletions

View File

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 138 KiB

View File

@ -0,0 +1,31 @@
<template>
<footer class="bg-[#f9f3eb] border-t border-gray-200 py-4 px-6 flex flex-col md:flex-row items-center justify-between">
<!-- Left: Logo -->
<div class="flex items-center gap-2">
<img :src="logo" alt="Logo" class="h-10">
</div>
<!-- Center: Copyright -->
<div class="text-sm text-[#0f1d4a] font-medium text-center">
Abbauf Tech © 2025 Semua hak dilindungi
</div>
<!-- Right: Social Icons -->
<div class="flex items-center gap-4 text-[#0f1d4a] mt-2 md:mt-0">
<a href="#" class="hover:text-sky-600"><i class="fab fa-facebook"></i></a>
<a href="#" class="hover:text-sky-600"><i class="fab fa-twitter"></i></a>
<a href="#" class="hover:text-sky-600"><i class="fab fa-instagram"></i></a>
<a href="#" class="hover:text-sky-600"><i class="fab fa-youtube"></i></a>
<a href="#" class="hover:text-sky-600"><i class="fab fa-vk"></i></a>
</div>
</footer>
</template>
<script setup>
import logo from '@/../images/logo.png'
</script>
<style>
/* Pakai Font Awesome untuk ikon */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');
</style>

View File

@ -1,5 +1,7 @@
<script setup> <script setup>
import { ref } from "vue"; import { ref } from "vue";
import logo from "../../images/logo.png";
const isOpen = ref(false); const isOpen = ref(false);
@ -25,45 +27,68 @@ const toggleDropdown = () => {
<div class="h-25 shadow-lg shadow-D rounded-b-md"> <div class="h-25 shadow-lg shadow-D rounded-b-md">
<div class="bg-D h-5 rounded-b-md shadow-lg"> <div class="bg-D h-5 rounded-b-md shadow-lg">
<div class="h-15"></div> <div class="h-15"></div>
<div class="w-full px-50 flex justify-between items-center h-5 relative"> <div class="relative">
<div class="w-full px-50 flex justify-between items-center h-5 relative">
<div class="absolute left-[50%]">
<img :src="logo" alt="Logo" class="h-12 w-auto" />
</div>
<!-- Dropdown khusus "Manajemen Produk" --> <!-- 🔹 LEFT MENU -->
<div class="relative"> <div class="flex items-center gap-10">
<button <!-- Dropdown khusus "Manajemen Produk" -->
@click="toggleDropdown" <div class="relative">
class="text-center text-lg text-D hover:underline cursor-pointer" <button
> @click="toggleDropdown"
Manajemen Produk class="text-center text-lg text-D hover:underline cursor-pointer"
</button> >
Manajemen Produk
</button>
<!-- isi dropdown --> <!-- isi dropdown -->
<div <div
v-if="isOpen" v-if="isOpen"
class="absolute left-0 mt-2 w-48 bg-white border rounded-md shadow-lg z-50" class="absolute left-0 mt-2 w-48 bg-white border rounded-md shadow-lg z-50"
> >
<ul> <ul>
<li <li
v-for="(sub, index) in subItems" v-for="(sub, index) in subItems"
:key="index" :key="index"
class="px-4 py-2 hover:bg-A cursor-pointer" class="px-4 py-2 hover:bg-A cursor-pointer"
>
<router-link :to="sub.route" class="block w-full h-full">
{{ sub.label }}
</router-link>
</li>
</ul>
</div>
</div>
<!-- Menu Kasir -->
<router-link
:to="items[0].route"
class="text-center text-lg text-D hover:underline cursor-pointer"
> >
<router-link :to="sub.route" class="block w-full h-full"> {{ items[0].label }}
{{ sub.label }} </router-link>
</router-link> </div>
</li>
</ul>
</div>
</div>
<!-- menu lain --> <!-- 🔹 RIGHT MENU -->
<router-link <div class="flex items-center gap-8">
v-for="item in items" <router-link
:key="item.label" :to="items[1].route"
:to="item.route" class="text-center text-lg text-D hover:underline cursor-pointer"
class="text-center text-lg text-D hover:underline cursor-pointer" >
> {{ items[1].label }}
{{ item.label }} </router-link>
</router-link> <router-link
:to="items[2].route"
class="text-center text-lg text-D hover:underline cursor-pointer"
>
{{ items[2].label }}
</router-link>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,10 +1,15 @@
<template> <template>
<Header /> <div class="relative min-h-screen max-w-screen">
<div class="mx-2 md:mx-4 lg:mx-6 xl:mx-7 my-6"> <Header />
<slot /> <div class="mx-2 md:mx-4 lg:mx-6 xl:mx-7 my-6">
<slot />
</div>
<Footer class="absolute bottom-0 w-full" />
</div> </div>
</template> </template>
<script setup> <script setup>
import Header from '../components/Header.vue' import Header from '../components/Header.vue'
import Footer from '../components/Footer.vue'
</script> </script>