Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
11 files changed, 773 insertions, 113 deletions
-rw-r--r--src/css/master.css542
-rw-r--r--src/css/master.css.map1
-rw-r--r--src/css/prog.css59
-rw-r--r--src/document-bot.php2
-rw-r--r--src/document-top.php5
-rw-r--r--src/index.php93
-rw-r--r--src/views/create-offer.php46
-rw-r--r--src/views/dashboard-login.php26
-rw-r--r--src/views/dashboard.php36
-rw-r--r--src/views/edit-offer.php53
-rw-r--r--src/views/landing.php23
diff --git a/src/css/master.css b/src/css/master.css
new file mode 100644
index 0000000..2a5d3b5
--- /dev/null
+++ b/src/css/master.css
@@ -0,0 +1,542 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+/* Document
+ ========================================================================== */
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+html {
+ line-height: 1.15;
+ /* 1 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */
+}
+
+/* Sections
+ ========================================================================== */
+/**
+ * Remove the margin in all browsers.
+ */
+body {
+ margin: 0;
+}
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+main {
+ display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/* Grouping content
+ ========================================================================== */
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+hr {
+ box-sizing: content-box;
+ /* 1 */
+ height: 0;
+ /* 1 */
+ overflow: visible;
+ /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+pre {
+ font-family: monospace, monospace;
+ /* 1 */
+ font-size: 1em;
+ /* 2 */
+}
+
+/* Text-level semantics
+ ========================================================================== */
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+a {
+ background-color: transparent;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+abbr[title] {
+ border-bottom: none;
+ /* 1 */
+ text-decoration: underline;
+ /* 2 */
+ text-decoration: underline dotted;
+ /* 2 */
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+b,
+strong {
+ font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ /* 1 */
+ font-size: 1em;
+ /* 2 */
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/* Embedded content
+ ========================================================================== */
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+img {
+ border-style: none;
+}
+
+/* Forms
+ ========================================================================== */
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit;
+ /* 1 */
+ font-size: 100%;
+ /* 1 */
+ line-height: 1.15;
+ /* 1 */
+ margin: 0;
+ /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+button,
+input {
+ /* 1 */
+ overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+button,
+select {
+ /* 1 */
+ text-transform: none;
+}
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+ -webkit-appearance: button;
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+button::-moz-focus-inner,
+[type=button]::-moz-focus-inner,
+[type=reset]::-moz-focus-inner,
+[type=submit]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+button:-moz-focusring,
+[type=button]:-moz-focusring,
+[type=reset]:-moz-focusring,
+[type=submit]:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+fieldset {
+ padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+legend {
+ box-sizing: border-box;
+ /* 1 */
+ color: inherit;
+ /* 2 */
+ display: table;
+ /* 1 */
+ max-width: 100%;
+ /* 1 */
+ padding: 0;
+ /* 3 */
+ white-space: normal;
+ /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+progress {
+ vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+textarea {
+ overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+[type=checkbox],
+[type=radio] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+[type=number]::-webkit-inner-spin-button,
+[type=number]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+[type=search] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ outline-offset: -2px;
+ /* 2 */
+}
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+[type=search]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+}
+
+/* Interactive
+ ========================================================================== */
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+details {
+ display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+summary {
+ display: list-item;
+}
+
+/* Misc
+ ========================================================================== */
+/**
+ * Add the correct display in IE 10+.
+ */
+template {
+ display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+[hidden] {
+ display: none;
+}
+
+html {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+*,
+*:before,
+*:after {
+ -webkit-box-sizing: inherit;
+ -moz-box-sizing: inherit;
+ box-sizing: inherit;
+}
+
+:root {
+ --color-base: #f8f9ff;
+ --color-primary: #3c71fe;
+ --color-separator: #d5dcef;
+ --font-sans: "DM Sans", sans-serif;
+}
+
+body {
+ background: var(--color-base);
+ font-family: var(--font-sans);
+ line-height: 1.5;
+}
+
+a {
+ color: var(--color-primary);
+ text-decoration: none;
+}
+
+.site-wrapper {
+ max-width: 58em;
+ margin: 0 auto;
+}
+
+.jobs-listing {
+ margin: 0;
+ padding: 0;
+}
+.jobs-listing li {
+ margin-bottom: 1em;
+}
+
+.job-card {
+ margin: 0;
+ padding: 1.5em;
+ list-style: none;
+ background: white;
+ border: 1px solid var(--color-separator);
+ border-radius: 0.25em;
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.06);
+ display: flex;
+}
+.job-card .job-primary {
+ flex: 1 1 auto;
+}
+.job-card .job-title {
+ margin: 0;
+ font-size: 1.375em;
+ margin-bottom: 0.25em;
+}
+.job-card .job-title a {
+ color: black;
+}
+.job-card .job-details {
+ margin-top: 2em;
+}
+.job-card .job-type {
+ margin-left: 1em;
+ display: inline-block;
+}
+.job-card .meta-date {
+ opacity: 0.5;
+ margin-left: 1em;
+}
+.job-card .job-edit {
+ display: flex;
+ align-items: center;
+}
+.job-card .job-edit a {
+ color: black;
+ display: inline-block;
+}
+.job-card .job-edit a + a {
+ margin-left: 1em;
+}
+
+.job-logo {
+ flex: 0 0 12.5em;
+ background: white;
+ display: flex;
+ align-items: stretch;
+ justify-content: stretch;
+}
+.job-logo-box {
+ max-height: 7.875em;
+ border: 1px solid var(--color-separator);
+ border-radius: 0.25em;
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.06);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 0.5em;
+ width: 100%;
+}
+.job-logo-box img {
+ max-width: 8em;
+ max-height: 4em;
+}
+
+.job-single {
+ display: flex;
+}
+.job-single .job-secondary {
+ flex: 0 0 14em;
+ margin-left: 2em;
+ text-align: center;
+}
+.job-single .job-secondary .button {
+ margin-bottom: 0.5em;
+}
+.job-single .job-main {
+ flex: 1 1 auto;
+}
+.job-single .job-body {
+ margin-top: 1em;
+ padding-top: 1em;
+ border-top: 1px solid var(--color-separator);
+}
+.job-single .job-body p:first-child {
+ margin-top: 0;
+}
+.job-single .job-body p:last-child {
+ margin-bottom: 0;
+}
+.job-single .job-logo {
+ margin-bottom: 1em;
+}
+
+.section-heading {
+ margin-top: 2em;
+}
+
+.site-footer {
+ margin-top: 5em;
+ margin-bottom: 2em;
+}
+
+.button {
+ padding: 0.5em 0.75em;
+ border-radius: 0.25em;
+ background: var(--color-primary);
+ color: white;
+ font-weight: 500;
+ text-align: center;
+ display: inline-block;
+}
+.button-wide {
+ width: 100%;
+}
+
+@media (max-width: 960px) {
+ .job-single {
+ flex-direction: column;
+ }
+ .job-single .job-secondary {
+ margin-left: 0;
+ margin-top: 1em;
+ }
+
+ .job-details span,
+.job-details a,
+.job-meta span,
+.job-meta a {
+ display: block;
+ }
+ .job-details .job-type,
+.job-details .meta-date,
+.job-meta .job-type,
+.job-meta .meta-date {
+ margin: 0;
+ }
+
+ .site-wrapper {
+ margin: 0 1em;
+ }
+}
+@media (max-width: 480px) {
+ .job-card {
+ flex-direction: column;
+ }
+ .job-card .job-logo {
+ flex: 0 0 auto;
+ margin-top: 1em;
+ }
+ .job-card .job-details {
+ margin-top: 0.5em;
+ }
+}
+
+/*# sourceMappingURL=master.css.map */
diff --git a/src/css/master.css.map b/src/css/master.css.map
new file mode 100644
index 0000000..c31be51
--- /dev/null
+++ b/src/css/master.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["../sass/base/_normalize.scss","../sass/master.scss"],"names":[],"mappings":"AAAA;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;AAAmB;EACnB;AAAgC;;;AAGlC;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;AAAyB;EACzB;AAAW;EACX;AAAmB;;;AAGrB;AAAA;AAAA;AAAA;AAKA;EACE;AAAmC;EACnC;AAAgB;;;AAGlB;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;AAAqB;EACrB;AAA4B;EAC5B;AAAmC;;;AAGrC;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;AAAmC;EACnC;AAAgB;;;AAGlB;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;AAAsB;EACtB;AAAiB;EACjB;AAAmB;EACnB;AAAW;;;AAGb;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;AAAwB;EACxB;AAAgB;EAChB;AAAgB;EAChB;AAAiB;EACjB;AAAY;EACZ;AAAqB;;;AAGvB;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;AAAwB;EACxB;AAAY;;;AAGd;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;AAA+B;EAC/B;AAAsB;;;AAGxB;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;AAA4B;EAC5B;AAAe;;;AAGjB;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC3VF;EACC;EACA;EACA;;;AAED;AAAA;AAAA;EAGC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EAEA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;;AAKH;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;;AAKH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;AAGD;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAIF;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;IACC;;EAEA;IACC;IACA;;;EAMD;AAAA;AAAA;AAAA;IAEC;;EAGD;AAAA;AAAA;AAAA;IAEC;;;EAIF;IACC;;;AAIF;EACC;IACC;;EAEA;IACC;IACA;;EAGD;IACC","file":"master.css"} \ No newline at end of file
diff --git a/src/css/prog.css b/src/css/prog.css
new file mode 100644
index 0000000..a317cef
--- /dev/null
+++ b/src/css/prog.css
@@ -0,0 +1,59 @@
+input, textarea, select {
+ background: none;
+ color: black;
+ border: 1px solid black;
+ padding: 0.3em;
+ margin: 0.5em 0;
+}
+
+input, textarea, select {
+ width: 100%;
+}
+
+input:not([type="submit"]) {
+ min-width: 20em;
+}
+
+textarea {
+ resize: vertical;
+}
+
+.centered-form {
+ max-width: fit-content;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.blocky-form-items > * {
+ display: block;
+}
+
+.anchor-btn {
+ border: none !important;
+ color: black;
+ display: inline-block;
+ margin-left: 1em;
+}
+
+.anchor-btn:hover {
+ cursor: pointer;
+}
+
+nav {
+ display: flex;
+ margin-bottom: 0.67em;
+}
+
+nav > div {
+ flex: 1;
+ text-align: center;
+ padding: 0.4em !important;
+}
+
+nav a {
+ width: 100%;
+}
+
+nav > *:not(:first-child) {
+ margin-left: 0.5em;
+}
diff --git a/src/document-bot.php b/src/document-bot.php
deleted file mode 100644
index 7fb2bd6..0000000
--- a/src/document-bot.php
+++ /dev/null
@@ -1,2 +0,0 @@
- </body>
-</html>
diff --git a/src/document-top.php b/src/document-top.php
deleted file mode 100644
index c6f9116..0000000
--- a/src/document-top.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
- <head>
- <title>DevriX Job Board</title>
- </head>
- <body>
diff --git a/src/index.php b/src/index.php
index 676cd56..8b45dea 100644
--- a/src/index.php
+++ b/src/index.php
@@ -1,34 +1,69 @@
-<?php require "document-top.php"; ?>
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Jobs</title>
+ <link rel="preconnect" href="https://fonts.gstatic.com">
-<?php
-include_once("controllers/LandingController.php");
-include_once("controllers/CreateOfferController.php");
-include_once("controllers/DashboardLoginController.php");
+ <link rel="stylesheet" href="/css/master.css">
+ <link rel="stylesheet" href="/css/prog.css">
+ <link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap" rel="stylesheet">
+</head>
+<body>
+ <div class="site-wrapper">
+ <header class="site-header">
+ <h2 class="site-title"><a href="/">Job Offers</a></h2>
+ </header>
-/* The landing page practically acts as our page router.
- * All request get redirected to here (look at the devrix-job-board.conf)
- * Thanks https://www.taniarascia.com/the-simplest-php-router/
- */
+ <nav class="site-nav">
+ <div class="job-card">
+ <a href="/">Home</a>
+ </div>
+ <div class="job-card">
+ <a href="/CreateOffer">Create a new job offer</a>
+ </div>
+ <div class="job-card">
+ <a href="/Dashboard">Dashboard</a>
+ </div>
+ </nav>
-$request = $_SERVER['REQUEST_URI'];
+ <?php
+ include_once("controllers/LandingController.php");
+ include_once("controllers/CreateOfferController.php");
+ include_once("controllers/DashboardLoginController.php");
+
+ /* The landing page practically acts as our page router.
+ * All request get redirected to here (look at the devrix-job-board.conf)
+ * Thanks https://www.taniarascia.com/the-simplest-php-router/
+ */
+
+ $request = $_SERVER['REQUEST_URI'];
+
+ switch ($request) {
+ case "":
+ case "/":
+ LandingController::invoke();
+ break;
+ case "/CreateOffer":
+ case "/CreateOffer/":
+ CreateOfferController::invoke();
+ break;
+ case "/Dashboard":
+ case "/Dashboard/":
+ DashboardLoginController::invoke();
+ break;
+ default:
+ http_response_code(404);
+ break;
+ }
+ ?>
-switch ($request) {
- case "":
- case "/":
- LandingController::invoke();
- break;
- case "/CreateOffer":
- case "/CreateOffer/":
- CreateOfferController::invoke();
- break;
- case "/Dashboard":
- case "/Dashboard/":
- DashboardLoginController::invoke();
- break;
- default:
- http_response_code(404);
- break;
-}
-?>
+ <footer class="site-footer">
+ <p>Copyright 2020</p>
+ </footer>
+ </div>
-<?php require "document-bot.php"; ?>
+</body>
+</html>
diff --git a/src/views/create-offer.php b/src/views/create-offer.php
index 19f2186..42df1fc 100644
--- a/src/views/create-offer.php
+++ b/src/views/create-offer.php
@@ -1,22 +1,24 @@
-<form method="post">
- <label for="title">Job Title: </label>
- <input type="text" name="title">
- <br>
- <label for="description">Job Description: </label>
- <textarea type="text" name="description"></textarea>
- <br>
- <label for="company">Company: </label>
- <select name="company">
- <?php
- foreach(self::$companies as $company) {
- echo "<option value=\"{$company->id}\">{$company->name}</option>";
- }
- ?>
- </select>
- <br>
- <label for="salary">Salary: </label>
- <input type="number" name="salary" min="1" placeholder="1">
- <br>
- <input type="submit" value="Submit">
-</form>
-<a href="/">&lt; Back</a>
+<div class="job-card">
+ <form class="centered-form blocky-form-items" method="post">
+ <label for="title">Job Title</label>
+ <input type="text" name="title">
+
+ <label for="description">Job Description</label>
+ <textarea type="text" name="description"></textarea>
+
+ <label for="company">Company</label>
+ <select name="company">
+ <?php
+ foreach(self::$companies as $company) {
+ echo "<option value=\"{$company->id}\">{$company->name}</option>";
+ }
+ ?>
+ </select>
+
+ <label for="salary">Salary (lev/month)</label>
+ <input type="number" name="salary" min="300" placeholder="300">
+
+ <br>
+ <input type="submit" value="Submit">
+ </form>
+</div>
diff --git a/src/views/dashboard-login.php b/src/views/dashboard-login.php
index a4cefe7..d7bae5e 100644
--- a/src/views/dashboard-login.php
+++ b/src/views/dashboard-login.php
@@ -1,13 +1,13 @@
-<form method="post">
- <label for="username">Username: </label>
- <input type="text" name="username">
- <br>
- <label for="password">Password</label>
- <input type="password" name="password">
- <br>
- <input type="submit" value="Login">
-</form>
-<?php
- echo self::$message;
-?>
-<a href="/">&lt; Back</a>
+<div class="job-card">
+ <form class="centered-form blocky-form-items" method="post">
+ <label for="username">Username</label>
+ <input type="text" name="username">
+ <label for="password">Password</label>
+ <input type="password" name="password">
+ <br>
+ <?php
+ echo self::$message;
+ ?>
+ <input type="submit" value="Login">
+ </form>
+</div>
diff --git a/src/views/dashboard.php b/src/views/dashboard.php
index 06be539..fe7a021 100644
--- a/src/views/dashboard.php
+++ b/src/views/dashboard.php
@@ -1,17 +1,27 @@
+<ul class="jobs-listing">
<?php
foreach($jobs as $job) {
- echo "{$job->id} {$job->title} {$job->description} " . self::$companies[$job->companyId] . " {$job->salary}
- <form method=\"post\">
- <input type=\"hidden\" name=\"_method\" value=\"get\">
- <input type=\"hidden\" name=\"jobId\" value=\"{$job->id}\">
- <input type=\"submit\" value=\"Edit\">
- </form>
- <form method=\"post\">
- <input type=\"hidden\" name=\"_method\" value=\"delete\">
- <input type=\"hidden\" name=\"jobId\" value=\"{$job->id}\">
- <input type=\"submit\" value=\"Delete\">
- </form>
- <br>";
+ echo '<li class="job-card">
+ <div class="job-primary">
+ <h2 class="job-title"><a href="#">' . $job->title . '</a></h2>
+ <div class="job-meta">
+ <a class="meta-company" href="#">' . self::$companies[$job->companyId] . '</a>
+ <span class="meta-date">' . round($job->salary, 2) . ' lev/month</span>
+ </div>
+ </div>
+ <div class="job-edit">
+ <form method="post">
+ <input type="hidden" name="_method" value="get">
+ <input type="hidden" name="jobId" value="' . $job->id . '">
+ <input type="submit" value="Edit" class="anchor-btn">
+ </form>
+ <form method="post">
+ <input type="hidden" name="_method" value="delete">
+ <input type="hidden" name="jobId" value="' . $job->id . '">
+ <input type="submit" value="Delete" class="anchor-btn">
+ </form>
+ </div>
+ </li>';
}
?>
-<a href="/">&lt; Back</a>
+</ul>
diff --git a/src/views/edit-offer.php b/src/views/edit-offer.php
index a6d699e..992b08e 100644
--- a/src/views/edit-offer.php
+++ b/src/views/edit-offer.php
@@ -1,25 +1,28 @@
-<form method="post">
- <input type="hidden" name="id" value="<?php echo self::$job->id?>">
- <label for="title">Job Title: </label>
- <input type="text" name="title" value="<?php echo self::$job->title ?>">
- <br>
- <label for="description">Job Description: </label>
- <textarea type="text" name="description"><?php echo self::$job->description ?></textarea>
- <br>
- <label for="company">Company: </label>
- <select name="company" selected="<?php echo self::$job->companyId ?>">
- <?php
- foreach(self::$companies as $company) {
- echo "<option value=\"{$company->id}\"";
- echo (self::$job->companyId == $company->id ? "selected" : "") . ">{$company->name}</option>";
- }
- ?>
- </select>
- <br>
- <label for="salary">Salary: </label>
- <input type="number" name="salary" min="1" placeholder="1" value="<?php echo self::$job->salary ?>">
- <br>
- <input type="hidden" name="_method" value="put">
- <input type="submit" value="Update">
-</form>
-<a href="/Dashboard">&lt; Back to Dashboard</a>
+<div class="job-card">
+ <form class="centered-form blocky-form-items" method="post">
+ <input type="hidden" name="id" value="<?php echo self::$job->id?>">
+
+ <label for="title">Job Title</label>
+ <input type="text" name="title" value="<?php echo self::$job->title ?>">
+
+ <label for="description">Job Description</label>
+ <textarea type="text" name="description"><?php echo self::$job->description ?></textarea>
+
+ <label for="company">Company</label>
+ <select name="company" selected="<?php echo self::$job->companyId ?>">
+ <?php
+ foreach(self::$companies as $company) {
+ echo "<option value=\"{$company->id}\"";
+ echo (self::$job->companyId == $company->id ? "selected" : "") . ">{$company->name}</option>";
+ }
+ ?>
+ </select>
+
+ <label for="salary">Salary (lev/month)</label>
+ <input type="number" name="salary" min="1" placeholder="1" value="<?php echo self::$job->salary ?>">
+
+ <br>
+ <input type="hidden" name="_method" value="put">
+ <input type="submit" value="Update">
+ </form>
+</div>
diff --git a/src/views/landing.php b/src/views/landing.php
index 6124f90..514e5a7 100644
--- a/src/views/landing.php
+++ b/src/views/landing.php
@@ -1,8 +1,23 @@
+<ul class="jobs-listing">
<?php
foreach($jobs as $job) {
- echo "{$job->title} {$job->description} " . self::$companies[$job->companyId] . " {$job->salary}<br>";
+ echo '<li class="job-card">
+ <div class="job-primary">
+ <h2 class="job-title"><a href="#">' . $job->title . '</a></h2>
+ <div class="job-meta">
+ <a class="meta-company" href="#">' . self::$companies[$job->companyId] . '</a>
+ <span class="meta-date">' . round($job->salary, 2) . ' lev/month</span>
+ </div>
+ <div class="job-details">
+ '. $job->description . '
+ </div>
+ </div>
+ <div class="job-logo">
+ <div class="job-logo-box">
+ <img src="https://i.imgur.com/ZbILm3F.png" alt="">
+ </div>
+ </div>
+ </li>';
}
?>
-
-<a href="/CreateOffer">Create a new Job Offer</a>
-<a href="/Dashboard">Dashboard</a>
+</ul>