diff --git a/package.json b/package.json index efdaa03..b49e17e 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "@emotion/styled": "^11.3.0", "@mui/icons-material": "^5.0.1", "@mui/material": "^5.0.2", - "axios": "^0.21.4", + "axios": "^0.22.0", "gatsby": "^3.14.1", "gatsby-plugin-catch-links": "^3.14.0", "gatsby-plugin-google-gtag": "^3.14.0", diff --git a/src/images/Opal/Opal.png b/src/images/Opal/Opal.png new file mode 100644 index 0000000..d4c97a4 Binary files /dev/null and b/src/images/Opal/Opal.png differ diff --git a/src/images/Opal/opal_settings.png b/src/images/Opal/opal_settings.png new file mode 100644 index 0000000..5becaf3 Binary files /dev/null and b/src/images/Opal/opal_settings.png differ diff --git a/src/images/Opal/opal_timer.png b/src/images/Opal/opal_timer.png new file mode 100644 index 0000000..6d2d3ff Binary files /dev/null and b/src/images/Opal/opal_timer.png differ diff --git a/src/markdown/blog/2021/10/03/opal-1.0.md b/src/markdown/blog/2021/10/03/opal-1.0.md new file mode 100644 index 0000000..2884787 --- /dev/null +++ b/src/markdown/blog/2021/10/03/opal-1.0.md @@ -0,0 +1,29 @@ +--- +path: "/blog/2021/10/03/opal-1.0" +title: "Opal 1.0 - Release" +author: "CodeDead" +date: "2021-10-03" +abstract: "It's been a while since we released something new, but after lots of testing and development cycles, please welcome Opal into our software catalog..." +categories: "Java, News" +--- +## Information + +![Opal](https://i.imgur.com/tNBWTPS.png) + +It's been a while since we released something new, but after lots of testing and development cycles, please welcome Opal into our software catalog! + +Opal is an application that is written in Java and uses JavaFX to display the user-interface and it is designed to play relaxing music for Windows, Linux and macOS users. +For the initial release, you have access to 14 sounds, that you can play for however long you like. + +As always, Opal is a free and open-source application; meaning you don't have to pay us a single cent to download, run and use Opal. + +We hope you enjoy using Opal! + +## Download + +You can download the latest version of Opal by clicking on the following link: +[Opal](https://codedead.com/software/opal) + +## Other + +Feel free to [contact us](/contact) if you have any questions or if you need help. diff --git a/src/pages/index.jsx b/src/pages/index.jsx index a8ee8c2..bcbde92 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -44,11 +44,11 @@ const Home = () => { gatsbyImageData(layout: FULL_WIDTH) } }, - pkfinder: file(relativePath: { eq: "PK Finder/pkfinder.png" }) { + opal: file(relativePath: { eq: "Opal/Opal.png" }) { childImageSharp { gatsbyImageData(layout: FULL_WIDTH) } - } + } }`); const [, dispatch] = useContext(MainContext); @@ -145,15 +145,15 @@ const Home = () => { navigate('/software/pk-finder')} + onClick={() => navigate('/software/opal')} > - + { - PK Finder + Opal - Easily recover your Windows Product Key with PK Finder. As soon as you open - PK Finder, you’ll be able to view your product key. + A free and open source music player that will help you relax. Opal has + 14 sounds available that will help you relax. It runs on Windows and Linux. diff --git a/src/pages/software/index.jsx b/src/pages/software/index.jsx index 0d14248..8f86e5c 100644 --- a/src/pages/software/index.jsx +++ b/src/pages/software/index.jsx @@ -62,6 +62,11 @@ const Software = () => { gatsbyImageData(layout: CONSTRAINED, height: 160) } }, + opal: file(relativePath: { eq: "Opal/Opal.png" }) { + childImageSharp { + gatsbyImageData(layout: CONSTRAINED, height: 160) + } + }, egld: file(relativePath: { eq: "Elrond/egld.png" }) { childImageSharp { gatsbyImageData(layout: CONSTRAINED, height: 160) @@ -123,6 +128,12 @@ const Software = () => { description: 'A simple and easy to use price calculator for Elrond (EGLD).', tags: ['egld', 'elrond', 'currency', 'Crypto'], image: imageData.egld.childImageSharp.gatsbyImageData, + }, { + name: 'Opal', + url: '/software/opal', + description: 'Opal is a free and open source music player that will help you relax. It runs on Windows and Linux.', + tags: ['Opal', 'music', 'relax', 'sound', 'relaxation', 'relaxing', 'linux'], + image: imageData.opal.childImageSharp.gatsbyImageData, }]; useEffect(() => { @@ -191,7 +202,7 @@ const Software = () => { {/* eslint-disable-next-line no-nested-ternary */} {searchResult && searchResult.length > 0 ? ( - + {searchResult} ) : searchValue && searchValue.length > 0 ? ( @@ -228,6 +239,14 @@ const Software = () => { image={applications.filter((item) => item.name === 'Advanced PassGen')[0].image} /> + + item.name === 'Advanced PortChecker')[0].name} + description={applications.filter((item) => item.name === 'Advanced PortChecker')[0].description} + url={applications.filter((item) => item.name === 'Advanced PortChecker')[0].url} + image={applications.filter((item) => item.name === 'Advanced PortChecker')[0].image} + /> + )} @@ -270,6 +289,14 @@ const Software = () => { image={applications.filter((item) => item.name === 'PK Finder')[0].image} /> + + item.name === 'DeadLock')[0].name} + description={applications.filter((item) => item.name === 'DeadLock')[0].description} + url={applications.filter((item) => item.name === 'DeadLock')[0].url} + image={applications.filter((item) => item.name === 'DeadLock')[0].image} + /> + )} @@ -294,18 +321,18 @@ const Software = () => { item.name === 'Advanced PortChecker')[0].name} - description={applications.filter((item) => item.name === 'Advanced PortChecker')[0].description} - url={applications.filter((item) => item.name === 'Advanced PortChecker')[0].url} - image={applications.filter((item) => item.name === 'Advanced PortChecker')[0].image} + name={applications.filter((item) => item.name === 'Opal')[0].name} + description={applications.filter((item) => item.name === 'Opal')[0].description} + url={applications.filter((item) => item.name === 'Opal')[0].url} + image={applications.filter((item) => item.name === 'Opal')[0].image} /> item.name === 'DeadLock')[0].name} - description={applications.filter((item) => item.name === 'DeadLock')[0].description} - url={applications.filter((item) => item.name === 'DeadLock')[0].url} - image={applications.filter((item) => item.name === 'DeadLock')[0].image} + name={applications.filter((item) => item.name === 'AniView')[0].name} + description={applications.filter((item) => item.name === 'AniView')[0].description} + url={applications.filter((item) => item.name === 'AniView')[0].url} + image={applications.filter((item) => item.name === 'AniView')[0].image} /> @@ -316,14 +343,6 @@ const Software = () => { image={applications.filter((item) => item.name === 'DeadPix')[0].image} /> - - item.name === 'AniView')[0].name} - description={applications.filter((item) => item.name === 'AniView')[0].description} - url={applications.filter((item) => item.name === 'AniView')[0].url} - image={applications.filter((item) => item.name === 'AniView')[0].image} - /> - item.name === 'EGLD Price Calculator')[0].name} diff --git a/src/pages/software/opal/index.jsx b/src/pages/software/opal/index.jsx new file mode 100644 index 0000000..423eecf --- /dev/null +++ b/src/pages/software/opal/index.jsx @@ -0,0 +1,257 @@ +import React, { useContext, useEffect } from 'react'; +import Grid from '@mui/material/Grid'; +import Typography from '@mui/material/Typography'; +import Divider from '@mui/material/Divider'; +import Container from '@mui/material/Container'; +import { GatsbyImage } from 'gatsby-plugin-image'; +import { graphql, useStaticQuery } from 'gatsby'; +import Button from '@mui/material/Button'; +import Card from '@mui/material/Card'; +import CardContent from '@mui/material/CardContent'; +import InfoIcon from '@mui/icons-material/Info'; +import GetAppIcon from '@mui/icons-material/GetApp'; +import PageHeader from '../../../components/PageHeader'; +import Layout from '../../../components/Layout'; +import { MainContext } from '../../../contexts/MainContextProvider'; +import { setPageIndex } from '../../../reducers/MainReducer/Actions'; + +const OpalPage = () => { + const [, dispatch] = useContext(MainContext); + const data = useStaticQuery(graphql` + query { + opal: file(relativePath: { eq: "Opal/Opal.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH) + } + }, + opalSettings: file(relativePath: { eq: "Opal/opal_settings.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH) + } + }, + opalTimer: file(relativePath: { eq: "Opal/opal_timer.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH) + } + } + }`); + + useEffect(() => { + dispatch(setPageIndex(-1)); + }, []); + + return ( + + + + + + + + {' '} + General + + + + + + + + + + + + + + + Simplicity + + + Select the sounds (14 relaxing tracks are available) that you want to hear, + turn them on and you can listen to and enjoy the music for as long as you + want, without interruption. + + + You can listen to the sound of: +
    +
  • Rain
  • +
  • Wind
  • +
  • Thunder
  • +
  • A river
  • +
  • Fire
  • +
  • Office background noises
  • +
  • And much much more
  • +
