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
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

## About

![Static Badge](https://img.shields.io/badge/Laravel%20-%20v11%20-%20%23f9322c) ![Static Badge](https://img.shields.io/badge/Inertia.js%20-%20v2%20-%20%236b46c1) ![Static Badge](<https://img.shields.io/badge/Vue.js%20-%20v3.5%20-%20rgb(66%20184%20131)>) ![Static Badge](<https://img.shields.io/badge/PrimeVue%20-%20v4%20-%20rgb(16%20185%20129)>)
![Static Badge](https://img.shields.io/badge/Laravel%20-%20v11%20-%20%23f9322c) ![Static Badge](https://img.shields.io/badge/Inertia.js%20-%20v2%20-%20%236b46c1) ![Static Badge](<https://img.shields.io/badge/Vue.js%20-%20v3.5%20-%20rgb(66%20184%20131)>) ![Static Badge](https://img.shields.io/badge/PrimeVue%20-%20v4%20-%20rgb(16%20185%20129)) ![Static Badge](https://img.shields.io/badge/Tailwind%20CSS%20-%20v4%20-%20%230284c7)

A basic authentication starter kit using [Laravel](https://laravel.com/docs/master), [Intertia.js](https://inertiajs.com/), and [PrimeVue](https://primevue.org/). An equivalent to using [Laravel Breeze](https://laravel.com/docs/master/starter-kits#laravel-breeze), but with the added benefit of all the PrimeVue components at your disposal.

A basic authentication starter kit using [Laravel](https://laravel.com/docs/master), [Intertia.js](https://inertiajs.com/), [PrimeVue](https://primevue.org/) components, and [Tailwind CSS](https://tailwindcss.com/). An equivalent to using [Laravel Breeze](https://laravel.com/docs/master/starter-kits#laravel-breeze), but with the added benefit of all the PrimeVue components at your disposal.

```
git clone -b feature/admin-panel https://github.com/connorabbas/laravel-inertia-primevue.git
Expand Down
1,765 changes: 380 additions & 1,385 deletions package-lock.json

Large diffs are not rendered by default.

8 changes: 3 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@
"@inertiajs/vue3": "^2.0.0",
"@primevue/auto-import-resolver": "^4.2.2",
"@primevue/themes": "^4.2.2",
"@tailwindcss/vite": "^4.0.0",
"@types/lodash-es": "^4.17.12",
"@typescript-eslint/eslint-plugin": "^8.19.1",
"@typescript-eslint/parser": "^8.19.1",
"@vitejs/plugin-vue": "^5.0.0",
"@vueuse/core": "^12.4.0",
"autoprefixer": "^10.4.19",
"axios": "^1.6.4",
"eslint": "^9.18.0",
"eslint-config-prettier": "^9.1.0",
Expand All @@ -25,16 +25,14 @@
"laravel-vite-plugin": "^1.0",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"postcss": "^8.4.39",
"postcss-import": "^16.1.0",
"primeicons": "^7.0.0",
"primevue": "^4.2.2",
"tailwindcss": "^3.4.4",
"tailwindcss": "^4.0.0",
"tailwindcss-primeui": "^0.3.2",
"typescript": "^5.7.3",
"typescript-eslint": "^8.19.1",
"unplugin-vue-components": "^0.27.4",
"vite": "^5.0",
"vite": "^6.0",
"vue": "^3.5.0"
}
}
6 changes: 0 additions & 6 deletions postcss.config.js

This file was deleted.

25 changes: 10 additions & 15 deletions resources/css/app.css
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
@import "styles.css";
@import "custom-preflight.css" layer(tailwind-base);

@layer tailwind-base, primevue, tailwind-utilities;

@layer tailwind-utilities {
@tailwind components;
@tailwind utilities;
html {
/* font size will determine the component/utility scaling */
font-size: 14px;
}

@layer components {
.dynamic-bg {
@apply bg-surface-0 dark:bg-surface-900;
}
.dynamic-border {
@apply border-surface-200 dark:border-surface-800;
}
body {
margin: 0 !important;
padding: 0 !important;
}

#nprogress .bar {
z-index: 9999999 !important;
}
6 changes: 6 additions & 0 deletions resources/css/custom-preflight.css
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,12 @@ object {
vertical-align: middle;
}

img,
video {
max-width: 100%;
height: auto;
}

*,
::before,
::after {
Expand Down
13 changes: 0 additions & 13 deletions resources/css/styles.css

This file was deleted.

27 changes: 27 additions & 0 deletions resources/css/tailwind.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
@layer tailwind-theme, tailwind-base, primevue, tailwind-utilities;

@import 'tailwindcss/theme.css' layer(tailwind-theme);
@import './custom-preflight.css' layer(tailwind-base);
/* @import "tailwindcss/preflight.css" layer(tailwind-base); */
@import 'tailwindcss/utilities.css' layer(tailwind-utilities);

@plugin 'tailwindcss-primeui';

@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
@source '../../storage/framework/views/*.php';
@source '../../resources/views/**/*.blade.php';
@source '../../resources/js/**/*.vue';

@custom-variant dark (&:where(.dark, .dark *));

@theme {
--font-sans: Inter, sans-serif;
}

@utility dynamic-bg {
@apply bg-surface-0 dark:bg-surface-900;
}

@utility dynamic-border {
@apply border-surface-200 dark:border-surface-800;
}
2 changes: 1 addition & 1 deletion resources/js/Components/Container.vue
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ defineProps({
<template>
<div
:class="[
{ 'max-w-screen-xl mx-auto': !fluid },
{ 'max-w-(--breakpoint-2xl) mx-auto': !fluid },
spacedMobile ? 'px-4' : 'px-0',
'md:px-8',
]"
Expand Down
2 changes: 1 addition & 1 deletion resources/js/Components/PrimeVue/LinksMenuBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ defineExpose({
</template>
<template #item="{ item, props, hasSubmenu, root }">
<!-- add if using 'nora' preset theme -->
<!-- hover:text-primary-100 hover:dark:text-primary-950 -->
<!-- hover:text-primary-100 dark:hover:text-primary-950 -->
<Link
v-if="item.route"
:href="item.route"
Expand Down
2 changes: 1 addition & 1 deletion resources/js/Components/PrimeVue/LinksPanelMenu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
>
<template #item="{ item, active }">
<!-- add if using 'nora' preset theme -->
<!-- hover:text-primary-100 hover:dark:text-primary-950 -->
<!-- hover:text-primary-100 dark:hover:text-primary-950 -->
<Link
v-if="item.route"
:href="item.route"
Expand Down
13 changes: 13 additions & 0 deletions resources/js/Layouts/Admin/AuthenticatedLayout.vue
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,19 @@ defineProps({
},
});

/* eslint-disable @typescript-eslint/no-unused-vars */
const tailwindArbitraryValues = [
'w-[18rem]', // sidebar width
'lg:pl-[18rem]',
'top-[57px]', // 57px header height for aura & nora theme
'lg:pt-[57px]',
'top-[61px]', // 61px header height for lara theme
'lg:pt-[61px]',
'top-[64px]', // 64px header height for material theme
'lg:pt-[64px]',
];
/* eslint-enable @typescript-eslint/no-unused-vars */

// Drawer menus
const navDrawerOpen = ref(false);

Expand Down
6 changes: 3 additions & 3 deletions resources/js/Layouts/Admin/Partials/DrawerMenu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -74,17 +74,17 @@ const exampleNestedMenuItems = ref([
<template>
<Drawer v-model:visible="visible" position="left" :autoZIndex="false">
<div class="space-y-5">
<div class="space-y-2">
<div class="flex flex-col gap-2">
<p class="text-muted-color font-bold uppercase text-sm">Home</p>
<LinksPanelMenu :model="homeMenuItems" class="w-full" />
</div>
<div class="space-y-2">
<div class="flex flex-col gap-2">
<p class="text-muted-color font-bold uppercase text-sm">
Analytics
</p>
<LinksPanelMenu :model="analyticsMenuItems" class="w-full" />
</div>
<div class="space-y-2">
<div class="flex flex-col gap-2">
<p class="text-muted-color font-bold uppercase text-sm">
Example Nested
</p>
Expand Down
6 changes: 3 additions & 3 deletions resources/js/Layouts/Admin/Partials/SideMenuItems.vue
Original file line number Diff line number Diff line change
Expand Up @@ -68,17 +68,17 @@ const exampleNestedMenuItems = [

<template>
<div class="h-full space-y-5">
<div class="space-y-2">
<div class="flex flex-col gap-2">
<p class="text-muted-color font-bold uppercase text-sm">Home</p>
<LinksPanelMenu :model="homeMenuItems" class="w-full" />
</div>
<div class="space-y-2">
<div class="flex flex-col gap-2">
<p class="text-muted-color font-bold uppercase text-sm">
Analytics
</p>
<LinksPanelMenu :model="analyticsMenuItems" class="w-full" />
</div>
<div class="space-y-2">
<div class="flex flex-col gap-2">
<p class="text-muted-color font-bold uppercase text-sm">
Example Nested
</p>
Expand Down
2 changes: 1 addition & 1 deletion resources/js/Layouts/Admin/Partials/TopNav.vue
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ const toggleUserMenu = (event) => {
popup
:pt="{
root: {
class: '!left-auto !top-0 right-0',
class: 'left-auto! top-0! right-0',
},
}"
/>
Expand Down
8 changes: 4 additions & 4 deletions resources/js/Layouts/AuthenticatedLayout.vue
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ watchEffect(() => {
<div class="min-h-screen">
<nav
class="dynamic-bg border-b"
:class="$slots.header ? 'dynamic-border' : 'shadow'"
:class="$slots.header ? 'dynamic-border' : 'shadow-sm'"
>
<!-- Primary Navigation Menu -->
<Container>
Expand Down Expand Up @@ -138,7 +138,7 @@ watchEffect(() => {
popup
:pt="{
root: {
class: '!left-auto !top-0 right-0',
class: 'left-auto! top-0! right-0',
},
}"
/>
Expand Down Expand Up @@ -176,7 +176,7 @@ watchEffect(() => {
</template>
<div>
<div class="space-y-5">
<div class="space-y-2">
<div class="flex flex-col gap-2">
<p
class="text-muted-color font-bold uppercase text-sm"
>
Expand Down Expand Up @@ -217,7 +217,7 @@ watchEffect(() => {
</nav>

<!-- Page Heading -->
<header v-if="$slots.header" class="dynamic-bg shadow">
<header v-if="$slots.header" class="dynamic-bg shadow-sm">
<Container>
<div class="py-6">
<slot name="header" />
Expand Down
4 changes: 2 additions & 2 deletions resources/js/Pages/Admin/Auth/ForgotPassword.vue
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ onMounted(() => {
<Head title="Forgot Password" />

<template v-if="status" #message>
<Message severity="success" :closable="false" class="shadow">
<Message severity="success" :closable="false" class="shadow-sm">
{{ status }}
</Message>
</template>
Expand All @@ -41,7 +41,7 @@ onMounted(() => {
</div>

<form class="space-y-6" @submit.prevent="submit">
<div class="space-y-2">
<div class="flex flex-col gap-2">
<label for="email">Email</label>
<InputText
id="email"
Expand Down
6 changes: 3 additions & 3 deletions resources/js/Pages/Admin/Auth/Login.vue
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ onMounted(() => {
<Head title="Log in" />

<template v-if="status" #message>
<Message severity="success" :closable="false" class="shadow">
<Message severity="success" :closable="false" class="shadow-sm">
{{ status }}
</Message>
</template>

<form class="space-y-6" @submit.prevent="submit">
<div class="space-y-2">
<div class="flex flex-col gap-2">
<label for="email">Email</label>
<InputText
id="email"
Expand All @@ -64,7 +64,7 @@ onMounted(() => {
</Message>
</div>

<div class="space-y-2">
<div class="flex flex-col gap-2">
<label for="password">Password</label>
<InputText
id="password"
Expand Down
6 changes: 3 additions & 3 deletions resources/js/Pages/Admin/Auth/ResetPassword.vue
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ onMounted(() => {
<Head title="Reset Password" />

<form class="space-y-6" @submit.prevent="submit">
<div class="space-y-2">
<div class="flex flex-col gap-2">
<label for="email">Email</label>
<InputText
id="email"
Expand All @@ -61,7 +61,7 @@ onMounted(() => {
</Message>
</div>

<div class="space-y-2">
<div class="flex flex-col gap-2">
<label for="password">Password</label>
<InputText
id="password"
Expand All @@ -82,7 +82,7 @@ onMounted(() => {
</Message>
</div>

<div class="space-y-2">
<div class="flex flex-col gap-2">
<label for="password_confirmation">Password</label>
<InputText
id="password_confirmation"
Expand Down
2 changes: 1 addition & 1 deletion resources/js/Pages/Admin/Auth/VerifyEmail.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ const verificationLinkSent = computed(
<Head title="Email Verification" />

<template v-if="verificationLinkSent" #message>
<Message severity="success" :closable="false" class="shadow">
<Message severity="success" :closable="false" class="shadow-sm">
A new verification link has been sent to the email address you
provided during registration.
</Message>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ function focusPasswordInput() {
</p>
</div>

<div class="space-y-2">
<div class="flex flex-col gap-2">
<InputText
id="password"
ref="password-input"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const updatePassword = () => {

<template>
<form class="space-y-6" @submit.prevent="updatePassword">
<div class="space-y-2">
<div class="flex flex-col gap-2">
<label for="current_password">Current Password</label>
<InputText
id="current_password"
Expand All @@ -66,7 +66,7 @@ const updatePassword = () => {
</Message>
</div>

<div class="space-y-2">
<div class="flex flex-col gap-2">
<label for="password">New Password</label>
<InputText
id="password"
Expand All @@ -88,7 +88,7 @@ const updatePassword = () => {
</Message>
</div>

<div class="space-y-2">
<div class="flex flex-col gap-2">
<label for="password_confirmation">Confirm Password</label>
<InputText
id="password_confirmation"
Expand Down
Loading
Loading