diff --git a/.coderabbit.yaml b/.coderabbit.yaml
index 3cc5119..da2f081 100644
--- a/.coderabbit.yaml
+++ b/.coderabbit.yaml
@@ -1,7 +1,16 @@
language: "en-US"
+tone_instructions: "chill"
reviews:
profile: "chill"
high_level_summary: true
+ collapse_walkthrough: true
+ suggested_labels: false
+ high_level_summary_in_walkthrough: false
+ changed_files_summary: false
+ poem: false
+ finishing_touches:
+ docstrings:
+ enabled: false
auto_review:
enabled: true
base_branches:
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index b4c9b3f..1bb015d 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,3 +1,5 @@
+@coderabbitai summary
+
### Summary
Provide a general description of the code changes in your pull request โฆ
diff --git a/.husky/pre-commit b/.husky/pre-commit
index 73d8277..bb5f8a8 100644
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,11 +1,11 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
-#echo "๐ Running PHPStan..."
-#php vendor/bin/phpstan analyse -l 5 src/ tests/ || exit 1
-#
-#echo "๐ Running PHPMD..."
-#php vendor/bin/phpmd src/ text vendor/phplist/core/config/PHPMD/rules.xml || exit 1
-#
-#echo "๐งน Running PHPCS..."
-#php vendor/bin/phpcs --standard=vendor/phplist/core/config/PhpCodeSniffer/ src/ tests/ || exit 1
+echo "๐ Running PHPStan..."
+php vendor/bin/phpstan analyse -l 5 src/ tests/ || exit 1
+
+echo "๐ Running PHPMD..."
+php vendor/bin/phpmd src/ text vendor/phplist/core/config/PHPMD/rules.xml || exit 1
+
+echo "๐งน Running PHPCS..."
+php vendor/bin/phpcs --standard=vendor/phplist/core/config/PhpCodeSniffer/ src/ tests/ || exit 1
diff --git a/apache/web-frontend.conf b/apache/web-frontend.conf
new file mode 100644
index 0000000..775f35d
--- /dev/null
+++ b/apache/web-frontend.conf
@@ -0,0 +1,26 @@
+
+ ServerName frontend.phplist.local
+ ServerAdmin webmaster@localhost
+
+ DocumentRoot /{pathToTheProject}/web-frontend/public
+
+ ErrorLog ${APACHE_LOG_DIR}/web-frontend-error.log
+ CustomLog ${APACHE_LOG_DIR}/web-frontend-access.log combined
+
+
+ Options FollowSymLinks
+ AllowOverride All
+ Require all granted
+ DirectoryIndex app.php
+
+
+
+ Require all denied
+
+
+
+
+ SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost"
+
+
+
diff --git a/assets/app.js b/assets/app.js
index 385fa94..7d3fec5 100644
--- a/assets/app.js
+++ b/assets/app.js
@@ -1,12 +1,13 @@
-console.log('app.js loaded');
+import './styles/app.css';
import { createApp } from 'vue';
import App from './vue/App.vue';
import { router } from './router';
const appElement = document.getElementById('vue-app');
+
if (appElement) {
const app = createApp(App);
app.use(router);
- app.mount('#vue-app');
+ app.mount(appElement);
}
diff --git a/assets/images/avatar.jpg b/assets/images/avatar.jpg
new file mode 100644
index 0000000..e051a3b
Binary files /dev/null and b/assets/images/avatar.jpg differ
diff --git a/assets/router/index.js b/assets/router/index.js
index 328ab06..526b664 100644
--- a/assets/router/index.js
+++ b/assets/router/index.js
@@ -1,6 +1,18 @@
import { createRouter, createWebHistory } from 'vue-router';
+import DashboardView from '../vue/views/DashboardView.vue'
+import SubscribersView from '../vue/views/SubscribersView.vue'
export const router = createRouter({
history: createWebHistory(),
- routes: [ /* ... */ ],
+ routes: [
+ { path: '/', name: 'dashboard', component: DashboardView, meta: { title: 'Dashboard' } },
+ { path: '/subscribers', name: 'subscribers', component: SubscribersView, meta: { title: 'Subscribers' } },
+ { path: '/:pathMatch(.*)*', redirect: '/' },
+ ],
+});
+
+router.afterEach((to) => {
+ const defaultTitle = 'phpList';
+ const pageTitle = to.meta.title;
+ document.title = pageTitle ? `${defaultTitle} - ${pageTitle}` : defaultTitle;
});
diff --git a/assets/styles/app.css b/assets/styles/app.css
new file mode 100644
index 0000000..540b446
--- /dev/null
+++ b/assets/styles/app.css
@@ -0,0 +1,16 @@
+@import "tailwindcss";
+@tailwind utilities;
+
+@theme {
+ --color-primary: #2563eb;
+ --color-secondary: #6b7280;
+ --color-success: #16a34a;
+ --color-danger: #dc2626;
+ --color-info: #0891b2;
+ --color-ext-wf1: #543ff6; /** indigo-500 **/
+ --color-ext-wf2: #eef2ff; /** indigo-50 **/
+ --color-ext-wf3: #303F9F; /** indigo-700 **/
+}
+
+@source "../../templates/**/*.twig";
+@source "../**/*.vue";
diff --git a/assets/vue/App.vue b/assets/vue/App.vue
index 170881d..e38be10 100644
--- a/assets/vue/App.vue
+++ b/assets/vue/App.vue
@@ -1,52 +1,13 @@
-