Skip to content
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
45 changes: 0 additions & 45 deletions .github/workflows/actions.yml

This file was deleted.

55 changes: 55 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Deploy to GitHub Pages

on:
push:
branches:
- deployment # Change to 'home-page-redesign' if deploying from that branch
workflow_dispatch: # Allows manual triggering

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './dist'

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build

steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
59 changes: 59 additions & 0 deletions App.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import React from 'react';
import { HashRouter, Routes, Route, useLocation } from 'react-router-dom';
import HomePage from './components/HomePage';
import ThemeGallery from './components/ThemeGallery';
import ThemeDetailView from './components/ThemeDetailView';
import PaletteView from './components/PaletteView';
import AIAssistant from './components/AIAssistant';

const AppContent: React.FC = () => {
const location = useLocation();
const isHomePage = location.pathname === '/';

return (
<div className={`w-screen h-screen flex flex-col relative ${isHomePage ? 'bg-white' : 'bg-black'}`}>
<main className={`flex-grow w-full ${isHomePage ? 'overflow-hidden' : 'overflow-y-auto overflow-x-hidden'}`}>
<Routes>
<Route path="/" element={<HomePage />} />
<Route path="/projects" element={
<div className="w-full px-4 md:px-8 py-8">
<ThemeGallery />
</div>
} />
<Route path="/theme/:software" element={
<div className="w-full px-4 md:px-8 py-8">
<ThemeDetailView />
</div>
} />
<Route path="/palette" element={
<div className="w-full px-4 md:px-8 py-8">
<PaletteView />
</div>
} />
</Routes>
</main>

{isHomePage ? null : (
<footer className="mt-auto py-8 bg-black border-t-4 border-purple-600 w-full">
<div className="container mx-auto px-4 text-center">
<p className="manga-font text-xl text-purple-400">
BLOSSOMTHEME &copy; 2026
</p>
<div className="flex justify-center space-x-4 mt-4">
<a href="https://github.com/BlossomTheme" className="hover:text-pink-500 transition-colors font-bold uppercase tracking-widest text-xs">GITHUB</a>
<a href="https://github.com/BlossomTheme/BlossomTheme" className="hover:text-pink-500 transition-colors font-bold uppercase tracking-widest text-xs">DOCS</a>
</div>
</div>
</footer>
)}
</div>
);
};

const App: React.FC = () => (
<HashRouter>
<AppContent />
</HashRouter>
);

export default App;
Loading