diff --git a/.gitea/workflows/qs.yml b/.gitea/workflows/qs.yml
index fa5acac..35863d9 100644
--- a/.gitea/workflows/qs.yml
+++ b/.gitea/workflows/qs.yml
@@ -20,8 +20,8 @@ jobs:
working-directory: app/frontend
run: "node ../node_modules/typescript/bin/tsc --noEmit"
- name: "Stylelint"
- working-directory: app/frontend
- run: "node ../node_modules/stylelint/bin/stylelint.mjs ."
+ working-directory: app/frontend/styles
+ run: "node ../../node_modules/stylelint/bin/stylelint.mjs ."
- name: "ESLint"
working-directory: app
run: "node node_modules/eslint/bin/eslint.js frontend"
diff --git a/.gitignore b/.gitignore
index 9f11b75..1c2d52b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-.idea/
+.idea/*
diff --git a/app/assets/icons/logo/dark-logo.svg b/app/assets/icons/logo/dark-logo.svg
deleted file mode 100644
index 427d353..0000000
--- a/app/assets/icons/logo/dark-logo.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
diff --git a/app/assets/icons/logo/logo.svg b/app/assets/icons/logo/logo.svg
deleted file mode 100644
index 12bd251..0000000
--- a/app/assets/icons/logo/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/assets/icons/symfony.svg b/app/assets/icons/symfony.svg
deleted file mode 100644
index 93fb329..0000000
--- a/app/assets/icons/symfony.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/app/backend/TestController.php b/app/backend/TestController.php
index 2e84998..1ec6b80 100644
--- a/app/backend/TestController.php
+++ b/app/backend/TestController.php
@@ -27,7 +27,7 @@ final readonly class TestController
{
return new Response(
$this->twig->render(
- 'index.html.twig'
+ 'base.html.twig'
)
);
}
diff --git a/app/backend/mod.just b/app/backend/mod.just
index 1418d9d..2348ebe 100644
--- a/app/backend/mod.just
+++ b/app/backend/mod.just
@@ -48,7 +48,7 @@ install:
# Starts the local Development Setup
[group('main')]
-up: halt
+up:
-@cd .. && docker compose up -d
-@cd .. && symfony local:server:start -d --no-tls
diff --git a/app/composer.json b/app/composer.json
index 8e3764d..d2605f9 100644
--- a/app/composer.json
+++ b/app/composer.json
@@ -13,7 +13,6 @@
"doctrine/doctrine-migrations-bundle": "^3.3",
"doctrine/orm": "^2.17",
"league/commonmark": "^2.4",
- "nelmio/cors-bundle": "^2.5",
"presta/sitemap-bundle": "^4.1",
"symfony/apache-pack": "^1.0",
"symfony/asset": "7.1.*",
@@ -23,14 +22,11 @@
"symfony/flex": "^2",
"symfony/form": "7.1.*",
"symfony/framework-bundle": "7.1.*",
- "symfony/http-client": "7.1.*",
"symfony/monolog-bundle": "^3.0",
"symfony/runtime": "7.1.*",
- "symfony/stimulus-bundle": "^2.18",
+ "symfony/stimulus-bundle": "^2.12",
"symfony/twig-bundle": "7.1.*",
"symfony/uid": "7.1.*",
- "symfony/ux-icons": "^2.18",
- "symfony/ux-twig-component": "^2.18",
"symfony/validator": "7.1.*",
"symfony/webpack-encore-bundle": "^2.1",
"symfony/yaml": "7.1.*",
diff --git a/app/composer.lock b/app/composer.lock
index c416165..8100254 100644
--- a/app/composer.lock
+++ b/app/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "fde2d40a3f2774eaaf160d4814649934",
+ "content-hash": "69c16513a892fb6b25ff5563230dabc1",
"packages": [
{
"name": "dflydev/dot-access-data",
@@ -1760,68 +1760,6 @@
],
"time": "2024-06-28T09:40:51+00:00"
},
- {
- "name": "nelmio/cors-bundle",
- "version": "2.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/nelmio/NelmioCorsBundle.git",
- "reference": "3a526fe025cd20e04a6a11370cf5ab28dbb5a544"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/3a526fe025cd20e04a6a11370cf5ab28dbb5a544",
- "reference": "3a526fe025cd20e04a6a11370cf5ab28dbb5a544",
- "shasum": ""
- },
- "require": {
- "psr/log": "^1.0 || ^2.0 || ^3.0",
- "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.3.6",
- "symfony/phpunit-bridge": "^5.4 || ^6.0 || ^7.0"
- },
- "type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-master": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Nelmio\\CorsBundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nelmio",
- "homepage": "http://nelm.io"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://github.com/nelmio/NelmioCorsBundle/contributors"
- }
- ],
- "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Symfony application",
- "keywords": [
- "api",
- "cors",
- "crossdomain"
- ],
- "support": {
- "issues": "https://github.com/nelmio/NelmioCorsBundle/issues",
- "source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.5.0"
- },
- "time": "2024-06-24T21:25:28+00:00"
- },
{
"name": "nette/schema",
"version": "v1.3.0",
@@ -3675,178 +3613,6 @@
],
"time": "2024-06-28T08:00:31+00:00"
},
- {
- "name": "symfony/http-client",
- "version": "v7.1.2",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/http-client.git",
- "reference": "90ace27d17ccc9afc6f7ec0081e8529fb0e29425"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/90ace27d17ccc9afc6f7ec0081e8529fb0e29425",
- "reference": "90ace27d17ccc9afc6f7ec0081e8529fb0e29425",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-client-contracts": "^3.4.1",
- "symfony/service-contracts": "^2.5|^3"
- },
- "conflict": {
- "php-http/discovery": "<1.15",
- "symfony/http-foundation": "<6.4"
- },
- "provide": {
- "php-http/async-client-implementation": "*",
- "php-http/client-implementation": "*",
- "psr/http-client-implementation": "1.0",
- "symfony/http-client-implementation": "3.0"
- },
- "require-dev": {
- "amphp/amp": "^2.5",
- "amphp/http-client": "^4.2.1",
- "amphp/http-tunnel": "^1.0",
- "amphp/socket": "^1.1",
- "guzzlehttp/promises": "^1.4|^2.0",
- "nyholm/psr7": "^1.0",
- "php-http/httplug": "^1.0|^2.0",
- "psr/http-client": "^1.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\HttpClient\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
- "homepage": "https://symfony.com",
- "keywords": [
- "http"
- ],
- "support": {
- "source": "https://github.com/symfony/http-client/tree/v7.1.2"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-28T08:00:31+00:00"
- },
- {
- "name": "symfony/http-client-contracts",
- "version": "v3.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "20414d96f391677bf80078aa55baece78b82647d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d",
- "reference": "20414d96f391677bf80078aa55baece78b82647d",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\HttpClient\\": ""
- },
- "exclude-from-classmap": [
- "/Test/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to HTTP clients",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-04-18T09:32:20+00:00"
- },
{
"name": "symfony/http-foundation",
"version": "v7.1.1",
@@ -5958,177 +5724,6 @@
],
"time": "2024-05-31T14:57:53+00:00"
},
- {
- "name": "symfony/ux-icons",
- "version": "v2.18.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/ux-icons.git",
- "reference": "a00140b15feb16a0d991ee04e115f2a15b0d9941"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/ux-icons/zipball/a00140b15feb16a0d991ee04e115f2a15b0d9941",
- "reference": "a00140b15feb16a0d991ee04e115f2a15b0d9941",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/twig-bundle": "^6.4|^7.0"
- },
- "conflict": {
- "symfony/flex": "<1.13"
- },
- "require-dev": {
- "symfony/asset-mapper": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/http-client": "6.4|^7.0",
- "symfony/phpunit-bridge": "^6.3|^7.0",
- "symfony/ux-twig-component": "^2.14",
- "zenstruck/console-test": "^1.5"
- },
- "type": "symfony-bundle",
- "extra": {
- "thanks": {
- "name": "symfony/ux",
- "url": "https://github.com/symfony/ux"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\UX\\Icons\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Kevin Bond",
- "email": "kevinbond@gmail.com"
- },
- {
- "name": "Simon André",
- "email": "smn.andre@gmail.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Renders local and remote SVG icons in your Twig templates.",
- "homepage": "https://symfony.com",
- "keywords": [
- "icons",
- "svg",
- "symfony-ux",
- "twig"
- ],
- "support": {
- "source": "https://github.com/symfony/ux-icons/tree/v2.18.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-07T23:22:02+00:00"
- },
- {
- "name": "symfony/ux-twig-component",
- "version": "v2.18.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/ux-twig-component.git",
- "reference": "c5ba36dc0f55b75d4c6d7dc546dfdbe4002f82e7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/ux-twig-component/zipball/c5ba36dc0f55b75d4c6d7dc546dfdbe4002f82e7",
- "reference": "c5ba36dc0f55b75d4c6d7dc546dfdbe4002f82e7",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/deprecation-contracts": "^2.2|^3.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/property-access": "^5.4|^6.0|^7.0",
- "twig/twig": "^3.8"
- },
- "conflict": {
- "symfony/config": "<5.4.0"
- },
- "require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/css-selector": "^5.4|^6.0|^7.0",
- "symfony/dom-crawler": "^5.4|^6.0|^7.0",
- "symfony/framework-bundle": "^5.4|^6.0|^7.0",
- "symfony/phpunit-bridge": "^6.0|^7.0",
- "symfony/stimulus-bundle": "^2.9.1",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/twig-bundle": "^5.4|^6.0|^7.0",
- "symfony/webpack-encore-bundle": "^1.15"
- },
- "type": "symfony-bundle",
- "extra": {
- "thanks": {
- "name": "symfony/ux",
- "url": "https://github.com/symfony/ux"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\UX\\TwigComponent\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Twig components for Symfony",
- "homepage": "https://symfony.com",
- "keywords": [
- "components",
- "symfony-ux",
- "twig"
- ],
- "support": {
- "source": "https://github.com/symfony/ux-twig-component/tree/v2.18.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-06-11T18:51:33+00:00"
- },
{
"name": "symfony/validator",
"version": "v7.1.2",
diff --git a/app/config/bundles.php b/app/config/bundles.php
index 2cac828..3ae6cf0 100644
--- a/app/config/bundles.php
+++ b/app/config/bundles.php
@@ -15,7 +15,4 @@ return [
Vich\UploaderBundle\VichUploaderBundle::class => ['all' => true],
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
Presta\SitemapBundle\PrestaSitemapBundle::class => ['all' => true],
- Nelmio\CorsBundle\NelmioCorsBundle::class => ['all' => true],
- Symfony\UX\Icons\UXIconsBundle::class => ['all' => true],
- Symfony\UX\TwigComponent\TwigComponentBundle::class => ['all' => true],
];
diff --git a/app/config/packages/nelmio_cors.yaml b/app/config/packages/nelmio_cors.yaml
deleted file mode 100644
index b755651..0000000
--- a/app/config/packages/nelmio_cors.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-nelmio_cors:
- defaults:
- allow_credentials: false
- allow_origin: []
-
-# Allow Hot Reloading CORS
-when@dev:
- nelmio_cors:
- defaults:
- origin_regex: false
- allow_origin: [ 'http://localhost:3000' ]
- allow_headers: ['Content-Type', "X-Requested-With"]
- allow_methods: [ 'POST', 'PUT', 'GET', 'DELETE' ]
- skip_same_as_origin: true
diff --git a/app/config/packages/twig_component.yaml b/app/config/packages/twig_component.yaml
deleted file mode 100644
index fd17ac6..0000000
--- a/app/config/packages/twig_component.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
-twig_component:
- anonymous_template_directory: 'components/'
- defaults:
- # Namespace & directory for components
- App\Twig\Components\: 'components/'
diff --git a/app/config/routes.yaml b/app/config/routes.yaml
index 1bd9ebd..e83b1ae 100644
--- a/app/config/routes.yaml
+++ b/app/config/routes.yaml
@@ -6,10 +6,3 @@ controllers:
presta_sitemap:
resource: "@PrestaSitemapBundle/config/routing.yml"
-
-#when@dev:
-# test_style:
-# path: /test/styles
-# controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController
-# defaults:
-# template: 'test/styles.html.twig'
diff --git a/app/frontend/.eslintrc.json b/app/frontend/.eslintrc.json
index 2f57d8d..e228e47 100644
--- a/app/frontend/.eslintrc.json
+++ b/app/frontend/.eslintrc.json
@@ -5,20 +5,13 @@
},
"extends": [
"eslint:recommended",
- "plugin:@typescript-eslint/strict",
- "plugin:svelte/recommended"
+ "plugin:@typescript-eslint/strict"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
- "overrides": [
- {
- "files": ["*.svelte"],
- "parser": "svelte-eslint-parser"
- }
- ],
"plugins": [
"@typescript-eslint"
],
diff --git a/app/frontend/app.ts b/app/frontend/app.ts
index 041d559..f6b6020 100644
--- a/app/frontend/app.ts
+++ b/app/frontend/app.ts
@@ -1 +1,2 @@
-import '#pkg/stimulus';
+import '@styles/app.scss';
+import '@packages/stimulus';
diff --git a/app/frontend/controllers.json b/app/frontend/controllers.json
new file mode 100644
index 0000000..a1c6e90
--- /dev/null
+++ b/app/frontend/controllers.json
@@ -0,0 +1,4 @@
+{
+ "controllers": [],
+ "entrypoints": []
+}
diff --git a/app/frontend/controllers/controllers.json b/app/frontend/controllers/controllers.json
deleted file mode 100644
index e2ce9b5..0000000
--- a/app/frontend/controllers/controllers.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "controllers": [],
- "entrypoints": []
-}
diff --git a/app/frontend/controllers/hello_controller.ts b/app/frontend/controllers/hello_controller.ts
new file mode 100644
index 0000000..861e403
--- /dev/null
+++ b/app/frontend/controllers/hello_controller.ts
@@ -0,0 +1,12 @@
+import {Controller} from '@hotwired/stimulus';
+
+export default class extends Controller {
+
+ static targets: Array = ['container'];
+ declare readonly containerTarget: HTMLElement;
+
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ afterLoad(identifier: string, application: HTMLElement): void {
+ console.log(this.containerTarget);
+ }
+}
diff --git a/app/frontend/packages/stimulus.ts b/app/frontend/packages/stimulus.ts
index 29b1215..0809e82 100644
--- a/app/frontend/packages/stimulus.ts
+++ b/app/frontend/packages/stimulus.ts
@@ -1,4 +1,4 @@
-import {startStimulusApp} from '@symfony/stimulus-bridge';
+import { startStimulusApp } from '@symfony/stimulus-bridge';
// Registers Stimulus controllers from controllers.json and in the controllers/ directory
export const app = startStimulusApp(
diff --git a/app/frontend/.stylelintrc.json b/app/frontend/styles/.stylelintrc.json
similarity index 82%
rename from app/frontend/.stylelintrc.json
rename to app/frontend/styles/.stylelintrc.json
index ad3ac12..d4be665 100644
--- a/app/frontend/.stylelintrc.json
+++ b/app/frontend/styles/.stylelintrc.json
@@ -1,7 +1,5 @@
{
- "extends": [
- "stylelint-config-standard-scss"
- ],
+ "extends": "stylelint-config-standard-scss",
"plugins": [
"stylelint-scss"
],
diff --git a/app/frontend/styles/app.scss b/app/frontend/styles/app.scss
new file mode 100644
index 0000000..5dd0577
--- /dev/null
+++ b/app/frontend/styles/app.scss
@@ -0,0 +1 @@
+// This is the Main style file
diff --git a/app/frontend/templates/base.html.twig b/app/frontend/templates/base.html.twig
index d1eb5e2..7e61a48 100644
--- a/app/frontend/templates/base.html.twig
+++ b/app/frontend/templates/base.html.twig
@@ -3,25 +3,28 @@
-
+
-
-
-
+
+
+
- {{ encore_entry_link_tags('app') }}
- {{ encore_entry_script_tags('app') }}
-
{% block title %}Euph{% endblock %}
-
+ {% block stylesheets %}
+ {{ encore_entry_link_tags('app') }}
+ {% endblock %}
+ {% block javascripts %}
+ {{ encore_entry_script_tags('app') }}
+ {% endblock %}
+
-
{% block body %}{% endblock %}