Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pretty pages #533

Merged
merged 2 commits into from
Jan 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 67 additions & 12 deletions app/routes/ffxiv._index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import {
} from '@heroicons/react/outline'
import type { MetaFunction, LinksFunction } from '@remix-run/cloudflare'
import Banner from '~/components/Common/Banner'
import TileLink from '~/components/Common/TileLink'

// Overwrite default meta in the root.tsx
export const meta: MetaFunction = () => {
Expand Down Expand Up @@ -141,20 +140,76 @@ export default function Index() {
return (
<>
<main className="flex-1">
<Banner />
<div className="py-6">
<div className="max-w-7xl mx-auto px-4 sm:px-6 md:px-8">
<h1 className="text-2xl font-semibold text-blue-900 dark:text-gray-100">
FFXIV Market Board Tools for Gil Earning
{/* Hero Section */}
<section className="relative bg-gray-900">
<div className="absolute inset-0">
<img
className="w-full h-full object-cover opacity-50"
src="/images/hero-bg.jpg"
alt="Hero Background"
/>
<div className="absolute inset-0 bg-gradient-to-r from-purple-900 via-transparent to-blue-900 opacity-70"></div>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Consider making this div self-closing to address the static analysis hint.

Since it has no children, you can safely convert:

<div className="absolute inset-0 bg-gradient-to-r from-purple-900 via-transparent to-blue-900 opacity-70"></div>

into:

-<div className="absolute inset-0 bg-gradient-to-r from-purple-900 via-transparent to-blue-900 opacity-70"></div>
+<div className="absolute inset-0 bg-gradient-to-r from-purple-900 via-transparent to-blue-900 opacity-70" />
🧰 Tools
🪛 Biome (1.9.4)

[error] 151-151: JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

Unsafe fix: Use a SelfClosingElement instead

(lint/style/useSelfClosingElements)

🪛 GitHub Actions: Linters

[warning] Code formatting does not match Prettier standards. Run Prettier to fix formatting issues.

</div>
<div className="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-24 text-center">
<h1 className="text-5xl font-extrabold text-white">
FFXIV Market Board Tools
</h1>
<div
className={`not-prose my-12 grid grid-cols-1 gap-6 sm:grid-cols-2`}>
{ffxivPages.map((query) => {
return <TileLink key={query.name} {...query} />
})}
<p className="mt-4 text-xl text-gray-200">
Maximize your gil earnings with our advanced Market Board tools
</p>
<div className="mt-8 flex justify-center space-x-4">
<a
href="/queries/recommended"
className="inline-block bg-purple-600 hover:bg-purple-700 text-white font-semibold py-3 px-6 rounded-md shadow-md">
Cross-Server Reselling
</a>
<a
href="/ffxiv/marketshare/queries"
className="inline-block bg-blue-500 hover:bg-blue-600 text-white font-semibold py-3 px-6 rounded-md shadow-md">
Marketshare Overview
</a>
</div>
</div>
</div>
</section>

<Banner />

{/* Tools Grid Section */}
<section className="py-16 bg-gray-50">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-12">
<h2 className="text-base font-semibold text-purple-600 uppercase">
Tools & Features
</h2>
<p className="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
Everything You Need for Gil Making
</p>
</div>

<div className="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3">
{ffxivPages.map((query) => (
<a
key={query.name}
href={query.href}
target={query.external ? '_blank' : '_self'}
rel={query.external ? 'noopener noreferrer' : undefined}
className="block">
<div className="h-full p-6 bg-white rounded-lg shadow-lg hover:shadow-xl transition-shadow duration-300 hover:bg-purple-50">
<div className="flex items-center mb-4">
<query.Icon className="h-6 w-6 text-purple-500" />
<h3 className="ml-3 text-lg font-medium text-gray-900">
{query.name}
</h3>
</div>
<p className="text-gray-600">{query.description}</p>
</div>
</a>
))}
</div>
</div>
</section>
Comment on lines +143 to +210
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Run Prettier to align with project formatting standards.

The pipeline warns about formatting deviations. Please run Prettier locally to ensure consistent code style and pass the linter step.

🧰 Tools
🪛 Biome (1.9.4)

[error] 151-151: JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

Unsafe fix: Use a SelfClosingElement instead

(lint/style/useSelfClosingElements)

🪛 GitHub Actions: Linters

[warning] Code formatting does not match Prettier standards. Run Prettier to fix formatting issues.


{/* Hidden SEO content stays the same */}
<p style={{ fontSize: '1px' }}>
google keywords: ffxiv glamour, reddit ffxiv, ff14 mog station, ffxiv
classes, ffxiv modders, ffxiv modpacks, ffxiv download, ffxiv jobs,
Expand Down
78 changes: 67 additions & 11 deletions app/routes/queries._index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -141,20 +141,76 @@ export default function Index() {
return (
<>
<main className="flex-1">
<Banner />
<div className="py-6">
<div className="max-w-7xl mx-auto px-4 sm:px-6 md:px-8">
<h1 className="text-2xl font-semibold text-blue-900 dark:text-gray-100">
FFXIV Market Board Tools for Gil Earning
{/* Hero Section */}
<section className="relative bg-gray-900">
<div className="absolute inset-0">
<img
className="w-full h-full object-cover opacity-50"
src="/images/hero-bg.jpg"
alt="Hero Background"
/>
<div className="absolute inset-0 bg-gradient-to-r from-purple-900 via-transparent to-blue-900 opacity-70"></div>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Self-close this div for a cleaner structure.

You can remove the closing tag and replace it with a self-closing slash:

-<div className="absolute inset-0 bg-gradient-to-r from-purple-900 via-transparent to-blue-900 opacity-70"></div>
+<div className="absolute inset-0 bg-gradient-to-r from-purple-900 via-transparent to-blue-900 opacity-70" />
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<div className="absolute inset-0 bg-gradient-to-r from-purple-900 via-transparent to-blue-900 opacity-70"></div>
<div className="absolute inset-0 bg-gradient-to-r from-purple-900 via-transparent to-blue-900 opacity-70" />
🧰 Tools
🪛 Biome (1.9.4)

[error] 152-152: JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

Unsafe fix: Use a SelfClosingElement instead

(lint/style/useSelfClosingElements)

🪛 GitHub Actions: Linters

[warning] Code formatting does not match Prettier standards. Run Prettier to fix formatting issues.

</div>
<div className="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-24 text-center">
<h1 className="text-5xl font-extrabold text-white">
FFXIV Market Board Tools
</h1>
<div
className={`not-prose my-12 grid grid-cols-1 gap-6 sm:grid-cols-2`}>
{ffxivPages.map((query) => {
return <TileLink key={query.name} {...query} />
})}
<p className="mt-4 text-xl text-gray-200">
Maximize your gil earnings with our advanced Market Board tools
</p>
<div className="mt-8 flex justify-center space-x-4">
<a
href="/queries/recommended"
className="inline-block bg-purple-600 hover:bg-purple-700 text-white font-semibold py-3 px-6 rounded-md shadow-md">
Cross-Server Reselling
</a>
<a
href="/ffxiv/marketshare/queries"
className="inline-block bg-blue-500 hover:bg-blue-600 text-white font-semibold py-3 px-6 rounded-md shadow-md">
Marketshare Overview
</a>
</div>
</div>
</div>
</section>

<Banner />

{/* Tools Grid Section */}
<section className="py-16 bg-gray-50">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-12">
<h2 className="text-base font-semibold text-purple-600 uppercase">
Tools & Features
</h2>
<p className="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
Everything You Need for Gil Making
</p>
</div>

<div className="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3">
{ffxivPages.map((query) => (
<a
key={query.name}
href={query.href}
target={query.external ? '_blank' : '_self'}
rel={query.external ? 'noopener noreferrer' : undefined}
className="block">
<div className="h-full p-6 bg-white rounded-lg shadow-lg hover:shadow-xl transition-shadow duration-300 hover:bg-purple-50">
<div className="flex items-center mb-4">
<query.Icon className="h-6 w-6 text-purple-500" />
<h3 className="ml-3 text-lg font-medium text-gray-900">
{query.name}
</h3>
</div>
<p className="text-gray-600">{query.description}</p>
</div>
</a>
))}
</div>
</div>
</section>

Comment on lines +144 to +212
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Run Prettier to satisfy the pipeline checks.

Make sure to run Prettier locally before committing to fix any format mismatches.

🧰 Tools
🪛 Biome (1.9.4)

[error] 152-152: JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

Unsafe fix: Use a SelfClosingElement instead

(lint/style/useSelfClosingElements)

🪛 GitHub Actions: Linters

[warning] Code formatting does not match Prettier standards. Run Prettier to fix formatting issues.

{/* Hidden SEO content stays the same */}
<p style={{ fontSize: '1px' }}>
google keywords: ffxiv glamour, reddit ffxiv, ff14 mog station, ffxiv
classes, ffxiv modders, ffxiv modpacks, ffxiv download, ffxiv jobs,
Expand Down
84 changes: 72 additions & 12 deletions app/routes/wow._index.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DocumentSearchIcon } from '@heroicons/react/outline'
import Banner from '~/components/Common/Banner'
import TileLink from '~/components/Common/TileLink'
import type { MetaFunction, LinksFunction } from '@remix-run/node'

// Overwrite default meta in the root.tsx
export const meta: MetaFunction = () => {
Expand Down Expand Up @@ -151,20 +151,80 @@ export default function Index() {
return (
<>
<main className="flex-1">
<Banner />
<div className="py-6">
<div className="max-w-7xl mx-auto px-4 sm:px-6 md:px-8">
<h1 className="text-2xl font-semibold text-blue-900 dark:text-gray-100">
World of Warcraft Auction House tools for Gold Earning
{/* Hero Section */}
<section className="relative bg-gray-900">
<div className="absolute inset-0">
<img
className="w-full h-full object-cover opacity-50"
src="/images/hero-bg.jpg"
alt="Hero Background"
/>
<div className="absolute inset-0 bg-gradient-to-r from-blue-900 via-transparent to-blue-900 opacity-70"></div>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Make this div self-closing to match best practices.

If there are no children, you can safely self-close:

-<div className="absolute inset-0 bg-gradient-to-r from-blue-900 via-transparent to-blue-900 opacity-70"></div>
+<div className="absolute inset-0 bg-gradient-to-r from-blue-900 via-transparent to-blue-900 opacity-70" />
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<div className="absolute inset-0 bg-gradient-to-r from-blue-900 via-transparent to-blue-900 opacity-70"></div>
<div className="absolute inset-0 bg-gradient-to-r from-blue-900 via-transparent to-blue-900 opacity-70" />
🧰 Tools
🪛 Biome (1.9.4)

[error] 162-162: JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

Unsafe fix: Use a SelfClosingElement instead

(lint/style/useSelfClosingElements)

🪛 GitHub Actions: Linters

[warning] Code formatting does not match Prettier standards. Run Prettier to fix formatting issues.

</div>
<div className="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-24 text-center">
<h1 className="text-5xl font-extrabold text-white">
Azeroth Auction Assassin
</h1>
<div
className={`not-prose my-12 grid grid-cols-1 gap-6 sm:grid-cols-2`}>
{recommendedQueries.map((query) => {
return <TileLink key={query.name} {...query} />
})}
<p className="mt-4 text-xl text-gray-200">
Lightning-fast cross-realm auction sniper - Get the best deals seconds after they appear!
</p>
<div className="mt-8 flex justify-center space-x-4">
<a
href="https://github.com/ff14-advanced-market-search/AzerothAuctionAssassin/releases/latest"
target="_blank"
rel="noopener noreferrer"
className="inline-block bg-blue-600 hover:bg-blue-700 text-white font-semibold py-3 px-6 rounded-md shadow-md">
Download Now
</a>
<a
href="https://github.com/ff14-advanced-market-search/AzerothAuctionAssassin/blob/main/README.md"
target="_blank"
rel="noopener noreferrer"
className="inline-block bg-blue-500 hover:bg-blue-600 text-white font-semibold py-3 px-6 rounded-md shadow-md">
Learn More
</a>
</div>
</div>
</div>
</section>

<Banner />

{/* Tools Grid Section */}
<section className="py-16 bg-gray-50">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-12">
<h2 className="text-base font-semibold text-blue-600 uppercase">
Tools & Features
</h2>
<p className="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
Everything You Need for Gold Making
</p>
</div>

<div className="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3">
{recommendedQueries.map((query) => (
<a
key={query.name}
href={query.href}
target={query.external ? '_blank' : '_self'}
rel={query.external ? 'noopener noreferrer' : undefined}
className="block">
<div className="h-full p-6 bg-white rounded-lg shadow-lg hover:shadow-xl transition-shadow duration-300 hover:bg-blue-50">
<div className="flex items-center mb-4">
<query.Icon className="h-6 w-6 text-blue-500" />
<h3 className="ml-3 text-lg font-medium text-gray-900">
{query.name}
</h3>
</div>
<p className="text-gray-600">{query.description}</p>
</div>
</a>
))}
</div>
</div>
</section>

Comment on lines +154 to +226
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Run Prettier for consistent styling.

Please address the linter’s formatting warnings to ensure the code follows the project's Prettier conventions.

🧰 Tools
🪛 Biome (1.9.4)

[error] 162-162: JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

Unsafe fix: Use a SelfClosingElement instead

(lint/style/useSelfClosingElements)

🪛 GitHub Actions: Linters

[warning] Code formatting does not match Prettier standards. Run Prettier to fix formatting issues.

{/* Hidden SEO content - keep existing */}
<p style={{ fontSize: '1px' }}>
Google Keywords: wow classic hardcore addons, best sod addons wow, wow
classic hardcore addon, wow sod addons, wow coordinates addon, wow
Expand Down
Loading
Loading