Moved frontend, templates and lang to resources

This commit is contained in:
Igor Scheller 2018-09-10 17:22:05 +02:00
parent 4bf3a68f43
commit c1a1180d1f
87 changed files with 55 additions and 37 deletions

View File

@ -5,7 +5,7 @@ RUN composer --no-ansi dump-autoload --optimize
FROM node:8-alpine as themes FROM node:8-alpine as themes
WORKDIR /app WORKDIR /app
COPY frontend/ /app/frontend COPY resources/assets/ /app/resources/assets
COPY .babelrc package.json webpack.config.js /app/ COPY .babelrc package.json webpack.config.js /app/
RUN apk add --no-cache yarn RUN apk add --no-cache yarn
RUN yarn install RUN yarn install
@ -17,10 +17,9 @@ COPY bin/ /app/bin
COPY config/ /app/config COPY config/ /app/config
COPY db/ /app/db COPY db/ /app/db
COPY includes/ /app/includes COPY includes/ /app/includes
COPY locale/ /app/locale
COPY public/ /app/public COPY public/ /app/public
COPY resources/ /app/resources
COPY src/ /app/src COPY src/ /app/src
COPY templates/ /app/templates
COPY composer.json LICENSE package.json README.md /app/ COPY composer.json LICENSE package.json README.md /app/

View File

@ -16,7 +16,7 @@ require __DIR__ . '/includes.php';
* Check for maintenance * Check for maintenance
*/ */
if ($app->get('config')->get('maintenance')) { if ($app->get('config')->get('maintenance')) {
echo file_get_contents(__DIR__ . '/../templates/layouts/maintenance.html'); echo file_get_contents(__DIR__ . '/../resources/views/layouts/maintenance.html');
die(); die();
} }

View File

@ -13,5 +13,5 @@ function credits_title()
*/ */
function guest_credits() function guest_credits()
{ {
return view(__DIR__ . '/../../templates/pages/credits.html'); return view(__DIR__ . '/../../resources/views/pages/credits.html');
} }

View File

