���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /var/www/nitsch.de/wp-includes/php-compat/_tablet.tar
���ѧ٧ѧ�
css/Header.scss 0000775 00000001237 00000000000 0007372 0 ustar 00 header{ padding: 10px 20px; display: flex; justify-content: space-between; align-items: center; background-color: var(--color-secondary); color: var(--color-white); border-bottom: 5px solid var(--color-accent); position: sticky; top: 0; z-index: 99; .page-title{ font-size: 20px; font-weight: 400; line-height: 23px; } .info{ display: flex; gap: 40px; } .profil{ display: flex; align-items: center; .logout{ line-height: 0; .logout-btn{ padding: 0; color: #fff; font-size: 24px; background: none; &:hover{ color: var(--color-low); } &:active{ color: var(--color-low-2); } } } } } css/secure.work.scss 0000775 00000003612 00000000000 0010450 0 ustar 00 #work{ display: flex; align-items: center; justify-content: center; min-height: calc(100vh - 65px); padding: 20px 20px 50px 20px; .split-2{ width: 100%; display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 20px; } .content{ width: 100%; border-radius: 8px; background: #FFF; box-shadow: 0px 0px 10px -1px rgba(0, 53, 77, 0.15); margin: 0 auto; padding: 20px; &.small{ max-width: 500px; } } .content.briefing{ background: var(--color-good-bg); } .img-border{ border: 2px solid #000; line-height: 0; } .slider-navigation{ display: flex; align-items: center; justify-content: center; gap: 30%; } svg.icon-info{ color: var(--color-accent); font-size: 20px; } .info-value{ display: grid; grid-template-columns: 1fr 0.2fr; gap: 20px; .calibration-info{ display: grid; grid-template-columns: repeat(3, 1fr); background-color: var(--color-good-bg); padding: 10px; text-align: center; .label{ font-size: 14px; color: var(--color-primary-3); display: block; } } .calibration-inputs{ display: flex; gap: 20px; align-items: center; input{ width: 100px; } } } .calibration-forms{ margin-top: 20px; display: flex; gap: 20px; justify-content: center; align-items: center; } .error-message{ padding: 5px; font-weight: bold; background: var(--color-error-bg); color: var(--color-error); font-size: 14px; margin: 0 0 10px; } .table-box{ width: 90%; border-radius: 5px; background-color: #fff; padding: 20px; table{ width: 100%; border-collapse: collapse; border-spacing: 0; thead td{ font-weight: bold; color: var(--color-white); font-size: 18px; background-color: var(--color-accent); padding: 10px; } tr:nth-child(even){ background-color: var(--color-low-3); } td{ padding: 10px; } } } } css/User.Auth.scss 0000775 00000001440 00000000000 0010014 0 ustar 00 #Login{ width: 100%; height: 100vh; h1{ text-align: center; } .grid-nth{ display: grid; grid-template-columns: repeat(var(--grid-cols), 1fr); grid-gap: 25px; } .all-users{ margin: 0 auto; padding: 10px 50px; max-width: 95%; } .form-icon{ width: 100%; height: 100%; aspect-ratio: 1/1; font-size: 36px; font-weight: 400; opacity: 0.8; border-radius: 0; &:hover{ opacity: 1; } } } #Pin{ max-width: 250px; margin: 0 auto; &.form-widget{ display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 20px; } input, button, .std-form{ width: 100%; } .form-icon{ width: 100%; height: 100%; aspect-ratio: 1/1; font-size: 36px; font-weight: 400; opacity: 0.8; &:hover{ opacity: 1; } } } css/Tablet.Auth.scss 0000775 00000001606 00000000000 0010315 0 ustar 00 #Auth{ width: 100%; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; .logo{ top: 50%; transform: translate(-50%, -200px); left: 50%; width: 310px; position: absolute; margin-top: -45px; transition: 0.5s all ease-in-out; } form{ display: grid; grid-template-columns: 2fr; label, button{ margin-top: 15px; } } .login-wrapper{ position: relative; .forms{ transition: 0.5s all ease-out; } } .spinner{ text-align: center; opacity: 0; transition: 0.5s all ease-in; position: absolute; transform: translate(-50%, -50%); left: 50%; top: 50%; z-index: -1; } &.login-screen{ .login-wrapper .forms{ opacity: 0; } .logo{ transform: translate(0, 0px); left: 20px; top: 65px; width: 150px; } .spinner{ opacity: 1; z-index: 1; } } } css/secure.scss 0000775 00000001003 00000000000 0007457 0 ustar 00 #Secure { display: flex; flex: 1 1 0; min-height: 100vh; #content { width: 100%; } header { width: 100%; } main { margin: 0 auto; background: #F3F9FC; padding-bottom: 100px; } table.spacy{ margin: 25px 0; tr{ th{ font-size: 14px; font-style: normal; font-weight: 400; line-height: normal; color: var(--color-low); padding-right: 20px; text-align: left; padding-bottom: 15px; } td{ padding-bottom: 15px; font-weight: 400; } } } } css/secure.produktion.scss 0000775 00000006460 00000000000 0011670 0 ustar 00 #work-6{ &.control-grid{ display: grid; grid-template-columns: 7.5fr 2.5fr; grid-gap: 20px; width: 100%; } .control{ .statusbar{ position: relative; border-radius: 6px; background: #D6EBF5; width: 100%; height: 32px; overflow: hidden; .info{ text-align: center; padding: 2px 0; font-size: 18px; z-index: 5; position: relative; } .bar{ position: absolute; top: 0; left: 0; border-radius: 0px; background: #82C3E3; height: 32px; width: var(--bar-width); z-index: 2; } .batch-line{ width: 3px; height: 32px; background: var(--color-grey); position: absolute; top: 0; left: var(--batch-line); z-index: 3; } } .buttons{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px; margin-top: 50px; .btn-basic{ aspect-ratio: 1/1; font-size: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 500; color: var(--color-primary); box-shadow: -2px -2px 4px 0px rgba(0, 0, 0, 0.25) inset, 2px 2px 4px 0px rgba(0, 0, 0, 0.25) inset, 4px 4px 10px 0px rgba(0, 53, 77, 0.25); transition: all 200ms ease-in-out; &:active{ box-shadow: 7px 6px 11px 0px rgba(0, 0, 0, 0.25) inset, 5px 5px 12px 0px rgba(0, 0, 0, 0.25) inset, -3px -2px 6px -7px rgba(0, 53, 77, 0.25);; } &:disabled{ box-shadow: -2px -2px 4px 0px rgba(0, 0, 0, 0.25) inset, 2px 2px 4px 0px rgba(0, 0, 0, 0.25) inset, 4px 4px 10px 0px rgba(0, 53, 77, 0.25); } } .big-buttons{ position: relative; .btn-minus--1{ position: absolute; background: #EB8D71; width: 30%; aspect-ratio: 1/1; } .btn-plus--1{ margin-top: 10%; margin-bottom: 25%; background: #AED05C; margin-left: 10%; width: 80%; aspect-ratio: 1/1; font-size: 82px; } .btn-plus--bulk{ right: 0; bottom: 0; position: absolute; background: #5EA283; width: 45%; aspect-ratio: 1/1; } } table.small-buttons{ td{ padding: 10px 5px; } .btn-minus{ background: #EB8D71; width: 66px; height: 66px; } .btn-plus{ background: #AED05C; width: 66px; height: 66px; } .bad-amount{ font-size: 33px; font-weight: 500; color: var(--color-primary); } } } .button-row{ display: flex; justify-content: space-between; margin-top: 50px; } } aside{ border-radius: 8px; background: #fff; box-shadow: 0px 0px 10px -1px rgba(0, 53, 77, 0.15); padding: 20px; text-align: center; h2{ font-size: 20px; font-weight: 500; } h3{ font-size: 16px; font-weight: 500; } table.details{ text-align: left; width: 100%; font-size: 18px; border-collapse: collapse; tr{ th{ color: var(--color-grey); font-weight: 400; padding: 3px; } td{ font-size: 18px; color: var(--color-primary-3); padding: 3px; text-align: right; } &:nth-child(even){ background-color: #F9F8F8; } &.badpart{ tr, th{ padding-left: 20px; } } &.alert{ background-color: var(--color-error-bg); th,td{ color: var(--color-error); font-weight: 500; } } } } } } css/style.scss 0000775 00000032473 00000000000 0007350 0 ustar 00 /* ubuntu-300 - latin */ @font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 300; src: url('./assets/fonts/ubuntu-v20-latin-300.eot'); /* IE9 Compat Modes */ src: local(''), url('./assets/fonts/ubuntu-v20-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('./assets/fonts/ubuntu-v20-latin-300.woff2') format('woff2'), /* Super Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-300.woff') format('woff'), /* Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */ url('./assets/fonts/ubuntu-v20-latin-300.svg#Ubuntu') format('svg'); /* Legacy iOS */ } /* ubuntu-regular - latin */ @font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 400; src: url('./assets/fonts/ubuntu-v20-latin-regular.eot'); /* IE9 Compat Modes */ src: local(''), url('./assets/fonts/ubuntu-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('./assets/fonts/ubuntu-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-regular.woff') format('woff'), /* Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ url('./assets/fonts/ubuntu-v20-latin-regular.svg#Ubuntu') format('svg'); /* Legacy iOS */ } /* ubuntu-italic - latin */ @font-face { font-family: 'Ubuntu'; font-style: italic; font-weight: 400; src: url('./assets/fonts/ubuntu-v20-latin-italic.eot'); /* IE9 Compat Modes */ src: local(''), url('./assets/fonts/ubuntu-v20-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('./assets/fonts/ubuntu-v20-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-italic.woff') format('woff'), /* Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('./assets/fonts/ubuntu-v20-latin-italic.svg#Ubuntu') format('svg'); /* Legacy iOS */ } /* ubuntu-500 - latin */ @font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 500; src: url('./assets/fonts/ubuntu-v20-latin-500.eot'); /* IE9 Compat Modes */ src: local(''), url('./assets/fonts/ubuntu-v20-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('./assets/fonts/ubuntu-v20-latin-500.woff2') format('woff2'), /* Super Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-500.woff') format('woff'), /* Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */ url('./assets/fonts/ubuntu-v20-latin-500.svg#Ubuntu') format('svg'); /* Legacy iOS */ } /* ubuntu-700 - latin */ @font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 700; src: url('./assets/fonts/ubuntu-v20-latin-700.eot'); /* IE9 Compat Modes */ src: local(''), url('./assets/fonts/ubuntu-v20-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('./assets/fonts/ubuntu-v20-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-700.woff') format('woff'), /* Modern Browsers */ url('./assets/fonts/ubuntu-v20-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ url('./assets/fonts/ubuntu-v20-latin-700.svg#Ubuntu') format('svg'); /* Legacy iOS */ } :root { --ff-heading: 'Ubuntu', sans-serif; --ff-body: 'Ubuntu', serif; --color-accent: #00ACF7; --color-primary: #1A1919; --color-primary-2: #343232; --color-primary-3: #4B4D4E; --color-secondary: #00354D; --color-secondary-2: #315B6F; --color-secondary-3: #628290; --color-low: #949393; --color-low-2: #D1D1D1; --color-low-3: #F3F3FF; --color-white: #fff; --color-grey: #A0A1A2; --color-good: #566D20; --color-good-2: #AED15B; --color-good-bg: #D6E7AC; --color-error: #E04400; --color-error-2: #ec6f39; --color-error-bg: #FCF2EE; --color-input-border: #727171; --color-input-border-focus: #00ACF7; --fs-text: 18px; } /* Box sizing */ *, *::before, *::after { box-sizing: border-box; } * { padding: 0; margin: 0; scroll-behavior: smooth; font-family: var(--ff-body); } *, *:focus, *:hover { outline: none; } /* Reset margins */ body, h1, h2, h3, h4, h5, p, figure, picture { margin: 0; } picture { line-height: 0; } html { scroll-padding-top: 72px; } /* set up the body */ body { line-height: 1.5; margin: 0 auto; font-size: var(--fs-text); min-height: 100vh; } /* make images easier to work with */ img, picutre { max-width: 100%; height: auto; /* display: block; */ } /* make form elements easier to work with */ input, button, textarea, select { font: inherit; } h1, h2, h3, h4 { font-family: var(--ff-heading); font-weight: 800; color: var(--color-primary); letter-spacing: 0.02em; } .dark-mode { background: var(--color-primary); h1, h2, h3, h4, div, p { color: var(--color-low-3); } } h1, h2 { font-size: 24px; line-height: normal; font-weight: 700; margin: 0 0 10px; } h3{ font-size: 20px; font-weight: 500; } p { font-size: var(--fs-text); line-height: 33px; color: var(--color-primary); } @for $i from 5 through 100 { .mt#{$i} { margin-top: #{$i}px; } } @for $i from 5 through 100 { .mb#{$i} { margin-bottom: #{$i}px; } } main { color: var(--color-primary); } .wp100{ width: 100%; } .ta-l{ text-align: left; } button, .button { background: var(--color-secondary); color: var(--color-white); padding: 10px; display: inline-block; font-size: var(--fs-text); transition: background 300ms ease-out !important; border: 0; cursor: pointer; border-radius: 6px; i, svg{ margin-left: 10px; &.right{ margin-left: 0; margin-right: 10px; } &.none{ margin: 0; } } &:hover { background: var(--color-secondary-2); } &:active { background: var(--color-secondary-3); } &:disabled { background: var(--color-low); color: var(--color-low-2); cursor: not-allowed; } &.red { background: var(--color-error); color: var(--color-white); &:hover { background: var(--color-error-2); } &:active { background: var(--color-error-2); } } &.grey{ background: var(--color-grey); color: var(--color-primary); &:hover { background: var(--color-low-2); } &:active { background: var(--color-low-2); } } &.invisible{ padding: 0; background: none; } } button.transparent { background: transparent; color: inherit; padding: 0px; font-size: 20px; &:hover { color: var(--color-accent); } &:active { color: var(--color-secondary-2); } } input, select, textarea, .fake-input { border: 1px solid var(--color-input-border); padding: 10px; font-size: var(--fs-text); color: var(--color-primary); transition: border 300ms ease-out !important; border-radius: 6px; &:focus { border: 1px solid var(--color-input-border-focus); } &.error, &.error-m { background: var(--color-error-bg); border: 1px solid var(--color-error); } &.success, &.success-m { background: var(--color-good-bg); border: 1px solid var(--color-good-2); } } select { padding: 12px 10px; } .error-msg { border: 1px solid var(--color-error); background: var(--color-error-bg); color: var(--color-primary); padding: 20px; margin: 10px 0; P, div { color: var(--color-primary); } } a { color: var(--color-highlight); text-decoration: none; } .ta-center { text-align: center; } .ta-right{ text-align: right; } .hide { display: none; } .profil-image { width: 40px; height: 40px; aspect-ratio: 1/1; border-radius: 50%; overflow: hidden; line-height: 0; img { width: 100%; height: 100%; object-fit: cover; &:hover { opacity: 0.8; } } &.text { width: 40px; height: 40px; color: var(--color-white); font-size: 18px; display: flex; align-items: center; justify-content: center; background-color: var(--color-user); &:hover { background-color: var(--color-user--hover); } } } button{ border-radius: 6px; } button.form-icon, div.form-icon{ width: 40px; height: 40px; color: var(--color-low-3); background-color: var(--color-form-bg); display: flex; align-items: center; justify-content: center; font-weight: 300; } .std-form { position: relative; label { display: block; position: absolute; top: -7px; left: 10px; font-size: 12px; background: #fff; padding: 0 5px; color: var(--color-low); transition: all 200ms ease-in; &.error-label { color: var(--color-error); } } input, select, textarea { width: 100%; margin-bottom: 10px; &:focus+label { color: #fff; background: var(--color-accent); } } } .hover-form { position: absolute; z-index: 999; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); .title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 50px; h3 { font-style: normal; font-weight: 400; font-size: 20px; line-height: 24px; text-align: center; width: 100%; } } .child { position: absolute; top: 10%; left: 50%; transform: translate(-50%, 0); width: 100%; max-width: 800px; padding: 20px; background: #fff; border-radius: 5px; .std-form label, .std-form input { margin: 0 auto 10px; } } } form.del { display: flex; justify-content: flex-end; } .overlay { position: fixed; z-index: 999; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(5px); .overlay-content { position: absolute; top: 10%; left: 50%; transform: translate(-50%, 0); width: 100%; max-width: 800px; padding: 20px; background: #fff; border-radius: 5px; max-height: 80vh; overflow: auto; .btn-box { display: flex; justify-content: space-between; margin-top: 20px; } } .title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; h2, h3 { font-style: normal; font-weight: 400; font-size: 20px; line-height: 24px; margin: 0; padding: 0; } } } .smalltxt { font-size: 12px; font-weight: 300; } .c-light { color: var(--color-low); } .disabled input, .disabled select, .disabled textarea { pointer-events: none; } span.pill{ background-color: var(--bg-pill); border-radius: 30px; padding: 5px 20px; text-align: center; } .fake-checkbox-wrapper{ line-height: 0; input[type="checkbox"]{ opacity: 0; width: 0; height: 0; } label{ border-radius: 10px; border: 2px solid var(--color-low); padding: 5px; aspect-ratio: 1/1; display: block; width: 50px; transition: all 100ms ease-in; position: relative; &::after{ content: '✘'; position: absolute; top: 21px; left: 7px; color: var(--color-good); font-size: 40px; transition: all 300ms ease-in; opacity: 0; } } input:checked + label{ background-color: var(--color-good-2); &::after{opacity: 1;} } } .grid-tbl{ display: grid; grid-template-columns: 50px 1fr; grid-gap: 20px; align-items: center; } .loading-full{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.8); z-index: 9999; display: flex; flex-direction: column; justify-content: center; align-items: center; font-size: 24px; font-weight: bold; svg{ width: 150px; height: 150px; } } .inline{ display: inline; } .numpad{ display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; margin-bottom: 10px; button{ border: 1px solid var(--color-secondary-3); border-radius: 5px; padding: 10px 30px; font-size: 24px; font-weight: bold; background: var(--color-secondary-3); transition: all 100ms ease-in; position: relative; &:hover{ background: var(--color-low); color: #fff; } &.icon svg{ margin-left: 0; padding: 0; margin: 0; padding: 0; width: 30px; position: absolute; top: 30%; left: 27%; } } } .fake-input{ border: 1px solid var(--color-input-border); padding: 10px; font-size: var(--fs-text); color: var(--color-primary); transition: border 300ms ease-out !important; border-radius: 6px; min-width: 100px; text-align: center; background: #fff; display: inline-block; &.active{ border: 3px solid var(--color-accent); } } #mini-keyboard{ position: fixed; bottom: 0; left: 0; width: 100%; padding: 20px; background: #fff; border-top: 1px solid var(--color-input-border); box-shadow: 0px -8px 10px rgba(0, 0, 0, 0.2); z-index: 99999; display: none; justify-content: space-between; gap: 5px; &.active{ display: flex; } button{ width: 7%; border: 1px solid var(--color-secondary-3); border-radius: 5px; padding: 10px 30px; font-size: 24px; font-weight: bold; background: var(--color-secondary-3); transition: all 100ms ease-in; position: relative; &:hover{ background: var(--color-low); color: #fff; } &.icon{ width: auto; padding: 10px 25px; svg{ margin: 0; } } &.close-keyboard{ background: var(--color-error-bg); border: var(--color-error); color: var(--color-error); &:hover{ background: var(--color-error); color: #fff; } } &:last-child{ margin-left: 20px; } } } .amount-popup{ display: flex; align-items: center; gap: 10px; justify-content: center; width: 100%; margin: 10px 0 20px; } table.full{ width: 100%; border-collapse: collapse; thead{ background: var(--color-accent); color: #fff; } tr td{ padding: 5px; } } index.php 0000775 00000006247 00000000000 0006343 0 ustar 00 <?php require_once('incs/config.inc.php'); $_page = new stdClass; if($user->todo) $_page->page = 'inspection'; else $_page->page = 'work'; ?> <!DOCTYPE HTML> <html lang="<?=LANG?>"> <head> <base href="<?= HOST ?>" /> <title>KFT.Maschinentool</title> <meta name="description" content="" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name=viewport content="width=device-width, initial-scale=1"> <link rel="canonical" href="<?= HOST ?>" /> <style type="text/css"> <?= $scss->compileString(file_get_contents(CSSPATH . '/style.scss'))->getCss(); ?> </style> <script src="https://kit.fontawesome.com/0e5956d4a1.js" crossorigin="anonymous"></script> <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png"> <link rel="manifest" href="/favicons/webmanifest.json"> <link rel="mask-icon" href="/favicons/safari-pinned-tab.svg" color="#5bbad5"> <link rel="shortcut icon" href="/favicons/favicon.ico"> <meta name="apple-mobile-web-app-title" content="KFT.WORKER"> <meta name="application-name" content="KFT.WORKER"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="msapplication-config" content="/favicons/browserconfig.xml"> <meta name="theme-color" content="#ffffff"> </head> <body itemscope itemtype="http://schema.org/WebSite"> <?php if (!TLOGGED) include 'components/Tablet.Login.php'; else { ?> <style type="text/css"> <?= $scss->compileString(file_get_contents(CSSPATH . '/secure.scss'))->getCss(); ?> </style> <div id="Secure" style="--color-user:<?=$_tablet->tablet->color?>; --color-user-2:<?=$_tablet->tablet->color?>AA;"> <div id="content"> <?php include 'components/Header.php'; ?> <main> <?php if(!LOGGED) include 'components/Login.php'; else include 'page/' . $_page->page . '.php'; ?> </main> </div> </div> <?php } ?> <div id="mini-keyboard"> <?php for($i = 1; $i < 10; $i++) echo '<button data-value="'.$i.'">'.$i.'</button> '; ?> <button data-value="0">0</button> <button data-value=",">,</button> <button class="icon" data-value="del"><i class="fas fa-backspace"></i></button> <button class="icon close-keyboard" data-value="close"><i class="fas fa-times"></i></button> </div> <script> var AJAX = '<?= HOST ?>/incs/ajax.inc.php'; var LANG = '<?= LANG ?>'; </script> <?php $js[] = DIR_MAIN . 'js/jquery-3.6.3.min.js'; $js[] = DIR_MAIN . 'js/jquery.validate.min.js'; $js[] = DIR_MAIN . 'js/jquery.validate.methods.min.js'; $js[] = DIR_MAIN . 'js/jquery.pw.min.js'; $js[] = DIR . 'js/Production.class.js'; $js[] = DIR . 'js/Production.js'; $js[] = DIR . 'js/app.js'; $jsCode = ''; array_map(function ($js) { global $jsCode; $jsCode .= file_get_contents($js); }, $js); file_put_contents(DIR . 'js/min/app.js', $jsCode); ?> <script async defer src="./js/min/app.js?v=<?=filemtime(DIR.'js/min/app.js')?>"></script> <div class="overlay hide" data-closeable="1"> <div class="overlay-content"></div> </div> <script src="/app.js"></script> </body> </html>