From 02be1b8a1e6e5f7505d612f22520c86d4969a0b2 Mon Sep 17 00:00:00 2001
From: SrIzan10 <66965250+SrIzan10@users.noreply.github.com>
Date: Sat, 10 Jun 2023 16:53:22 +0200
Subject: [PATCH] feat: footer, dark mode and functionality card
---
.prettierrc | 5 ++++
package.json | 5 ++++
public/electron.js | 57 +++++++++++++++++++++-------------------
public/index.html | 2 +-
src/App.css | 22 ++++++++++++++++
src/App.js | 36 +++++++++++++++++++++----
src/Footer.css | 7 +++++
src/Footer.js | 41 +++++++++++++++++++++++++++++
src/FunctionalityCard.js | 24 +++++++++++++++++
src/index.css | 27 +++++++++++++------
yarn.lock | 40 ++++++++++++++++++++++++++++
11 files changed, 225 insertions(+), 41 deletions(-)
create mode 100644 .prettierrc
create mode 100644 src/Footer.css
create mode 100644 src/Footer.js
create mode 100644 src/FunctionalityCard.js
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..964f480
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,5 @@
+{
+ "tabWidth": 4,
+ "useTabs": true,
+ "singleQuote": true
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index 33e2fc7..1ff9549 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,11 @@
"dependencies": {
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
+ "@fortawesome/fontawesome-svg-core": "^6.4.0",
+ "@fortawesome/free-brands-svg-icons": "^6.4.0",
+ "@fortawesome/free-solid-svg-icons": "^6.4.0",
+ "@fortawesome/react-fontawesome": "^0.2.0",
+ "@mui/icons-material": "^5.11.16",
"@mui/material": "^5.13.4",
"electron": "^25.1.0",
"electron-is-dev": "^2.0.0",
diff --git a/public/electron.js b/public/electron.js
index 42f8b4f..9619a18 100644
--- a/public/electron.js
+++ b/public/electron.js
@@ -1,41 +1,44 @@
-const path = require('path')
+const path = require('path');
const { app, BrowserWindow } = require('electron');
const isDev = require('electron-is-dev');
function createWindow() {
- const mainWindow = new BrowserWindow({
- width: 800,
- height: 600,
- webPreferences: {
- nodeIntegration: true,
- },
- icon: './icons/icon.png',
- show: false,
- autoHideMenuBar: true,
- title: 'sern'
- });
+ const mainWindow = new BrowserWindow({
+ width: 800,
+ height: 600,
+ webPreferences: {
+ nodeIntegration: true,
+ },
+ icon: './icons/icon.png',
+ show: false,
+ autoHideMenuBar: true,
+ title: 'sern',
+ });
+ if (isDev) {
+ mainWindow.loadURL('http://localhost:3000');
+ } else {
+ mainWindow.loadFile(path.join(__dirname, '../build/index.html'));
+ }
- isDev ? mainWindow.loadURL('http://localhost:3000') : mainWindow.loadFile(path.join(__dirname, '../build/index.html'))
+ mainWindow.on('ready-to-show', () => {
+ mainWindow.show();
+ });
- mainWindow.on('ready-to-show', () => {
- mainWindow.show()
- })
-
- mainWindow.on('page-title-updated', function(e) {
- e.preventDefault()
- });
+ mainWindow.on('page-title-updated', function (e) {
+ e.preventDefault();
+ });
}
app.whenReady().then(createWindow);
app.on('window-all-closed', () => {
- if (process.platform !== 'darwin') {
- app.quit();
- }
+ if (process.platform !== 'darwin') {
+ app.quit();
+ }
});
app.on('activate', () => {
- if (BrowserWindow.getAllWindows().length === 0) {
- createWindow();
- }
-});
\ No newline at end of file
+ if (BrowserWindow.getAllWindows().length === 0) {
+ createWindow();
+ }
+});
diff --git a/public/index.html b/public/index.html
index aa069f2..82e8933 100644
--- a/public/index.html
+++ b/public/index.html
@@ -24,7 +24,7 @@
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
-
React App
+ sern
diff --git a/src/App.css b/src/App.css
index e69de29..b027199 100644
--- a/src/App.css
+++ b/src/App.css
@@ -0,0 +1,22 @@
+@font-face {
+ font-family: 'Classic Console Neue';
+ src: local('Classic Console Neue'),
+ url('https://fonts.srizan.dev/clacon2.ttf') format('truetype');
+}
+
+@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap');
+
+.titleHeader {
+ color: #4af626;
+ font-family: 'JetBrains Mono', 'Courier New', Courier, monospace;
+ text-align: center;
+}
+
+.functionalityCards {
+ display: flex;
+ gap: 30px;
+ padding: 20px;
+ align-items: center;
+ display: 'grid';
+ grid-template-columns: 'repeat(2, 1fr)';
+}
diff --git a/src/App.js b/src/App.js
index 51791ac..9352a90 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,11 +1,37 @@
import './App.css';
+import Footer from './Footer.js';
+import './FunctionalityCard.js';
+import FunctionalityCard from './FunctionalityCard.js';
+import { ThemeProvider, createTheme } from '@mui/material/styles';
+
+const darkTheme = createTheme({
+ palette: {
+ mode: 'dark',
+ primary: {
+ main: '#C9426E'
+ }
+ },
+});
function App() {
- return (
-
-
-
- );
+ return (
+
+
+ ~$ sern
+
+
+
+
+
+
+
+ );
}
export default App;
diff --git a/src/Footer.css b/src/Footer.css
new file mode 100644
index 0000000..7e94c2c
--- /dev/null
+++ b/src/Footer.css
@@ -0,0 +1,7 @@
+.footer {
+ position: fixed;
+ left: 0;
+ bottom: 0;
+ width: 100%;
+ text-align: center;
+}
\ No newline at end of file
diff --git a/src/Footer.js b/src/Footer.js
new file mode 100644
index 0000000..eff717e
--- /dev/null
+++ b/src/Footer.js
@@ -0,0 +1,41 @@
+import Link from '@mui/material/Link';
+import Typography from '@mui/material/Typography';
+import PublicIcon from '@mui/icons-material/Public';
+import GitHubIcon from '@mui/icons-material/GitHub';
+import { faDiscord } from '@fortawesome/free-brands-svg-icons';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import './Footer.css'
+
+export default function Footer() {
+ return (
+
+
+
+
+
+ front page
+
+
+
+ •
+
+
+
+
+ github
+
+
+
+ •
+
+
+
+
+ discord
+
+
+
+
+
+ );
+}
diff --git a/src/FunctionalityCard.js b/src/FunctionalityCard.js
new file mode 100644
index 0000000..c71a0c1
--- /dev/null
+++ b/src/FunctionalityCard.js
@@ -0,0 +1,24 @@
+import * as React from 'react';
+import Card from '@mui/material/Card';
+import CardActions from '@mui/material/CardActions';
+import CardContent from '@mui/material/CardContent';
+import Button from '@mui/material/Button';
+import Typography from '@mui/material/Typography';
+
+export default function FunctionalityCard({ command, description }) {
+ return (
+
+
+
+ {description}
+
+
+ ~$ sern {command}
+
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/index.css b/src/index.css
index ec2585e..920f58a 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,13 +1,24 @@
+@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap');
+
body {
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
- 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
- sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto',
+ 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans',
+ 'Helvetica Neue', sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ background-color: #121212;
+ padding: 5vh;
}
code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
- monospace;
+ font-family: 'JetBrains Mono', source-code-pro, Menlo, Monaco, Consolas,
+ 'Courier New', monospace;
+}
+
+footer {
+ background-color: gray;
+ text-align: center;
+ margin-top: auto;
+ padding: 8px;
}
diff --git a/yarn.lock b/yarn.lock
index 9468181..4e3ad06 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1478,6 +1478,39 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6"
integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==
+"@fortawesome/fontawesome-common-types@6.4.0":
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz#88da2b70d6ca18aaa6ed3687832e11f39e80624b"
+ integrity sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==
+
+"@fortawesome/fontawesome-svg-core@^6.4.0":
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz#3727552eff9179506e9203d72feb5b1063c11a21"
+ integrity sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "6.4.0"
+
+"@fortawesome/free-brands-svg-icons@^6.4.0":
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.4.0.tgz#c785cf5563231eadc5ef5f8cd0274e0b8920433f"
+ integrity sha512-qvxTCo0FQ5k2N+VCXb/PZQ+QMhqRVM4OORiO6MXdG6bKolIojGU/srQ1ptvKk0JTbRgaJOfL2qMqGvBEZG7Z6g==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "6.4.0"
+
+"@fortawesome/free-solid-svg-icons@^6.4.0":
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz#48c0e790847fa56299e2f26b82b39663b8ad7119"
+ integrity sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "6.4.0"
+
+"@fortawesome/react-fontawesome@^0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz#d90dd8a9211830b4e3c08e94b63a0ba7291ddcf4"
+ integrity sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==
+ dependencies:
+ prop-types "^15.8.1"
+
"@hapi/hoek@^9.0.0":
version "9.3.0"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
@@ -1811,6 +1844,13 @@
resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.13.4.tgz#7e4b491d8081b6d45ae51556d82cb16b31315a19"
integrity sha512-yFrMWcrlI0TqRN5jpb6Ma9iI7sGTHpytdzzL33oskFHNQ8UgrtPas33Y1K7sWAMwCrr1qbWDrOHLAQG4tAzuSw==
+"@mui/icons-material@^5.11.16":
+ version "5.11.16"
+ resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.11.16.tgz#417fa773c56672e39d6ccfed9ac55591985f0d38"
+ integrity sha512-oKkx9z9Kwg40NtcIajF9uOXhxiyTZrrm9nmIJ4UjkU2IdHpd4QVLbCc/5hZN/y0C6qzi2Zlxyr9TGddQx2vx2A==
+ dependencies:
+ "@babel/runtime" "^7.21.0"
+
"@mui/material@^5.13.4":
version "5.13.4"
resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.13.4.tgz#1fed8249c980ed37f9767f9dba8aa3a589495ff3"