Files
Myrient-Search-Engine/views/pages/about.ejs

125 lines
6.4 KiB
Plaintext

<div class="row h-50 w-100 m-0">
<div class="col-sm-12 my-auto text-center">
<pre style="font: 20px / 19px monospace; color: white; text-align: center; overflow: hidden;">
<%= generateAsciiArt() %>
<%= __('about.title') %>
</pre>
<div class="card w-auto mx-auto text-center d-inline-block p-3">
<div class="about-content">
<h4><%= __('about.title') %> <%= process.env.INSTANCE_NAME || 'Myrient' %> Search</h4>
<p><%= __('app.description') %></p>
<p><%= __('app.tagline') %></p>
<p class="text-secondary mb-4"><%= __('app.disclaimer') %></p>
<div class="mb-4">
<p><%= __('about.support') %></p>
<a href="https://myrient.erista.me/donate/" class="btn btn-secondary"><%= __('about.donate') %></a>
</div>
<div class="mb-4 border-top pt-3">
<h5><%= __('about.metadata.title') %></h5>
<p><%= __('about.metadata.description', {metadata_source: 'IGDB'}) %></p>
</div>
<div class="mb-4 border-top pt-3">
<h5><%= __('about.emulator.title') %></h5>
<% if (process.env.EMULATOR_ENABLED === 'true') { %>
<p><%= __('about.emulator.description') %></p>
<p><%= __('about.emulator.compatibility') %></p>
<p><%= __('about.emulator.browser_tip') %></p>
<p class="text-secondary">
<small>
<i class="fas fa-info-circle"></i>
<%= __('about.emulator.save_states') %>
</small>
<br>
<small>
<i class="fas fa-exclamation-triangle"></i>
<%= __('about.emulator.limitations') %>
</small>
</p>
<% } else { %>
<p><%= __('about.emulator.disabled') %></p>
<p><%= __('about.emulator.contact') %></p>
<% } %>
</div>
<div class="mb-4 border-top pt-3">
<h5><%= __('about.ai.title') %></h5>
<% if (aiEnabled) { %>
<%
// Extract provider from API URL
let provider = 'Unknown';
if (aiConfig.apiUrl.includes('api.groq.com')) {
provider = 'Groq';
} else if (aiConfig.apiUrl.includes('api.openai.com')) {
provider = 'OpenAI';
} else if (aiConfig.apiUrl.includes('api.anthropic.com')) {
provider = 'Anthropic';
} else if (aiConfig.apiUrl.includes('generativelanguage.googleapis.com')) {
provider = 'Google Gemini';
} else if (aiConfig.apiUrl.includes('api.perplexity.ai')) {
provider = 'Perplexity';
} else if (aiConfig.apiUrl.includes('api.cohere.ai')) {
provider = 'Cohere';
} else if (aiConfig.apiUrl.includes('api.mistral.ai')) {
provider = 'Mistral';
} else if (aiConfig.apiUrl.includes('localhost') || aiConfig.apiUrl.includes('127.0.0.1') || aiConfig.apiUrl.includes('0.0.0.0')) {
provider = 'Local LLM';
} else {
// Try to extract domain from URL
try {
const url = new URL(aiConfig.apiUrl);
const hostname = url.hostname;
if (hostname.startsWith('api.')) {
provider = hostname.substring(4).split('.')[0];
} else {
provider = hostname.split('.')[0];
}
provider = provider.charAt(0).toUpperCase() + provider.slice(1);
} catch (e) {
provider = 'Custom Provider';
}
}
%>
<p><%= __('about.ai.description') %></p>
<p><%- __('about.ai.provider_info', {provider: provider, model: aiConfig.model}) %></p>
<p class="text-secondary">
<small>
<i class="fas fa-info-circle"></i>
<%= __('about.ai.privacy_note') %>
</small>
</p>
<% } else { %>
<p><%= __('about.ai.disabled') %></p>
<p><%= __('about.ai.contact') %></p>
<% } %>
</div>
<div class="border-top pt-3">
<p><%= __('about.credits.created_by') %> <a href="https://github.com/alexankitty">Alexankitty</a>
</p>
<div class="mb-3">
<a href="https://github.com/alexankitty/Myrient-Search-Engine/graphs/contributors">
<img src="/proxy-image?url=<%= encodeURIComponent('https://contrib.rocks/image?repo=alexankitty/Myrient-Search-Engine') %>"
alt="Contributors" />
</a>
</div>
<p><a
href="https://github.com/alexankitty/myrient-global-search"><%= __('about.credits.view_github') %></a>
</p>
<a href='https://ko-fi.com/Q5Q4IFNAO' target='_blank'>
<img height='36' style='border:0px;height:36px;'
src='/proxy-image?url=<%= encodeURIComponent("https://storage.ko-fi.com/cdn/kofi5.png?v=3") %>'
alt='Buy Me a Coffee at ko-fi.com' />
</a>
</div>
</div>
</div>
</div>
</div>