From 9c3024c61d3296db4c1973c6787d92cc84298206 Mon Sep 17 00:00:00 2001 From: sHa Date: Sun, 27 Apr 2025 16:55:23 +0300 Subject: [PATCH] feat: Initialize Svelte application with logo gallery functionality - Add Rollup configuration for building and serving the application. - Implement logo scanning script to generate logos.json from logo files. - Create main App component to manage logo display and search functionality. - Develop LogoGrid and LogoList components for different viewing modes. - Add LogoModal component for logo preview with details. - Implement URL copying and logo downloading features. - Style components for improved user experience and responsiveness. --- .gitignore | 53 +++++++++ DEVELOPMENT.md | 131 ++++++++++++++++++++ Dockerfile | 26 ++++ Dockerfile.dev | 15 +++ Makefile | 81 +++++++++++++ README.md | 96 +++++++++++++++ compose.dev.yml | 20 ++++ compose.yml | 10 ++ package.json | 24 ++++ public/data/logos.json | 56 +++++++++ public/global.css | 102 ++++++++++++++++ public/index.html | 14 +++ public/logos/apple_black.svg | 1 + public/logos/atb.svg | 31 +++++ public/logos/binance.svg | 1 + public/logos/dalnoboy-service.svg | 1 + public/logos/google.svg | 8 ++ public/logos/privatbank.png | Bin 0 -> 73843 bytes public/logos/pumb.png | Bin 0 -> 18220 bytes public/logos/roomerin.svg | 1 + public/logos/shkafnik.png | Bin 0 -> 46755 bytes rollup.config.js | 78 ++++++++++++ scripts/scanLogos.js | 107 +++++++++++++++++ src/App.svelte | 191 ++++++++++++++++++++++++++++++ src/components/LogoGrid.svelte | 121 +++++++++++++++++++ src/components/LogoList.svelte | 150 +++++++++++++++++++++++ src/components/LogoModal.svelte | 143 ++++++++++++++++++++++ src/main.js | 7 ++ 28 files changed, 1468 insertions(+) create mode 100644 .gitignore create mode 100644 DEVELOPMENT.md create mode 100644 Dockerfile create mode 100644 Dockerfile.dev create mode 100644 Makefile create mode 100644 README.md create mode 100644 compose.dev.yml create mode 100644 compose.yml create mode 100644 package.json create mode 100644 public/data/logos.json create mode 100644 public/global.css create mode 100644 public/index.html create mode 100644 public/logos/apple_black.svg create mode 100644 public/logos/atb.svg create mode 100644 public/logos/binance.svg create mode 100644 public/logos/dalnoboy-service.svg create mode 100644 public/logos/google.svg create mode 100644 public/logos/privatbank.png create mode 100644 public/logos/pumb.png create mode 100644 public/logos/roomerin.svg create mode 100644 public/logos/shkafnik.png create mode 100644 rollup.config.js create mode 100644 scripts/scanLogos.js create mode 100644 src/App.svelte create mode 100644 src/components/LogoGrid.svelte create mode 100644 src/components/LogoList.svelte create mode 100644 src/components/LogoModal.svelte create mode 100644 src/main.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4c331f --- /dev/null +++ b/.gitignore @@ -0,0 +1,53 @@ +# Node.js dependencies +node_modules/ +npm-debug.log +yarn-debug.log +yarn-error.log +package-lock.json +yarn.lock + +# Build output +public/build/ + +# macOS specific files +.DS_Store +.AppleDouble +.LSOverride +._* +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# Docker related +.docker/ +*.log + +# Editor directories and files +.idea/ +.vscode/ +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# Svelte related +.svelte-kit/ + +# Environment variables +.env +.env.local +.env.development +.env.test +.env.production diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md new file mode 100644 index 0000000..de83028 --- /dev/null +++ b/DEVELOPMENT.md @@ -0,0 +1,131 @@ +# Logo Gallery - Developer Documentation + +This document provides instructions for developers working on the Logo Gallery project. + +## Project Overview + +Logo Gallery is a web application that displays a collection of company and brand logos with the following features: +- Grid and list views of logos +- Search functionality +- Direct URL copying for each logo +- Download capability +- Responsive design + +The project is built with: +- Svelte for the front-end UI +- Node.js for script automation +- Docker for containerization +- GitHub Pages for deployment + +## Development Environment Setup + +### Prerequisites + +- Docker and Docker Compose +- Git + +No local Node.js installation is required as all operations run inside Docker containers. + +### Getting Started + +1. Clone the repository: + ``` + git clone https://github.com/yourusername/logos.git + cd logos + ``` + +2. Build and start the application: + ``` + make build + make start + ``` + +3. Access the application at http://localhost:5005 + +## Common Development Tasks + +### Adding New Logos + +1. Add logo files (SVG or PNG preferred) to the `public/logos/` directory +2. Scan the logos directory and update the data file: + ``` + make scan-logos-dev + ``` + (This runs `npm run scan-logos` inside the dev container) +3. The application will automatically rebuild with the new logos + +### Modifying the UI + +1. Edit files in the `src/` directory +2. The changes will require a rebuild: + ``` + make rebuild + ``` + +### Running Custom Commands + +To run any npm or shell command inside the Docker container: +``` +make run CMD="your-command-here" +``` + +Examples: +- List logo files: `make run CMD="ls -la public/assets/logos"` +- Run a specific npm script: `make run CMD="npm run some-script"` + +## Project Structure + +``` +logos/ +├── public/ # Static assets +│ ├── assets/ +│ │ └── logos/ # Logo files (SVG, PNG) +│ ├── data/ # JSON data files +│ ├── build/ # Compiled JS/CSS (generated) +│ └── global.css # Global styles +├── src/ # Application source code +│ ├── components/ # Svelte components +│ ├── App.svelte # Main app component +│ └── main.js # App entry point +├── scripts/ # Utility scripts +├── Dockerfile # Docker configuration +├── compose.yml # Docker Compose configuration +├── Makefile # Development commands +└── README.md # Project overview +``` + +## Deployment to GitHub Pages + +To deploy the application to GitHub Pages: + +1. Build the application: + ``` + make build + ``` + +2. The `public/` directory contains all files needed for deployment + +3. Push the contents of the `public/` directory to the `gh-pages` branch of your repository + +## Available Make Commands + +Run `make help` to see all available commands: + +- `make build` - Build the Docker container +- `make start` - Start the application +- `make stop` - Stop the application +- `make restart` - Restart the application +- `make logs` - View the application logs +- `make run CMD=` - Run a command in the container +- `make generate-logos` - Generate logos.json from assets directory +- `make clean` - Clean up build artifacts +- `make rebuild` - Completely rebuild from scratch + +## Troubleshooting + +If you encounter issues: + +1. Check the logs: `make logs` +2. Try a complete rebuild: `make rebuild` +3. Ensure the Docker service is running +4. Verify your logo files are in the correct format and location diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ce0a172 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +FROM node:slim + +# Update package index and upgrade packages to reduce vulnerabilities +RUN apt-get update && apt-get upgrade -y + +WORKDIR /app + +COPY package*.json ./ + +RUN npm install + +# Copy all source files except those in .dockerignore +COPY . . + +# Create necessary directories for the build +RUN mkdir -p public/build +RUN mkdir -p public/data + +# Build the application +RUN npm run build + +EXPOSE 5000 +EXPOSE 35729 + +# Start the server +CMD ["npm", "run", "start"] diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..9da2c5c --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,15 @@ +FROM node:slim + +WORKDIR /app + +COPY package*.json ./ +RUN [ -f package-lock.json ] || touch package-lock.json +RUN npm install + +# Only copy minimal files for initial build, source will be mounted +COPY public/index.html public/global.css ./public/ + +EXPOSE 5000 +EXPOSE 35729 + +CMD ["npm", "run", "dev"] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e972096 --- /dev/null +++ b/Makefile @@ -0,0 +1,81 @@ +# Logo Gallery Project Makefile + +# Configuration +DOCKER_COMPOSE = docker compose +CONTAINER_NAME = logo-gallery +PORT = 5005 +DEV_PORT = 5006 + +# Main targets +.PHONY: all build start stop restart logs clean scan-logos-dev help dev + +all: build start + +# Development mode with hot reloading +dev: + docker compose -f compose.dev.yml up --build + +# Build the Docker container +build: + @echo "Building the Logo Gallery container..." + $(DOCKER_COMPOSE) build + +# Start the application in the background +start: + @echo "Starting Logo Gallery application on port $(PORT)..." + $(DOCKER_COMPOSE) up -d + @echo "Application is running at http://localhost:$(PORT)" + +# Stop the application +stop: + @echo "Stopping Logo Gallery application..." + $(DOCKER_COMPOSE) down + +# Restart the application +restart: stop start + +# View the application logs +logs: + @echo "Showing application logs (press Ctrl+C to exit)..." + $(DOCKER_COMPOSE) logs -f + +# Run a command inside the container +# Usage: make run CMD="npm run build" +run: + @echo "Running command in container: $(CMD)" + $(DOCKER_COMPOSE) run --rm $(CONTAINER_NAME) $(CMD) + +# Scan logos.json from files in the logos directory (for dev mode) +scan-logos-dev: + @echo "Scanning logos directory and updating logos.json for development..." + $(DOCKER_COMPOSE) -f compose.dev.yml run --rm logo-gallery-dev npm run scan-logos + @echo "Logos have been updated - refresh the browser to see changes" + +# Clean up build artifacts and temporary files +clean: + @echo "Cleaning up build artifacts and temporary files..." + $(DOCKER_COMPOSE) down + docker builder prune -f + +# Complete rebuild from scratch +rebuild: + @echo "Performing complete rebuild..." + $(DOCKER_COMPOSE) down + docker builder prune -f + $(DOCKER_COMPOSE) build --no-cache + $(DOCKER_COMPOSE) up -d + @echo "Rebuild complete. Application is running at http://localhost:$(PORT)" + +# Display help information +help: + @echo "Logo Gallery Makefile commands:" + @echo " make build - Build the Docker container" + @echo " make start - Start the application (http://localhost:$(PORT))" + @echo " make stop - Stop the application" + @echo " make restart - Restart the application" + @echo " make logs - View the application logs" + @echo " make run CMD= - Run a command in the container" + @echo " make scan-logos-dev - Scan logos.json from assets directory" + @echo " make clean - Clean up build artifacts" + @echo " make rebuild - Completely rebuild from scratch" + @echo " make help - Display this help information" diff --git a/README.md b/README.md new file mode 100644 index 0000000..efa1900 --- /dev/null +++ b/README.md @@ -0,0 +1,96 @@ +# Logo Gallery + +A collection of company and brand logos hosted on GitHub Pages. This project provides an easy way to access and use various brand logos in SVG and PNG formats with a user-friendly interface. + +## Features + +- Browse logos in grid or list view +- Search functionality to find specific logos +- Copy direct URL to any logo with one click +- Download logos directly +- Responsive design that works on mobile and desktop + +## Project Setup + +### Running with Docker (Recommended) + +The easiest way to run the project locally is using Docker, which doesn't require installing Node.js or npm packages directly on your system: + +1. Clone this repository: +``` +git clone https://github.com/yourusername/logos.git +cd logos +``` + +2. Start the Docker container: +``` +docker-compose up +``` + +The application will be available at http://localhost:5000 with live reloading enabled. + +### Running Manually (Alternative) + +If you prefer to run the project without Docker: + +1. Clone this repository: +``` +git clone https://github.com/yourusername/logos.git +cd logos +``` + +2. Install dependencies: +``` +npm install +``` + +3. Start the development server: +``` +npm run dev +``` + +4. Build for production deployment: +``` +npm run build +``` + +## Deploying to GitHub Pages + +1. Build the project: +``` +npm run build +``` + +2. Push the contents to your GitHub repository's `gh-pages` branch. + +## Adding New Logos + +To add new logos to the collection: + +1. Add the logo file (SVG or PNG) to the `public/logos/` directory +2. Run the logo scan script: +``` +make scan-logos-dev +``` +(This runs `npm run scan-logos` inside the dev container) +3. The application will automatically rebuild with the new logos + +## Directory Structure + +``` +logos/ +├── public/ # Static assets +│ ├── assets/ +│ │ └── logos/ # Logo files +│ └── global.css # Global styles +├── src/ # Application source code +│ ├── components/ # Svelte components +│ ├── data/ # Data files +│ ├── App.svelte # Main app component +│ └── main.js # App entry point +└── index.html # HTML entry point +``` + +## License + +This project is MIT licensed. Please note that the logos themselves are property of their respective owners and should be used according to their brand guidelines. diff --git a/compose.dev.yml b/compose.dev.yml new file mode 100644 index 0000000..eef60a2 --- /dev/null +++ b/compose.dev.yml @@ -0,0 +1,20 @@ +services: + logo-gallery-dev: + build: + context: . + dockerfile: Dockerfile.dev + container_name: logo-gallery-dev + ports: + - "5006:5000" + - "35729:35729" + volumes: + - ./src:/app/src + - ./public:/app/public + - ./rollup.config.js:/app/rollup.config.js + - ./package.json:/app/package.json + - ./scripts:/app/scripts + environment: + - NODE_ENV=development + - CHOKIDAR_USEPOLLING=true + - HOST=0.0.0.0 + command: npm run dev diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..463c1d1 --- /dev/null +++ b/compose.yml @@ -0,0 +1,10 @@ +services: + logo-gallery: + build: . + container_name: logo-gallery + ports: + - "5005:5000" # App port + - "35729:35729" # LiveReload port + environment: + - NODE_ENV=development + - HOST=0.0.0.0 diff --git a/package.json b/package.json new file mode 100644 index 0000000..77a5d5d --- /dev/null +++ b/package.json @@ -0,0 +1,24 @@ +{ + "name": "logo-gallery", + "version": "1.0.0", + "description": "A collection of company and brand logos accessible via GitHub Pages", + "scripts": { + "build": "rollup -c", + "dev": "rollup -c -w", + "start": "sirv public --host 0.0.0.0 --dev --single", + "scan-logos": "node scripts/scanLogos.js" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-node-resolve": "^11.0.0", + "rollup": "^2.3.4", + "rollup-plugin-css-only": "^3.1.0", + "rollup-plugin-livereload": "^2.0.0", + "rollup-plugin-svelte": "^7.0.0", + "rollup-plugin-terser": "^7.0.0", + "svelte": "^3.0.0" + }, + "dependencies": { + "sirv-cli": "^1.0.0" + } +} diff --git a/public/data/logos.json b/public/data/logos.json new file mode 100644 index 0000000..0448918 --- /dev/null +++ b/public/data/logos.json @@ -0,0 +1,56 @@ +[ + { + "name": "Apple (black)", + "path": "logos/apple_black.svg", + "format": "SVG", + "disable": false + }, + { + "name": "ATB", + "path": "logos/atb.svg", + "format": "SVG", + "disable": false + }, + { + "name": "Binance", + "path": "logos/binance.svg", + "format": "SVG", + "disable": false + }, + { + "name": "Dalnoboy Service", + "path": "logos/dalnoboy-service.svg", + "format": "SVG", + "disable": false + }, + { + "name": "Google", + "path": "logos/google.svg", + "format": "SVG", + "disable": false + }, + { + "name": "Privatbank", + "path": "logos/privatbank.png", + "format": "PNG", + "disable": false + }, + { + "name": "Pumb", + "path": "logos/pumb.png", + "format": "PNG", + "disable": false + }, + { + "name": "Roomerin", + "path": "logos/roomerin.svg", + "format": "SVG", + "disable": false + }, + { + "name": "Shkafnik", + "path": "logos/shkafnik.png", + "format": "PNG", + "disable": false + } +] diff --git a/public/global.css b/public/global.css new file mode 100644 index 0000000..3d26633 --- /dev/null +++ b/public/global.css @@ -0,0 +1,102 @@ +:root { + --primary-color: #3498db; + --secondary-color: #2c3e50; + --background-color: #f8f9fa; + --card-background: #ffffff; + --text-color: #333333; +} + +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; + background-color: var(--background-color); + color: var(--text-color); + line-height: 1.6; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 2rem; +} + +button { + cursor: pointer; + padding: 0.5rem 1rem; + background-color: var(--primary-color); + color: white; + border: none; + border-radius: 4px; + font-size: 0.9rem; + transition: background-color 0.2s; +} + +button:hover { + background-color: #2980b9; +} + +.view-toggle { + display: flex; + gap: 0.5rem; + margin-bottom: 1rem; +} + +.search-bar { + margin-bottom: 1.5rem; + width: 100%; + max-width: 500px; +} + +.search-bar input { + width: 100%; + padding: 0.75rem; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 1rem; +} + +.copy-btn { + background-color: var(--secondary-color); + margin-right: 0.5rem; +} + +.download-btn { + background-color: #27ae60; +} + +/* Direct logo image size constraints that will work with any component structure */ +div.logo-image { + display: flex; + align-items: center; + justify-content: center; + background-color: #f5f5f5; + position: relative; + overflow: hidden; +} + +div.logo-image img { + max-width: 80%; + max-height: 80%; + width: auto; + height: auto; + object-fit: contain; +} + +/* Grid specific */ +.logo-grid .logo-item .logo-image { + height: 160px; + width: 100%; +} + +/* List specific */ +.logo-list .logo-item .logo-image { + width: 120px; + min-width: 120px; + height: 100px; + border-right: 1px solid #eee; +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..d97b13d --- /dev/null +++ b/public/index.html @@ -0,0 +1,14 @@ + + + + + + Logo Gallery + + + + +
+ + + diff --git a/public/logos/apple_black.svg b/public/logos/apple_black.svg new file mode 100644 index 0000000..a1fba3e --- /dev/null +++ b/public/logos/apple_black.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/atb.svg b/public/logos/atb.svg new file mode 100644 index 0000000..c9dad72 --- /dev/null +++ b/public/logos/atb.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logos/binance.svg b/public/logos/binance.svg new file mode 100644 index 0000000..c22b1d5 --- /dev/null +++ b/public/logos/binance.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/dalnoboy-service.svg b/public/logos/dalnoboy-service.svg new file mode 100644 index 0000000..3bbdc7f --- /dev/null +++ b/public/logos/dalnoboy-service.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/google.svg b/public/logos/google.svg new file mode 100644 index 0000000..3718b41 --- /dev/null +++ b/public/logos/google.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/public/logos/privatbank.png b/public/logos/privatbank.png new file mode 100644 index 0000000000000000000000000000000000000000..268c90311edf0d333b365d355674c867891d347c GIT binary patch literal 73843 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 JG<};3{|C&Nn4tgw literal 0 HcmV?d00001 diff --git a/public/logos/pumb.png b/public/logos/pumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d8087642fc9ab5cda9a5fd5feb1d735325557e7a GIT binary patch literal 18220 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 WV*I0UXvp9Hl97{AmaGvs3He{O#2?iF literal 0 HcmV?d00001 diff --git a/public/logos/roomerin.svg b/public/logos/roomerin.svg new file mode 100644 index 0000000..285f422 --- /dev/null +++ b/public/logos/roomerin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/shkafnik.png b/public/logos/shkafnik.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1dbb3d5ac4105199850894267165376c751381 GIT binary patch literal 46755 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

N0P_?5Sagd=a5m$Kt>C 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 literal 0 HcmV?d00001 diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..7aef8e6 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,78 @@ +import svelte from 'rollup-plugin-svelte'; +import commonjs from '@rollup/plugin-commonjs'; +import resolve from '@rollup/plugin-node-resolve'; +import livereload from 'rollup-plugin-livereload'; +import { terser } from 'rollup-plugin-terser'; +import css from 'rollup-plugin-css-only'; + +const production = !process.env.ROLLUP_WATCH; + +function serve() { + let server; + + function toExit() { + if (server) server.kill(0); + } + + return { + writeBundle() { + if (server) return; + server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], { + stdio: ['ignore', 'inherit', 'inherit'], + shell: true + }); + + process.on('SIGTERM', toExit); + process.on('exit', toExit); + } + }; +} + +export default { + input: 'src/main.js', + output: { + sourcemap: true, + format: 'iife', + name: 'app', + file: 'public/build/bundle.js' + }, + plugins: [ + svelte({ + compilerOptions: { + // enable run-time checks when not in production + dev: !production + }, + // Force Svelte to emit CSS for components + emitCss: true + }), + // we'll extract any component CSS out into + // a separate file - better for performance + css({ output: 'bundle.css' }), + + // If you have external dependencies installed from + // npm, you'll most likely need these plugins. In + // some cases you'll need additional configuration - + // consult the documentation for details: + // https://github.com/rollup/plugins/tree/master/packages/commonjs + resolve({ + browser: true, + dedupe: ['svelte'] + }), + commonjs(), + + // In dev mode, call `npm run start` once + // the bundle has been generated + !production && serve(), + + // Watch the `public` directory and refresh the + // browser on changes when not in production + !production && livereload('public'), + + // If we're building for production (npm run build + // instead of npm run dev), minify + production && terser() + ], + watch: { + clearScreen: false + } +}; diff --git a/scripts/scanLogos.js b/scripts/scanLogos.js new file mode 100644 index 0000000..619e52d --- /dev/null +++ b/scripts/scanLogos.js @@ -0,0 +1,107 @@ +// This file has been renamed and updated. See scanLogos.js in the same directory for the new script. + +const fs = require('fs'); +const path = require('path'); + +// Configuration +const logosDir = path.join(__dirname, '../public/logos'); +const outputFile = path.join(__dirname, '../public/data/logos.json'); + +// Get file extension without the dot +function getFileExtension(filename) { + return path.extname(filename).slice(1).toUpperCase(); +} + +// Get file name without extension +function getBaseName(filename) { + return path.basename(filename, path.extname(filename)); +} + +// Convert filename to readable name (replace hyphens with spaces, capitalize words) +function formatName(filename) { + return getBaseName(filename) + .split(/[-_]/) + .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()) + .join(' '); +} + +// Scan directory and update logo objects +function scanLogos() { + console.log(`Scanning logos directory: ${logosDir}`); + + let existing = []; + if (fs.existsSync(outputFile)) { + try { + existing = JSON.parse(fs.readFileSync(outputFile, 'utf8')); + } catch (e) { + console.error('Could not parse existing logos.json:', e); + } + } + const existingMap = new Map(); + for (const item of existing) { + existingMap.set(item.path, item); + } + + try { + if (!fs.existsSync(logosDir)) { + console.error(`Directory does not exist: ${logosDir}`); + return []; + } + + const files = fs.readdirSync(logosDir); + // Filter for image files (svg, png, jpg, jpeg) + const logoFiles = files.filter(file => + /\.(svg|png|jpg|jpeg)$/i.test(file) + ); + + console.log(`Found ${logoFiles.length} logo files`); + + // Create logo objects + const logos = logoFiles.map(file => { + const format = getFileExtension(file); + const logoPath = `logos/${file}`; + const existingItem = existingMap.get(logoPath); + if (existingItem) { + // Preserve name and disable, update format/path + return { + ...existingItem, + path: logoPath, + format: format, + disable: typeof existingItem.disable === 'boolean' ? existingItem.disable : false + }; + } else { + // New logo + return { + name: formatName(file), + path: logoPath, + format: format, + disable: false + }; + } + }); + return logos; + } catch (error) { + console.error('Error scanning logos directory:', error); + return []; + } +} + +// Save logos data to JSON file +function saveLogosToJson(logos) { + try { + const data = JSON.stringify(logos, null, 2); + fs.writeFileSync(outputFile, data); + console.log(`Successfully wrote ${logos.length} logos to ${outputFile}`); + } catch (error) { + console.error('Error writing logos data to file:', error); + } +} + +// Main function +function main() { + const logos = scanLogos(); + saveLogosToJson(logos); +} + +// Run the script +main(); diff --git a/src/App.svelte b/src/App.svelte new file mode 100644 index 0000000..9f52c9a --- /dev/null +++ b/src/App.svelte @@ -0,0 +1,191 @@ + + +

+
+

Logo Gallery

+

Collection of company and brand logos for your projects

+ + + +
+ + +
+ + +
+ Current view: {viewMode} +
+
+ +
+ {#if viewMode === 'grid'} + + {:else} + + {/if} +
+ +
+

© {new Date().getFullYear()} Logo Gallery. All logos are property of their respective owners.

+
+
+ + diff --git a/src/components/LogoGrid.svelte b/src/components/LogoGrid.svelte new file mode 100644 index 0000000..914c289 --- /dev/null +++ b/src/components/LogoGrid.svelte @@ -0,0 +1,121 @@ + + + + +
+ {#each logos as logo} +
+
openPreview(logo)} + on:keydown={(e) => (e.key === 'Enter' || e.key === ' ') && openPreview(logo)} + style="cursor:pointer;" + > + {logo.name} +
+
+

{logo.name}

+

Format: {logo.format}

+
+ + +
+
+
+ {:else} +

No logos found matching your search criteria.

+ {/each} +
+ + diff --git a/src/components/LogoList.svelte b/src/components/LogoList.svelte new file mode 100644 index 0000000..604a84b --- /dev/null +++ b/src/components/LogoList.svelte @@ -0,0 +1,150 @@ + + + + +
+ {#each logos as logo} +
+
openPreview(logo)} + on:keydown={(e) => (e.key === 'Enter' || e.key === ' ') && openPreview(logo)} + style="cursor:pointer;" + > + {logo.name} +
+
+

{logo.name}

+

Format: {logo.format}

+
+
+ + +
+
+ {:else} +

No logos found matching your search criteria.

+ {/each} +
+ + diff --git a/src/components/LogoModal.svelte b/src/components/LogoModal.svelte new file mode 100644 index 0000000..0eb6c57 --- /dev/null +++ b/src/components/LogoModal.svelte @@ -0,0 +1,143 @@ + + +{#if show && logo} + +{/if} + + diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..e68c26b --- /dev/null +++ b/src/main.js @@ -0,0 +1,7 @@ +import App from './App.svelte'; + +const app = new App({ + target: document.getElementById('app') || document.body +}); + +export default app;