@ -224,7 +224,7 @@ function view_user_shifts()
return page([ return page([
div('col-md-12', [ div('col-md-12', [
msg(), msg(),
view(__DIR__ . '/../../templates/pages/user-shifts.html', [ view(__DIR__ . '/../../resources/views/pages/user-shifts.html', [
'title' => shifts_title(), 'title' => shifts_title(),
'room_select' => make_select($rooms, $shiftsFilter->getRooms(), 'rooms', _('Rooms')), 'room_select' => make_select($rooms, $shiftsFilter->getRooms(), 'rooms', _('Rooms')),
'start_select' => html_select_key( 'start_select' => html_select_key(

View File

@ -1,5 +1,7 @@
<?php <?php
use Engelsystem\Renderer\Twig\Extensions\Assets;
/** /**
* Render a stat for dashborad (big number with label). * Render a stat for dashborad (big number with label).
* If no style given, style is danger if number > 0, and success if number == 0. * If no style given, style is danger if number > 0, and success if number == 0.
@ -450,26 +452,39 @@ function table_body($array)
*/ */
function ReplaceSmilies($msg) function ReplaceSmilies($msg)
{ {
$msg = str_replace(';o))', '<img src="pic/smiles/icon_redface.gif">', $msg); /** @var Assets $assets */
$msg = str_replace(':-))', '<img src="pic/smiles/icon_redface.gif">', $msg); $assets = app('twig.extension.assets');
$msg = str_replace(';o)', '<img src="pic/smiles/icon_wind.gif">', $msg);
$msg = str_replace(':)', '<img src="pic/smiles/icon_smile.gif">', $msg); foreach (
$msg = str_replace(':-)', '<img src="pic/smiles/icon_smile.gif">', $msg); [
$msg = str_replace(':(', '<img src="pic/smiles/icon_sad.gif">', $msg); ';o))' => 'redface',
$msg = str_replace(':-(', '<img src="pic/smiles/icon_sad.gif">', $msg); ':-))' => 'redface',
$msg = str_replace(':o(', '<img src="pic/smiles/icon_sad.gif">', $msg); ';o)' => 'wind',
$msg = str_replace(':o)', '<img src="pic/smiles/icon_lol.gif">', $msg); ':)' => 'smile',
$msg = str_replace(';o(', '<img src="pic/smiles/icon_cry.gif">', $msg); ':-)' => 'smile',
$msg = str_replace(';(', '<img src="pic/smiles/icon_cry.gif">', $msg); ':(' => 'sad',
$msg = str_replace(';-(', '<img src="pic/smiles/icon_cry.gif">', $msg); ':-(' => 'sad',
$msg = str_replace('8)', '<img src="pic/smiles/icon_rolleyes.gif">', $msg); ':o(' => 'sad',
$msg = str_replace('8o)', '<img src="pic/smiles/icon_rolleyes.gif">', $msg); ':o)' => 'lol',
$msg = str_replace(':P', '<img src="pic/smiles/icon_evil.gif">', $msg); ':D' => 'lol',
$msg = str_replace(':-P', '<img src="pic/smiles/icon_evil.gif">', $msg); ';o(' => 'cry',
$msg = str_replace(':oP', '<img src="pic/smiles/icon_evil.gif">', $msg); ';(' => 'cry',
$msg = str_replace(';P', '<img src="pic/smiles/icon_mad.gif">', $msg); ';-(' => 'cry',
$msg = str_replace(';oP', '<img src="pic/smiles/icon_mad.gif">', $msg); '8)' => 'rolleyes',
$msg = str_replace('?)', '<img src="pic/smiles/icon_question.gif">', $msg); '8o)' => 'rolleyes',
':P' => 'evil',
':-P' => 'evil',
':oP' => 'evil',
';P' => 'mad',
';oP' => 'mad',
'?)' => 'question',
] as $search => $replace
) {
$msg = str_ireplace($search, sprintf(
'<img src="%s">',
sprintf($assets->getAsset('emojis/%s.gif'), $replace)
), $msg);
}
return $msg; return $msg;
} }

View File

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 498 B

View File

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 236 B

View File

Before

Width:  |  Height:  |  Size: 336 B

After

Width:  |  Height:  |  Size: 336 B

View File

Before

Width:  |  Height:  |  Size: 174 B

After

Width:  |  Height:  |  Size: 174 B

View File

Before

Width:  |  Height:  |  Size: 248 B

After

Width:  |  Height:  |  Size: 248 B

View File

Before

Width:  |  Height:  |  Size: 650 B

After

Width:  |  Height:  |  Size: 650 B

View File

Before

Width:  |  Height:  |  Size: 485 B

After

Width:  |  Height:  |  Size: 485 B

View File

Before

Width:  |  Height:  |  Size: 171 B

After

Width:  |  Height:  |  Size: 171 B

View File

Before

Width:  |  Height:  |  Size: 174 B

After

Width:  |  Height:  |  Size: 174 B

View File

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 951 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 956 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 904 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 977 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 980 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 939 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 937 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 971 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 940 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 994 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 972 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 980 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 951 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,4 +1,4 @@
@import "../../node_modules/bootstrap/less/bootstrap"; @import "../../../node_modules/bootstrap/less/bootstrap";
@import "../angelFont/angelFont.css"; @import "../angelFont/angelFont.css";
body { body {

View File

@ -1,4 +1,4 @@
@import "../../node_modules/bootstrap/less/variables"; @import "../../../node_modules/bootstrap/less/variables";
/* /*
The MIT License (MIT) The MIT License (MIT)

View File

@ -1,4 +1,4 @@
@import "../../node_modules/bootstrap/less/variables"; @import "../../../node_modules/bootstrap/less/variables";
@brand-primary: #758499; @brand-primary: #758499;
@brand-success: #7b9c41; @brand-success: #7b9c41;

View File

@ -1,4 +1,4 @@
@import "../../node_modules/bootstrap/less/variables"; @import "../../../node_modules/bootstrap/less/variables";
@brand-primary: #f19224; @brand-primary: #f19224;
@brand-success: #39AB50; @brand-success: #39AB50;

View File

@ -1,4 +1,4 @@
@import "../../node_modules/bootstrap/less/variables"; @import "../../../node_modules/bootstrap/less/variables";
/* /*
The MIT License (MIT) The MIT License (MIT)

View File

@ -1,4 +1,4 @@
@import "../../node_modules/bootstrap/less/variables"; @import "../../../node_modules/bootstrap/less/variables";
@brand-primary: rgb(164, 28, 49); @brand-primary: rgb(164, 28, 49);
@brand-success: rgb(153, 204, 0); @brand-success: rgb(153, 204, 0);

View File

@ -1,4 +1,4 @@
@import "../../node_modules/bootstrap/less/variables"; @import "../../../node_modules/bootstrap/less/variables";
/* /*
The MIT License (MIT) The MIT License (MIT)

View File

@ -106,8 +106,10 @@ class Application extends Container
$this->instance('path', $appPath); $this->instance('path', $appPath);
$this->instance('path.config', $appPath . DIRECTORY_SEPARATOR . 'config'); $this->instance('path.config', $appPath . DIRECTORY_SEPARATOR . 'config');
$this->instance('path.lang', $appPath . DIRECTORY_SEPARATOR . 'locale'); $this->instance('path.resources', $appPath . DIRECTORY_SEPARATOR . 'resources');
$this->instance('path.views', $appPath . DIRECTORY_SEPARATOR . 'templates'); $this->instance('path.assets', $this->get('path.resources') . DIRECTORY_SEPARATOR . 'assets');
$this->instance('path.views', $this->get('path.resources') . DIRECTORY_SEPARATOR . 'views');
$this->instance('path.lang', $this->get('path.resources') . DIRECTORY_SEPARATOR . 'lang');
} }
/** /**

View File

@ -46,8 +46,10 @@ class ApplicationTest extends TestCase
$app->setAppPath('.'); $app->setAppPath('.');
$this->assertTrue($app->has('path')); $this->assertTrue($app->has('path'));
$this->assertTrue($app->has('path.assets'));
$this->assertTrue($app->has('path.config')); $this->assertTrue($app->has('path.config'));
$this->assertTrue($app->has('path.lang')); $this->assertTrue($app->has('path.lang'));
$this->assertTrue($app->has('path.resources'));
$this->assertTrue($app->has('path.views')); $this->assertTrue($app->has('path.views'));
$this->assertEquals(realpath('.'), $app->path()); $this->assertEquals(realpath('.'), $app->path());

View File

@ -20,7 +20,7 @@ const plugins = [
const themeEntries = {}; const themeEntries = {};
for (let i = 0; i < 7; i++) { for (let i = 0; i < 7; i++) {
themeEntries[`theme${i}`] = `./frontend/themes/theme${i}.less`; themeEntries[`theme${i}`] = `./resources/assets/themes/theme${i}.less`;
} }
module.exports = { module.exports = {
@ -30,7 +30,7 @@ module.exports = {
}, },
entry: { entry: {
...themeEntries, ...themeEntries,
vendor: './frontend/js/vendor.js', vendor: './resources/assets/js/vendor.js',
}, },
output: { output: {
path: path.resolve('public/assets'), path: path.resolve('public/assets'),