diff --git a/src/components/download/banner.jsx b/src/components/download/banner.jsx
new file mode 100644
index 0000000..2cfd1a1
--- /dev/null
+++ b/src/components/download/banner.jsx
@@ -0,0 +1,12 @@
+import React from "react";
+
+function Banner() {
+ return (
+
+
For an archive of previous releases, please visit our SourceForge .
+
Looking for our docker images? Click here .
+
+ )
+}
+
+export default Banner;
\ No newline at end of file
diff --git a/src/components/download/selection.jsx b/src/components/download/selection.jsx
new file mode 100644
index 0000000..e0eb814
--- /dev/null
+++ b/src/components/download/selection.jsx
@@ -0,0 +1,60 @@
+import { useState } from 'react';
+import { genericContents, pineContents, rpiContents } from './downloads';
+import Banner from './banner';
+
+const DownloadSelection = () => {
+ const [selectedPlatform, setSelectedPlatform] = useState('generic');
+
+ // Function to render content based on selected platform
+ const renderContent = () => {
+ let contentArray = [];
+
+ if (selectedPlatform === 'generic') {
+ contentArray = genericContents;
+ } else if (selectedPlatform === 'pine') {
+ contentArray = pineContents;
+ } else if (selectedPlatform === 'rpi') {
+ contentArray = rpiContents;
+ }
+
+ return contentArray.map((content, index) => (
+
+
{content.title}
+
Kernel: {content.details.kernel}
+
Download Mirror: {content.details.downloadMirror}
+
Download Size: {content.details.downloadSize}
+
Source Code: {content.details.sourceCode}
+
{
+ navigator.clipboard.writeText(content.details.shasum);
+ alert('SHA256sum copied to clipboard!');
+ }} className="my-4 hover:scale-105 transition-all bg-rhino-purple text-white px-4 py-2 rounded-lg shadow-md">Copy SHA256sum
+ {content.details.login && (
+
Login: Username: {content.details.login.username} Password: {content.details.login.password}
+ )}
+
+ ));
+ };
+
+ return (
+
+
Select a platform:
+
setSelectedPlatform(e.target.value)}
+ className="block w-full mt-2 p-2 bg-indigo-950 text-white text-xl border-2 border-rhino-purple rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500"
+ >
+ Generic (x86_64/ARM64)
+ Pine64 (ARM64)
+ Raspberry Pi (ARM64)
+
+
+
+ {renderContent()}
+
+
+
+ );
+};
+
+export default DownloadSelection;
diff --git a/src/components/download/targetGeneric.jsx b/src/components/download/targetGeneric.jsx
deleted file mode 100644
index 62b7f9e..0000000
--- a/src/components/download/targetGeneric.jsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import React, { useState } from 'react';
-import { genericContents } from './downloads';
-import { motion, AnimatePresence } from 'framer-motion';
-
-function TargetGeneric() {
- const [openIndex, setOpenIndex] = useState(null);
-
- const toggleOpen = (index) => {
- setOpenIndex(openIndex === index ? null : index);
- };
-
- return (
-
- {genericContents.map((item, index) => (
-
-
toggleOpen(index)}
- >
-
{item.title}
-
-
- {openIndex === index && (
-
-
-
Download
-
Download Size: {item.details.downloadSize}
-
Included kernel: {item.details.kernel}
-
Source Code: {item.details.sourceCode}
- {item.details.login && (
-
-
Username: {item.details.login.username}
-
Password: {item.details.login.password}
-
- )}
-
SHA256sum: {item.details.shasum}
-
-
- )}
-
-
- ))}
-
- );
-}
-
-export default TargetGeneric;
\ No newline at end of file
diff --git a/src/components/download/targetPine.jsx b/src/components/download/targetPine.jsx
deleted file mode 100644
index 30a9f3a..0000000
--- a/src/components/download/targetPine.jsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import React, { useState } from 'react';
-import { pineContents } from './downloads';
-import { motion, AnimatePresence } from 'framer-motion';
-
-function TargetPine() {
- const [openIndex, setOpenIndex] = useState(null);
-
- const toggleOpen = (index) => {
- setOpenIndex(openIndex === index ? null : index);
- };
-
- return (
-
- {pineContents.map((item, index) => (
-
-
toggleOpen(index)}
- >
-
{item.title}
-
-
- {openIndex === index && (
-
-
-
Download
-
Download Size: {item.details.downloadSize}
-
Included kernel: {item.details.kernel}
-
Source Code: {item.details.sourceCode}
- {item.details.login && (
-
-
Username: {item.details.login.username}
-
Password: {item.details.login.password}
-
- )}
-
SHA256sum: {item.details.shasum}
-
-
- )}
-
-
- ))}
-
- );
-}
-
-export default TargetPine;
\ No newline at end of file
diff --git a/src/components/download/targetRpi.jsx b/src/components/download/targetRpi.jsx
deleted file mode 100644
index d089f9a..0000000
--- a/src/components/download/targetRpi.jsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import React, { useState } from 'react';
-import { rpiContents } from './downloads';
-import { motion, AnimatePresence } from 'framer-motion';
-
-function TargetRpi() {
- const [openIndex, setOpenIndex] = useState(null);
-
- const toggleOpen = (index) => {
- setOpenIndex(openIndex === index ? null : index);
- };
-
- return (
-
- {rpiContents.map((item, index) => (
-
-
toggleOpen(index)}
- >
-
{item.title}
-
-
- {openIndex === index && (
-
-
-
Download
-
Download Size: {item.details.downloadSize}
-
Included kernel: {item.details.kernel}
-
Source Code: {item.details.sourceCode}
- {item.details.login && (
-
-
Username: {item.details.login.username}
-
Password: {item.details.login.password}
-
- )}
-
SHA256sum: {item.details.shasum}
-
-
- )}
-
-
- ))}
-
- );
-}
-
-export default TargetRpi;
\ No newline at end of file
diff --git a/src/components/download/targetSelector.jsx b/src/components/download/targetSelector.jsx
deleted file mode 100644
index fcd0f93..0000000
--- a/src/components/download/targetSelector.jsx
+++ /dev/null
@@ -1,78 +0,0 @@
-import React, { useState } from "react";
-import TargetGeneric from "./targetGeneric";
-import TargetPine from "./targetPine";
-import TargetRpi from "./targetRpi";
-
-const targets = [
- {
- id: "generic",
- name: "Desktop",
- architecture: "x86_64/ARM64",
- image: "https://via.placeholder.com/150",
- },
- {
- id: "pine",
- name: "Pine64",
- architecture: "PinePhone/PineTab/PineTab2",
- image: "https://via.placeholder.com/150",
- },
- {
- id: "rpi",
- name: "Raspberry Pi",
- architecture: "Desktop/Server",
- image: "https://via.placeholder.com/150",
- },
-];
-
-const TargetSelector = () => {
- const [target, setTarget] = useState(null);
- const [buttonsVisible, setButtonsVisible] = useState(true);
-
- const handleButtonClick = (id) => {
- setTarget(id);
- setButtonsVisible(false);
- };
-
- const renderTarget = () => {
- switch (target) {
- case "generic":
- return ;
- case "pine":
- return ;
- case "rpi":
- return ;
- default:
- return null;
- }
- };
-
- return (
-
- {buttonsVisible && (
-
- {targets.map((target) => (
-
handleButtonClick(target.id)}
- className="flex flex-col items-center p-4 md:p-8 rounded-md border-2 border-rhino-purple hover:shadow-bxs hover:scale-105 transition-all"
- style={{ minWidth: "300px" }} // Ensure minimum width for each button
- >
-
- {target.name}
- ({target.architecture})
-
- ))}
-
- )}
-
{renderTarget()}
-
- );
-};
-
-
-
-export default TargetSelector;
diff --git a/src/components/home/developers.jsx b/src/components/home/developers.jsx
index 9dd8901..fc0bdc7 100644
--- a/src/components/home/developers.jsx
+++ b/src/components/home/developers.jsx
@@ -30,7 +30,7 @@ function Developers() {
))}
-
+
))}
diff --git a/src/components/home/hero.jsx b/src/components/home/hero.jsx
index b74c423..d4c1ca7 100644
--- a/src/components/home/hero.jsx
+++ b/src/components/home/hero.jsx
@@ -12,15 +12,15 @@ function Hero() {
The rolling release, Ubuntu-based distribution made by developers, for developers.
-
+
-
+
Learn More
-
+
Download
diff --git a/src/components/home/packages.jsx b/src/components/home/packages.jsx
index 86205ac..1e1d260 100644
--- a/src/components/home/packages.jsx
+++ b/src/components/home/packages.jsx
@@ -10,8 +10,8 @@ const data = [
],
image: "/img/home/rhino-pkg.webp",
link: {
- text: "Learn more about Pacstall →",
- url: "https://pacstall.dev"
+ text: "Learn more about rhino-pkg →",
+ url: "#"
},
}
]
diff --git a/src/pages/download.jsx b/src/pages/download.jsx
index 82a4751..370a674 100644
--- a/src/pages/download.jsx
+++ b/src/pages/download.jsx
@@ -1,7 +1,7 @@
import React from "react";
import Menu from "../components/navbar";
import Hero from "../components/download/hero";
-import TargetSelector from "../components/download/targetSelector";
+import Selection from "../components/download/selection";
import Footer from "../components/footer";
export default function Home() {
@@ -9,7 +9,7 @@ export default function Home() {
-
+
);
diff --git a/src/styles/globals.css b/src/styles/globals.css
index 12f4f38..3ae668a 100644
--- a/src/styles/globals.css
+++ b/src/styles/globals.css
@@ -6,5 +6,5 @@
body {
background-color: #13093c;
- font-family: "Ubuntu", sans-serif;
+ font-family: "Ubuntu", sans-serif !important;
}
\ No newline at end of file