From bef577cd0e116ae538bfbf6f33d0b2212aa1fd9c Mon Sep 17 00:00:00 2001 From: Scheianu Ionut Date: Mon, 21 Apr 2025 19:37:04 +0300 Subject: [PATCH] formated scan page --- .gitignore | 3 +- .../app/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1226 bytes py_app/app/__pycache__/models.cpython-312.pyc | Bin 0 -> 1059 bytes py_app/app/__pycache__/routes.cpython-312.pyc | Bin 0 -> 12644 bytes py_app/app/static/style.css | 59 ++++++------------ py_app/requirements.txt | 12 ++-- to_do.txt | 5 ++ 7 files changed, 32 insertions(+), 47 deletions(-) create mode 100644 py_app/app/__pycache__/__init__.cpython-312.pyc create mode 100644 py_app/app/__pycache__/models.cpython-312.pyc create mode 100644 py_app/app/__pycache__/routes.cpython-312.pyc create mode 100644 to_do.txt diff --git a/.gitignore b/.gitignore index e4bf08d..ff2b1a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -recticel/ \ No newline at end of file +recticel/ +py_app/recticel/ diff --git a/py_app/app/__pycache__/__init__.cpython-312.pyc b/py_app/app/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..22622166ffbb457ae12aec894f450c6f2515a6dc GIT binary patch literal 1226 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 MjiyUYshjiv0AkW*#Q*>R literal 0 HcmV?d00001 diff --git a/py_app/app/static/style.css b/py_app/app/static/style.css index ec47f52..630f18f 100644 --- a/py_app/app/static/style.css +++ b/py_app/app/static/style.css @@ -6,9 +6,8 @@ body { } .container { - width: 95%; - margin: 15px auto; /* Add 15px top margin */ - overflow: hidden; + width: 100%; /* Ensure it spans the full width */ + margin: 0 auto; /* Center the container */ padding: 0; /* Remove padding */ background: none; /* Remove white background */ border-radius: 0; /* Remove rounded corners */ @@ -230,8 +229,8 @@ body.dark-mode .card { /* Common card styles */ .card { - flex: 1 1 500px; /* Allow cards to grow and shrink, with a base width of 500px */ - max-width: 500px; /* Ensure cards don't exceed 500px in width */ + flex: 1 1 auto; /* Allow cards to grow and shrink */ + max-width: none; /* Remove any fixed width */ background: #fff; border-radius: 5px; padding: 20px; @@ -515,64 +514,44 @@ body.dark-mode .scan-table tr:nth-child(odd) { /* Container for the scan page */ .scan-container { - display: flex; - flex-wrap: wrap; /* Allow wrapping on smaller screens */ - gap: 20px; /* Add 20px spacing between the cards */ - margin: 20px auto; /* Center the container vertically and horizontally */ - justify-content: center; /* Center the cards horizontally */ - align-items: stretch; /* Make all cards the same height */ + display: grid; + grid-template-columns: 1fr 2fr; /* 1/3 and 2/3 layout */ + gap: 20px; /* Add spacing between the columns */ + margin: 20px auto; + max-width: 100%; /* Ensure it spans the full width */ + width: 100%; /* Ensure it takes full width */ + align-items: flex-start; /* Align items at the top */ + overflow-x: hidden; /* Prevent horizontal overflow */ + box-sizing: border-box; /* Include padding and borders in width calculations */ } /* Input Form Card */ .scan-form-card { - flex: 0 0 500px; /* Fixed width of 500px */ - max-width: 500px; background: #fff; border-radius: 5px; padding: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); - display: flex; - flex-direction: column; /* Ensure content inside the card is vertically aligned */ } /* Latest Scans Card */ .scan-table-card { - flex: 2 1 1000px; /* Take up twice the space compared to other cards */ - max-width: 1000px; /* Ensure the card doesn't exceed 1000px in width */ background: #fff; border-radius: 5px; padding: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); overflow-x: auto; /* Allow horizontal scrolling for the table */ - display: flex; - flex-direction: column; /* Ensure content inside the card is vertically aligned */ -} - -/* Table styles */ -.scan-table { - width: 100%; - border-collapse: collapse; - margin-top: 20px; -} - -.scan-table th, .scan-table td { - border: 1px solid #ddd; - padding: 8px; - text-align: center; -} - -.scan-table th { - background-color: #f4f4f4; - font-weight: bold; + width: 100%; /* Ensure it takes the full width of its grid column */ + max-width: 100%; /* Prevent it from exceeding the container width */ + box-sizing: border-box; /* Include padding and borders in width calculations */ } /* Media query for smaller screens */ @media (max-width: 768px) { - .card { - flex: 1 1 100%; /* Make cards take full width on smaller screens */ + .scan-container { + grid-template-columns: 1fr; /* Stack cards vertically on smaller screens */ } .scan-form-card, .scan-table-card { - flex: 1 1 100%; /* Make both cards take full width on smaller screens */ + width: 100%; /* Make both cards take full width */ } } \ No newline at end of file diff --git a/py_app/requirements.txt b/py_app/requirements.txt index c9148f2..509cd29 100644 --- a/py_app/requirements.txt +++ b/py_app/requirements.txt @@ -1,6 +1,6 @@ -Flask==2.2.2 -Flask-SSLify==0.1.5 -Werkzeug==2.2.2 -gunicorn==20.1.0 -flask-sqlalchemy==2.5.1 -pyodbc==4.0.0 \ No newline at end of file +Flask +Flask-SSLify +Werkzeug +gunicorn +flask-sqlalchemy +pyodbc \ No newline at end of file diff --git a/to_do.txt b/to_do.txt new file mode 100644 index 0000000..997a0c4 --- /dev/null +++ b/to_do.txt @@ -0,0 +1,5 @@ +python3 -m venv recticel +source recticel/bin/activate + python /home/ske087/quality_recticel/py_app/run.py + + \ No newline at end of file