nb
This commit is contained in:
parent
1b947c326a
commit
e031b10316
@ -43,7 +43,72 @@
|
||||
|
||||
<!-- wp:group {"className":"reveal","layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group reveal">
|
||||
<h2 class="wp-block-heading">ምን እሰራለሁ?</h2>
|
||||
<h2 class="wp-block-heading" style="text-align:center; margin-bottom: 3rem;">ቴክኒካዊ ክህሎቶች</h2>
|
||||
<!-- wp:columns {"style":{"spacing":{"blockGap":{"top":"2rem","left":"2rem"}}}} -->
|
||||
<div class="wp-block-columns">
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fab fa-react"></i>
|
||||
<h3 class="wp-block-heading">React / Next.js</h3>
|
||||
<p>ከፍተኛ አፈጻጸም ያላቸው እና ለSEO ምቹ የሆኑ የዌብ መተግበሪያዎችን መገንባት።</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fab fa-node-js"></i>
|
||||
<h3 class="wp-block-heading">Node.js</h3>
|
||||
<p>ሊለኩ የሚችሉ የጀርባ አገልግሎቶችን (Backend) እና RESTful APIs ማልማት።</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fas fa-mobile-alt"></i>
|
||||
<h3 class="wp-block-heading">Flutter</h3>
|
||||
<p>ለiOS እና አንድሮይድ የሚያምሩ እና ሁለገብ የሞባይል መተግበሪያዎችን መፍጠር።</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
</div>
|
||||
<!-- /wp:columns -->
|
||||
|
||||
<!-- wp:spacer {"height":"20px"} -->
|
||||
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
|
||||
<!-- /wp:spacer -->
|
||||
|
||||
<!-- wp:columns {"style":{"spacing":{"blockGap":{"top":"2rem","left":"2rem"}}}} -->
|
||||
<div class="wp-block-columns">
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fas fa-database"></i>
|
||||
<h3 class="wp-block-heading">ዳታቤዝ (Databases)</h3>
|
||||
<p>በPostgreSQL፣ MongoDB እና Firebase ውህደት ላይ ያለኝ ልምድ።</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fab fa-docker"></i>
|
||||
<h3 class="wp-block-heading">DevOps</h3>
|
||||
<p>በDocker ኮንቴይነራይዜሽን እና CI/CD አውቶሜሽን ስራዎች።</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fas fa-cloud"></i>
|
||||
<h3 class="wp-block-heading">ክላውድ (Cloud)</h3>
|
||||
<p>መተግበሪያዎችን በAWS፣ Vercel እና GCP ላይ ማሰማራት እና ማስተዳደር።</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
</div>
|
||||
<!-- /wp:columns -->
|
||||
</div>
|
||||
<!-- /wp:group -->
|
||||
|
||||
<!-- wp:spacer {"height":"80px"} -->
|
||||
<div style="height:80px" aria-hidden="true" class="wp-block-spacer"></div>
|
||||
<!-- /wp:spacer -->
|
||||
|
||||
<!-- wp:group {"className":"reveal","layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group reveal">
|
||||
<h2 class="wp-block-heading">የማከናውናቸው ተግባራት</h2>
|
||||
<!-- wp:columns {"style":{"spacing":{"blockGap":{"top":"2rem","left":"2rem"}}}} -->
|
||||
<div class="wp-block-columns">
|
||||
<!-- wp:column {"className":"project-card"} -->
|
||||
|
||||
@ -41,6 +41,71 @@
|
||||
<div style="height:80px" aria-hidden="true" class="wp-block-spacer"></div>
|
||||
<!-- /wp:spacer -->
|
||||
|
||||
<!-- wp:group {"className":"reveal","layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group reveal">
|
||||
<h2 class="wp-block-heading" style="text-align:center; margin-bottom: 3rem;">Technical Skills</h2>
|
||||
<!-- wp:columns {"style":{"spacing":{"blockGap":{"top":"2rem","left":"2rem"}}}} -->
|
||||
<div class="wp-block-columns">
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fab fa-react"></i>
|
||||
<h3 class="wp-block-heading">React / Next.js</h3>
|
||||
<p>Building high-performance, SEO-friendly web applications.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fab fa-node-js"></i>
|
||||
<h3 class="wp-block-heading">Node.js</h3>
|
||||
<p>Developing scalable backend services and RESTful APIs.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fas fa-mobile-alt"></i>
|
||||
<h3 class="wp-block-heading">Flutter</h3>
|
||||
<p>Creating beautiful cross-platform mobile apps for iOS & Android.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
</div>
|
||||
<!-- /wp:columns -->
|
||||
|
||||
<!-- wp:spacer {"height":"20px"} -->
|
||||
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
|
||||
<!-- /wp:spacer -->
|
||||
|
||||
<!-- wp:columns {"style":{"spacing":{"blockGap":{"top":"2rem","left":"2rem"}}}} -->
|
||||
<div class="wp-block-columns">
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fas fa-database"></i>
|
||||
<h3 class="wp-block-heading">Databases</h3>
|
||||
<p>Expertise in PostgreSQL, MongoDB, and Firebase integration.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fab fa-docker"></i>
|
||||
<h3 class="wp-block-heading">DevOps</h3>
|
||||
<p>Containerization with Docker and CI/CD pipeline automation.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fas fa-cloud"></i>
|
||||
<h3 class="wp-block-heading">Cloud</h3>
|
||||
<p>Deploying and managing apps on AWS, Vercel, and GCP.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
</div>
|
||||
<!-- /wp:columns -->
|
||||
</div>
|
||||
<!-- /wp:group -->
|
||||
|
||||
<!-- wp:spacer {"height":"80px"} -->
|
||||
<div style="height:80px" aria-hidden="true" class="wp-block-spacer"></div>
|
||||
<!-- /wp:spacer -->
|
||||
|
||||
<!-- wp:group {"className":"reveal","layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group reveal">
|
||||
<h2 class="wp-block-heading">What I Do</h2>
|
||||
|
||||
@ -75,7 +75,72 @@
|
||||
|
||||
<!-- wp:group {"className":"reveal","layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group reveal">
|
||||
<h2 class="wp-block-heading">Dandeettiiwwan Koo</h2>
|
||||
<h2 class="wp-block-heading" style="text-align:center; margin-bottom: 3rem;">Dandeettiiwwan Teknikaa</h2>
|
||||
<!-- wp:columns {"style":{"spacing":{"blockGap":{"top":"2rem","left":"2rem"}}}} -->
|
||||
<div class="wp-block-columns">
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fab fa-react"></i>
|
||||
<h3 class="wp-block-heading">React / Next.js</h3>
|
||||
<p>Appilikeeshiniiwwan weebii saffisa qaban fi SEO-f mijatan ijaaruu.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fab fa-node-js"></i>
|
||||
<h3 class="wp-block-heading">Node.js</h3>
|
||||
<p>Tajaajiloota backend fi RESTful API-wwan bal'achuu danda'an ijaaruu.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fas fa-mobile-alt"></i>
|
||||
<h3 class="wp-block-heading">Flutter</h3>
|
||||
<p>Appilikeeshiniiwwan moobaayilaa iOS fi Android-f ta'an bareedoo ijaaruu.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
</div>
|
||||
<!-- /wp:columns -->
|
||||
|
||||
<!-- wp:spacer {"height":"20px"} -->
|
||||
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
|
||||
<!-- /wp:spacer -->
|
||||
|
||||
<!-- wp:columns {"style":{"spacing":{"blockGap":{"top":"2rem","left":"2rem"}}}} -->
|
||||
<div class="wp-block-columns">
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fas fa-database"></i>
|
||||
<h3 class="wp-block-heading">Kuus-dataa (Databases)</h3>
|
||||
<p>PostgreSQL, MongoDB fi Firebase walitti qabuun muuxannoo qabaachuu.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fab fa-docker"></i>
|
||||
<h3 class="wp-block-heading">DevOps</h3>
|
||||
<p>Docker containerization fi CI/CD pipeline automation irratti hojjechuu.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column {"className":"skill-card"} -->
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
<i class="fas fa-cloud"></i>
|
||||
<h3 class="wp-block-heading">Cloud</h3>
|
||||
<p>Appilikeeshiniiwwan AWS, Vercel fi GCP irratti fe'uu fi bulchuu.</p>
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
</div>
|
||||
<!-- /wp:columns -->
|
||||
</div>
|
||||
<!-- /wp:group -->
|
||||
|
||||
<!-- wp:spacer {"height":"80px"} -->
|
||||
<div style="height:80px" aria-hidden="true" class="wp-block-spacer"></div>
|
||||
<!-- /wp:spacer -->
|
||||
|
||||
<!-- wp:group {"className":"reveal","layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group reveal">
|
||||
<h2 class="wp-block-heading">Hojii Koo</h2>
|
||||
<!-- wp:columns {"columns":4} -->
|
||||
<div class="wp-block-columns">
|
||||
<div class="wp-block-column skill-card" style="text-align:center">
|
||||
|
||||
@ -25,6 +25,9 @@
|
||||
<p><strong>ቴክኖሎጂዎች:</strong> Next.js, Stripe, Tailwind CSS, PostgreSQL</p>
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons">
|
||||
<!-- wp:button {"backgroundColor":"black","textColor":"white"} -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background wp-element-button" href="#">ቀጥታ ማሳያ</a></div>
|
||||
<!-- /wp:button -->
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://github.com/Bilnett">GitHub ማከማቻ</a></div>
|
||||
<!-- /wp:button -->
|
||||
@ -43,6 +46,9 @@
|
||||
<p><strong>ቴክኖሎጂዎች:</strong> React, Firebase, Material UI</p>
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons">
|
||||
<!-- wp:button {"backgroundColor":"black","textColor":"white"} -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background wp-element-button" href="#">ቀጥታ ማሳያ</a></div>
|
||||
<!-- /wp:button -->
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://github.com/Bilnett">GitHub ማከማቻ</a></div>
|
||||
<!-- /wp:button -->
|
||||
@ -69,6 +75,9 @@
|
||||
<p><strong>ቴክኖሎጂዎች:</strong> Next.js, OpenWeather API, Framer Motion</p>
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons">
|
||||
<!-- wp:button {"backgroundColor":"black","textColor":"white"} -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background wp-element-button" href="#">ቀጥታ ማሳያ</a></div>
|
||||
<!-- /wp:button -->
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://github.com/Bilnett">GitHub ማከማቻ</a></div>
|
||||
<!-- /wp:button -->
|
||||
|
||||
94
projects_content_v2.html
Normal file
94
projects_content_v2.html
Normal file
@ -0,0 +1,94 @@
|
||||
<!-- wp:group {"className":"reveal","layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group reveal">
|
||||
<!-- wp:heading {"level":1} -->
|
||||
<h1 class="wp-block-heading">My Projects</h1>
|
||||
<!-- /wp:heading -->
|
||||
<p>A selection of my recent work, ranging from full-stack web applications to cross-platform mobile apps.</p>
|
||||
</div>
|
||||
<!-- /wp:group -->
|
||||
|
||||
<!-- wp:spacer {"height":"40px"} -->
|
||||
<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>
|
||||
<!-- /wp:spacer -->
|
||||
|
||||
<!-- wp:group {"layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group">
|
||||
<!-- wp:columns {"isStackedOnMobile":true} -->
|
||||
<div class="wp-block-columns is-stacked-on-mobile">
|
||||
<!-- wp:column {"className":"project-card reveal"} -->
|
||||
<div class="wp-block-column project-card reveal">
|
||||
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
||||
<figure class="wp-block-image size-large"><img src="/assets/images/projects/ecommerce.jpg" alt="E-Commerce Platform" style="border-radius:12px; margin-bottom:15px; width:100%; height:200px; object-fit:cover;"/></figure>
|
||||
<!-- /wp:image -->
|
||||
<h3 class="wp-block-heading">E-Commerce Platform</h3>
|
||||
<p>A full-featured online store with product filtering, cart functionality, and Stripe integration.</p>
|
||||
<p><strong>Tech Stack:</strong> Next.js, Stripe, Tailwind CSS, PostgreSQL</p>
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons">
|
||||
<!-- wp:button {"backgroundColor":"black","textColor":"white"} -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background wp-element-button" href="#">Live Demo</a></div>
|
||||
<!-- /wp:button -->
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://github.com/Bilnett">GitHub Repo</a></div>
|
||||
<!-- /wp:button -->
|
||||
</div>
|
||||
<!-- /wp:buttons -->
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
|
||||
<!-- wp:column {"className":"project-card reveal"} -->
|
||||
<div class="wp-block-column project-card reveal">
|
||||
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
||||
<figure class="wp-block-image size-large"><img src="/assets/images/projects/tasks.jpg" alt="Task Management App" style="border-radius:12px; margin-bottom:15px; width:100%; height:200px; object-fit:cover;"/></figure>
|
||||
<!-- /wp:image -->
|
||||
<h3 class="wp-block-heading">Task Management App</h3>
|
||||
<p>A productivity tool for managing daily tasks with real-time updates and team collaboration features.</p>
|
||||
<p><strong>Tech Stack:</strong> React, Firebase, Material UI</p>
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons">
|
||||
<!-- wp:button {"backgroundColor":"black","textColor":"white"} -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background wp-element-button" href="#">Live Demo</a></div>
|
||||
<!-- /wp:button -->
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://github.com/Bilnett">GitHub Repo</a></div>
|
||||
<!-- /wp:button -->
|
||||
</div>
|
||||
<!-- /wp:buttons -->
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
</div>
|
||||
<!-- /wp:columns -->
|
||||
|
||||
<!-- wp:spacer {"height":"40px"} -->
|
||||
<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>
|
||||
<!-- /wp:spacer -->
|
||||
|
||||
<!-- wp:columns {"isStackedOnMobile":true} -->
|
||||
<div class="wp-block-columns is-stacked-on-mobile">
|
||||
<!-- wp:column {"className":"project-card reveal"} -->
|
||||
<div class="wp-block-column project-card reveal">
|
||||
<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
|
||||
<figure class="wp-block-image size-large"><img src="/assets/images/projects/weather.jpg" alt="Ethiopian Weather App" style="border-radius:12px; margin-bottom:15px; width:100%; height:200px; object-fit:cover;"/></figure>
|
||||
<!-- /wp:image -->
|
||||
<h3 class="wp-block-heading">Ethiopian Weather App</h3>
|
||||
<p>Get real-time weather updates for cities across Ethiopia using the OpenWeather API.</p>
|
||||
<p><strong>Tech Stack:</strong> Next.js, OpenWeather API, Framer Motion</p>
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons">
|
||||
<!-- wp:button {"backgroundColor":"black","textColor":"white"} -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background wp-element-button" href="#">Live Demo</a></div>
|
||||
<!-- /wp:button -->
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://github.com/Bilnett">GitHub Repo</a></div>
|
||||
<!-- /wp:button -->
|
||||
</div>
|
||||
<!-- /wp:buttons -->
|
||||
</div>
|
||||
<!-- /wp:column -->
|
||||
<!-- wp:column -->
|
||||
<div class="wp-block-column"></div>
|
||||
<!-- /wp:column -->
|
||||
</div>
|
||||
<!-- /wp:columns -->
|
||||
</div>
|
||||
<!-- /wp:group -->
|
||||
@ -25,6 +25,9 @@
|
||||
<p><strong>Teeknooloojii:</strong> Next.js, Stripe, Tailwind CSS, PostgreSQL</p>
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons">
|
||||
<!-- wp:button {"backgroundColor":"black","textColor":"white"} -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background wp-element-button" href="#">Maasayaa Kallattii</a></div>
|
||||
<!-- /wp:button -->
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://github.com/Bilnett">GitHub Repo</a></div>
|
||||
<!-- /wp:button -->
|
||||
@ -43,6 +46,9 @@
|
||||
<p><strong>Teeknooloojii:</strong> React, Firebase, Material UI</p>
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons">
|
||||
<!-- wp:button {"backgroundColor":"black","textColor":"white"} -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background wp-element-button" href="#">Maasayaa Kallattii</a></div>
|
||||
<!-- /wp:button -->
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://github.com/Bilnett">GitHub Repo</a></div>
|
||||
<!-- /wp:button -->
|
||||
@ -69,6 +75,9 @@
|
||||
<p><strong>Teeknooloojii:</strong> Next.js, OpenWeather API, Framer Motion</p>
|
||||
<!-- wp:buttons -->
|
||||
<div class="wp-block-buttons">
|
||||
<!-- wp:button {"backgroundColor":"black","textColor":"white"} -->
|
||||
<div class="wp-block-button"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background wp-element-button" href="#">Maasayaa Kallattii</a></div>
|
||||
<!-- /wp:button -->
|
||||
<!-- wp:button {"className":"is-style-outline"} -->
|
||||
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://github.com/Bilnett">GitHub Repo</a></div>
|
||||
<!-- /wp:button -->
|
||||
|
||||
48
wp-content/mu-plugins/mailservice-bridge.php
Normal file
48
wp-content/mu-plugins/mailservice-bridge.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* Plugin Name: MailService Bridge for CF7
|
||||
* Description: Redirects Contact Form 7 emails through Flatlogic MailService.
|
||||
*/
|
||||
|
||||
add_action('wpcf7_before_send_mail', function($contact_form, &$abort, $submission) {
|
||||
if ($abort) return;
|
||||
|
||||
require_once ABSPATH . 'mail/MailService.php';
|
||||
|
||||
$data = $submission->get_posted_data();
|
||||
|
||||
$name = $data['your-name'] ?? '';
|
||||
$email = $data['your-email'] ?? '';
|
||||
$subject = $data['your-subject'] ?? 'Contact Form Submission';
|
||||
$message = $data['your-message'] ?? '';
|
||||
|
||||
$to = getenv('MAIL_TO') ?: get_option('admin_email');
|
||||
|
||||
$res = MailService::sendContactMessage($name, $email, $message, $to, $subject);
|
||||
|
||||
if (!empty($res['success'])) {
|
||||
// Successfully sent via MailService.
|
||||
}
|
||||
}, 10);
|
||||
|
||||
// Override wp_mail to use MailService globally
|
||||
if (!function_exists('wp_mail')) {
|
||||
function wp_mail($to, $subject, $message, $headers = '', $attachments = []) {
|
||||
require_once ABSPATH . 'mail/MailService.php';
|
||||
|
||||
// Simple conversion of HTML/Text
|
||||
$is_html = false;
|
||||
if (strpos($headers, 'text/html') !== false) {
|
||||
$is_html = true;
|
||||
}
|
||||
|
||||
$res = MailService::sendMail(
|
||||
$to,
|
||||
$subject,
|
||||
$is_html ? $message : nl2br($message),
|
||||
!$is_html ? $message : strip_tags($message)
|
||||
);
|
||||
|
||||
return !empty($res['success']);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user