Skip to content

Commit

Permalink
Merge branch 'master' into snyk-upgrade-57415c8e8ab786411fe0695e5b23d55e
Browse files Browse the repository at this point in the history
  • Loading branch information
cohenaj194 authored Jul 4, 2024
2 parents 3f21b73 + 1d131b1 commit ecc7f01
Show file tree
Hide file tree
Showing 14 changed files with 1,221 additions and 49 deletions.
34 changes: 24 additions & 10 deletions app/components/navigation/sidebar/Sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@ import {
CogIcon,
MenuAlt2Icon,
XIcon,
DocumentTextIcon,
DocumentSearchIcon,
ChevronUpIcon,
ChevronDownIcon,
PencilAltIcon,
SearchIcon,
ExclamationCircleIcon,
ShoppingCartIcon
ShoppingCartIcon,
ExternalLinkIcon
} from '@heroicons/react/outline'
import {
Form,
Expand All @@ -31,6 +33,7 @@ import GithubIcon from '~/icons/GithubIcon'
import FlatWoWIcon from '~/icons/FlatWowIcon'
import FlatFFXIVIcon from '~/icons/FlatFFXIVIcon'
import DiscordIcon from '~/icons/DiscordIcon'
import YoutubeIcon from '~/icons/YoutubeIcon'
import type { LoaderData } from '~/root'
import DebouncedSelectInput from '~/components/Common/DebouncedSelectInput'
import {
Expand Down Expand Up @@ -118,7 +121,7 @@ const navGroups: Array<{
links: [
{
name: 'Guides and Tutorials',
href: 'https://github.com/ff14-advanced-market-search/saddlebag-with-pockets/wiki#game-guides',
href: 'https://github.com/ff14-advanced-market-search/saddlebag-with-pockets/wiki#ffxiv-alert-guides',
icon: DocumentSearchIcon,
external: true
},
Expand All @@ -140,7 +143,7 @@ const navGroups: Array<{
{
name: 'Shopping List',
href: 'ffxiv/shopping-list',
icon: PencilAltIcon
icon: ShoppingCartIcon
},
{
name: 'Listings Comparison and Competition Metrics',
Expand Down Expand Up @@ -197,13 +200,13 @@ const navGroups: Array<{
links: [
{
name: 'Guides and Tutorials',
href: 'https://github.com/ff14-advanced-market-search/saddlebag-with-pockets/wiki#game-guides',
href: 'https://github.com/ff14-advanced-market-search/saddlebag-with-pockets/wiki#wow-general-guides',
icon: DocumentSearchIcon,
external: true
},
{
name: 'Azeroth Auction Assassin Sniper',
href: 'https://github.com/ff14-advanced-market-search/AzerothAuctionAssassin/releases/latest',
href: 'https://github.com/ff14-advanced-market-search/AzerothAuctionAssassin/blob/main/README.md',
icon: DocumentSearchIcon,
external: true
},
Expand Down Expand Up @@ -263,7 +266,12 @@ const navGroups: Array<{
name: 'Pet Marketshare Overview',
href: '/wow/pet-marketshare',
icon: ChartSquareBarIcon
},
}
]
},
{
title: 'WoW Experimental Tools',
links: [
{
name: 'Server Transfer Trading Search',
href: '/wow/full-scan',
Expand Down Expand Up @@ -319,6 +327,12 @@ const navGroups: Array<{
external: true,
icon: GithubIcon
},
{
name: 'YouTube',
href: 'https://www.youtube.com/@saddlebagexchange704',
external: true,
icon: YoutubeIcon
},
{
name: 'blog',
href: '/blog',
Expand All @@ -327,24 +341,24 @@ const navGroups: Array<{
{
name: 'List of all WoW Items',
href: '/wow/itemlist',
icon: DocumentSearchIcon
icon: DocumentTextIcon
},
{
name: 'List of all FFXIV Items',
href: '/ffxiv/itemlist',
icon: DocumentSearchIcon
icon: DocumentTextIcon
},
{
name: 'Fandom',
href: 'https://ffxivmarketboard.fandom.com/wiki/Ffxivmarketboard_Wiki',
external: true,
icon: DocumentSearchIcon
icon: ExternalLinkIcon
},
{
name: 'Discord Webpage',
href: 'https://discord.com/servers/saddlebag-exchange-973380473281724476',
external: true,
icon: DocumentSearchIcon
icon: DiscordIcon
}
]
}
Expand Down
20 changes: 20 additions & 0 deletions app/icons/YoutubeIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import type { FC, PropsWithChildren } from 'react'

type SVGProps = PropsWithChildren<{ className: string }>

const YoutubeIcon: FC<SVGProps> = (props) => {
return (
<svg
className={props.className}
viewBox="0 0 24 24"
height={`1em`}
width={`1em`}
stroke="currentColor"
fill="currentColor"
xmlns="http://www.w3.org/2000/svg">
<path d="M23.498 6.186a2.999 2.999 0 0 0-2.11-2.11C19.396 3.5 12 3.5 12 3.5s-7.396 0-9.388.576a2.999 2.999 0 0 0-2.11 2.11C0 8.178 0 12 0 12s0 3.822.502 5.814a2.999 2.999 0 0 0 2.11 2.11C4.604 20.5 12 20.5 12 20.5s7.396 0 9.388-.576a2.999 2.999 0 0 0 2.11-2.11C24 15.822 24 12 24 12s0-3.822-.502-5.814zM9.75 15.568V8.432L15.75 12l-6 3.568z" />
</svg>
)
}

export default YoutubeIcon
7 changes: 6 additions & 1 deletion app/routes/[sitemap.xml].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export const loader: LoaderFunction = async () => {
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc>https://saddlebagexchange.com/</loc>
<lastmod>2024-05-07T00:27:48+00:00</lastmod>
<lastmod>2024-06-21T00:27:48+00:00</lastmod>
<priority>1.00</priority>
</url>
<url>
Expand Down Expand Up @@ -126,6 +126,11 @@ export const loader: LoaderFunction = async () => {
<lastmod>2024-05-07T00:27:48+00:00</lastmod>
<priority>0.80</priority>
</url>
<url>
<loc>https://saddlebagexchange.com/wow/marketshare/recommended</loc>
<lastmod>2024-06-21T00:27:48+00:00</lastmod>
<priority>0.80</priority>
</url>
<url>
<loc>https://saddlebagexchange.com/wow/shortage-predictor</loc>
<lastmod>2024-05-07T00:27:48+00:00</lastmod>
Expand Down
19 changes: 15 additions & 4 deletions app/routes/_public._index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import TileLink from '~/components/Common/TileLink'
export const meta: MetaFunction = () => {
return {
charset: 'utf-8',
title: `SaddleBag Exchange: FFXIV MarketBoard Prices, WoW Gold`,
title: `SaddleBag Exchange: FFXIV Market Board Prices, WoW Gold`,
viewport: 'width=device-width,initial-scale=1',
description:
'SaddleBag Exchange: An MMO market data analysis engine for the WoW Auctionhouse, FFXIV Marketboard and more! ff14 market board, ff14 marketboard prices, ffxiv market board, ffxiv market board prices, ffxiv marketboard, xiv analysis, wow Auctionhouse, wow goldmaking, wow gold',
'SaddleBag Exchange: An MMO market data analysis engine for the WoW Auction House, FFXIV Market Board and more! ff14 market board, ff14 marketboard prices, ffxiv market board, ffxiv market board prices, ffxiv marketboard, xiv analysis, wow Auctionhouse, wow goldmaking, wow gold',
customHeading: 'Explore MMO Market Data with SaddleBag Exchange'
}
}
Expand Down Expand Up @@ -102,10 +102,19 @@ export default function Index() {
Cross-Server Reselling Tool.
</a>
</li>
<li>
Discover what items earn the most gil and sell the fastest
with our {' '}
<a
href="https://saddlebagexchange.com/ffxiv/marketshare/queries"
className="text-blue-600 underline">
Marketshare Overview Tool.
</a>
</li>
<li>
Explore lucrative crafting opportunities with our{' '}
<a
href="https://saddlebagexchange.com/queries/recommended"
href="https://saddlebagexchange.com/ffxiv/craftsim/queries"
className="text-blue-600 underline">
Crafting Profit Simulations.
</a>
Expand Down Expand Up @@ -297,7 +306,9 @@ export default function Index() {
character search, final fantasy xiv sale, universalis ffxiv, choco
bo, xiv server status, final fantasy 14 online server status,
marketboard ffxiv, final fantasy 14 market board, ff14
maintenance, ffxiv server status.
maintenance, ffxiv server status, ffxiah, green hills of
stranglethorn, ff14 hairstyles, loque'nahak, housing lottery,
ffxiv auction house tracker.
</p>
</div>
</div>
Expand Down
6 changes: 3 additions & 3 deletions app/routes/queries._index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ export const meta: MetaFunction = () => {
return {
charset: 'utf-8',
viewport: 'width=device-width,initial-scale=1',
title: 'Saddlebag Exchange: FFXIV tools',
description: 'Saddlebag Exchange: FFXIV tools'
title: 'Saddlebag Exchange: FFXIV Market Board Tools',
description: 'Saddlebag Exchange: FFXIV MarketBoard Tools'
}
}

Expand Down Expand Up @@ -149,7 +149,7 @@ export default function Index() {
board, ffxiv patch notes, final fantasy 14 reddit, ffxiv fanfest,
ffxiv msq list, ffxiv character search, ffxiv fafnir, universalis
ffxiv, ffxiv maintenance jan 15, ffxiv relic weapons, r ffxiv, relic
weapons ffxiv, character search ffxiv
weapons ffxiv, character search ffxiv, FFXIVAH
</p>
</main>
</>
Expand Down
2 changes: 1 addition & 1 deletion app/routes/wow._index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const recommendedQueries = [
description:
'Try our standalone Azeroth Auction Assassin Sniper, designed to snipe across all realms for the best deals seconds after the Blizzard AH API updates so you get there first!',
Icon: DocumentSearchIcon,
href: 'https://github.com/ff14-advanced-market-search/AzerothAuctionAssassin/releases/latest',
href: 'https://github.com/ff14-advanced-market-search/AzerothAuctionAssassin/blob/main/README.md',
external: true
},
{
Expand Down
17 changes: 15 additions & 2 deletions app/routes/wow.legacy-marketshare.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import type { ColumnList } from '~/components/types'
import { getOribosLink } from '~/components/utilities/getOribosLink'
import { getSaddlebagWoWLink } from '~/components/utilities/getSaddlebagWoWLink'
import DebouncedInput from '~/components/Common/DebouncedInput'
import CSVButton from '~/components/utilities/CSVButton'

const inputMap: Record<string, string> = {
homeRealmId: 'Home Realm',
Expand Down Expand Up @@ -317,6 +318,13 @@ const Results = ({
const chartData = getChartData(data, sortBy)

const columnList = getColumnList(region, server)

// Define the columns for the CSV
const csvColumns = columnList.map(({ columnId, header }) => ({
title: header,
value: columnId
}))

return (
<PageWrapper>
<Title title={pageTitle} />
Expand Down Expand Up @@ -349,12 +357,17 @@ const Results = ({
</>
</ContentContainer>

<div className="hidden sm:flex w-full justify-end">
<div className="flex justify-between">
<CSVButton
filename="legacy_marketshare.csv"
data={data}
columns={csvColumns}
/>
<DebouncedInput
onDebouncedChange={(value) => {
setGlobalFilter(value)
}}
className={'p-2 rounded-md'}
className={'hidden sm:block p-2 rounded-md'}
placeholder={'Search...'}
/>
</div>
Expand Down
24 changes: 12 additions & 12 deletions app/routes/wow.marketshare.recommended.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -88,17 +88,17 @@ const recommendedQueries = [
href: searchParams.legacy
},
{
name: 'Default Single Realm',
description: 'See what items make the most gold on your realm.',
name: 'High Value Sales Single Realm',
description: 'Find items that have a high sales price on your realm.',
Icon: DocumentSearchIcon,
href: searchParams.defaultSingleRealm
href: searchParams.valueSalesSingleRealm
},
{
name: 'Default Commodity Realm',
name: 'High Value Commodities',
description:
'See what items make the most gold on your region wide commodity market.',
'Identify commodities that have a high sales price on the region-wide market.',
Icon: DocumentSearchIcon,
href: searchParams.defaultCommodity
href: searchParams.valueCommodities
},
{
name: 'Fast Sales Single Realm',
Expand All @@ -114,17 +114,17 @@ const recommendedQueries = [
href: searchParams.fastCommodities
},
{
name: 'High Value Sales Single Realm',
description: 'Find items that have a high sales price on your realm.',
name: 'Default Single Realm',
description: 'See what items make the most gold on your realm.',
Icon: DocumentSearchIcon,
href: searchParams.valueSalesSingleRealm
href: searchParams.defaultSingleRealm
},
{
name: 'High Value Commodities',
name: 'Default Commodity Realm',
description:
'Identify commodities that have a high sales price on the region-wide market.',
'See what items make the most gold on your region wide commodity market.',
Icon: DocumentSearchIcon,
href: searchParams.valueCommodities
href: searchParams.defaultCommodity
},
{
name: 'Toys',
Expand Down
4 changes: 3 additions & 1 deletion app/routes/wow.region-undercut.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ const itemAuction = z.object({

const validateInput = z.array(
z.object({
homeRealmName: z.string(),
homeRealmName: z.union([z.string(), z.number()]), // Accepts both string and number
region: z.string(),
user_auctions: z.array(z.union([petAuction, itemAuction]))
})
Expand All @@ -67,7 +67,9 @@ export const action: ActionFunction = async ({ request }) => {

try {
const parsedInput = JSON.parse(input)
// console.log(parsedInput)
const validInput = validateInput.safeParse(parsedInput)
// console.log(validInput)

if (!validInput.success) {
throw new Error('Invalid input')
Expand Down
Loading

0 comments on commit ecc7f01

Please sign in to comment.