Add candidate and employer templates, application form, and new password functionality

- Created 'dla-kandydata.php' template for candidates with job offers and registration options.
- Developed 'dla-pracodawcy.php' template for employers detailing how Globelus works and registration for new employers.
- Implemented 'advert-apply.php' for job applications, including form validation and file upload for CVs.
- Added 'new-password.php' for users to set a new password with validation for password strength and matching.
This commit is contained in:
2025-05-24 11:51:42 +02:00
parent 4fdd906b81
commit 905c0f0d89
59 changed files with 1987 additions and 791 deletions

View File

@@ -42,6 +42,10 @@ ol {
margin-bottom: 0 !important;
}
.mt15 {
margin-top: 15px !important;
}
.mb15 {
margin-bottom: 15px !important;
}
@@ -70,6 +74,26 @@ ol {
font-size: 13px;
transition: .3s ease-out;
@include border-radius(3px);
&.btn-red {
background: $cRed;
color: #FFF;
@include transition;
&:hover {
background: transparentize($color: $cRed, $amount: .15);
}
}
&.btn-blue {
background: $cBlue;
color: #FFF;
@include transition;
&:hover {
background: $cBlueDark;
}
}
}
.form-group {
@@ -97,16 +121,72 @@ ol {
color: #6d6e70;
}
.similar-adverts {
.mini-box.similar-adverts {
margin-top: 25px !important;
background: none !important;
padding: 0 !important;
.title.small {
text-align: center;
border: 0;
padding: 15px;
background: #FFF;
border-radius: 3px;
}
ul {
list-style-type: none;
margin: 0 0 0 5px;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: 1fr;
gap: 10px;
li {
margin-bottom: 15px;
padding-left: 10px;
border-left: 2px solid $cRed;
background: #FFF;
padding: 15px;
border-radius: 3px;
>a {
font-weight: 600;
display: block;
margin-bottom: 15px;
}
._bottom {
border-top: 1px solid #eee;
padding-top: 10px;
margin-top: 10px;
a {
display: block;
width: 100%;
font-size: 12px;
text-align: center;
}
}
._firm {
margin-top: 10px;
display: grid;
grid-template-columns: 75px 1fr;
gap: 15px;
font-size: 13px;
padding-bottom: 10px;
._name {
display: flex;
flex-direction: column;
gap: 10px;
justify-content: center;
}
._image {
img {
width: 100%;
}
}
}
.place {
font-size: 13px;
@@ -124,24 +204,6 @@ ol {
margin-right: 10px;
}
}
a {
display: block;
font-size: 15px;
@include transition;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
color: $cBlueDark;
margin-bottom: 5px;
&:hover {
text-decoration: none;
color: $cRed;
}
}
}
}
}
@@ -160,11 +222,11 @@ ol {
}
.mini-box {
padding: 20px;
padding: 25px;
background: #FFF;
max-width: 720px;
margin: auto;
border: 1px solid #e5e5e5;
border-radius: 3px;
.legend {
font-size: 13px;
@@ -396,6 +458,31 @@ select:-webkit-autofill:active {
background: #e72f34;
}
.alert-success {
background: #45b735;
color: #FFF;
border-radius: 3px;
&.alert-border {
border: 2px solid #45b735;
padding: 25px;
color: #000;
background: #FFF;
}
a {
text-decoration: none !important;
display: flex;
height: 100%;
align-items: center;
text-shadow: none !important;
&:hover {
color: #000;
}
}
}
.text-left {
text-align: left !important;
}
@@ -865,12 +952,6 @@ body {
#top #menu-container-1>ul>li {
position: relative;
&#link-5 {
a {
color: $cRed;
}
}
}
#top #menu-container-1>ul>li:last-child {
@@ -1473,32 +1554,12 @@ body {
}
#scontainer-5 {
padding-top: 50px;
padding: 25px;
.box-bg {
padding-left: 20px;
padding-right: 20px;
div[class*="col-"] {
min-height: 0;
border: 1px solid #d1d2d4;
strong {
color: $cRed;
}
@include respond-above(sm) {
max-width: calc(33.3333% - 15px);
&:first-child {
margin-right: 15px;
}
&:last-child {
margin-left: 15px;
}
}
}
.row.box-bg div[class*=col-] {
min-height: 0;
background: none;
border: 0;
}
}
@@ -1582,10 +1643,10 @@ body {
.candidate-details .content,
.firm-details .top,
.firm-details .content {
border: 1px solid #e5e5e5;
background: #FFF;
padding: 25px;
min-height: 169px;
border-radius: 3px;
}
.cv-entry,
@@ -1625,8 +1686,7 @@ body {
.content {
overflow: hidden;
&.clauses,
&.person {
&.clauses {
font-size: 12px;
margin-top: 15px;
}
@@ -1707,10 +1767,10 @@ body {
margin: 0;
line-height: 30px;
color: #FFF;
text-align: center;
border-bottom: 2px solid #eee;
margin-bottom: 15px;
background: $cBlue;
text-align: center;
margin-bottom: 15px;
border-radius: 3px;
}
.advert-details {
@@ -1849,61 +1909,52 @@ body {
.advert-entry,
.advert-details {
.icons {
padding: 15px 0;
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 5px;
padding: 0 50px;
margin-bottom: 15px;
border-top: 1px solid #e5e5e5;
margin-top: 25px;
padding-top: 25px;
.col-12 {
@include respond-above(md) {
@include justify-content(center);
@include align-items(center);
@include flexbox;
flex-wrap: wrap;
}
}
._content {
display: grid;
grid-template-columns: 35px 1fr;
gap: 5px;
.icon {
line-height: 40px;
font-style: italic;
line-height: 35px;
margin-right: 10px;
font-size: 13px !important;
margin-bottom: 10px;
@include respond-above(sm) {
@include flexbox;
._text {
display: flex;
align-items: center;
justify-content: flex-start;
font-size: 13px;
}
@include respond-below(sm) {
margin: 0 0 5px 0;
width: 50%;
float: left;
line-height: 20px;
text-align: center;
}
&.small {
font-size: 100%;
._icon {
padding: 5px;
height: fit-content;
img {
width: 30px;
height: 30px;
}
}
img {
height: 35px;
display: inline;
margin-right: 5px;
@include respond-below(sm) {
display: block;
margin: auto;
width: 100%;
}
}
}
}
}
.advert-details {
.icons {
margin-bottom: 0;
}
}
.advert-entry {
.icons {
padding: 0;
}
}
.advert-entry .btn,
.cv-entry .btn {
float: right;
@@ -1958,7 +2009,8 @@ body {
.advert-details {
.image_header,
.image_bottom {
.image_bottom,
.image_top {
background: #FFF;
text-align: center;
@@ -1966,6 +2018,10 @@ body {
max-width: 100%;
}
}
.image_top {
margin-bottom: 15px;
}
}
.advert-details .top .firm {
@@ -2056,39 +2112,6 @@ body {
font-weight: 600;
}
.advert-details {
.top {
.icons {
border-top: 1px solid #e5e5e5;
margin-top: 25px;
@include flexbox;
@include align-items(top);
@include justify-content(center);
.icon {
margin-top: 25px;
font-size: 13px;
.img {
display: block;
@include border-radius(50%);
height: 70px;
width: 70px;
line-height: 60px;
border: 2px solid $cBlue;
margin: 0 auto 10px;
color: $cRed;
img {
width: 100%;
max-width: 50px;
}
}
}
}
}
}
.advert-details .form h3 {
text-align: center;
color: #e72f34;
@@ -3185,6 +3208,10 @@ body {
a {
color: $cBlueDark;
&:hover {
text-decoration: none;
}
}
}
}
@@ -3228,6 +3255,7 @@ form {
color: $cBlueDark;
display: block;
padding: 15px;
border-radius: 3px;
&:hover {
text-decoration: none;
@@ -3402,4 +3430,452 @@ div.form--aplication-link {
flex-direction: column;
justify-content: center;
gap: 10px;
padding: 0 50px;
.info {
text-align: center;
}
.info-second {
text-align: center;
}
}
.btn_aplikuj {
width: 100%;
margin-bottom: 15px;
display: flex;
height: 50px;
align-items: center;
justify-content: center;
max-width: 350px;
margin-left: auto;
margin-right: auto;
font-weight: 600;
font-size: 18px;
}
.advert_apply {
padding: 40px;
background: #FFF;
border-radius: 3px;
._icon {
margin: 0 auto 25px;
display: block;
}
._title {
font-size: 20px;
font-weight: 600;
margin-bottom: 15px;
color: $cBlueDark;
text-align: center;
}
._advert_title {
font-size: 18px;
font-weight: 600;
margin-bottom: 15px;
color: #000;
text-align: center;
}
._advert_data {
display: flex;
justify-content: center;
margin-top: 25px;
flex-wrap: wrap;
form {
margin: 50px auto;
width: 100%;
._columns {
margin-bottom: 5px;
}
.form-control {
width: 100%;
max-width: 400px;
border: 1px solid #ddd;
border-radius: 3px;
padding-left: 10px;
padding-right: 10px;
}
textarea.form-control {
height: 175px;
max-width: 600px;
}
}
._columns {
display: grid;
grid-template-columns: 1fr 3fr;
gap: 10px;
width: 100%;
._left {
text-align: right;
font-weight: 600;
}
._right {
text-align: left;
.btn_aplikuj {
margin: 15px 0;
}
}
}
}
}
.content.person {
margin-top: 15px;
margin-bottom: 25px;
border-radius: 3px;
display: flex;
background: #FFF;
justify-content: center;
border: 1px solid $cRed;
._content_nologged {
margin: 25px;
padding: 0 50px;
justify-content: center;
align-items: center;
text-align: center;
._title {
font-weight: 600;
margin-bottom: 10px;
color: $cRed;
}
}
._content {
display: grid;
grid-template-columns: 100px 1fr;
._icon {
display: flex;
align-items: center;
img {
width: 75px;
}
}
._text {
display: flex;
flex-direction: column;
justify-content: center;
gap: 10px;
p {
margin-bottom: 0;
}
}
}
}
._banner_box {
._title {
color: $cBlueDark;
font-weight: 600;
font-size: 24px;
margin-bottom: 15px;
}
._subtitle {
color: #000;
margin-bottom: 25px;
font-size: 20px;
font-weight: 300;
}
._boxes {
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr 1fr;
@media (max-width: 768px) {
grid-template-columns: 1fr 1fr;
}
@media (max-width: 480px) {
grid-template-columns: 1fr;
}
._box {
background: #FFF;
padding: 15px;
text-align: center;
position: relative;
border: 1px solid $cRed;
@media (min-width: 769px) {
&:nth-child(4),
&:nth-child(5),
&:nth-child(6) {
background: #f1f1f2;
}
}
@media (max-width: 768px) and (min-width: 481px) {
&:nth-child(3),
&:nth-child(4),
&:nth-child(7),
&:nth-child(8) {
background: #f1f1f2;
border: 1px solid $cRed;
}
}
._text {
display: grid;
grid-template-columns: 1fr;
justify-content: center;
gap: 20px;
font-size: 18px;
}
img {
width: 75px;
margin: auto;
}
span {
font-weight: 600;
}
}
}
._boxes_candidate {
display: grid;
gap: 30px;
grid-template-columns: 1fr 1fr;
@media (max-width: 480px) {
grid-template-columns: 1fr;
}
._box {
background: #FFF;
padding: 30px;
text-align: center;
position: relative;
border: 1px solid #e5e5e5;
@media (min-width: 769px) {
&:nth-child(4),
&:nth-child(5),
&:nth-child(6) {
background: #f1f1f2;
border: 1px solid $cRed;
}
}
@media (max-width: 768px) and (min-width: 481px) {
&:nth-child(3),
&:nth-child(4),
&:nth-child(7),
&:nth-child(8) {
background: #f1f1f2;
border: 1px solid $cRed;
}
}
._text {
display: grid;
grid-template-columns: 1fr;
justify-content: center;
gap: 20px;
font-size: 18px;
}
img {
width: 75px;
margin: auto;
}
span {
font-weight: 600;
}
}
}
}
._login_box {
margin-top: 75px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 50px;
@media (max-width: 768px) {
grid-template-columns: 1fr;
}
&._single {
grid-template-columns: 600px;
margin: 30px auto;
justify-content: center;
}
._left {
background: $cBlueDark;
color: #FFF;
padding: 25px 20px;
min-height: 220px;
display: flex;
flex-direction: column;
justify-content: center;
._title {
text-align: center;
font-size: 32px;
font-weight: 600;
margin-bottom: 25px;
}
._text {
text-align: center;
margin-bottom: 25px;
a {
color: #FFF;
font-weight: 600;
}
}
}
._login {
border: 2px solid $cBlueDark;
padding: 25px 20px;
background: #FFF;
min-height: 220px;
display: flex;
flex-direction: column;
justify-content: center;
._title {
text-align: center;
font-size: 32px;
font-weight: 600;
margin-bottom: 25px;
color: $cBlueDark;
}
._subtitle {
text-align: center;
margin-bottom: 25px;
}
._text {
text-align: center;
a {
font-weight: 600;
color: $cRed
}
}
}
}
._partners {
background: #FFF;
padding: 25px;
margin-top: 100px;
margin-bottom: 25px;
display: flex;
flex-wrap: wrap;
justify-content: center;
._title {
text-align: center;
font-size: 24px;
font-weight: 600;
margin-bottom: 25px;
color: #334c75;
width: 100%;
}
._content {
display: flex;
flex-wrap: wrap;
gap: 50px;
justify-content: center;
img {
height: 60px;
}
}
}
.points_prices {
._row {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
cursor: pointer;
color: #FFF;
&:nth-child(even) {
opacity: .75;
}
._column {
padding: 10px;
border: 1px solid #FFF;
background: $cBlue;
&._center {
text-align: center;
}
a {
span {
color: #FFF;
}
}
&._header {
font-weight: 600;
color: #FFF;
background: $cBlueDark;
}
&._red {
color: #FFF;
a {
color: #FFF;
}
}
}
}
}
#scontainer-6 {
margin-top: 25px;
width: 100%;
h3 {
margin-bottom: 15px;
}
.row {
width: 100%;
}
}
.mt25 {
margin-top: 25px !important;
}