docto41 commited on
Commit
569f2dd
·
verified ·
1 Parent(s): c593ee1

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +15 -703
  2. prompts.txt +2 -1
index.html CHANGED
@@ -54,6 +54,20 @@
54
  border: 2px solid #4f46e5;
55
  background-color: #f5f3ff;
56
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  </style>
58
  </head>
59
  <body class="bg-gray-50">
@@ -639,707 +653,5 @@
639
 
640
  <div>
641
  <label for="record-value" class="block text-sm font-medium text-gray-700 mb-1">Valeur</label>
642
- <input type="text" id="record-value" class="w-full px-4 py-2 border border-gray-300 rounded-lg" placeholder="Ex: 192.0.2.1 ou example.com">
643
- </div>
644
-
645
- <div>
646
- <label for="record-ttl" class="block text-sm font-medium text-gray-700 mb-1">TTL (secondes)</label>
647
- <input type="number" id="record-ttl" class="w-full px-4 py-2 border border-gray-300 rounded-lg" value="3600">
648
- </div>
649
-
650
- <div class="flex justify-end space-x-3 pt-4">
651
- <button type="button" id="cancel-add-dns-btn" class="px-4 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50">
652
- Annuler
653
- </button>
654
- <button type="submit" class="px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg">
655
- <i class="fas fa-save mr-2"></i> Enregistrer
656
- </button>
657
- </div>
658
- </form>
659
- </div>
660
- </div>
661
- </div>
662
-
663
- <!-- Website Tab Content -->
664
- <div id="website-tab" class="p-6 hidden">
665
- <h4 class="text-lg font-bold text-gray-800 mb-6">Gestion du site web</h4>
666
- <p class="text-gray-600">Cette section n'est pas encore disponible.</p>
667
- </div>
668
-
669
- <!-- Email Tab Content -->
670
- <div id="email-tab" class="p-6 hidden">
671
- <h4 class="text-lg font-bold text-gray-800 mb-6">Gestion des emails</h4>
672
- <p class="text-gray-600">Cette section n'est pas encore disponible.</p>
673
- </div>
674
-
675
- <!-- Settings Tab Content -->
676
- <div id="settings-tab" class="p-6 hidden">
677
- <h4 class="text-lg font-bold text-gray-800 mb-6">Paramètres du compte</h4>
678
- <p class="text-gray-600">Cette section n'est pas encore disponible.</p>
679
- </div>
680
- </div>
681
- </div>
682
- </div>
683
-
684
- <!-- Features Section -->
685
- <section class="container mx-auto px-4 py-16">
686
- <h2 class="text-3xl font-bold text-center mb-12">Tous nos services sont 100% gratuits</h2>
687
-
688
- <div class="grid md:grid-cols-4 gap-6">
689
- <div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow">
690
- <div class="text-purple-600 text-4xl mb-4">
691
- <i class="fas fa-globe"></i>
692
- </div>
693
- <h3 class="text-xl font-bold mb-2">Enregistrement de domaine</h3>
694
- <p class="text-gray-600">Obtenez votre nom de domaine gratuitement sans frais cachés.</p>
695
- </div>
696
-
697
- <div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow">
698
- <div class="text-green-600 text-4xl mb-4">
699
- <i class="fas fa-lock"></i>
700
- </div>
701
- <h3 class="text-xl font-bold mb-2">SSL Gratuit</h3>
702
- <p class="text-gray-600">Certificat SSL inclus automatiquement pour sécuriser votre site.</p>
703
- </div>
704
-
705
- <div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow">
706
- <div class="text-blue-600 text-4xl mb-4">
707
- <i class="fas fa-server"></i>
708
- </div>
709
- <h3 class="text-xl font-bold mb-2">Hébergement Web</h3>
710
- <p class="text-gray-600">Serveurs haute performance pour héberger votre site instantanément.</p>
711
- </div>
712
-
713
- <div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow">
714
- <div class="text-orange-600 text-4xl mb-4">
715
- <i class="fas fa-envelope"></i>
716
- </div>
717
- <h3 class="text-xl font-bold mb-2">Emails Professionnels</h3>
718
- <p class="text-gray-600">Créez des adresses email avec votre nom de domaine.</p>
719
- </div>
720
- </div>
721
- </section>
722
-
723
- <!-- Pricing Section -->
724
- <section class="bg-gray-50 py-16">
725
- <div class="container mx-auto px-4">
726
- <h2 class="text-3xl font-bold text-center mb-12">Nos offres premium</h2>
727
-
728
- <div class="grid md:grid-cols-3 gap-8 max-w-5xl mx-auto">
729
- <div class="bg-white rounded-xl shadow-lg overflow-hidden">
730
- <div class="bg-purple-100 p-6 text-center">
731
- <h3 class="text-xl font-bold text-gray-800">Starter</h3>
732
- <p class="text-3xl font-bold text-purple-600 mt-2">€4.99<span class="text-base font-normal text-gray-500">/mois</span></p>
733
- <p class="text-sm text-gray-600 mt-1">Parfait pour les petits sites</p>
734
- </div>
735
- <div class="p-6">
736
- <ul class="space-y-3">
737
- <li class="flex items-center">
738
- <i class="fas fa-check text-green-500 mr-2"></i>
739
- <span>1 domaine inclus</span>
740
- </li>
741
- <li class="flex items-center">
742
- <i class="fas fa-check text-green-500 mr-2"></i>
743
- <span>5GB de stockage</span>
744
- </li>
745
- <li class="flex items-center">
746
- <i class="fas fa-check text-green-500 mr-2"></i>
747
- <span>50GB de bande passante</span>
748
- </li>
749
- <li class="flex items-center">
750
- <i class="fas fa-check text-green-500 mr-2"></i>
751
- <span>2 adresses email</span>
752
- </li>
753
- <li class="flex items-center">
754
- <i class="fas fa-check text-green-500 mr-2"></i>
755
- <span>Support standard</span>
756
- </li>
757
- </ul>
758
- <button class="w-full mt-6 px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg font-medium add-to-cart-btn" data-plan="starter" data-price="4.99">
759
- Ajouter au panier
760
- </button>
761
- </div>
762
- </div>
763
-
764
- <div class="bg-white rounded-xl shadow-lg overflow-hidden transform scale-105 border-2 border-purple-500">
765
- <div class="bg-purple-600 p-6 text-center text-white">
766
- <span class="inline-block bg-yellow-400 text-yellow-800 text-xs px-2 py-1 rounded-full mb-2">POPULAIRE</span>
767
- <h3 class="text-xl font-bold">Pro</h3>
768
- <p class="text-3xl font-bold mt-2">€9.99<span class="text-base font-normal opacity-80">/mois</span></p>
769
- <p class="text-sm opacity-80 mt-1">Idéal pour les professionnels</p>
770
- </div>
771
- <div class="p-6">
772
- <ul class="space-y-3">
773
- <li class="flex items-center">
774
- <i class="fas fa-check text-green-500 mr-2"></i>
775
- <span>5 domaines inclus</span>
776
- </li>
777
- <li class="flex items-center">
778
- <i class="fas fa-check text-green-500 mr-2"></i>
779
- <span>20GB de stockage</span>
780
- </li>
781
- <li class="flex items-center">
782
- <i class="fas fa-check text-green-500 mr-2"></i>
783
- <span>200GB de bande passante</span>
784
- </li>
785
- <li class="flex items-center">
786
- <i class="fas fa-check text-green-500 mr-2"></i>
787
- <span>10 adresses email</span>
788
- </li>
789
- <li class="flex items-center">
790
- <i class="fas fa-check text-green-500 mr-2"></i>
791
- <span>Support prioritaire</span>
792
- </li>
793
- </ul>
794
- <button class="w-full mt-6 px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg font-medium add-to-cart-btn" data-plan="pro" data-price="9.99">
795
- Ajouter au panier
796
- </button>
797
- </div>
798
- </div>
799
-
800
- <div class="bg-white rounded-xl shadow-lg overflow-hidden">
801
- <div class="bg-purple-100 p-6 text-center">
802
- <h3 class="text-xl font-bold text-gray-800">Business</h3>
803
- <p class="text-3xl font-bold text-purple-600 mt-2">€19.99<span class="text-base font-normal text-gray-500">/mois</span></p>
804
- <p class="text-sm text-gray-600 mt-1">Pour les entreprises</p>
805
- </div>
806
- <div class="p-6">
807
- <ul class="space-y-3">
808
- <li class="flex items-center">
809
- <i class="fas fa-check text-green-500 mr-2"></i>
810
- <span>Domaines illimités</span>
811
- </li>
812
- <li class="flex items-center">
813
- <i class="fas fa-check text-green-500 mr-2"></i>
814
- <span>Stockage illimité</span>
815
- </li>
816
- <li class="flex items-center">
817
- <i class="fas fa-check text-green-500 mr-2"></i>
818
- <span>Bande passante illimitée</span>
819
- </li>
820
- <li class="flex items-center">
821
- <i class="fas fa-check text-green-500 mr-2"></i>
822
- <span>Emails illimités</span>
823
- </li>
824
- <li class="flex items-center">
825
- <i class="fas fa-check text-green-500 mr-2"></i>
826
- <span>Support 24/7</span>
827
- </li>
828
- </ul>
829
- <button class="w-full mt-6 px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg font-medium add-to-cart-btn" data-plan="business" data-price="19.99">
830
- Ajouter au panier
831
- </button>
832
- </div>
833
- </div>
834
- </div>
835
- </div>
836
- </section>
837
-
838
- <!-- FAQ Section -->
839
- <section class="bg-white py-16">
840
- <div class="container mx-auto px-4">
841
- <h2 class="text-3xl font-bold text-center mb-12">Questions fréquentes</h2>
842
-
843
- <div class="max-w-3xl mx-auto space-y-4">
844
- <div class="bg-white rounded-lg shadow-md overflow-hidden">
845
- <button class="faq-question w-full text-left px-6 py-4 font-medium text-gray-800 hover:bg-gray-50 flex justify-between items-center">
846
- <span>Comment est-ce possible d'offrir ces services gratuitement?</span>
847
- <i class="fas fa-chevron-down text-purple-600 transition-transform"></i>
848
- </button>
849
- <div class="faq-answer px-6 pb-4 text-gray-600 hidden">
850
- <p>Nous croyons en un internet accessible à tous. Nos coûts sont couverts par des partenariats avec des organisations qui soutiennent notre mission. Nous ne facturons jamais nos utilisateurs.</p>
851
- </div>
852
- </div>
853
-
854
- <div class="bg-white rounded-lg shadow-md overflow-hidden">
855
- <button class="faq-question w-full text-left px-6 py-4 font-medium text-gray-800 hover:bg-gray-50 flex justify-between items-center">
856
- <span>Y a-t-il des limitations avec les services gratuits?</span>
857
- <i class="fas fa-chevron-down text-purple-600 transition-transform"></i>
858
- </button>
859
- <div class="faq-answer px-6 pb-4 text-gray-600 hidden">
860
- <p>Nos services gratuits incluent tout ce dont vous avez besoin pour un site professionnel. La seule limitation est une bande passante raisonnable de 50GB/mois, suffisante pour la plupart des sites.</p>
861
- </div>
862
- </div>
863
-
864
- <div class="bg-white rounded-lg shadow-md overflow-hidden">
865
- <button class="faq-question w-full text-left px-6 py-4 font-medium text-gray-800 hover:bg-gray-50 flex justify-between items-center">
866
- <span>Combien de temps mon domaine restera-t-il actif?</span>
867
- <i class="fas fa-chevron-down text-purple-600 transition-transform"></i>
868
- </button>
869
- <div class="faq-answer px-6 pb-4 text-gray-600 hidden">
870
- <p>Votre domaine est enregistré pour 1 an gratuitement. Avant l'expiration, vous pourrez le renouveler gratuitement aussi longtemps que vous l'utilisez activement.</p>
871
- </div>
872
- </div>
873
-
874
- <div class="bg-white rounded-lg shadow-md overflow-hidden">
875
- <button class="faq-question w-full text-left px-6 py-4 font-medium text-gray-800 hover:bg-gray-50 flex justify-between items-center">
876
- <span>Puis-je transférer mon domaine ailleurs plus tard?</span>
877
- <i class="fas fa-chevron-down text-purple-600 transition-transform"></i>
878
- </button>
879
- <div class="faq-answer px-6 pb-4 text-gray-600 hidden">
880
- <p>Oui, après 60 jours d'enregistrement initial, vous pouvez transférer votre domaine vers un autre registraire si vous le souhaitez, sans frais supplémentaires.</p>
881
- </div>
882
- </div>
883
- </div>
884
- </div>
885
- </section>
886
-
887
- <!-- Footer -->
888
- <footer class="bg-gray-800 text-white py-12">
889
- <div class="container mx-auto px-4">
890
- <div class="grid md:grid-cols-3 gap-8">
891
- <div>
892
- <h3 class="text-xl font-bold mb-4">FreeDomain Registry</h3>
893
- <p class="text-gray-400">Le premier bureau d'enregistrement offrant des services complets 100% gratuits.</p>
894
- <div class="flex space-x-4 mt-4">
895
- <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-facebook-f"></i></a>
896
- <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-twitter"></i></a>
897
- <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-instagram"></i></a>
898
- <a href="#" class="text-gray-400 hover:text-white"><i class="fab fa-linkedin-in"></i></a>
899
- </div>
900
- </div>
901
- <div>
902
- <h4 class="font-bold mb-4">Services</h4>
903
- <ul class="space-y-2">
904
- <li><a href="#" class="text-gray-400 hover:text-white">Enregistrement de domaine</a></li>
905
- <li><a href="#" class="text-gray-400 hover:text-white">Hébergement web</a></li>
906
- <li><a href="#" class="text-gray-400 hover:text-white">Certificats SSL</a></li>
907
- <li><a href="#" class="text-gray-400 hover:text-white">Emails professionnels</a></li>
908
- </ul>
909
- </div>
910
- <div>
911
- <h4 class="font-bold mb-4">Support</h4>
912
- <ul class="space-y-2">
913
- <li><a href="#" class="text-gray-400 hover:text-white">Centre d'aide</a></li>
914
- <li><a href="#" class="text-gray-400 hover:text-white">Contact</a></li>
915
- <li><a href="#" class="text-gray-400 hover:text-white">Communauté</a></li>
916
- <li><a href="#" class="text-gray-400 hover:text-white">Statut des services</a></li>
917
- </ul>
918
- </div>
919
- </div>
920
- <div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-400">
921
- <p>&copy; 2023 FreeDomain Registry. Tous droits réservés.</p>
922
- </div>
923
- </div>
924
- </footer>
925
-
926
- <script>
927
- document.addEventListener('DOMContentLoaded', function() {
928
- // DOM Elements
929
- const domainInput = document.getElementById('domain-input');
930
- const checkDomainBtn = document.getElementById('check-domain-btn');
931
- const tldBtns = document.querySelectorAll('.tld-btn');
932
- const domainResults = document.getElementById('domain-results');
933
- const domainOptions = document.getElementById('domain-options');
934
- const searchedDomain = document.getElementById('searched-domain');
935
- const registrationForm = document.getElementById('registration-form');
936
- const domainRegistrationForm = document.getElementById('domain-registration-form');
937
- const domainNameField = document.getElementById('domain-name');
938
- const deploymentProgress = document.getElementById('deployment-progress');
939
- const websitePreview = document.getElementById('website-preview');
940
- const previewUrl = document.getElementById('preview-url');
941
- const templatePreview = document.getElementById('template-preview');
942
- const controlPanelBtn = document.getElementById('control-panel-btn');
943
- const adminUrl = document.getElementById('admin-url');
944
- const faqQuestions = document.querySelectorAll('.faq-question');
945
- const loginBtn = document.getElementById('login-btn');
946
- const cartBtn = document.getElementById('cart-btn');
947
- const cartCount = document.getElementById('cart-count');
948
-
949
- // Modals
950
- const subscriptionModal = document.getElementById('subscription-modal');
951
- const closeSubscriptionBtn = document.getElementById('close-subscription-btn');
952
- const loginModal = document.getElementById('login-modal');
953
- const closeLoginBtn = document.getElementById('close-login-btn');
954
- const registerModal = document.getElementById('register-modal');
955
- const closeRegisterBtn = document.getElementById('close-register-btn');
956
- const showRegisterBtn = document.getElementById('show-register-btn');
957
- const showLoginBtn = document.getElementById('show-login-btn');
958
-
959
- // Cart
960
- const cartSidebar = document.getElementById('cart-sidebar');
961
- const closeCartBtn = document.getElementById('close-cart-btn');
962
- const cartItems = document.getElementById('cart-items');
963
- const cartSubtotal = document.getElementById('cart-subtotal');
964
- const cartTax = document.getElementById('cart-tax');
965
- const cartTotal = document.getElementById('cart-total');
966
- const checkoutBtn = document.getElementById('checkout-btn');
967
- const addToCartBtns = document.querySelectorAll('.add-to-cart-btn');
968
-
969
- // Subscription
970
- const subscriptionCards = document.querySelectorAll('.subscription-card');
971
- const paymentSection = document.getElementById('payment-section');
972
- const orderPlan = document.getElementById('order-plan');
973
- const orderPeriod = document.getElementById('order-period');
974
- const orderTotal = document.getElementById('order-total');
975
-
976
- // Control Panel Elements
977
- const controlPanelModal = document.getElementById('control-panel-modal');
978
- const closePanelBtn = document.getElementById('close-panel-btn');
979
- const panelDomainName = document.getElementById('panel-domain-name');
980
- const panelTabBtns = document.querySelectorAll('.panel-tab-btn');
981
- const dnsTab = document.getElementById('dns-tab');
982
- const websiteTab = document.getElementById('website-tab');
983
- const emailTab = document.getElementById('email-tab');
984
- const settingsTab = document.getElementById('settings-tab');
985
- const addDnsRecordBtn = document.getElementById('add-dns-record-btn');
986
- const addDnsModal = document.getElementById('add-dns-modal');
987
- const cancelAddDnsBtn = document.getElementById('cancel-add-dns-btn');
988
- const addDnsForm = document.getElementById('add-dns-form');
989
- const dnsRecordsTable = document.getElementById('dns-records-table');
990
-
991
- // Sample DNS records data
992
- const sampleDnsRecords = [
993
- { type: 'A', name: '@', value: '192.0.2.1', ttl: '3600' },
994
- { type: 'A', name: 'www', value: '192.0.2.1', ttl: '3600' },
995
- { type: 'MX', name: '@', value: 'mail.freedomain.registry', ttl: '14400', priority: '10' },
996
- { type: 'TXT', name: '@', value: '"v=spf1 include:freedomain.registry ~all"', ttl: '3600' }
997
- ];
998
-
999
- // Cart state
1000
- let cart = [];
1001
-
1002
- // Initialize
1003
- init();
1004
-
1005
- function init() {
1006
- // Check if user is logged in (simulated)
1007
- const isLoggedIn = localStorage.getItem('isLoggedIn') === 'true';
1008
-
1009
- if (!isLoggedIn) {
1010
- // Show subscription modal if not logged in
1011
- setTimeout(() => {
1012
- subscriptionModal.classList.remove('hidden');
1013
- document.body.style.overflow = 'hidden';
1014
- }, 1000);
1015
- }
1016
-
1017
- // Setup event listeners
1018
- setupEventListeners();
1019
- }
1020
-
1021
- function setupEventListeners() {
1022
- // TLD buttons
1023
- tldBtns.forEach(btn => {
1024
- btn.addEventListener('click', function(e) {
1025
- e.preventDefault();
1026
- const tld = this.getAttribute('data-tld');
1027
- const domainName = domainInput.value.trim();
1028
-
1029
- if (domainName) {
1030
- domainInput.value = domainName + tld;
1031
- }
1032
- });
1033
- });
1034
-
1035
- // Check domain button
1036
- checkDomainBtn.addEventListener('click', function() {
1037
- const domain = domainInput.value.trim();
1038
-
1039
- if (!domain) {
1040
- alert('Veuillez entrer un nom de domaine');
1041
- return;
1042
- }
1043
-
1044
- // Show domain results
1045
- showDomainResults(domain);
1046
- });
1047
-
1048
- // Domain registration form submission
1049
- domainRegistrationForm.addEventListener('submit', function(e) {
1050
- e.preventDefault();
1051
-
1052
- const domain = domainNameField.value;
1053
- const email = document.getElementById('domain-email').value;
1054
- const template = document.getElementById('domain-template').value;
1055
-
1056
- // Hide registration form and show deployment progress
1057
- registrationForm.classList.add('hidden');
1058
- deploymentProgress.classList.remove('hidden');
1059
-
1060
- // Scroll to deployment
1061
- setTimeout(() => {
1062
- deploymentProgress.scrollIntoView({ behavior: 'smooth' });
1063
- }, 100);
1064
-
1065
- // Simulate deployment process
1066
- simulateDeployment(domain, email, template);
1067
- });
1068
-
1069
- // Control panel button
1070
- controlPanelBtn.addEventListener('click', function() {
1071
- const domain = document.getElementById('info-domain').textContent;
1072
- const email = document.getElementById('info-email').textContent;
1073
- showControlPanel(domain, email);
1074
- });
1075
-
1076
- // FAQ accordion
1077
- faqQuestions.forEach(question => {
1078
- question.addEventListener('click', function() {
1079
- const answer = this.nextElementSibling;
1080
- const icon = this.querySelector('i');
1081
-
1082
- // Toggle answer
1083
- answer.classList.toggle('hidden');
1084
-
1085
- // Rotate icon
1086
- if (answer.classList.contains('hidden')) {
1087
- icon.style.transform = 'rotate(0deg)';
1088
- } else {
1089
- icon.style.transform = 'rotate(180deg)';
1090
- }
1091
- });
1092
- });
1093
-
1094
- // Allow pressing Enter in domain input
1095
- domainInput.addEventListener('keypress', function(e) {
1096
- if (e.key === 'Enter') {
1097
- checkDomainBtn.click();
1098
- }
1099
- });
1100
-
1101
- // Make footer links clickable (simulated)
1102
- document.querySelectorAll('footer a').forEach(link => {
1103
- link.addEventListener('click', function(e) {
1104
- e.preventDefault();
1105
- alert(`Navigation vers: ${this.textContent}`);
1106
- });
1107
- });
1108
-
1109
- // Login button
1110
- loginBtn.addEventListener('click', function() {
1111
- loginModal.classList.remove('hidden');
1112
- document.body.style.overflow = 'hidden';
1113
- });
1114
-
1115
- // Close login modal
1116
- closeLoginBtn.addEventListener('click', function() {
1117
- loginModal.classList.add('hidden');
1118
- document.body.style.overflow = 'auto';
1119
- });
1120
-
1121
- // Show register modal
1122
- showRegisterBtn.addEventListener('click', function(e) {
1123
- e.preventDefault();
1124
- loginModal.classList.add('hidden');
1125
- registerModal.classList.remove('hidden');
1126
- });
1127
-
1128
- // Close register modal
1129
- closeRegisterBtn.addEventListener('click', function() {
1130
- registerModal.classList.add('hidden');
1131
- document.body.style.overflow = 'auto';
1132
- });
1133
-
1134
- // Show login modal
1135
- showLoginBtn.addEventListener('click', function(e) {
1136
- e.preventDefault();
1137
- registerModal.classList.add('hidden');
1138
- loginModal.classList.remove('hidden');
1139
- });
1140
-
1141
- // Register form submission
1142
- document.getElementById('register-form').addEventListener('submit', function(e) {
1143
- e.preventDefault();
1144
-
1145
- // Simulate registration
1146
- localStorage.setItem('isLoggedIn', 'true');
1147
- registerModal.classList.add('hidden');
1148
- document.body.style.overflow = 'auto';
1149
-
1150
- alert('Inscription réussie! Vous êtes maintenant connecté.');
1151
- });
1152
-
1153
- // Login form submission
1154
- document.getElementById('login-form').addEventListener('submit', function(e) {
1155
- e.preventDefault();
1156
-
1157
- // Simulate login
1158
- localStorage.setItem('isLoggedIn', 'true');
1159
- loginModal.classList.add('hidden');
1160
- document.body.style.overflow = 'auto';
1161
-
1162
- alert('Connexion réussie!');
1163
- });
1164
-
1165
- // Cart button
1166
- cartBtn.addEventListener('click', function() {
1167
- cartSidebar.style.transform = 'translateX(0)';
1168
- document.body.style.overflow = 'hidden';
1169
- });
1170
-
1171
- // Close cart sidebar
1172
- closeCartBtn.addEventListener('click', function() {
1173
- cartSidebar.style.transform = 'translateX(100%)';
1174
- document.body.style.overflow = 'auto';
1175
- });
1176
-
1177
- // Add to cart buttons
1178
- addToCartBtns.forEach(btn => {
1179
- btn.addEventListener('click', function() {
1180
- const plan = this.getAttribute('data-plan');
1181
- const price = parseFloat(this.getAttribute('data-price'));
1182
-
1183
- addToCart(plan, price);
1184
- });
1185
- });
1186
-
1187
- // Checkout button
1188
- checkoutBtn.addEventListener('click', function() {
1189
- // Close cart and open subscription modal
1190
- cartSidebar.style.transform = 'translateX(100%)';
1191
- subscriptionModal.classList.remove('hidden');
1192
-
1193
- // Show payment section
1194
- paymentSection.classList.remove('hidden');
1195
-
1196
- // Update order summary
1197
- updateOrderSummary();
1198
- });
1199
-
1200
- // Subscription cards
1201
- subscriptionCards.forEach(card => {
1202
- card.addEventListener('click', function() {
1203
- const plan = this.getAttribute('data-plan');
1204
-
1205
- // Remove selected class from all cards
1206
- subscriptionCards.forEach(c => {
1207
- c.classList.remove('selected-subscription');
1208
- c.querySelector('button').classList.remove('bg-purple-600', 'hover:bg-purple-700', 'text-white');
1209
- c.querySelector('button').classList.add('bg-gray-200', 'text-gray-800');
1210
- });
1211
-
1212
- // Add selected class to clicked card
1213
- this.classList.add('selected-subscription');
1214
- const btn = this.querySelector('button');
1215
- btn.classList.remove('bg-gray-200', 'text-gray-800');
1216
- btn.classList.add('bg-purple-600', 'hover:bg-purple-700', 'text-white');
1217
-
1218
- // Update order summary
1219
- updateOrderSummary();
1220
- });
1221
- });
1222
-
1223
- // Close subscription modal
1224
- closeSubscriptionBtn.addEventListener('click', function() {
1225
- subscriptionModal.classList.add('hidden');
1226
- document.body.style.overflow = 'auto';
1227
- });
1228
-
1229
- // Payment method selection
1230
- document.querySelectorAll('input[name="payment-method"]').forEach(radio => {
1231
- radio.addEventListener('change', function() {
1232
- if (this.value === 'paypal') {
1233
- document.getElementById('paypal-button-container').classList.remove('hidden');
1234
- document.getElementById('stripe-submit-btn').classList.add('hidden');
1235
- } else {
1236
- document.getElementById('paypal-button-container').classList.add('hidden');
1237
- document.getElementById('stripe-submit-btn').classList.remove('hidden');
1238
- }
1239
- });
1240
- });
1241
-
1242
- // Control Panel Elements
1243
- closePanelBtn.addEventListener('click', function() {
1244
- controlPanelModal.classList.add('hidden');
1245
- document.body.style.overflow = 'auto';
1246
- });
1247
-
1248
- // Panel tab switching
1249
- panelTabBtns.forEach(btn => {
1250
- btn.addEventListener('click', function() {
1251
- const tab = this.getAttribute('data-tab');
1252
-
1253
- // Update active tab button
1254
- panelTabBtns.forEach(b => {
1255
- b.classList.remove('bg-white', 'text-purple-600');
1256
- b.classList.add('bg-gray-100', 'text-gray-600', 'hover:bg-gray-200');
1257
- });
1258
- this.classList.remove('bg-gray-100', 'text-gray-600', 'hover:bg-gray-200');
1259
- this.classList.add('bg-white', 'text-purple-600');
1260
-
1261
- // Hide all tabs
1262
- dnsTab.classList.add('hidden');
1263
- websiteTab.classList.add('hidden');
1264
- emailTab.classList.add('hidden');
1265
- settingsTab.classList.add('hidden');
1266
-
1267
- // Show selected tab
1268
- document.getElementById(`${tab}-tab`).classList.remove('hidden');
1269
- });
1270
- });
1271
-
1272
- // Add DNS record button
1273
- addDnsRecordBtn.addEventListener('click', function() {
1274
- // Reset form
1275
- addDnsForm.reset();
1276
- document.getElementById('record-ttl').value = '3600';
1277
-
1278
- // Show modal
1279
- addDnsModal.classList.remove('hidden');
1280
- });
1281
-
1282
- // Cancel add DNS record
1283
- cancelAddDnsBtn.addEventListener('click', function() {
1284
- addDnsModal.classList.add('hidden');
1285
- });
1286
-
1287
- // Add DNS form submission
1288
- addDnsForm.addEventListener('submit', function(e) {
1289
- e.preventDefault();
1290
-
1291
- const type = document.getElementById('record-type').value;
1292
- const name = document.getElementById('record-name').value;
1293
- const value = document.getElementById('record-value').value;
1294
- const ttl = document.getElementById('record-ttl').value;
1295
-
1296
- // In a real app, you would make an API call here
1297
- alert(`Enregistrement DNS ajouté (simulation)\nType: ${type}\nNom: ${name}\nValeur: ${value}\nTTL: ${ttl}`);
1298
-
1299
- // Close modal
1300
- addDnsModal.classList.add('hidden');
1301
-
1302
- // Reload DNS records
1303
- loadDnsRecords(panelDomainName.textContent);
1304
- });
1305
- }
1306
-
1307
- // Show domain results
1308
- function showDomainResults(domain) {
1309
- searchedDomain.textContent = domain;
1310
-
1311
- // Clear previous options
1312
- domainOptions.innerHTML = '';
1313
-
1314
- // Generate domain options
1315
- const tlds = ['.free', '.web', '.site', '.online'];
1316
- const prices = ['Gratuit', 'Gratuit', 'Gratuit', 'Gratuit'];
1317
-
1318
- tlds.forEach((tld, index) => {
1319
- const domainOption = document.createElement('div');
1320
- domainOption.className = 'flex justify-between items-center p-4 border-b border-gray-200 last:border-b-0';
1321
-
1322
- domainOption.innerHTML = `
1323
- <div class="flex items-center">
1324
- <input type="radio" name="domain-option" id="option-${index}" class="mr-3" ${index === 0 ? 'checked' : ''}>
1325
- <label for="option-${index}" class="font-medium">${domain.split('.')[0]}${tld}</label>
1326
- </div>
1327
- <div class="flex items-center">
1328
- <span class="text-lg font-bold text-purple-600 mr-4">${prices[index]}</span>
1329
- <button class="select-domain-btn px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white rounded-lg text-sm" data-domain="${domain.split('.')[0]}${tld}">
1330
- Sélectionner
1331
- </button>
1332
- </div>
1333
- `;
1334
-
1335
- domainOptions.appendChild(domainOption);
1336
- });
1337
-
1338
- // Show results section
1339
- domainResults.classList.remove('hidden');
1340
-
1341
- // Scroll to results
1342
- setTimeout(() => {
1343
- domainResults.scrollIntoView({ behavior: 'smooth' });
1344
-
1345
  </html>
 
54
  border: 2px solid #4f46e5;
55
  background-color: #f5f3ff;
56
  }
57
+ .admin-badge {
58
+ position: absolute;
59
+ top: -8px;
60
+ right: -8px;
61
+ background-color: #10B981;
62
+ color: white;
63
+ border-radius: 9999px;
64
+ width: 20px;
65
+ height: 20px;
66
+ display: flex;
67
+ align-items: center;
68
+ justify-content: center;
69
+ font-size: 12px;
70
+ }
71
  </style>
72
  </head>
73
  <body class="bg-gray-50">
 
653
 
654
  <div>
655
  <label for="record-value" class="block text-sm font-medium text-gray-700 mb-1">Valeur</label>
656
+ <input type="text" id="record-value" class="w-full px-4 py-2 border border-gray-300 rounded-lg
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
657
  </html>
prompts.txt CHANGED
@@ -5,4 +5,5 @@ le bouton Vérifier la disponibilité ne fonctionne pas
5
  enregistrement domain, ssl, dns, serveur ect.. gratuitement au bureau d'enregistrement avec resultat sur les serveur et afficher sont site en ligne dans la seconde qui suit
6
  le bouton : Panel de contrôle : et les autre sont pas cliquable et pas fonctionnel
7
  ajouter serveur dns
8
- ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement
 
 
5
  enregistrement domain, ssl, dns, serveur ect.. gratuitement au bureau d'enregistrement avec resultat sur les serveur et afficher sont site en ligne dans la seconde qui suit
6
  le bouton : Panel de contrôle : et les autre sont pas cliquable et pas fonctionnel
7
  ajouter serveur dns
8
+ ajouter bouton paypal , stripe , avec mes information pour etre payer , ajouter panier d'achat , obligatio de sabonner pour utiliser le site gratuitement
9
+ je veux acces gratuite pour moi seulement administrateur : [email protected] : Admin270574@ et [email protected] : Admin270574@