+
+
+ + + +
+
+
+
+ + + + + + + + + + + Timer + + + You can enable a timer to turn off all music after a specified amount of time. + An incredibly useful feature for when you are about to fall asleep. + + + + + + + + + + + + + + Cross platform + + + Opal is available for Linux and Windows and community builds for macOS are + also possible. All offering the same easy-to-use look and feel. + + + + + + + + + +
+ + + + + + {' '} + Download + + + + + + + + + + Windows + + + + + + + Linux + + + + + + + + + Extra + + + + + + + + + + + + + + + + + + + + + + +
+
+ ); +}; + +export default OpalPage; diff --git a/src/pages/software/opal/requirements/index.jsx b/src/pages/software/opal/requirements/index.jsx new file mode 100644 index 0000000..c5860cf --- /dev/null +++ b/src/pages/software/opal/requirements/index.jsx @@ -0,0 +1,133 @@ +import React, { useContext, useEffect } from 'react'; +import Table from '@mui/material/Table'; +import TableBody from '@mui/material/TableBody'; +import TableRow from '@mui/material/TableRow'; +import TableCell from '@mui/material/TableCell'; +import Container from '@mui/material/Container'; +import Grid from '@mui/material/Grid'; +import Typography from '@mui/material/Typography'; +import Divider from '@mui/material/Divider'; +import { Button, Card } from '@mui/material'; +import SecurityIcon from '@mui/icons-material/Security'; +import InfoIcon from '@mui/icons-material/Info'; +import CardContent from '@mui/material/CardContent'; +import TableContainer from '@mui/material/TableContainer'; +import PageHeader from '../../../../components/PageHeader'; +import Layout from '../../../../components/Layout'; +import { MainContext } from '../../../../contexts/MainContextProvider'; +import { setPageIndex } from '../../../../reducers/MainReducer/Actions'; + +const Requirements = () => { + const [, dispatch] = useContext(MainContext); + + useEffect(() => { + dispatch(setPageIndex(-1)); + }, []); + + return ( + + + + + + + + {' '} + General + + + + + + + + + + + + + + Operating System + + Windows 7 and later (x64), GNU/Linux (x64) + + + + Disk space + + At least 100MB + + + + Memory + At least 100MB free RAM memory + + + Internet connection + + Required in order to check for updates. This can be turned off in the + settings menu + + + +
+
+
+
+ + + + + + {' '} + Malware scan + + + + + + + + + + + Windows + + + + + + + Linux + + + + +
+
+ ); +}; + +export default Requirements; diff --git a/yarn.lock b/yarn.lock index d5eeab1..bb15a8a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4531,12 +4531,12 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.21.4": - version: 0.21.4 - resolution: "axios@npm:0.21.4" +"axios@npm:^0.22.0": + version: 0.22.0 + resolution: "axios@npm:0.22.0" dependencies: - follow-redirects: ^1.14.0 - checksum: 44245f24ac971e7458f3120c92f9d66d1fc695e8b97019139de5b0cc65d9b8104647db01e5f46917728edfc0cfd88eb30fc4c55e6053eef4ace76768ce95ff3c + follow-redirects: ^1.14.4 + checksum: 83dc4d02e180f69aa9f0d1d0d50b84ec3603517230d58b4c3720ebd440c7e64ea86c5e892dc6e19061608e8e1103504a709d8baa4051c4b7652101b523d04b63 languageName: node linkType: hard @@ -5450,7 +5450,7 @@ __metadata: "@emotion/styled": ^11.3.0 "@mui/icons-material": ^5.0.1 "@mui/material": ^5.0.2 - axios: ^0.21.4 + axios: ^0.22.0 eslint: ^7.32.0 eslint-config-airbnb: ^18.2.1 eslint-plugin-import: ^2.24.2 @@ -7951,13 +7951,13 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.14.0": - version: 1.14.3 - resolution: "follow-redirects@npm:1.14.3" +"follow-redirects@npm:^1.14.4": + version: 1.14.4 + resolution: "follow-redirects@npm:1.14.4" peerDependenciesMeta: debug: optional: true - checksum: b4d89339afd119b5e6fd92f0e81ae7d3621a5421af7d4a7d94539765c1d5546cf61d2f3219d40596e53c7c253307fbaf5dc772254aa9170fdfe1f9d7731732a9 + checksum: d4ce74cf5c6f363168b97e706b914eb9ffb6bf4d4c6d8f8330b93088d9b90e566611ddbcf0e42c8ed5fd17598dfeda1d19230d3e9d6d6c6b4d1c10ec3a0b99be languageName: node linkType: hard