mirror of
https://gitea.gofwd.group/dstrawsb/ballistic-builder.git
synced 2025-12-06 02:36:44 -05:00
lots of work
This commit is contained in:
@@ -1,37 +1,41 @@
|
||||
import { Button } from "@components/ui/button";
|
||||
import { getPSA, getLowerBuildKits, getProductType} from "@queries/PSA";
|
||||
import { getPSA, getLowerBuildKits, getProductType } from "@queries/PSA";
|
||||
import { psa } from '@db/schema/Psa';
|
||||
import partTypes from 'src/data/parts_cats.json';
|
||||
import styles from '../styles.module.css';
|
||||
import styles from '../styles.module.css';
|
||||
import PageHero from "@src/components/PageHero";
|
||||
|
||||
export default async function GripsPage() {
|
||||
const psa = await getProductType(partTypes["AR PARTS"]);
|
||||
export default async function BarrelsPage() {
|
||||
const psa = await getProductType('Barrels');
|
||||
|
||||
return (
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th>Component</th>
|
||||
<th>Manufacturer</th>
|
||||
<th>Model #</th>
|
||||
<th>Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td>{psa.category}</td>
|
||||
<td>{psa.brandName}</td>
|
||||
<td>{psa.modelnumber}</td>
|
||||
<td className="flex items-center gap-2">
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
<div>
|
||||
<PageHero title="Barrels" />
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th className='bg-slate-700 pl-2 w-40'>Component</th>
|
||||
<th className='bg-slate-700 w-40'>Manufacturer</th>
|
||||
<th className='bg-slate-700 w-40'>Model #</th>
|
||||
<th className='bg-slate-700 w-40'>Price</th>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td className='text-slate-800'>{psa.category}</td>
|
||||
<td className='text-slate-800'>{psa.brandName}</td>
|
||||
<td className='text-slate-800'>{psa.modelnumber}</td>
|
||||
<td className="text-slate-800 flex items-center gap-2">
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,37 +1,41 @@
|
||||
import { Button } from "@components/ui/button";
|
||||
import { getPSA, getLowerBuildKits, getProductType} from "@queries/PSA";
|
||||
import { getPSA, getLowerBuildKits, getGrips } from "@queries/PSA";
|
||||
import { psa } from '@db/schema/Psa';
|
||||
import partTypes from 'src/data/parts_cats.json';
|
||||
import styles from '../styles.module.css';
|
||||
import styles from '../styles.module.css';
|
||||
import PageHero from "@src/components/PageHero";
|
||||
|
||||
export default async function GripsPage() {
|
||||
const psa = await getProductType(partTypes["AR PARTS"]);
|
||||
const psa = await getGrips();
|
||||
|
||||
return (
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th>Component</th>
|
||||
<th>Manufacturer</th>
|
||||
<th>Model #</th>
|
||||
<th>Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td>{psa.category}</td>
|
||||
<td>{psa.brandName}</td>
|
||||
<td>{psa.modelnumber}</td>
|
||||
<td className="flex items-center gap-2">
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
<div>
|
||||
<PageHero title="AR Grips" />
|
||||
<div className="container mx-auto">
|
||||
<table className="table-auto border-collapse border-spacing-3 border border-slate-500">
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th className='bg-slate-700 pl-2 w-40'>Component</th>
|
||||
<th className='bg-slate-700 w-40'>Manufacturer</th>
|
||||
<th className='bg-slate-700 w-40'>Model #</th>
|
||||
<th className='bg-slate-700 w-20'>Price</th>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td className='text-slate-800 pl-2'>{psa.category}</td>
|
||||
<td className='text-slate-800'>{psa.brandName}</td>
|
||||
<td className='text-slate-800'>{psa.modelnumber}</td>
|
||||
<td className="text-slate-800 flex items-center gap-2">
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,37 +1,41 @@
|
||||
import { Button } from "@components/ui/button";
|
||||
import { getPSA, getLowerBuildKits, getProductType} from "@queries/PSA";
|
||||
import { getPSA, getLowerBuildKits, getARHandGuards } from "@queries/PSA";
|
||||
import { psa } from '@db/schema/Psa';
|
||||
import partTypes from 'src/data/parts_cats.json';
|
||||
import styles from '../styles.module.css';
|
||||
import styles from '../styles.module.css';
|
||||
import PageHero from "@src/components/PageHero";
|
||||
|
||||
export default async function GripsPage() {
|
||||
const psa = await getProductType(partTypes["AR PARTS"]);
|
||||
export default async function HamdGuardsPage() {
|
||||
const psa = await getARHandGuards();
|
||||
|
||||
return (
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th>Component</th>
|
||||
<th>Manufacturer</th>
|
||||
<th>Model #</th>
|
||||
<th>Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td>{psa.category}</td>
|
||||
<td>{psa.brandName}</td>
|
||||
<td>{psa.modelnumber}</td>
|
||||
<td className="flex items-center gap-2">
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
<div>
|
||||
<PageHero title="Hand Guards" />
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th className='bg-slate-700 pl-2 w-40'>Component</th>
|
||||
<th className='bg-slate-700 w-40'>Manufacturer</th>
|
||||
<th className='bg-slate-700 w-40'>Model #</th>
|
||||
<th className='bg-slate-700 w-40'>Price</th>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td className='text-slate-800'>{psa.category}</td>
|
||||
<td className='text-slate-800'>{psa.brandName}</td>
|
||||
<td className='text-slate-800'>{psa.modelnumber}</td>
|
||||
<td className='text-slate-800 flex items-center gap-2'>
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Button } from "@components/ui/button";
|
||||
import { getPSA, getLowerBuildKits, getARCompleteLowers, getProductType } from "@queries/PSA";
|
||||
import { getARCompleteLowers, getProductType } from "@queries/PSA";
|
||||
import partTypes from 'src/data/parts_cats.json';
|
||||
import { psa } from "@db/schema/Psa";
|
||||
import styles from "../styles.module.css";
|
||||
|
||||
@@ -1,37 +1,41 @@
|
||||
import { Button } from "@components/ui/button";
|
||||
import { getPSA, getLowerBuildKits, getProductType} from "@queries/PSA";
|
||||
import { getMuzzleDevices } from "@queries/PSA";
|
||||
import { psa } from '@db/schema/Psa';
|
||||
import partTypes from 'src/data/parts_cats.json';
|
||||
import styles from '../styles.module.css';
|
||||
import styles from '../styles.module.css';
|
||||
import PageHero from "@src/components/PageHero";
|
||||
|
||||
export default async function GripsPage() {
|
||||
const psa = await getProductType(partTypes["AR PARTS"]);
|
||||
export default async function MuzzleDevices() {
|
||||
const psa = await getMuzzleDevices();
|
||||
|
||||
return (
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th>Component</th>
|
||||
<th>Manufacturer</th>
|
||||
<th>Model #</th>
|
||||
<th>Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td>{psa.category}</td>
|
||||
<td>{psa.brandName}</td>
|
||||
<td>{psa.modelnumber}</td>
|
||||
<td className="flex items-center gap-2">
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
<div>
|
||||
<PageHero title="Muzzle Devices" />
|
||||
<div className="container mx-auto">
|
||||
<table className="table-auto border-separate border-spacing-4 border border-slate-500">
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th className='bg-slate-700 pl-2 w-40'>Component</th>
|
||||
<th className='bg-slate-700 w-40'>Manufacturer</th>
|
||||
<th className='bg-slate-700 w-40'>Model #</th>
|
||||
<th className='bg-slate-700 w-20'>Price</th>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td className='text-slate-800'>{psa.category}</td>
|
||||
<td className='text-slate-800'>{psa.brandName}</td>
|
||||
<td className='text-slate-800'>{psa.modelnumber}</td>
|
||||
<td className='text-slate-800 flex items-center gap-2'>
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,37 +1,41 @@
|
||||
import { Button } from "@components/ui/button";
|
||||
import { getPSA, getLowerBuildKits, getProductType} from "@queries/PSA";
|
||||
import { getStocks } from "@queries/PSA";
|
||||
import { psa } from '@db/schema/Psa';
|
||||
import partTypes from 'src/data/parts_cats.json';
|
||||
import styles from '../styles.module.css';
|
||||
import styles from '../styles.module.css';
|
||||
import PageHero from "@src/components/PageHero";
|
||||
|
||||
export default async function GripsPage() {
|
||||
const psa = await getProductType(partTypes["AR PARTS"]);
|
||||
export default async function StocksPage() {
|
||||
const psa = await getStocks();
|
||||
|
||||
return (
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th>Component</th>
|
||||
<th>Manufacturer</th>
|
||||
<th>Model #</th>
|
||||
<th>Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td>{psa.category}</td>
|
||||
<td>{psa.brandName}</td>
|
||||
<td>{psa.modelnumber}</td>
|
||||
<td className="flex items-center gap-2">
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
<div>
|
||||
<PageHero title="Stocks" />
|
||||
<div className="container mx-auto">
|
||||
<table className="table-auto border-separate border-spacing-4 border border-slate-500">
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th className='bg-slate-700 pl-2 w-40'>Component</th>
|
||||
<th className='bg-slate-700 w-40'>Manufacturer</th>
|
||||
<th className='bg-slate-700 w-40'>Model #</th>
|
||||
<th className='bg-slate-700 w-20'>Price</th>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td className='text-slate-800'>{psa.category}</td>
|
||||
<td className='text-slate-800'>{psa.brandName}</td>
|
||||
<td className='text-slate-800'>{psa.modelnumber}</td>
|
||||
<td className='text-slate-800 flex items-center gap-2'>
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -6,4 +6,7 @@
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
background-color: cadetblue;
|
||||
}
|
||||
.td {
|
||||
color : "stone-700";
|
||||
}
|
||||
@@ -1,30 +1,33 @@
|
||||
import { Button } from "@components/ui/button";
|
||||
import { getPSA, getLowerBuildKits, getProductType} from "@queries/PSA";
|
||||
import { getARTriggers} from "@queries/PSA";
|
||||
import { psa } from '@db/schema/Psa';
|
||||
import partTypes from 'src/data/parts_cats.json';
|
||||
import styles from '../styles.module.css';
|
||||
import PageHero from "@src/components/PageHero";
|
||||
|
||||
export default async function GripsPage() {
|
||||
const psa = await getProductType(partTypes["AR PARTS"]);
|
||||
export default async function TriggersPage() {
|
||||
const psa = await getARTriggers();
|
||||
|
||||
return (
|
||||
<div>
|
||||
<PageHero title="AR Triggers" />
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th>Component</th>
|
||||
<th>Manufacturer</th>
|
||||
<th>Model #</th>
|
||||
<th>Price</th>
|
||||
<th className='bg-slate-700 w-40 pl-2'>Component</th>
|
||||
<th className='bg-slate-700 w-40'>Manufacturer</th>
|
||||
<th className='bg-slate-700 w-40'>Model #</th>
|
||||
<th className='bg-slate-700 w-40'>Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td>{psa.category}</td>
|
||||
<td>{psa.brandName}</td>
|
||||
<td>{psa.modelnumber}</td>
|
||||
<td className="flex items-center gap-2">
|
||||
<td className='text-slate-800'>{psa.category}</td>
|
||||
<td className='text-slate-800'>{psa.brandName}</td>
|
||||
<td className='text-slate-800'>{psa.modelnumber}</td>
|
||||
<td className='text-slate-800 flex items-center gap-2'>
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
@@ -33,5 +36,6 @@ export default async function GripsPage() {
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,36 +1,40 @@
|
||||
import { Button } from "@components/ui/button";
|
||||
import { getPSA, getLowerBuildKits, getAKBarreledReceivers } from "@queries/PSA";
|
||||
import { getPSA, getUpperReciever } from "@queries/PSA";
|
||||
import { psa } from '@db/schema/Psa';
|
||||
import styles from '../styles.module.css';
|
||||
import styles from '../styles.module.css';
|
||||
import PageHero from "@src/components/PageHero";
|
||||
|
||||
export default async function LowerReceiverPage() {
|
||||
const psa = await getLowerBuildKits();
|
||||
export default async function UpperReceiverPage() {
|
||||
const psa = await getUpperReciever();
|
||||
|
||||
return (
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th>Component</th>
|
||||
<th>Manufacturer</th>
|
||||
<th>Model #</th>
|
||||
<th>Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td>{psa.category}</td>
|
||||
<td>{psa.brandName}</td>
|
||||
<td>{psa.modelnumber}</td>
|
||||
<td className="flex items-center gap-2">
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
<div>
|
||||
<PageHero title="Upper Recievers" />
|
||||
<div className="container mx-auto">
|
||||
<table className={"table-auto border-separate border-spacing-4 border border-slate-500"}>
|
||||
<thead>
|
||||
<tr className={styles.tr}>
|
||||
<th className='bg-slate-700 w-40 pl-2'>Component</th>
|
||||
<th className='bg-slate-700 w-40'>Manufacturer</th>
|
||||
<th className='bg-slate-700 w-40'>Model #</th>
|
||||
<th className='bg-slate-700 w-20'>Price</th>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
<tbody>
|
||||
{psa.map((psa) => (
|
||||
<tr key={psa.upc}>
|
||||
<td className='text-slate-800'>{psa.category}</td>
|
||||
<td className='text-slate-800'>{psa.brandName}</td>
|
||||
<td className='text-slate-800'>{psa.modelnumber}</td>
|
||||
<td className='text-slate-800 flex items-center gap-2'>
|
||||
${Number(psa.salePrice).toFixed(2)}
|
||||
<Button variant="outline">Buy</Button>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user