├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── github-ci.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── LICENSE ├── README.md ├── assets ├── css │ ├── app.css │ └── theme.css ├── images │ ├── logo.svg │ ├── map-afetharita.jpg │ ├── map-depremenkaz.jpg │ ├── map-depremio.jpg │ └── share │ │ ├── facebook.svg │ │ ├── linkedin.svg │ │ ├── mail.svg │ │ ├── reddit.svg │ │ ├── tumblr.svg │ │ └── twitter.svg └── js │ ├── app.js │ ├── lists │ ├── yardim-list.js │ └── yardimet-list.js │ └── requests │ ├── detail.js │ └── formSubmission.js ├── iletisim.html ├── index.html ├── legal ├── aydinlatma-ve-acik-riza-metni.html ├── cerez-politikasi.html ├── gizlilik-sozlesmesi.html └── hukuki-kvkk.html ├── package-lock.json ├── package.json ├── yararli-linkler.html ├── yardim-detay └── detay.html ├── yardim-istegi-formlari ├── enkaz.html ├── gida.html └── isinma.html ├── yardim-istekleri ├── enkaz.html ├── gida.html └── isinma.html ├── yardim-sagla ├── bagis.html ├── cadir-kurabilirim.html ├── gida.html ├── is-makinasi.html ├── konaklama.html └── yolcu-tasima.html └── yardim-saglayanlar ├── gida.html ├── is-makinasi.html ├── konaklama.html └── yolcu-tasima.html /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/github-ci.yml: -------------------------------------------------------------------------------- 1 | name: Deploy to AWS S3 2 | 3 | on: 4 | push: 5 | branches: 6 | - prod 7 | 8 | jobs: 9 | deploy: 10 | runs-on: ubuntu-latest 11 | environment: prod 12 | 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v3 16 | 17 | - name: Login to AWS 18 | uses: aws-actions/configure-aws-credentials@v1 19 | with: 20 | aws-access-key-id: ${{ secrets.LAB_AWS_ACCESS_KEY_ID }} 21 | aws-secret-access-key: ${{ secrets.LAB_AWS_SECRET_ACCESS_KEY }} 22 | aws-region: ${{ secrets.LAB_AWS_SELECTED_REGION }} 23 | 24 | - name: Deploy to S3 25 | run: aws s3 sync ./ s3://deprem.io --exclude '.git*/*' --exclude 'LICENCE' --exclude '*.md' 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .husky 3 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | build 3 | coverage -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "bracketSpacing": true, 4 | "printWidth": 120 5 | } 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # deprem-io-frontend 2 | 3 | # Pre requirement for development 4 | 5 | ## Setup development depedencies 6 | 7 | 'npm install' 8 | -------------------------------------------------------------------------------- /assets/css/theme.css: -------------------------------------------------------------------------------- 1 | body[data-theme='light'] { 2 | background-color: #fff; 3 | } 4 | 5 | body[data-theme='light'] * { 6 | color: #000 !important; 7 | } 8 | 9 | body[data-theme='light'] .button { 10 | background-color: #fff !important; 11 | } 12 | 13 | body[data-theme='light'] .important { 14 | color: rgba(71, 101, 255, 1) !important; 15 | } 16 | 17 | body[data-theme='light'] svg { 18 | background-color: #fff !important; 19 | } 20 | 21 | body[data-theme='light'] .card { 22 | background-color: #fff !important; 23 | border: 1px solid rgba(155, 159, 179, 0.2); 24 | } 25 | 26 | body[data-theme='dark'] { 27 | background-color: #000; 28 | } 29 | 30 | body[data-theme='dark'] .list-head-filters { 31 | background-color: rgba(44, 46, 60, 0.15); 32 | } 33 | 34 | body[data-teme='dark'] .list-item { 35 | background-color: rgba(44, 46, 60, 0.15); 36 | } 37 | 38 | body[data-theme='dark'] * { 39 | color: #fff !important; 40 | } 41 | 42 | body[data-theme='dark'] .button { 43 | background-color: #000 !important; 44 | } 45 | 46 | body[data-theme='dark'] .swal2-title { 47 | color: #000 !important; 48 | } 49 | 50 | body[data-theme='dark'] svg { 51 | background-color: #000 !important; 52 | } 53 | 54 | body[data-theme='dark'] .card { 55 | background-color: #000 !important; 56 | border: 1px solid rgba(155, 159, 179, 0.2); 57 | } 58 | 59 | .moon_icon { 60 | position: absolute; 61 | right: 20px; 62 | top: 20px; 63 | cursor: pointer; 64 | } 65 | 66 | .moon_icon svg { 67 | width: 32px; 68 | height: 32px; 69 | } 70 | 71 | .sun_icon { 72 | position: absolute; 73 | right: 20px; 74 | top: 20px; 75 | cursor: pointer; 76 | } 77 | 78 | .sun_icon svg { 79 | width: 32px; 80 | height: 32px; 81 | } 82 | 83 | body[data-theme='light'] [type='submit'], 84 | .list-head .list-head-main .cat-filters .active { 85 | color: #fff !important; 86 | } 87 | -------------------------------------------------------------------------------- /assets/images/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /assets/images/map-afetharita.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/acikyazilimagi/deprem-io-frontend/e7153b9f641e291762e88b98e1bce329eb7b2ea8/assets/images/map-afetharita.jpg -------------------------------------------------------------------------------- /assets/images/map-depremenkaz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/acikyazilimagi/deprem-io-frontend/e7153b9f641e291762e88b98e1bce329eb7b2ea8/assets/images/map-depremenkaz.jpg -------------------------------------------------------------------------------- /assets/images/map-depremio.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/acikyazilimagi/deprem-io-frontend/e7153b9f641e291762e88b98e1bce329eb7b2ea8/assets/images/map-depremio.jpg -------------------------------------------------------------------------------- /assets/images/share/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/share/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/share/mail.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/share/reddit.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/share/tumblr.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/share/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/js/app.js: -------------------------------------------------------------------------------- 1 | const App = { 2 | icons: { 3 | sun: ` 4 | 5 | `, 6 | moon: ` 7 | 8 | 9 | `, 10 | }, 11 | currentThemeIsDark: false, 12 | init: function () { 13 | App.methods.checkCurrentTheme(); 14 | App.eventListeners(); 15 | }, 16 | eventListeners: function () { 17 | App.html.moonIcon.addEventListener('click', () => { 18 | App.currentThemeIsDark = !App.currentThemeIsDark; 19 | 20 | App.methods.toggleTheme(App.currentThemeIsDark); 21 | }); 22 | }, 23 | html: { 24 | moonIcon: document.querySelector('.moon_icon'), 25 | }, 26 | methods: { 27 | checkCurrentTheme: function () { 28 | const theme = localStorage.getItem('data-theme'); 29 | 30 | if (theme && theme == 'dark') { 31 | App.currentThemeIsDark = true; 32 | App.methods.toggleTheme(true); 33 | } else { 34 | App.currentThemeIsDark = false; 35 | App.methods.toggleTheme(false); 36 | } 37 | }, 38 | toggleTheme: function (isDark) { 39 | if (isDark) { 40 | App.html.moonIcon.innerHTML = App.icons.sun; 41 | App.html.moonIcon.className = 'sun_icon'; 42 | document.body.setAttribute('data-theme', 'dark'); 43 | localStorage.setItem('data-theme', 'dark'); 44 | } else { 45 | App.html.moonIcon.innerHTML = App.icons.moon; 46 | App.html.moonIcon.className = 'moon_icon'; 47 | document.body.setAttribute('data-theme', 'light'); 48 | localStorage.setItem('data-theme', 'light'); 49 | } 50 | }, 51 | }, 52 | }; 53 | 54 | document.addEventListener('DOMContentLoaded', function () { 55 | App.init(); 56 | }); 57 | 58 | document.querySelectorAll('.back-button').forEach((backBtn) => { 59 | backBtn.setAttribute('href', document.referrer); 60 | 61 | backBtn.onclick = function () { 62 | history.back(); 63 | return false; 64 | }; 65 | }); 66 | -------------------------------------------------------------------------------- /assets/js/lists/yardim-list.js: -------------------------------------------------------------------------------- 1 | const API_URL = 'https://api.deprem.io/'; 2 | 3 | const filterButton = document.querySelector('#filter-button'); 4 | const filterHelpType = document.querySelector('#filter-help-type'); 5 | const filterHelpQ = document.querySelector('#filter-help-q'); 6 | const filterHelpStatus = document.querySelector('#filter-help-status'); 7 | const filterHelpEmergence = document.querySelector('#filter-help-emergence'); 8 | const filterVehicle = document.querySelector('#filter-help-vehicle'); 9 | 10 | const paginationPrevButton = document.querySelector('#pagination-prev'); 11 | const paginationNextButton = document.querySelector('#pagination-next'); 12 | const paginationCurrentPage = document.querySelector('#pagination-current-page'); 13 | const paginationTotalPage = document.querySelector('#pagination-total-page'); 14 | const filteredCount = document.querySelector('#list-info-filtered'); 15 | 16 | const refreshButton = document.querySelector('#refresh-button'); 17 | const form = document.querySelector('#form'); 18 | 19 | let isFiltered = false; 20 | 21 | function ready(fn) { 22 | if (document.readyState !== 'loading') { 23 | fn(); 24 | } else { 25 | document.addEventListener('DOMContentLoaded', fn); 26 | } 27 | } 28 | 29 | ready(function () { 30 | getRows(); 31 | }); 32 | 33 | filterButton.addEventListener('click', function (e) { 34 | e.preventDefault(); 35 | 36 | getFilteredRows(); 37 | }); 38 | 39 | form.addEventListener('submit', function (e) { 40 | e.preventDefault(); 41 | 42 | getFilteredRows(); 43 | }); 44 | 45 | refreshButton.addEventListener('click', function (e) { 46 | e.preventDefault(); 47 | 48 | if (!isFiltered && filterHelpQ.value.trim() === '') getRows(); 49 | else getFilteredRows(); 50 | }); 51 | 52 | paginationNextButton.addEventListener('click', function (e) { 53 | e.preventDefault(); 54 | 55 | var currentPage = parseInt(paginationCurrentPage.innerHTML); 56 | 57 | if (currentPage >= parseInt(paginationTotalPage.innerHTML)) { 58 | return; 59 | } 60 | 61 | getRows(currentPage + 1); 62 | }); 63 | 64 | paginationPrevButton.addEventListener('click', function (e) { 65 | e.preventDefault(); 66 | 67 | var currentPage = parseInt(paginationCurrentPage.innerHTML); 68 | 69 | if (currentPage <= 1) { 70 | return; 71 | } 72 | 73 | getRows(currentPage - 1); 74 | }); 75 | 76 | function getRows(page, limit) { 77 | page = page || 1; 78 | limit = limit || 10; 79 | 80 | var totalPage = 0; 81 | var helpType = filterHelpType.value; 82 | 83 | // get items 84 | getData(API_URL + 'yardim', [ 85 | { key: 'page', value: page }, 86 | { key: 'limit', value: limit }, 87 | { key: 'yardimTipi', value: helpType }, 88 | ]) 89 | .then((items) => { 90 | // update total page value 91 | totalPage = items.totalPage; 92 | var listWrapper = document.querySelector('.list'); 93 | // clear listWrapper html 94 | listWrapper.innerHTML = ''; 95 | 96 | items.data.forEach(function (item) { 97 | listWrapper.innerHTML += getRowHtml(item); 98 | }); 99 | }) 100 | .finally(() => { 101 | // update pagination info in html 102 | paginationCurrentPage.innerHTML = page; 103 | paginationTotalPage.innerHTML = totalPage; 104 | }); 105 | } 106 | 107 | function getFilteredRows(page, limit) { 108 | if (filterHelpQ.value.trim() === '') return; // Empty inputta filtreleme yapma 109 | 110 | page = page || 1; 111 | limit = limit || 10; 112 | 113 | var totalPage = 0; 114 | var helpType = filterHelpType.value; 115 | var helpQ = filterHelpQ.value; 116 | var helpStatus = filterHelpStatus.value; 117 | var helpEmergence = filterHelpEmergence.value; 118 | var helpVehicle = ''; 119 | 120 | if (filterVehicle) { 121 | helpVehicle = filterVehicle.value; 122 | } 123 | 124 | // get items 125 | getData(API_URL + 'ara-yardim/', [ 126 | { key: 'q', value: helpQ }, 127 | { key: 'yardimDurumu', value: helpStatus }, 128 | { key: 'yardimTipi', value: helpType }, 129 | { key: 'acilDurum', value: helpEmergence }, 130 | { key: 'aracDurumu', value: helpVehicle }, 131 | ]) 132 | .then((items) => { 133 | // update total page value 134 | totalPage = items.totalPage; 135 | var listWrapper = document.querySelector('.list'); 136 | // clear listWrapper html 137 | listWrapper.innerHTML = ''; 138 | 139 | items.forEach(function (item) { 140 | listWrapper.innerHTML += getRowHtml(item); 141 | }); 142 | }) 143 | .finally(() => { 144 | // update pagination info in html 145 | paginationCurrentPage.innerHTML = page; 146 | paginationTotalPage.innerHTML = totalPage; 147 | }); 148 | } 149 | 150 | function parseTime(input) { 151 | const date = new Date(input); 152 | const year = date.getFullYear(); 153 | const month = date.getMonth() + 1; 154 | const day = date.getDate(); 155 | const hour = date.getHours(); 156 | const minute = date.getMinutes().toString().padStart(2, '0'); 157 | 158 | const minutesAgo = Math.floor((new Date() - date) / 1000 / 60); 159 | const daysAgo = Math.floor(minutesAgo / 60 / 24); 160 | 161 | if (minutesAgo < 60) { 162 | if (minutesAgo < 1) { 163 | return 'az önce'; 164 | } 165 | return `${minutesAgo} dakika önce`; 166 | } else if (daysAgo < 1) { 167 | return `${hour}:${minute}`; 168 | } 169 | 170 | return `${day}.${month}.${year} ${hour}:${minute}`; 171 | } 172 | 173 | function getData(url, params) { 174 | if (params) { 175 | url += '?'; 176 | params.forEach((param) => { 177 | url += `${param.key}=${param.value}&`; 178 | }); 179 | } 180 | 181 | return fetch(url, { 182 | method: 'GET', 183 | headers: { 184 | 'Content-Type': 'application/json', 185 | }, 186 | }) 187 | .then((response) => response.json()) 188 | .then((data) => { 189 | return data; 190 | }) 191 | .catch((error) => { 192 | console.error('Error:', error); 193 | }); 194 | } 195 | 196 | function getRowHtml(item) { 197 | let classColor; 198 | 199 | if (item.yardimDurumu === 'bekleniyor') { 200 | classColor = 'status-waiting'; 201 | } else if (item.yardimDurumu === 'yolda') { 202 | classColor = 'status-unknown'; 203 | } else if (item.yardimDurumu === 'yapildi') { 204 | classColor = 'status-ok'; 205 | } 206 | 207 | return `
208 |
209 |
210 |
211 | 212 | ${item.yardimTipi} - ${item.acilDurum} 213 | 214 |
215 |
216 | 217 | ${item.adSoyad} 218 | 219 |
220 |
221 | 222 | ${item.telefon} 223 | 224 |
225 |
226 | 231 |
232 |
233 |
234 |
235 | 236 | 237 | ${item.adres.slice(0, 20)} - ${item.adresTarifi.slice(0, 20)} ${ 238 | item.adresTarifi.length > 20 ? '...' : '' 239 | } 240 | 241 |
242 |
243 | 244 | 245 | ${parseTime(item.updatedAt)} 246 | 247 |
248 |
249 | 250 | #${item._id} 251 | 252 |
253 |
254 | 257 |
258 |
`; 259 | } 260 | -------------------------------------------------------------------------------- /assets/js/lists/yardimet-list.js: -------------------------------------------------------------------------------- 1 | const API_URL = 'https://api.deprem.io/'; 2 | 3 | const filterButton = document.querySelector('#filter-button'); 4 | const filterHelpType = document.querySelector('#filter-help-type'); 5 | const filterHelpQ = document.querySelector('#filter-help-q'); 6 | const filterHelpStatus = document.querySelector('#filter-help-status'); 7 | const filterLocation = document.querySelector('#filter-help-location'); 8 | const filterDest = document.querySelector('#filter-help-dest'); 9 | 10 | const paginationPrevButton = document.querySelector('#pagination-prev'); 11 | const paginationNextButton = document.querySelector('#pagination-next'); 12 | const paginationCurrentPage = document.querySelector('#pagination-current-page'); 13 | const paginationTotalPage = document.querySelector('#pagination-total-page'); 14 | 15 | const refreshButton = document.querySelector('#refresh-button'); 16 | const form = document.querySelector('#form'); 17 | 18 | let isFiltered = false; 19 | 20 | function ready(fn) { 21 | if (document.readyState !== 'loading') { 22 | fn(); 23 | } else { 24 | document.addEventListener('DOMContentLoaded', fn); 25 | } 26 | } 27 | 28 | ready(function () { 29 | getRows(); 30 | }); 31 | 32 | filterButton.addEventListener('click', function (e) { 33 | e.preventDefault(); 34 | 35 | getFilteredRows(); 36 | }); 37 | 38 | form.addEventListener('submit', function (e) { 39 | e.preventDefault(); 40 | 41 | getFilteredRows(); 42 | }); 43 | 44 | refreshButton.addEventListener('click', function (e) { 45 | e.preventDefault(); 46 | 47 | if (!isFiltered && filterHelpQ.value.trim() === '') getRows(); 48 | else getFilteredRows(); 49 | }); 50 | 51 | paginationNextButton.addEventListener('click', function (e) { 52 | e.preventDefault(); 53 | 54 | var currentPage = parseInt(paginationCurrentPage.innerHTML); 55 | 56 | if (currentPage >= parseInt(paginationTotalPage.innerHTML)) { 57 | return; 58 | } 59 | 60 | getRows(currentPage + 1); 61 | }); 62 | 63 | paginationPrevButton.addEventListener('click', function (e) { 64 | e.preventDefault(); 65 | 66 | var currentPage = parseInt(paginationCurrentPage.innerHTML); 67 | 68 | if (currentPage <= 1) { 69 | return; 70 | } 71 | 72 | getRows(currentPage - 1); 73 | }); 74 | 75 | function getRows(page, limit) { 76 | page = page || 1; 77 | limit = limit || 10; 78 | 79 | var totalPage = 0; 80 | var helpType = filterHelpType.value; 81 | 82 | // get items 83 | getData(API_URL + 'yardimet', [ 84 | { key: 'page', value: page }, 85 | { key: 'limit', value: limit }, 86 | { key: 'yardimTipi', value: helpType }, 87 | ]) 88 | .then((items) => { 89 | // update total page value 90 | totalPage = items.totalPage; 91 | 92 | var listWrapper = document.querySelector('.list'); 93 | 94 | // clear listWrapper html 95 | listWrapper.innerHTML = ''; 96 | 97 | items.data.forEach(function (item) { 98 | listWrapper.innerHTML += getRowHtml(item); 99 | }); 100 | }) 101 | .finally(() => { 102 | // update pagination info in html 103 | paginationCurrentPage.innerHTML = page; 104 | paginationTotalPage.innerHTML = totalPage; 105 | }); 106 | } 107 | 108 | function getFilteredRows(page, limit) { 109 | if (filterHelpQ.value.trim() === '') return; // Empty inputta filtreleme yapma 110 | 111 | page = page || 1; 112 | limit = limit || 10; 113 | 114 | var totalPage = 0; 115 | var helpType = filterHelpType.value; 116 | var helpQ = filterHelpQ.value; 117 | var helpStatus = filterHelpStatus.value; 118 | var location = ''; 119 | var dest = ''; 120 | 121 | if (filterLocation) { 122 | location = filterLocation.value; 123 | } 124 | 125 | if (filterDest) { 126 | dest = filterDest.value; 127 | } 128 | 129 | // get items 130 | getData(API_URL + 'ara-yardimet/', [ 131 | { key: 'q', value: helpQ }, 132 | { key: 'yardimDurumu', value: helpStatus }, 133 | { key: 'yardimTipi', value: helpType }, 134 | { key: 'sehir', value: location }, 135 | { key: 'hedefSehir', value: dest }, 136 | ]) 137 | .then((items) => { 138 | // update total page value 139 | totalPage = items.totalPage; 140 | var listWrapper = document.querySelector('.list'); 141 | // clear listWrapper html 142 | listWrapper.innerHTML = ''; 143 | 144 | items.forEach(function (item) { 145 | listWrapper.innerHTML += getRowHtml(item); 146 | }); 147 | }) 148 | .finally(() => { 149 | // update pagination info in html 150 | paginationCurrentPage.innerHTML = page; 151 | paginationTotalPage.innerHTML = totalPage; 152 | }); 153 | } 154 | 155 | function parseTime(input) { 156 | const date = new Date(input); 157 | const year = date.getFullYear(); 158 | const month = date.getMonth() + 1; 159 | const day = date.getDate(); 160 | const hour = date.getHours(); 161 | const minute = date.getMinutes().toString().padStart(2, '0'); 162 | 163 | const minutesAgo = Math.floor((new Date() - date) / 1000 / 60); 164 | const daysAgo = Math.floor(minutesAgo / 60 / 24); 165 | 166 | if (minutesAgo < 60) { 167 | if (minutesAgo < 1) { 168 | return 'az önce'; 169 | } 170 | return `${minutesAgo} dakika önce`; 171 | } else if (daysAgo < 1) { 172 | return `${hour}:${minute}`; 173 | } 174 | 175 | return `${day}.${month}.${year} ${hour}:${minute}`; 176 | } 177 | 178 | function getData(url, params) { 179 | if (params) { 180 | url += '?'; 181 | params.forEach((param) => { 182 | url += `${param.key}=${param.value}&`; 183 | }); 184 | } 185 | 186 | return fetch(url, { 187 | method: 'GET', 188 | headers: { 189 | 'Content-Type': 'application/json', 190 | }, 191 | }) 192 | .then((response) => response.json()) 193 | .then((data) => { 194 | return data; 195 | }) 196 | .catch((error) => { 197 | console.error('Error:', error); 198 | }); 199 | } 200 | 201 | function getRowHtml(item) { 202 | var classColor; 203 | var durumMessage; 204 | if (item.yardimDurumu === 'bekleniyor') { 205 | classColor = 'status-ok'; 206 | durumMessage = 'Yardıma Hazır'; 207 | } else if (item.yardimDurumu === 'yolda') { 208 | classColor = 'status-waiting'; 209 | } else if (item.yardimDurumu === 'yapildi') { 210 | classColor = 'status-unknown'; 211 | durumMessage = 'Yardım Yapıldı'; 212 | } 213 | let value = ''; 214 | if (item.yardimTipi === 'yolcuTasima' || item.yardimTipi === 'gidaSaglama') { 215 | value = item.sehir + ' -> ' + item.hedefSehir; 216 | } else value = item.sehir; 217 | 218 | return `
219 |
220 |
221 |
222 | 223 | ${item.yardimTipi} - ${durumMessage} 224 | 225 |
226 |
227 | 228 | ${item.adSoyad} 229 | 230 |
231 |
232 | 233 | ${item.telefon} 234 | 235 |
236 |
237 | 242 |
243 |
244 |
245 |
246 | 247 | 248 | ${value} 249 | 250 |
251 |
252 | 253 | 254 | ${parseTime(item.updatedAt)} 255 | 256 |
257 |
258 | 259 | #${item._id} 260 | 261 |
262 |
263 | 266 |
267 |
`; 268 | } 269 | -------------------------------------------------------------------------------- /assets/js/requests/detail.js: -------------------------------------------------------------------------------- 1 | const title = document.getElementById('title'); 2 | const status = document.getElementById('status'); 3 | const adSoyad = document.getElementById('adSoyad'); 4 | const email = document.getElementById('email'); 5 | const tel = document.getElementById('telefon'); 6 | const kisiSayisi = document.getElementById('kisiSayisi').getElementsByTagName('input')[0]; 7 | const adres = document.getElementById('adres'); 8 | const adresTarifi = document.getElementById('adresTarifi').getElementsByTagName('input')[0]; 9 | const googleMapsLink = document.querySelector('#google-maps-link'); 10 | const tweeterLink = document.getElementById('tweetLink').getElementsByTagName('a')[0]; 11 | const googleMapLink = document.getElementById('googleMapLink').getElementsByTagName('a')[0]; 12 | 13 | const sehir = document.getElementById('sehir'); 14 | const hedefSehir = document.getElementById('hedefSehir').getElementsByTagName('input')[0]; 15 | 16 | const updatedDate = document.getElementById('updatedDate'); 17 | const createdDate = document.getElementById('createdDate'); 18 | const yardimKayitId = document.getElementById('yardimKayitId'); 19 | 20 | let type = ''; 21 | 22 | const alert = 'rgba(255, 181, 70, 1)'; 23 | const blue = 'rgba(71, 101, 255, 1)'; 24 | const red = 'rgb(255, 87, 97)'; 25 | 26 | function ready(fn) { 27 | if (document.readyState !== 'loading') { 28 | fn(); 29 | } else { 30 | document.addEventListener('DOMContentLoaded', fn); 31 | } 32 | } 33 | 34 | ready(getItem); 35 | 36 | function getItem() { 37 | const params = new Proxy(new URLSearchParams(window.location.search), { 38 | get: (searchParams, prop) => searchParams.get(prop), 39 | }); 40 | let type = params.type; 41 | const id = params.id; 42 | if (type === 'yardimet/') { 43 | document.getElementById('kisiSayisi').style.display = 'none'; 44 | document.getElementById('googleMap').style.display = 'none'; 45 | document.getElementsByClassName('acilDurumRadioWrapper')[0].setAttribute('style', 'display:none !important'); 46 | document.getElementById('adresTarifi').style.display = 'none'; 47 | document.getElementsByClassName('arabaDurum')[0]?.setAttribute('style', 'display:none !important'); 48 | document.getElementById('tweetLink').style.display = 'none'; 49 | } 50 | 51 | // get items 52 | getData(API_URL + type + id).then((item) => { 53 | const yardimKayitlari = item.yardimKaydi; 54 | item = item.results; 55 | console.log(item); 56 | 57 | const acilDurum = item.acilDurum; 58 | const yardimDurum = item.yardimDurumu; 59 | const aracDurum = item.fields.aracDurumu ? item.fields.aracDurumu : ''; 60 | const fizikDurum = item.fizikiDurum ? item.fizikiDurum : ''; 61 | const aciklama = item.aciklama || ''; 62 | 63 | if (aracDurum) { 64 | var element = document.getElementById('aracDurum'); 65 | element.classList.remove('cond-render'); 66 | if (aracDurum === 'var') { 67 | document.getElementById('aracDurumVar').checked = true; 68 | } else if (aracDurum === 'yok') { 69 | document.getElementById('aracDurumYok').checked = true; 70 | } 71 | } 72 | 73 | if (fizikDurum) { 74 | document.getElementById('aciklamaValue').value = fizikDurum; 75 | } 76 | 77 | if (aciklama) { 78 | document.getElementById('aciklamaValue').value = aciklama; 79 | } 80 | 81 | status.getElementsByTagName('p')[0].innerHTML = yardimDurum + ' - ' + acilDurum; 82 | 83 | status.getElementsByTagName('p')[0].innerHTML = yardimDurum + ' - ' + acilDurum; 84 | if (acilDurum === 'kritik') { 85 | document.getElementById('kritik').checked = true; 86 | document.getElementById('orta').disabled = true; 87 | document.getElementById('normal').disabled = true; 88 | 89 | status.setAttribute('style', `border: 1px solid ${red}`); 90 | status.getElementsByTagName('span')[0].style.backgroundColor = red; 91 | status.getElementsByTagName('p')[0].style.color = red; 92 | } else if (acilDurum === 'orta') { 93 | document.getElementById('kritik').disabled = true; 94 | document.getElementById('orta').checked = true; 95 | document.getElementById('normal').disabled = true; 96 | 97 | status.setAttribute('style', `border: 1px solid ${alert}`); 98 | status.getElementsByTagName('span')[0].style.backgroundColor = alert; 99 | status.getElementsByTagName('p')[0].style.color = alert; 100 | } else { 101 | document.getElementById('kritik').disabled = true; 102 | document.getElementById('orta').disabled = true; 103 | document.getElementById('normal').checked = true; 104 | 105 | status.setAttribute('style', `border: 1px solid ${blue}`); 106 | status.getElementsByTagName('span')[0].style.backgroundColor = blue; 107 | status.getElementsByTagName('p')[0].style.color = blue; 108 | } 109 | if (item.yardimTipi === 'yolcuTasima') { 110 | document.getElementById('addressField').style.display = 'none'; 111 | document.getElementById('cityField').style.display = 'grid'; 112 | } else if (item.yardimTipi === 'isMakinasi' || item.yardimTipi === 'konaklama') { 113 | document.getElementById('addressField').style.display = 'none'; 114 | const cityField = document.getElementById('cityField'); 115 | document.getElementById('hedefSehir').style.display = 'none'; 116 | cityField.classList.remove('form-col-2'); 117 | cityField.style.display = 'grid'; 118 | } 119 | 120 | title.innerHTML = item.yardimTipi + ' Yardımı Detay'; 121 | type = item.yardimTipi; 122 | adSoyad.value = item.adSoyad ? item.adSoyad : ''; 123 | email.value = item.email ? item.email : ''; 124 | tel.value = item.telefon ? item.telefon : ''; 125 | kisiSayisi.value = item.kisiSayisi ? item.kisiSayisi : ''; 126 | adres.value = item.adres ? item.adres : ''; 127 | adresTarifi.value = item.adresTarifi ? item.adresTarifi : ''; 128 | tweeterLink.href = item.tweetLink ? item.tweetLink : ''; 129 | tweeterLink.innerText = item.tweetLink ? item.tweetLink : ''; 130 | googleMapLink.href = item.googleMapLink ? item.googleMapLink : ''; 131 | googleMapLink.innerText = item.googleMapLink ? item.googleMapLink : ''; 132 | 133 | googleMapsLink.setAttribute('href', item.adres ? `https://www.google.com/maps?q=${item.adres}` : ''); 134 | 135 | if (sehir) { 136 | sehir.value = item.sehir ? item.sehir : ''; 137 | hedefSehir.value = item.hedefSehir ? item.hedefSehir : ''; 138 | } 139 | 140 | updatedDate.innerHTML = 'Son Güncelleme ' + parseTime(item.updatedAt); 141 | createdDate.innerHTML = 'Oluşturulma Tarihi ' + parseTime(item.createdAt); 142 | yardimKayitId.value = id; 143 | 144 | var listWrapper = document.querySelector('.list'); 145 | 146 | // clear listWrapper html 147 | listWrapper.innerHTML = ''; 148 | 149 | let endpoint = ''; 150 | if (type == 'gidaSaglama' || type === 'yolcuTasima' || type === 'isMakinasi' || type === 'konaklama') { 151 | endpoint = 'ekleYardimEtKaydi'; 152 | document.getElementById('yardimObjectForm').classList.add('cond-render'); 153 | document.getElementById('yardimEtObjectForm').classList.remove('cond-render'); 154 | } else { 155 | endpoint = 'ekleYardimKaydi'; 156 | document.getElementById('yardimObjectForm').classList.remove('cond-render'); 157 | document.getElementById('yardimEtObjectForm').classList.add('cond-render'); 158 | } 159 | 160 | var form = document.getElementById('form'); 161 | form.onsubmit = (event) => submission(event, endpoint, window.location.href); 162 | 163 | yardimKayitlari.forEach(function (el) { 164 | listWrapper.innerHTML += getRowHtml(el); 165 | }); 166 | }); 167 | } 168 | 169 | async function getData(url, params) { 170 | if (params) { 171 | url += '?'; 172 | params.forEach((param) => { 173 | url += `${param.key}=${param.value}&`; 174 | }); 175 | } 176 | 177 | try { 178 | const response = await fetch(url, { 179 | method: 'GET', 180 | headers: { 181 | 'Content-Type': 'application/json', 182 | }, 183 | }); 184 | const data = await response.json(); 185 | return data; 186 | } catch (error) { 187 | console.error('Error:', error); 188 | } 189 | } 190 | 191 | function parseTime(input) { 192 | const date = new Date(input); 193 | const year = date.getFullYear(); 194 | const month = date.getMonth() + 1; 195 | const day = date.getDate(); 196 | const hour = date.getHours(); 197 | const minute = date.getMinutes().toString().padStart(2, '0'); 198 | 199 | const minutesAgo = Math.floor((new Date() - date) / 1000 / 60); 200 | const daysAgo = Math.floor(minutesAgo / 60 / 24); 201 | 202 | if (minutesAgo < 60) { 203 | if (minutesAgo < 1) { 204 | return 'az önce'; 205 | } 206 | return `${minutesAgo} dakika önce`; 207 | } else if (daysAgo < 1) { 208 | return `${hour}:${minute}`; 209 | } 210 | 211 | return `${day}.${month}.${year} ${hour}:${minute}`; 212 | } 213 | 214 | function getRowHtml(item) { 215 | return `
216 |
217 |
218 | 219 |
220 | 221 | ${item.adSoyad} 222 | 223 |
224 |
225 | 226 | ${item.email} 227 | 228 |
229 | 230 |
231 | 232 | ${item.sonDurum} 233 | 234 |
235 | 236 |
237 | 238 | ${item.telefon} 239 | 240 |
241 |
242 | 243 |
244 |
245 |
246 |
247 | 248 | 249 | ${item.aciklama} 250 | 251 |
252 | 253 |
254 |
255 |
`; 256 | } 257 | -------------------------------------------------------------------------------- /assets/js/requests/formSubmission.js: -------------------------------------------------------------------------------- 1 | var API_URL = 'https://api.deprem.io/'; 2 | 3 | function submission(event, param , redirect) { 4 | var formData = new FormData(form); 5 | var xhr = new XMLHttpRequest(); 6 | //open the request 7 | xhr.open('POST', API_URL + param); 8 | xhr.setRequestHeader('Content-Type', 'application/json'); 9 | 10 | // prepare the data 11 | const postData = Object.fromEntries(formData); 12 | postData.yedekTelefonlar = []; 13 | Object.keys(postData).forEach((key) => { 14 | if (key.includes('yedekTelefon_')) { 15 | postData.yedekTelefonlar.push(postData[key]); 16 | delete postData[key]; 17 | } 18 | }); 19 | 20 | //send the form data 21 | xhr.send(JSON.stringify(postData)); 22 | 23 | xhr.onreadystatechange = function () { 24 | if (xhr.readyState === XMLHttpRequest.DONE) { 25 | var status = xhr.status; 26 | var responseBody = JSON.parse(xhr.responseText) || {}; 27 | 28 | // The request has been completed successfully 29 | if (status === 0 || (status >= 200 && status < 400)) { 30 | Swal.fire({ 31 | position: 'center', 32 | icon: 'success', 33 | title: responseBody.message || 'Talebiniz başarıyla alındı', 34 | showConfirmButton: false, 35 | timer: 2500, 36 | }).then(function () { 37 | window.location.href = redirect ? redirect : '/'; 38 | }); 39 | 40 | form.reset(); 41 | } else { 42 | Swal.fire({ 43 | title: 'Hata!', 44 | text: responseBody.error || 'Hata Oluştu Tekrar deneyiniz !', 45 | icon: 'error', 46 | confirmButtonText: 'Tamam', 47 | }); 48 | } 49 | } 50 | }; 51 | 52 | return false; 53 | }; 54 | 55 | function addExtraPhone() { 56 | ++extraPhoneCount; 57 | const lnkEl = document.getElementById('ekTelefonLinki'); 58 | 59 | if (extraPhoneCount === 3) { 60 | lnkEl.style.display = 'none'; 61 | } else if (extraPhoneCount > 3) { 62 | return; 63 | } 64 | 65 | const div = document.createElement('div'); 66 | const inputId = 'yedekTelefon_' + extraPhoneCount; 67 | div.className = 'form-col'; 68 | div.innerHTML = 69 | '' + 74 | ''; 79 | document.getElementById('yedekTelefonlar').insertBefore(div, lnkEl); 80 | document.getElementById(inputId).focus(); 81 | } 82 | -------------------------------------------------------------------------------- /iletisim.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | İletişim | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 22 | 25 | 28 | 29 |
30 |
31 |
32 | 35 | 42 |
43 |
44 |
45 |
46 |
47 | 48 | 58 | Geri 59 | 60 |

İletişim Formu

61 |
62 |
63 |
80 | 94 |
95 |

96 | Lütfen bu formdan yardım isteği göndermeyiniz. Yalnızca platform ile ilgili mesajlara geri dönüş 97 | yapılacaktır. Yardım isteği için 98 | ana sayfaya gidiniz. 99 |

100 |
101 | 102 |
103 |
104 | 105 | 113 |
114 |
115 | 116 | 117 |
118 |
119 | 120 | 121 |
122 |
123 | 124 | 133 |
134 |

135 | 6698 sayılı KVKK kapsamında “Uygulamamıza depremzede ya da depremzede yakını olarak kaydolan 136 | kullanıcılardan ad, soyadı, iletişim bilgisi, log kaydı ve depremzedenin sisteme girilen ve kendileri 137 | tarafından alenileştirilmiş konum verilerini topluyoruz.” Veri işleme hukuki sebeplerimizi, amaçlarımızı 138 | görmek ve haklarınızı öğrenmek Aydınlatma Metnini 139 | ziyaret etmek ister misiniz? 140 |

141 |
142 | 146 |
147 |
148 | 149 |
150 |
151 |
152 |
153 |
154 |
155 | 156 | 203 | 204 | 205 | 206 | 210 | 211 | 212 | -------------------------------------------------------------------------------- /legal/aydinlatma-ve-acik-riza-metni.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Deprem İmece Platformu 8 | 9 | 10 | 11 | 19 | 20 |
21 | 22 | 23 | 24 | 25 |
26 |
27 |
28 | 31 | 38 |
39 |
40 | 41 |
42 |
43 | 44 | 48 | Geri 49 | 50 |
51 |

KİŞİSEL VERİLERİN KORUNMASI VE İŞLENMESİ HAKKINDA AYDINLATMA ve RIZA METNİ

52 | 53 |

54 | deprem.io tarafından verilecek hizmetlerin gerektiği şekilde ve güvenle sunulabilmesi için 55 | 6698 sayılı Kanun kapsamında kimliğinizi belirli veya belirlenebilir kılan adınız, soyadınız, konumunuz ve 56 | mevcut durumunuz kişisel veri olarak aşağıda belirtilen kapsamda, veri sorumlusu sıfatıyla bu maddede anılan 57 | şirketimiz tarafından işlenmekte olup, kişisel verilerin elde edilmesi kaydedilmesi, depolanması, muhafaza 58 | edilmesi, değiştirilmesi, yeniden düzenlenmesi, açıklanması, aktarılması, devralınması, elde edilebilir hâle 59 | getirilmesi, sınıflandırılması ya da kullanmasının engellenmesi işlenmesi ve üçüncü kişilere aktarılması vb. 60 | gerekebilmektedir. 61 |

62 |

63 | 6698 sayılı Kişisel Verilerin Korunması Kanunu hükümlerine uygun olarak, iş bu bilgilendirme formunda 64 | belirtilen hüküm ve koşullar kapsamında işlenecek olan kişisel veriler; veri sahiplerine ait ad, soyadı, 65 | konum ve mevcut durumunuza ait bilgiyi kapsayacaktır. 66 |

67 |

68 | Kişisel verilerin işlenmesi ve aktarılması 6698 sayılı Kişisel Verilerin Korunması Kanunu hükümlerine uygun 69 | olarak gerçekleştirilecektir. Bu kapsamda, kişisel verilerin hukuka ve dürüstlük kuralına uygun, doğru ve 70 | güncel şekilde, belirli, açık ve meşru amaçlar doğrultusunda işlenmesi ve aktarılması için her türlü tedbir 71 | alınmaktadır. 72 |

73 |

74 | Şirketimiz, veri sahiplerine ait kişisel verilerin hukuka uygun olarak toplanması, saklanması, işlenmesi ve 75 | gerekmesi durumunda paylaşılması sırasında gizliliği korumak amacıyla mümkün olan en üst seviyede güvenlik 76 | tedbirlerini almaktadır. 77 |

78 |

79 | Şirketimizin amacı; ilgilisi tarafından alenileştirilmiş veya tarafımıza “…” adlı uygulamamız üzerinden ya 80 | da başka yollarla bildirilmiş veri sahiplerine ait yukarıda sayılan kişisel verilerin toplanma şekilleri, 81 | işlenme amaçları, işlemenin hukuki nedenleri ve hakları konularında veri sahiplerini ve 06.02.2023 günü 82 | meydana gelen deprem afeti kapsamında ilgili kamu kurum ve kuruluşlarını en şeffaf şekilde 83 | bilgilendirmektir. 84 |

85 |

86 | 6698 sayılı Kişisel Verilerin Korunması Kanunu uyarınca veri sahiplerine ait kişisel veriler, veri sorumlusu 87 | tarafından açıklanan kapsamda toplanacak ve işlenebilecektir. Bu itibarla yukarıda sayılan kişisel 88 | verileriniz, ilgili afetzedelerin sağlık, konum ve benzeri durumlarının hızlı bir şekilde tespit edilerek 89 | yardım ulaştırılabilmesi amacıyla 6698 sayılı Kanun’un 5. ve 6. maddelerinde belirtilen kişisel veri işleme 90 | şartları ve amaçları dahilinde işlenecektir. Şirketimize iletmiş olduğunuz veya şirketimizce edinilen 91 | kişisel verilerinizin 6698 sayılı Kanun’un ilgili maddeleri uyarınca işlenmesi hususunda şirketimize rıza 92 | vermiş sayılmaktasınız. Verisi işlenen ilgililerin tarafımızla paylaştıkları bilgilerin doğru olmasının ve 93 | güncel bir şekilde muhafaza edilmesinin 6698 sayılı Kanun anlamında kişisel verileri üzerinde sahip 94 | oldukları hakları kullanabilmeleri ve ilgili diğer mevzuat açısından önemli olduğunu bildiklerini ve yanlış 95 | bilgi verilmesinden doğacak sorumlulukların tamamen kendilerine ait olacağını kabul ve beyan etmişlerdir. 96 |

97 |

98 | 6698 sayılı Kişisel Verileri Koruma Kanunu'nun 5. ve 6.maddeleri kapsamında yer alan ve özel nitelikli 99 | kişisel veri olarak kabul edilen tüm veriler şirketimiz tarafından ancak veri sahiplerinin açık rızası ile 100 | ve iş bu metnin 5. maddesinde belirtilen amaçlarla sınırlı olmak kaydıyla işlenebilir. Tarafımızca işlenen 101 | yukarıda açıklanan kişisel veriler 6698 sayılı KVKK’ nın 7. Maddesinde belirtildiği şekilde, ilgili verinin 102 | işlenmesini gerektiren sebeplerin ortadan kalkması hâlinde kişisel veriler resen veya ilgili kişinin talebi 103 | üzerine veri sorumlusu tarafından silinecektir. 104 |

105 |

106 | Veri sahiplerine ait yukarıda sayılan kişisel veriler; kanunen yetkili ve ilgili kamu kurum ve kuruluşları 107 | ile kanunen yetkili özel kuruluş/şirketlere 6698 sayılı Kişisel Verilerin Korunması Kanunu’nun kişisel 108 | verilerin aktarılmasına ilişkin 8. maddesi ve kişisel verilerin yurt dışına aktarılmasına ilişkin 9. 109 | maddesinde belirtilen kişisel veri işleme şartları ve amaçları çerçevesinde aktarılabilecektir. 110 |

111 |

112 | Veri sahiplerine ait kişisel veriler; ilgili mevzuatın ve yapılan anlaşmaların izin verdiği ölçüde ve 113 | çizdiği sınırlar dahilinde, alenileştirilmiş veya kanunun 5/2 maddesinin b bendinde belirtilen haller hariç 114 | olmak üzere hukuken zorunlu olduğu durumlarda veri sahiplerinin onayı da alınmak suretiyle toplanacaktır. Bu 115 | yöntemle toplanan kişisel veriler, 6698 sayılı Kişisel Verilerin Korunması Kanunu’nun 5. ve 6. maddelerinde 116 | belirtilen kişisel veri işleme şartları ve amaçları kapsamında ve yine iş bu bilgilendirmenin 5.maddesinde 117 | belirtilen amaçlar dahilinde işlenebilecektir. 118 |

119 |

120 | 6698 Sayılı Kişisel Verilerin Korunması Kanunu’nun 11. maddesindeki düzenlemeye göre kişisel veri sahipleri; 121 | “Kişisel verilerinin işlenip işlenmediğini öğrenme, kişisel verileri işlenmişse buna ilişkin bilgi talep 122 | etme, kişisel verilerinin işlenme amacını ve bunların amacına uygun kullanılıp kullanılmadığını öğrenme, 123 | yurt içinde veya yurt dışında kişisel verilerinin aktarıldığı üçüncü kişileri bilme, kişisel verilerinin 124 | eksik veya yanlış işlenmiş olması hâlinde bunların düzeltilmesini isteme ve bu kapsamda yapılan işlemin 125 | kişisel verilerin aktarıldığı üçüncü kişilere bildirilmesini isteme, 6698 sayılı Kişisel Verilerin Korunması 126 | Kanunu ve ilgili diğer kanun hükümlerine uygun olarak işlenmiş olmasına rağmen, işlenmesini gerektiren 127 | sebeplerin ortadan kalkması halinde kişisel verilerinin silinmesini, yok edilmesini veya anonim hâle 128 | getirilmesini isteme ve bu kapsamda yapılan işlemin kişisel verilerinin aktarıldığı üçüncü kişilere 129 | bildirilmesini isteme, işlenen verilerinin münhasıran otomatik sistemler vasıtasıyla analiz edilmesi 130 | suretiyle aleyhine bir sonucun ortaya çıktığını düşünüyor ise buna itiraz etme, kişisel verilerinin kanuna 131 | aykırı olarak işlenmesi sebebiyle zarara uğramaları halinde zararlarının giderilmesini talep etme hakları 132 | bulunmaktadır. 133 |

134 |

135 | Veri sahipleri yukarıda bahsi geçen haklarını kullanmak üzere aşağıda belirtilen usullerle “…….” de bulunan 136 | adresimize ulaştırabilecekleri gibi yazılı başvurularını kendileri oluşturarak yine aşağıda belirtilen 137 | usullerle ………………….com. tr adresine ulaştırarak kullanabilirler. Başvurular, ilgili veri sahibinin kimliğini 138 | tespit edecek belgelerle birlikte, formun/başvurunun ıslak imzalı bir kopyasının elden veya noter 139 | aracılığıyla ya da 6698 sayılı Kişisel Verileri Koruma Kanunu'nda belirtilen diğer yöntemler ile yukarıda 140 | anılan şirket adresine iletilmesi veya 5070 sayılı Elektronik İmza Kanunu kapsamında düzenlenen güvenli 141 | elektronik imza ile imzalanarak yukarıda anılan e-mail adresine elektronik posta gönderimi ile 142 | gerçekleştirilebilmektedir. Kişisel Verileri Koruma Kurulu tarafından bahsi geçen yöntemler dışında bir 143 | yöntem öngörülmesi halinde başvurular bu yöntemle de iletilebilecektir. Yukarıda belirtilen yöntemlerden 144 | biri ile iletilen veri sahibi talepleri, şirketimiz tarafından azami otuz gün içerisinde değerlendirilmekte 145 | ve cevaplanmaktadır. Tarafımız özellikle başvuru sahibinin ilgili veri sahibi olup olmadığının 146 | değerlendirilmesi amacıyla başvuru sahibinden ek bilgi ve belge talep etme hakkını saklı tutmaktadır. Veri 147 | sahibi başvuruları kural olarak şirketimiz tarafından ücretsiz olarak değerlendirilmektedir. Ancak Kişisel 148 | Verileri Koruma Kurulu tarafından veri sahibinin talebine ilişkin bir ücret belirlenmiş ise şirketimiz bu 149 | ücret üzerinden ödeme talep etme hakkı saklıdır. Veri sorumlusu kişi kimliği; …… Ticaret Sicil Müdürlüğü’ ne 150 | …….. numarası ile kayıtlı, ………. MERSİS numaralı ve şirket merkezi “…………………………………….” olan 151 | …………………………………………………………‘dir. 152 |

153 |

154 | Kimlik tespiti için gerekli bilgiler, cevap için tarafınıza ulaşabileceğimiz telefon numarası, adres, 155 | e-posta adresiniz, şirketimiz ile olan ilişkiniz ve kapsamı, talep konunuz ve hangi yollarla tarafınıza 156 | dönüş yapılmasını istediğinize yönelik bilgilendirmeniz şirketimize yukarıda anılan yollarla ulaştırıldıktan 157 | sonra ek kısa sürede ve en geç 30 gün içerisinde tarafınıza cevap verilecektir. 158 |

159 |
160 |
161 |
162 | 163 | 183 | 184 | 185 | 186 | -------------------------------------------------------------------------------- /legal/cerez-politikasi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Deprem İmece Platformu 8 | 9 | 10 | 11 | 16 | 17 |
18 | 19 | 20 | 21 | 22 |
23 |
24 |
25 | 28 | 35 |
36 |
37 | 38 |
39 |
40 | 41 | 45 | Geri 46 | 47 |
48 |

ÇEREZ POLİTİKASI

49 | 50 |

51 | Isbu çerez politikası, afetharita.com uygulamamızda çerezlerin kullanımını özetlemektedir. Çerezler, 52 | uygulamamızı ziyaret ettiğinizde cihazınızda depolanan küçük metin dosyalarıdır. Kullanıcılar için daha 53 | kişiselleştirilmiş ve verimli bir deneyim sağlamak ve uygulamamızı kullanımınız hakkında bilgi toplamak için 54 | kullanılırlar. 55 |

56 |

Kullanılan Çerez Türleri

57 | 58 |

Uygulamamızda aşağıdaki çerez türlerini kullanıyoruz:

59 | 60 |

61 | Gerekli Çerezler: Bu çerezler, uygulamamızın çalışması için gereklidir ve navigasyon ve uygulamanın güvenli 62 | alanlarına erişim gibi temel özellikleri sağlamak için kullanılır. 63 |

64 | 65 |

66 | Performans Çerezleri: Bu çerezler, ziyaret ettiğiniz sayfalar, uygulamada geçirdiğiniz süre ve oluşabilecek 67 | hatalar dahil olmak üzere uygulamamızı nasıl kullandığınız hakkında bilgi toplar. Bu bilgiler, uygulamamızın 68 | performansını ve işlevselliğini geliştirmek için kullanılır. 69 |

70 | 71 |

72 | İşlevsellik Çerezleri: Bu çerezler, kişiselleştirme gibi gelişmiş özellikler sağlamak ve tercihlerinizi 73 | hatırlamak için kullanılır. 74 |

75 | 76 |

77 | Analitik Çerezler: Bu çerezler, ziyaret ettiğiniz sayfalar, uygulamada geçirdiğiniz süre ve oluşabilecek 78 | hatalar dahil olmak üzere uygulamamızı kullanımınız hakkında bilgi toplar. Bu bilgiler, uygulamamızın 79 | performansını analiz etmek ve işlevselliğini geliştirmek için kullanılır. Çerezlerin Kontrolü 80 |

81 | 82 |

83 | Uygulamamızda çerez kullanımını kontrol etme hakkına sahipsiniz. Çoğu tarayıcı, çerezleri devre dışı 84 | bırakmanıza veya hangi çerezlere izin verileceğine ilişkin tercihlerinizi belirlemenize olanak tanır. 85 | Çerezlerin nasıl yönetileceği hakkında daha fazla bilgi için lütfen tarayıcınızın yardım bölümüne bakınız. 86 | Uygulamamızda çerezleri devre dışı bırakmayı seçerseniz, bazı özellikler düzgün çalışmayabilir ve 87 | deneyiminiz sınırlı olabilir. 88 |

89 | 90 |

Veri Koruma

91 | 92 |

93 | Uygulamamızdaki çerezler aracılığıyla toplanan veriler, kullanıcılar için daha iyi ve daha 94 | kişiselleştirilmiş bir deneyim sağlamak için kullanılır ve toplanan veriler KVKK Madde 5(2)-f hukuki 95 | sebeplerine dayanılarak islenmektedir. 96 |

97 | 98 |

99 | Çerezleri isim, telefon numarası ve konum gibi kişisel bilgileri toplamak için kullanmıyoruz. Çerezler 100 | aracılığıyla toplanan bilgileri yetkisiz erişim, kullanım veya ifşadan korumak için makul önlemler alıyoruz. 101 | Bu, şifreleme ve güvenli depolama gibi uygun teknik ve organizasyonel önlemlerin uygulanmasını içerir. 102 |

103 | 104 |

İlgili Kişi Hakları

105 | 106 |

107 | KVKK’nin ilgili kişinin haklarını düzenleyen 11. maddesi kapsamındaki taleplerinizi, “Veri Sorumlusuna 108 | Başvuru Usul ve Esasları Hakkında Tebliğ’e göre Kisisel 'legal@afetharitasi.com' adresine yazılı olarak 109 | iletebilirsiniz. 110 |

111 | 112 |

Değişiklikler

113 | 114 |

115 | Uygulamalarımızdaki değişiklikleri yansıtmak için bu gizlilik bildirimini zaman zaman güncelleyebiliriz. 116 | Güncellenmiş bildirimi uygulamamızda yayınlayarak ve bu bildirimin sonundaki "Son Güncelleme Tarihi "ni 117 | güncelleyerek her türlü değişikliği size bildireceğiz. 118 |

119 | 120 |

İletişim Bilgileri

121 | 122 |

123 | Bu politika veya kişisel verilerinizi nasıl işlediğimiz hakkında herhangi bir sorunuz veya endişeniz varsa, 124 | lütfen 'legal@afetharitasi.com' adresinden bizimle iletişime geçin. Ekibimiz size yardımcı olmaktan ve 125 | sorularınızı yanıtlamaktan mutluluk duyacaktır. 126 |

127 | 128 |

Son Güncelleme Tarihi: 7 Şubat 2023

129 |
130 |
131 |
132 | 133 | 153 | 154 | 155 | 156 | -------------------------------------------------------------------------------- /legal/gizlilik-sozlesmesi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Deprem İmece Platformu 8 | 9 | 10 | 11 | 21 | 22 |
23 | 24 | 25 | 26 | 27 |
28 |
29 |
30 | 33 | 40 |
41 |
42 | 43 |
44 |
45 | 46 | 50 | Geri 51 | 52 |
53 |

GİZLİLİK POLİTİKASI

54 | 55 |

56 | İşbu Kişisel Verilerin Korunması ve Gizlilik Politikası (“Politika”), kişisel verilerin ... APP tarafından 57 | toplanması, kullanılması, paylaşması ve saklanması süreçleri ve prensipleri hakkında sizleri bilgilendirmek 58 | amacıyla hazırlanmıştır. Amacımız depremden etkilenenlere gerekli yardım ve desteği sağlamaktır ve yardım 59 | sağlamak amacıyla bilgileri devlet kurumları ve sivil toplum kuruluşları (STK'lar) ile paylaşabiliriz. 60 |

61 |

62 | Kişisel bilgilerinizin gizliliğini korumayı ve 6698 sayılı Kişisel Verilerin Korunması Kanunu (“KVKK” veya 63 | “Kanun”) ve ilgili mevzuat kapsamında ilgili tüm yasalara uymayı taahhüt ediyoruz. Bu politika, kişisel 64 | bilgilerinizin toplanması, kullanılması, saklanması ve paylaşılmasına ilişkin haklarınızı ve 65 | yükümlülüklerimizi ortaya koymaktadır. İşbu metin ile, veri sorumlusu sıfatıyla KVKK’nın 10. maddesinde 66 | belirtilen aydınlatma yükümlülüğünü yerine getirmekte ve böylelikle, 'afetharita.com' aracılığıyla erişilen 67 | (“İnternet Sitesi”) üzerinden gerçekleştirdiğiniz faaliyetler özelinde işlemiş olduğumuz kişisel 68 | verilerinizin işlenme süreçleri hakkında siz ziyaretçilerimizi detaylıca bilgilendirmeyi hedeflemekteyiz. 69 |

70 |

Hangi Verileri Topluyoruz?

71 |

72 | Uygulamamıza depremzede olarak kaydolan kullanıcılardan ad, soyad, telefon numarası ve konum verilerini 73 | topluyoruz. Bu veriler yardım ve kaynakların ihtiyaç sahiplerine dağıtılmasına yardımcı olmak amacıyla 74 | toplanmaktadır. Bu veriler, depremden etkilenen kişilerin yerini ve sayısını belirlememize ve yardımları 75 | buna göre dağıtmamıza yardımcı olur. 76 |

77 |

Kişisel Veri Toplamanın Yöntemi ve Hukuki Sebepler

78 |

79 | Kişisel verileriniz yardım ve kaynakların ihtiyaç sahiplerine dağıtılmasına yardımcı olmak için 80 | kullanılacaktır ve yalnızca aşağıda belirtilen sebepler doğrultusunda toplanacaktır; • KVKK Madde 5/2- b, 81 | uyarınca fiili imkânsızlık nedeniyle rızasını açıklayamayacak durumda bulunan veya rızasına hukuki 82 | geçerlilik tanınmayan kişinin kendisinin ya da bir başkasının hayatı veya beden bütünlüğünün korunması için 83 | zorunlu olması, • KVKK Madde 5/2- e. uyarınca bir hakkın tesisi, kullanılması veya korunması için veri 84 | işlemenin zorunlu olmasına dayanmaktadır. • KVKK Madde 5/2(d) uyarınca ilgili kişinin kendisi tarafından 85 | alenileştirilmiş olması, • KVKK Madde 28/1-(ç) uyarınca, kişisel verilerin millî savunmayı, millî güvenliği, 86 | kamu güvenliğini, kamu düzenini veya ekonomik güvenliği sağlamaya yönelik olarak kanunla görev ve yetki 87 | verilmiş kamu kurum ve kuruluşları tarafından yürütülen önleyici, koruyucu ve istihbarı faaliyetler 88 | kapsamında işlenmesi, • KVKK Madde 28/2-(b) uyarınca, ilgili kişinin kendisi tarafından alenileştirilmiş 89 | kişisel verilerin işlenmesi, hukuki sebeplerine dayanılarak islenecektir. 90 |

91 | 92 |

Verilerin Aktarımı

93 |

94 | Uygulamamız aracılığıyla toplanan kişisel verileri, deprem mağdurlarına yardım ve destek sağlamak amacıyla 95 | ilgili devlet kurumları ve STK'larla paylaşabiliriz. Kişisel verilerin tüm alıcıları, bilgileri bu gizlilik 96 | bildirimine ve KVKK dahil olmak üzere ilgili veri koruma yasalarına uygun olarak kullanmakla yükümlüdür. 97 | Deprem mağdurlarına yardım ve destek sağlama amacına ulaşmak için yalnızca gerekli olan minimum miktarda 98 | kişisel bilgiyi paylaşacağız. Bazı durumlarda, gizliliği korumak için tarafımızca topladığımız kişisel 99 | veriler anonimleştirilebilir veya toplanabilir. 100 |

101 |

Veri Güvenliği

102 |

103 | Kişisel verileri yetkisiz erişime, kullanıma veya ifşaya karşı korumak için gerekli idari ve teknik 104 | önlemleri almaktayız. Bu önlemler, şifreleme ve güvenli depolama gibi uygun teknik ve organizasyonel 105 | önlemlerin uygulanmasını içerir. Ancak, internet üzerinden hiçbir veri aktarımının tamamen güvenli olduğu 106 | garanti edilemez. Kişisel verilerin güvenliğini garanti edememekle beraber, korumak için elimizden geleni 107 | yapacağız. 108 |

109 |

İlgili Kişi Hakları

110 |

111 | KVKK’nin ilgili kişinin haklarını düzenleyen 11. maddesi kapsamındaki taleplerinizi, “Veri Sorumlusuna 112 | Başvuru Usul ve Esasları Hakkında Tebliğ’e göre Kisisel legal@afetharitasi.com adresine yazılı olarak 113 | iletebilirsiniz. 114 |

115 |

Değişiklikler

116 |

117 | Uygulamalarımızdaki değişiklikleri yansıtmak için bu gizlilik bildirimini zaman zaman güncelleyebiliriz. 118 | Güncellenmiş bildirimi uygulamamızda yayınlayarak ve bu bildirimin sonundaki "Son Güncelleme Tarihi "ni 119 | güncelleyerek her türlü değişikliği size bildireceğiz. 120 |

121 |

İletişim Bilgileri

122 |

123 | Bu politika veya kişisel verilerinizi nasıl işlediğimiz hakkında herhangi bir sorunuz veya endişeniz varsa, 124 | lütfen 'legal@afetharitasi.com' adresinden bizimle iletişime geçin. Ekibimiz size yardımcı olmaktan ve 125 | sorularınızı yanıtlamaktan mutluluk duyacaktır. 126 |

127 |

Son Güncelleme Tarihi: 7 Şubat 2023

128 |
129 |
130 |
131 | 132 | 152 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "husky": "^8.0.3", 4 | "lint-staged": "^13.1.1", 5 | "prettier": "2.8.4" 6 | }, 7 | "scripts": { 8 | "prepare": "husky install" 9 | }, 10 | "lint-staged": { 11 | "**/*": "prettier --write --ignore-unknown" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /yararli-linkler.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Yararlı Linkler | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 |
19 |
20 |
21 | 25 | 32 |
33 |
34 | 35 |
36 |
37 |
38 |
39 | 54 |
55 |

Yararlı Linkler

56 |
57 |
58 | 134 |
135 |
136 |
137 |
138 |
139 | 140 | 184 | 185 | 186 | 187 | -------------------------------------------------------------------------------- /yardim-istegi-formlari/enkaz.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Depremzede Bildirim Formu | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 22 | 25 | 28 | 29 |
30 |
31 |
32 | 35 | 42 |
43 |
44 | 45 |
46 |
47 |
48 | 49 | 59 | Geri 60 | 61 |

Depremzede Bildirim Formu

62 |
63 |
64 |
65 | 73 | 78 | 79 | 80 | Eğer bu yardım talebini daha önce gönderdiysen lütfen tekrar gönderme. Kayıtlarda kopya bilgi olması 81 | kurtarma operasyonlarını olumsuz etkiler. 82 | 83 | 88 |
89 |
90 |
91 | * İle başlayan alanlar zorunludur. 92 | 93 |
94 | 95 | 96 |
97 |
98 | 99 | 107 |
108 |
109 | 110 | 111 |
112 |
113 | 114 | 115 |
116 |
117 | 137 |
138 | 139 | 151 |
152 |
153 | 154 | 155 |
156 |
157 | 158 | 165 |
166 |
167 |
168 |
169 | 170 |
171 |
172 | 176 |
177 |
178 | 182 |
183 |
184 | 188 |
189 |
190 |
191 | 192 | 201 |
202 |
203 |
204 | 205 | 206 |
207 |
208 | 209 | 210 |
211 |

212 | 6698 sayılı KVKK kapsamında “Uygulamamıza depremzede ya da depremzede yakını olarak kaydolan 213 | kullanıcılardan ad, soyadı, iletişim bilgisi, log kaydı ve depremzedenin sisteme girilen ve kendileri 214 | tarafından alenileştirilmiş konum verilerini topluyoruz.” Veri işleme hukuki sebeplerimizi, amaçlarımızı 215 | görmek ve haklarınızı öğrenmek Aydınlatma Metnini 216 | ziyaret etmek ister misiniz? 217 |

218 |
219 | 223 |
224 |
225 | 226 |
227 |
228 |
229 |
230 |
231 |
232 | 233 | 280 | 281 | 282 | 283 | 284 | 289 | 290 | 291 | -------------------------------------------------------------------------------- /yardim-istekleri/enkaz.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Depremzede Bildirim Formu | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 22 | 25 | 28 | 29 |
30 |
31 |
32 | 35 | 42 |
43 |
44 | 45 |
46 |
47 |
48 |
49 | 64 |
65 |

Enkaz Altında Olanlar

66 |
67 |
68 | 82 | Enkaz 83 | Gıda 84 | Isınma 85 |
86 | 113 |
114 |
115 |
116 |
117 |
118 | 121 |
122 | 130 |
131 |
132 | 138 |
139 |
140 | 146 |
147 |
148 |
149 | 165 | 168 |
169 |
170 |
171 |
172 |
173 | Filtrelenen: 174 |
175 |
176 |
177 |
178 |
179 | 180 | 227 | 228 | 229 | 230 | 231 | -------------------------------------------------------------------------------- /yardim-istekleri/gida.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Depremzede Bildirim Formu | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 22 | 25 | 28 | 29 |
30 |
31 |
32 | 35 | 42 |
43 |
44 | 45 |
46 |
47 |
48 |
49 | 64 |
65 |

Gıda İhtiyacı Olanlar

66 |
67 |
68 | 82 | Enkaz 83 | Gıda 84 | Isınma 85 |
86 | 113 |
114 |
115 |
116 |
117 |
118 | 121 |
122 | 130 |
131 |
132 | 138 |
139 |
140 | 146 |
147 |
148 | 153 |
154 |
155 |
156 | 172 | 175 |
176 |
177 |
178 |
179 |
180 | Filtrelenen: 181 |
182 |
183 |
184 |
185 |
186 | 187 | 234 | 235 | 236 | 237 | 238 | -------------------------------------------------------------------------------- /yardim-istekleri/isinma.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Depremzede Bildirim Formu | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 22 | 25 | 28 | 29 |
30 |
31 |
32 | 35 | 42 |
43 |
44 | 45 |
46 |
47 |
48 |
49 | 64 |
65 |

Isınma İhtiyacı Olanlar

66 |
67 |
68 | 82 | Enkaz 83 | Gıda 84 | Isınma 85 |
86 | 113 |
114 |
115 |
116 |
117 |
118 | 121 |
122 | 129 |
130 |
131 | 137 |
138 |
139 | 145 |
146 |
147 | 152 |
153 |
154 |
155 | 171 | 174 |
175 |
176 |
177 |
178 |
179 | Filtrelenen: 180 |
181 |
182 |
183 |
184 |
185 | 186 | 233 | 234 | 235 | 236 | 237 | -------------------------------------------------------------------------------- /yardim-sagla/cadir-kurabilirim.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Çadır Kurabilirim | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 22 | 25 | 28 | 29 |
30 |
31 |
32 | 36 | 43 |
44 |
45 | 46 |
47 |
48 |
49 | 50 | 60 | Geri 61 | 62 |

Çadır Kurabilecek Gönüllü Formu

63 |
64 | * İle başlayan alanlar zorunludur. 65 | 66 |
67 | 68 | 69 |
70 |
71 | 72 | 80 |
81 |
82 | 83 | 91 |
92 |
93 | 94 | 103 |
104 |
105 | 125 |
126 | 127 | 140 |
141 |
142 | 143 | 144 |
145 |
146 | 147 | 155 |
156 |
157 |
158 | 162 |
163 |
164 | 168 |
169 |
170 |

171 | 6698 sayılı KVKK kapsamında “Uygulamamıza depremzede ya da depremzede yakını olarak kaydolan 172 | kullanıcılardan ad, soyadı, iletişim bilgisi, log kaydı ve depremzedenin sisteme girilen ve kendileri 173 | tarafından alenileştirilmiş konum verilerini topluyoruz.” Veri işleme hukuki sebeplerimizi, amaçlarımızı 174 | görmek ve haklarınızı öğrenmek Aydınlatma Metnini 175 | ziyaret etmek ister misiniz? 176 |

177 |
178 | 182 |
183 |
184 | 185 |
186 |
187 |
188 |
189 |
190 |
191 | 192 | 236 | 237 | 238 | 239 | 240 | 245 | 246 | 247 | -------------------------------------------------------------------------------- /yardim-sagla/is-makinasi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | İş Makinası Yardımı Formu | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 22 | 25 | 28 | 29 |
30 |
31 |
32 | 36 | 43 |
44 |
45 | 46 |
47 |
48 |
49 | 50 | 60 | Geri 61 | 62 |

İş Makinası Yardımı Formu

63 |
64 | * İle başlayan alanlar zorunludur. 65 | 66 |
67 | 68 | 69 | 70 | 71 |
72 |
73 | 74 | 82 |
83 |
84 | 85 | 87 |
88 |
89 | 90 | 91 |
92 |
93 |
94 | 95 | 108 |
109 |
110 | 111 | 118 |
119 | 120 |

121 | 6698 sayılı KVKK kapsamında “Uygulamamıza depremzede ya da depremzede yakını olarak kaydolan 122 | kullanıcılardan ad, soyadı, iletişim bilgisi, log kaydı ve depremzedenin sisteme girilen ve kendileri 123 | tarafından alenileştirilmiş konum verilerini topluyoruz.” Veri işleme hukuki sebeplerimizi, amaçlarımızı 124 | görmek ve haklarınızı öğrenmek Aydınlatma Metnini 125 | ziyaret etmek ister misiniz? 126 |

127 |
128 | 132 |
133 |
134 | 135 |
136 |
137 |
138 |
139 |
140 |
141 | 142 | 189 | 190 | 191 | 192 | 193 | 198 | 199 | 200 | -------------------------------------------------------------------------------- /yardim-sagla/konaklama.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Konaklama Yardımı Formu | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 |
19 |
20 |
21 | 24 | 31 |
32 |
33 | 34 |
35 |
36 |
37 | 38 | 48 | Geri 49 | 50 |

Konaklama Yardımı Formu

51 |
52 | * İle başlayan alanlar zorunludur. 53 | 54 |
55 | 56 | 57 | 58 |
59 |
60 | 61 | 69 |
70 |
71 | 72 | 73 |
74 |
75 | 76 | 77 |
78 |
79 |
80 | 81 | 150 |
151 |
152 | 153 | 160 |
161 | 162 |

163 | 6698 sayılı KVKK kapsamında “Uygulamamıza depremzede ya da depremzede yakını olarak kaydolan 164 | kullanıcılardan ad, soyadı, iletişim bilgisi, log kaydı ve depremzedenin sisteme girilen ve kendileri 165 | tarafından alenileştirilmiş konum verilerini topluyoruz.” Veri işleme hukuki sebeplerimizi, amaçlarımızı 166 | görmek ve haklarınızı öğrenmek Aydınlatma Metnini 167 | ziyaret etmek ister misiniz? 168 |

169 |
170 | 174 |
175 |
176 | 177 |
178 |
179 |
180 |
181 |
182 |
183 | 184 | 231 | 232 | 233 | 234 | 239 | 240 | 241 | 242 | -------------------------------------------------------------------------------- /yardim-sagla/yolcu-tasima.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 22 | 25 | 28 | 29 |
30 |
31 |
32 | 35 | 42 |
43 |
44 | 45 |
46 |
47 |
48 | 49 | 59 | Geri 60 | 61 |

Yolcu Taşıma Yardımı Sağla

62 |
63 | * İle başlayan alanlar zorunludur. 64 |
65 | 66 | 67 | 68 |
69 |
70 | 71 | 79 |
80 |
81 | 82 | 83 |
84 |
85 | 86 | 87 |
88 |
89 |
90 |
91 | 160 |
161 |
162 | 175 |
176 |
177 |
178 | 179 | 187 |
188 | 189 |

190 | 6698 sayılı KVKK kapsamında “Uygulamamıza depremzede ya da depremzede yakını olarak kaydolan 191 | kullanıcılardan ad, soyadı, iletişim bilgisi, log kaydı ve depremzedenin sisteme girilen ve kendileri 192 | tarafından alenileştirilmiş konum verilerini topluyoruz.” Veri işleme hukuki sebeplerimizi, amaçlarımızı 193 | görmek ve haklarınızı öğrenmek Aydınlatma Metnini 194 | ziyaret etmek ister misiniz? 195 |

196 |
197 | 201 |
202 |
203 | 204 |
205 |
206 |
207 |
208 |
209 |
210 | 211 | 258 | 259 | 260 | 261 | 266 | 267 | 268 | 269 | -------------------------------------------------------------------------------- /yardim-saglayanlar/is-makinasi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Depremzede Bildirim Formu | Deprem İmece Platformu 8 | 9 | 10 | 11 | 12 | 13 |
14 | 22 | 25 | 28 | 29 |
30 |
31 |
32 | 35 | 42 |
43 |
44 | 45 |
46 |
47 |
48 |
49 | 64 |
65 |

İş Makinesi Kullanabilenler

66 |
67 |
68 | 82 | Gıda 83 | Konaklama 84 | İş Makinesi 85 | Yolcu Taşıma 86 |
87 | 114 |
115 |
116 |
117 |
118 | 128 |
129 |
130 | 138 |
139 | 140 |
141 | 146 |
147 | 148 |
149 | 162 |
163 |
164 |
165 | 181 | 184 |
185 |
186 |
187 |
188 |
189 | Filtrelenen: 190 |
191 |
192 |
193 |
194 |
195 | 196 | 243 | 244 | 245 | 246 | 247 | --------------------------------------------------------------------------------