

{"id":4087,"date":"2026-04-24T06:11:56","date_gmt":"2026-04-24T05:11:56","guid":{"rendered":"https:\/\/www.fishy.nu\/minkod\/"},"modified":"2026-05-05T07:21:23","modified_gmt":"2026-05-05T06:21:23","slug":"code","status":"publish","type":"page","link":"https:\/\/www.fishy.nu\/en\/code\/","title":{"rendered":"\ud83d\udd22 Forgot your code?"},"content":{"rendered":"<style>\n  #fishy-recover-code-wrap {\n    --fishy-rc-bg: #323C52;\n    --fishy-rc-fg: #F8F8F8;\n    --fishy-rc-accent: #FBE650;\n    --fishy-rc-accent-fg: #111111;\n    background: var(--fishy-rc-bg);\n    color: var(--fishy-rc-fg);\n    border-radius: 8px;\n    padding: 24px;\n    max-width: 520px;\n    margin: 0 auto;\n    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.16);\n  }\n  #fishy-recover-code-wrap a { color: var(--fishy-rc-fg); }\n  #fishy-recover-code-wrap .fishy-recover-code__brand {\n    display: flex;\n    align-items: center;\n    margin-bottom: 18px;\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__brand-logo {\n    max-height: 40px;\n    width: auto;\n    max-width: 180px;\n    display: block;\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__brand--text {\n    margin-bottom: 14px;\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__brand-name {\n    display: inline-block;\n    font-size: 1.05rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    padding: 4px 10px;\n    border: 1px solid rgba(255, 255, 255, 0.45);\n    border-radius: 4px;\n    color: var(--fishy-rc-fg);\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__heading {\n    margin: 0 0 8px;\n    color: var(--fishy-rc-fg);\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__description {\n    margin: 0 0 18px;\n    opacity: 0.92;\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__input {\n    width: 100%;\n    box-sizing: border-box;\n    border: 1px solid rgba(255, 255, 255, 0.28);\n    border-radius: 6px;\n    background: rgba(255, 255, 255, 0.12);\n    color: var(--fishy-rc-fg);\n    padding: 12px 14px;\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__input::placeholder {\n    color: rgba(255, 255, 255, 0.72);\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__submit {\n    border: 0;\n    border-radius: 6px;\n    padding: 12px 16px;\n    background: var(--fishy-rc-accent);\n    color: var(--fishy-rc-accent-fg);\n    font-weight: 600;\n    cursor: pointer;\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__submit[disabled] {\n    opacity: 0.7;\n    cursor: default;\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__message {\n    margin-top: 14px;\n    min-height: 20px;\n    font-size: 14px;\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__message--success {\n    color: var(--fishy-rc-accent);\n  }\n  #fishy-recover-code-wrap .fishy-recover-code__message--error {\n    color: #ffd2d2;\n  }\n<\/style>\n<div class=\"fishy-recover-code\" id=\"fishy-recover-code-wrap\" data-brand=\"fishy\" data-lang=\"en\" lang=\"en\">\n  \n  <h3 class=\"fishy-recover-code__heading\">Can&#039;t find your code?<\/h3>\n  <p class=\"fishy-recover-code__description\">Enter your email address or phone number and we will send your code.<\/p>\n  <form id=\"fishy-recover-code-form\" novalidate>\n    <input type=\"hidden\" name=\"action\"   value=\"fishy_recover_code\">\n    <input type=\"hidden\" name=\"nonce\"    value=\"f891181988\">\n    <input type=\"hidden\" name=\"language\" value=\"en\">\n    <input type=\"hidden\" name=\"brand\"    value=\"fishy\">\n    <div class=\"fishy-recover-code__field\">\n      <input\n        type=\"text\"\n        id=\"fishy-recover-code-identifier\"\n        name=\"identifier\"\n        class=\"fishy-recover-code__input\"\n        placeholder=\"Email or phone number\"\n        autocomplete=\"email\"\n        required\n      >\n    <\/div>\n    <div class=\"fishy-recover-code__actions\">\n      <button type=\"submit\" id=\"fishy-recover-code-btn\" class=\"fishy-recover-code__submit\">Send my code<\/button>\n    <\/div>\n    <div id=\"fishy-recover-code-msg\" class=\"fishy-recover-code__message\" aria-live=\"polite\" role=\"status\"><\/div>\n  <\/form>\n<\/div>\n<script>\n(function () {\n  var LABELS    = {\"heading\":\"Can't find your code?\",\"description\":\"Enter your email address or phone number and we will send your code.\",\"placeholder\":\"Email or phone number\",\"submit\":\"Send my code\",\"sending\":\"Sending\\u2026\",\"wait\":\"Wait %ds\\u2026\",\"confirm\":\"If your email\\\/phone is registered we have sent your code.\",\"bad_input\":\"Please enter a valid email address or phone number (at least 7 digits).\",\"too_many\":\"Too many attempts. Please try again later.\",\"error\":\"Something went wrong. Please try again.\"};\n  var AJAX_URL  = 'https:\/\/www.fishy.nu\/wp-admin\/admin-ajax.php';\n  var COOLDOWN  = 30;\n\n  var form      = document.getElementById('fishy-recover-code-form');\n  var btn       = document.getElementById('fishy-recover-code-btn');\n  var msgBox    = document.getElementById('fishy-recover-code-msg');\n  var origLabel = btn ? btn.textContent : '';\n  var timer     = null;\n\n  function showMsg(text, type) {\n    msgBox.textContent = text;\n    msgBox.className   = 'fishy-recover-code__message fishy-recover-code__message--' + type;\n  }\n\n  function startCooldown() {\n    var remaining = COOLDOWN;\n    btn.disabled  = true;\n    (function tick() {\n      btn.textContent = LABELS.wait.replace('%d', remaining);\n      if (remaining-- > 0) {\n        timer = setTimeout(tick, 1000);\n      } else {\n        btn.disabled    = false;\n        btn.textContent = origLabel;\n      }\n    })();\n  }\n\n  if (!form) return;\n\n  form.addEventListener('submit', function (e) {\n    e.preventDefault();\n    if (btn.disabled) return;\n\n    var identifier = (form.querySelector('[name=\"identifier\"]').value || '').trim();\n\n    \/\/ Basic client-side validation: must be an email or have \u22657 digits\n    var isEmail = identifier.indexOf('@') !== -1;\n    var digitCount = (identifier.match(\/\\d\/g) || []).length;\n    if (!identifier || (!isEmail && digitCount < 7)) {\n      showMsg(LABELS.bad_input, 'error');\n      return;\n    }\n\n    btn.disabled    = true;\n    btn.textContent = LABELS.sending;\n    msgBox.textContent = '';\n    msgBox.className   = 'fishy-recover-code__message';\n\n    var data = new FormData(form);\n\n    fetch(AJAX_URL, { method: 'POST', body: data, credentials: 'same-origin' })\n      .then(function (resp) {\n        if (resp.status === 429) {\n          showMsg(LABELS.too_many, 'error');\n          startCooldown();\n          return null;\n        }\n        return resp.json();\n      })\n      .then(function (json) {\n        if (json === null) return;\n        if (json && json.success) {\n          showMsg(LABELS.confirm, 'success');\n          form.querySelector('[name=\"identifier\"]').value = '';\n        } else if (json && json.data && json.data.message === 'bad_input') {\n          showMsg(LABELS.bad_input, 'error');\n          btn.disabled    = false;\n          btn.textContent = origLabel;\n          return; \/\/ no cooldown for validation errors\n        } else {\n          showMsg(LABELS.error, 'error');\n        }\n        startCooldown();\n      })\n      .catch(function () {\n        showMsg(LABELS.error, 'error');\n        startCooldown();\n      });\n  });\n})();\n<\/script>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Tappat bort din inloggningskod till <a href=\"https:\/\/www.fishy.nu\/app\/\">Fishy-appen<\/a>? Ingen panik \u2013 fyll i din e-postadress <em>eller<\/em> ditt telefonnummer s\u00e5 skickar vi koden till dig. <strong>Obs:<\/strong> Koden g\u00e4ller enbart inloggning i appen och fungerar inte f\u00f6r andra tj\u00e4nster eller system.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Av s\u00e4kerhetssk\u00e4l bekr\u00e4ftar vi inte om en e-postadress eller ett telefonnummer finns registrerat i v\u00e5rt system \u2013 detta \u00e4r en vedertagen s\u00e4kerhets\u00e5tg\u00e4rd f\u00f6r att skydda dina uppgifter. Om du har en registrerad kod kommer den att skickas till dig via e-post eller SMS. Kontrollera \u00e4ven din skr\u00e4ppost om du inte ser mejlet inom n\u00e5gon minut.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tappat bort din inloggningskod till Fishy-appen? Ingen panik \u2013 fyll i din e-postadress eller ditt telefonnummer s\u00e5 skickar vi koden till dig. Obs: Koden g\u00e4ller enbart inloggning i appen och fungerar inte f\u00f6r andra tj\u00e4nster eller system. Av s\u00e4kerhetssk\u00e4l bekr\u00e4ftar vi inte om en e-postadress eller ett telefonnummer finns registrerat i v\u00e5rt system \u2013 detta &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.fishy.nu\/en\/code\/\"> <span class=\"screen-reader-text\">\ud83d\udd22 Forgot your code?<\/span> Read more &quot;<\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"both","_seopress_redirections_param":"","_seopress_redirections_type":301,"_seopress_analysis_target_kw":"","site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"class_list":["post-4087","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.fishy.nu\/en\/wp-json\/wp\/v2\/pages\/4087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fishy.nu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fishy.nu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fishy.nu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fishy.nu\/en\/wp-json\/wp\/v2\/comments?post=4087"}],"version-history":[{"count":9,"href":"https:\/\/www.fishy.nu\/en\/wp-json\/wp\/v2\/pages\/4087\/revisions"}],"predecessor-version":[{"id":4149,"href":"https:\/\/www.fishy.nu\/en\/wp-json\/wp\/v2\/pages\/4087\/revisions\/4149"}],"wp:attachment":[{"href":"https:\/\/www.fishy.nu\/en\/wp-json\/wp\/v2\/media?parent=4087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}