Files
Website/js/config.js
Claude Code 781216cd26 Clean up dead code and unused assets
- Remove trust-indicators JavaScript animations from animations-enhanced.js
- Clean up translation keys for removed indicator elements
- Remove selector references from config.js
- Fix missing video reference (hero-tech-pattern.mp4)
- Remove massive unused CSS sections: timeline, digital-beat, neural network viz
- Reduce animations.css from 2669 to 272 lines (90% size reduction)

This removes code that was referencing non-existent HTML elements
and large unused visual effects from previous design iterations.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 21:13:04 +00:00

145 Zeilen
3.4 KiB
JavaScript

/**
* Central configuration file for IntelSight website
* Contains all constants, settings and selectors
*/
// Application Configuration
const CONFIG = {
// Animation Settings
ANIMATION: {
PARTICLE_COUNT: 100,
PARTICLE_SPEED: 3,
PARTICLE_SIZE_MIN: 1,
PARTICLE_SIZE_MAX: 3,
CONNECTION_DISTANCE: 100,
COUNTER_SPEED: 200,
SCROLL_THRESHOLD: 50,
FADE_DURATION: 500,
GLITCH_ITERATIONS: 5,
GLITCH_INTERVAL: 50
},
// Hero Video Settings
HERO_VIDEOS: {
ROTATION_INTERVAL: 12000, // 12 seconds per video (slower like Palantir)
FADE_DURATION: 3000, // 3 second fade transition (much slower)
VIDEO_SOURCES: [
'assets/videos/hero-data-flow.mp4',
'assets/videos/hero-network-viz.mp4',
'assets/videos/hero-code-abstract.mp4'
]
},
// Language Settings
I18N: {
DEFAULT_LANGUAGE: 'de',
SUPPORTED_LANGUAGES: ['de', 'en'],
STORAGE_KEY: 'intelsight_language'
},
// Intersection Observer Settings
OBSERVER: {
THRESHOLD: 0.3,
ROOT_MARGIN: '0px'
},
// Authentication Settings
AUTH: {
SESSION_KEY: 'accountForgerAuth',
REDIRECT_PAGE: 'accountforger-video.html'
},
// Timeouts and Intervals
TIMING: {
SCROLL_HIDE_DELAY: 500,
COUNTER_UPDATE_INTERVAL: 10,
MAP_POINT_SPAWN_INTERVAL: 5000,
RESPONSE_TIMER_UPDATE: 2000,
LIVE_COUNTER_UPDATE: 3000
}
};
// DOM Selectors
const SELECTORS = {
// Navigation
NAVBAR: '.navbar',
NAV_MENU: '.nav-menu',
LANG_TOGGLE: '.lang-toggle',
// Hero Section
HERO: '.hero',
HERO_CONTENT: '.hero-content',
HERO_VIDEO: '.hero-video',
PARTICLE_CANVAS: '#particleCanvas',
SCROLL_INDICATOR: '.scroll-indicator',
// About Section
ABOUT_TABS: '.about-tab',
ABOUT_PANELS: '.about-panel',
// Products Section
EXPAND_BUTTON: '.expand-button',
TOOLS_GRID: '.tools-grid',
TOOL_CARDS: '.tool-card',
// Modals
LOGIN_MODAL: '.login-modal',
MODAL_CLOSE: '.modal-close',
// Forms
CONTACT_FORM: '#contactForm',
LOGIN_FORM: '#loginForm',
// Animation Elements
INTERACTIVE_ICON: '#interactiveIcon',
NEURAL_CANVAS: '#neuralCanvas',
DATA_PARTICLES: '#dataParticles',
LIVE_COUNTER: '#liveCounter',
RESPONSE_TIMER: '#responseTimer',
MAP_POINTS: '#mapPoints',
// Generic
TRANSLATABLE: '[data-translate]',
SMOOTH_LINKS: 'a[href^="#"]',
SKIP_NAV: '.skip-nav'
};
// CSS Classes
const CLASSES = {
ACTIVE: 'active',
SCROLLED: 'scrolled',
COLLAPSED: 'collapsed',
VISIBLE: 'visible',
LOADED: 'loaded',
EXPANDED: 'expanded',
HIDDEN: 'hidden',
// Animation Classes
FADE_IN: 'fade-in',
FADE_OUT: 'fade-out',
SLIDE_UP: 'slide-up',
SLIDE_DOWN: 'slide-down',
// Component Classes
PARTICLE: 'particle',
DATA_PARTICLE: 'data-particle',
MAP_POINT: 'map-point',
NODE: 'node',
WIDGET: 'widget',
TAB: 'tab',
PANEL: 'panel'
};
// Data Attributes
const DATA_ATTRS = {
TRANSLATE: 'data-translate',
TAB: 'data-tab',
EXPANDED: 'data-expanded',
LANG: 'data-lang',
TARGET: 'data-target',
TOOL: 'data-tool'
};
// Export for use in other modules (if using module system)
// For now, these are global constants available to all scripts