Explorar o código

Merge pull request #1277 from pixelfed/frontend-ui-refactor

Refactor #1259, add double tap to like and deprecate lightbox
daniel %!s(int64=6) %!d(string=hai) anos
pai
achega
275daf3b83

+ 6 - 14
.env.example

@@ -1,11 +1,11 @@
-APP_NAME="PixelFed Test"
-APP_ENV=local
+APP_NAME="PixelFed Prod"
+APP_ENV=production
 APP_KEY=
-APP_DEBUG=true
-APP_URL=http://localhost
+APP_DEBUG=false
 
-ADMIN_DOMAIN="localhost"
+APP_URL=http://localhost
 APP_DOMAIN="localhost"
+ADMIN_DOMAIN="localhost"
 SESSION_DOMAIN="localhost"
 SESSION_SECURE_COOKIE=true
 TRUST_PROXIES="*"
@@ -38,22 +38,14 @@ MAIL_ENCRYPTION=null
 MAIL_FROM_ADDRESS="pixelfed@example.com"
 MAIL_FROM_NAME="Pixelfed"
 
-API_BASE="/api/1/"
-API_SEARCH="/api/search"
-
 OPEN_REGISTRATION=true
 ENFORCE_EMAIL_VERIFICATION=true
+PF_MAX_USERS=1000
 
 MAX_PHOTO_SIZE=15000
 MAX_CAPTION_LENGTH=150
 MAX_ALBUM_LENGTH=4
 
-MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
-MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
-MIX_APP_URL="${APP_URL}"
-MIX_API_BASE="${API_BASE}"
-MIX_API_SEARCH="${API_SEARCH}"
-
 ACTIVITY_PUB=false
 REMOTE_FOLLOW=false
 ACTIVITYPUB_INBOX=false

+ 21 - 17
.env.testing

@@ -2,10 +2,13 @@ APP_NAME="PixelFed Test"
 APP_ENV=local
 APP_KEY=base64:lwX95GbNWX3XsucdMe0XwtOKECta3h/B+p9NbH2jd0E=
 APP_DEBUG=true
-APP_URL=https://pixelfed.dev
 
-ADMIN_DOMAIN="pixelfed.dev"
+APP_URL=https://pixelfed.dev
 APP_DOMAIN="pixelfed.dev"
+ADMIN_DOMAIN="pixelfed.dev"
+SESSION_DOMAIN="pixelfed.dev"
+SESSION_SECURE_COOKIE=true
+TRUST_PROXIES="*"
 
 LOG_CHANNEL=stack
 
@@ -35,28 +38,29 @@ MAIL_ENCRYPTION=null
 MAIL_FROM_ADDRESS="pixelfed@example.com"
 MAIL_FROM_NAME="Pixelfed"
 
-SESSION_DOMAIN="${APP_DOMAIN}"
-SESSION_SECURE_COOKIE=true
-API_BASE="/api/1/"
-API_SEARCH="/api/search"
-
-OPEN_REGISTRATION=false
-ENFORCE_EMAIL_VERIFICATION=true
+OPEN_REGISTRATION=true
+ENFORCE_EMAIL_VERIFICATION=false
+PF_MAX_USERS=1000
 
 MAX_PHOTO_SIZE=15000
 MAX_CAPTION_LENGTH=150
 MAX_ALBUM_LENGTH=4
 
-MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
-MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
-MIX_APP_URL="${APP_URL}"
-MIX_API_BASE="${API_BASE}"
-MIX_API_SEARCH="${API_SEARCH}"
-
-TELESCOPE_ENABLED=false
-PF_MAX_USERS=1000
+ACTIVITY_PUB=false
+REMOTE_FOLLOW=false
+ACTIVITYPUB_INBOX=false
+ACTIVITYPUB_SHAREDINBOX=false
+# Set these "true" to enable federation.
+# You might need to also run:
+#   php artisan cache:clear
+#   php artisan optimize:clear
+#   php artisan optimize
 
 PF_COSTAR_ENABLED=true
 CS_BLOCKED_DOMAINS='example.org,example.net,example.com'
 CS_CW_DOMAINS='example.org,example.net,example.com'
 CS_UNLISTED_DOMAINS='example.org,example.net,example.com'
+
+## Optional 
+#HORIZON_DARKMODE=false  # Horizon theme darkmode
+#HORIZON_EMBED=false  # Single Docker Container mode 

+ 58 - 58
package-lock.json

@@ -1372,7 +1372,7 @@
                 },
                 "chalk": {
                     "version": "1.1.3",
-                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+                    "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
                     "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
                     "requires": {
                         "ansi-styles": "^2.2.1",
@@ -1389,7 +1389,7 @@
                 },
                 "supports-color": {
                     "version": "2.0.0",
-                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+                    "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
                     "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
                 }
             }
@@ -1711,7 +1711,7 @@
         },
         "browserify-aes": {
             "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+            "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
             "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
             "requires": {
                 "buffer-xor": "^1.0.3",
@@ -1745,7 +1745,7 @@
         },
         "browserify-rsa": {
             "version": "4.0.1",
-            "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+            "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
             "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
             "requires": {
                 "bn.js": "^4.1.0",
@@ -1786,7 +1786,7 @@
         },
         "buffer": {
             "version": "4.9.1",
-            "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+            "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
             "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
             "requires": {
                 "base64-js": "^1.0.2",
@@ -1884,7 +1884,7 @@
         },
         "callsites": {
             "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+            "resolved": "http://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
             "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA="
         },
         "camel-case": {
@@ -1904,7 +1904,7 @@
         },
         "camelcase-keys": {
             "version": "2.1.0",
-            "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+            "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
             "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
             "requires": {
                 "camelcase": "^2.0.0",
@@ -2211,7 +2211,7 @@
         },
         "concat-stream": {
             "version": "1.6.2",
-            "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+            "resolved": "http://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
             "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
             "requires": {
                 "buffer-from": "^1.0.0",
@@ -2266,7 +2266,7 @@
         },
         "content-disposition": {
             "version": "0.5.2",
-            "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+            "resolved": "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
             "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
         },
         "content-type": {
@@ -2395,7 +2395,7 @@
         },
         "create-hash": {
             "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+            "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
             "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
             "requires": {
                 "cipher-base": "^1.0.1",
@@ -2407,7 +2407,7 @@
         },
         "create-hmac": {
             "version": "1.1.7",
-            "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+            "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
             "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
             "requires": {
                 "cipher-base": "^1.0.3",
@@ -2492,7 +2492,7 @@
         },
         "css-color-names": {
             "version": "0.0.4",
-            "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+            "resolved": "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
             "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA="
         },
         "css-declaration-sorter": {
@@ -2563,12 +2563,12 @@
             "dependencies": {
                 "jsesc": {
                     "version": "0.5.0",
-                    "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+                    "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
                     "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
                 },
                 "regexpu-core": {
                     "version": "1.0.0",
-                    "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+                    "resolved": "http://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
                     "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
                     "requires": {
                         "regenerate": "^1.2.1",
@@ -2578,12 +2578,12 @@
                 },
                 "regjsgen": {
                     "version": "0.2.0",
-                    "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+                    "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
                     "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
                 },
                 "regjsparser": {
                     "version": "0.1.5",
-                    "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+                    "resolved": "http://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
                     "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
                     "requires": {
                         "jsesc": "~0.5.0"
@@ -2875,7 +2875,7 @@
             "dependencies": {
                 "globby": {
                     "version": "6.1.0",
-                    "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+                    "resolved": "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
                     "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
                     "requires": {
                         "array-union": "^1.0.1",
@@ -2887,7 +2887,7 @@
                     "dependencies": {
                         "pify": {
                             "version": "2.3.0",
-                            "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+                            "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
                             "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
                         }
                     }
@@ -2945,7 +2945,7 @@
         },
         "diffie-hellman": {
             "version": "5.0.3",
-            "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+            "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
             "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
             "requires": {
                 "bn.js": "^4.1.0",
@@ -3453,7 +3453,7 @@
             "dependencies": {
                 "array-flatten": {
                     "version": "1.1.1",
-                    "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+                    "resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
                     "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
                 },
                 "debug": {
@@ -3683,7 +3683,7 @@
         },
         "finalhandler": {
             "version": "1.1.1",
-            "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
+            "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
             "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
             "requires": {
                 "debug": "2.6.9",
@@ -3833,7 +3833,7 @@
                 },
                 "chalk": {
                     "version": "1.1.3",
-                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+                    "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
                     "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
                     "requires": {
                         "ansi-styles": "^2.2.1",
@@ -3845,7 +3845,7 @@
                 },
                 "supports-color": {
                     "version": "2.0.0",
-                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+                    "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
                     "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
                 }
             }
@@ -4388,7 +4388,7 @@
                 },
                 "string-width": {
                     "version": "1.0.2",
-                    "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+                    "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
                     "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
                     "requires": {
                         "code-point-at": "^1.0.0",
@@ -4767,7 +4767,7 @@
         },
         "http-errors": {
             "version": "1.6.3",
-            "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+            "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
             "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
             "requires": {
                 "depd": "~1.1.2",
@@ -5088,7 +5088,7 @@
         },
         "is-accessor-descriptor": {
             "version": "0.1.6",
-            "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+            "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
             "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
             "requires": {
                 "kind-of": "^3.0.2"
@@ -5142,7 +5142,7 @@
         },
         "is-data-descriptor": {
             "version": "0.1.4",
-            "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+            "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
             "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
             "requires": {
                 "kind-of": "^3.0.2"
@@ -5239,7 +5239,7 @@
         },
         "is-obj": {
             "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+            "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
             "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
         },
         "is-path-cwd": {
@@ -5522,7 +5522,7 @@
         },
         "load-json-file": {
             "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+            "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
             "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
             "requires": {
                 "graceful-fs": "^4.1.2",
@@ -5542,7 +5542,7 @@
                 },
                 "pify": {
                     "version": "2.3.0",
-                    "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+                    "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
                     "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
                 }
             }
@@ -5797,7 +5797,7 @@
         },
         "media-typer": {
             "version": "0.3.0",
-            "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+            "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
             "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
         },
         "mem": {
@@ -5828,7 +5828,7 @@
         },
         "meow": {
             "version": "3.7.0",
-            "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+            "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
             "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
             "requires": {
                 "camelcase-keys": "^2.0.0",
@@ -5938,7 +5938,7 @@
         },
         "minimist": {
             "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+            "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
             "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
         },
         "mississippi": {
@@ -5993,7 +5993,7 @@
         },
         "mkdirp": {
             "version": "0.5.1",
-            "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+            "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
             "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
             "requires": {
                 "minimist": "0.0.8"
@@ -6001,7 +6001,7 @@
             "dependencies": {
                 "minimist": {
                     "version": "0.0.8",
-                    "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+                    "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
                     "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
                 }
             }
@@ -6124,7 +6124,7 @@
             "dependencies": {
                 "semver": {
                     "version": "5.3.0",
-                    "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+                    "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
                     "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
                 }
             }
@@ -6210,7 +6210,7 @@
                 },
                 "chalk": {
                     "version": "1.1.3",
-                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+                    "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
                     "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
                     "requires": {
                         "ansi-styles": "^2.2.1",
@@ -6240,7 +6240,7 @@
                 },
                 "supports-color": {
                     "version": "2.0.0",
-                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+                    "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
                     "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
                 },
                 "yallist": {
@@ -6541,7 +6541,7 @@
         },
         "os-homedir": {
             "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+            "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
             "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
         },
         "os-locale": {
@@ -6697,7 +6697,7 @@
         },
         "path-browserify": {
             "version": "0.0.0",
-            "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+            "resolved": "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
             "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo="
         },
         "path-dirname": {
@@ -6712,7 +6712,7 @@
         },
         "path-is-absolute": {
             "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+            "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
             "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
         },
         "path-is-inside": {
@@ -6828,7 +6828,7 @@
             "dependencies": {
                 "async": {
                     "version": "1.5.2",
-                    "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+                    "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
                     "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
                 },
                 "debug": {
@@ -7580,7 +7580,7 @@
                 },
                 "pify": {
                     "version": "2.3.0",
-                    "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+                    "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
                     "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
                 }
             }
@@ -7615,7 +7615,7 @@
         },
         "readable-stream": {
             "version": "2.3.6",
-            "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+            "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
             "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
             "requires": {
                 "core-util-is": "~1.0.0",
@@ -7746,7 +7746,7 @@
             "dependencies": {
                 "jsesc": {
                     "version": "0.5.0",
-                    "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+                    "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
                     "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
                 }
             }
@@ -7936,7 +7936,7 @@
         },
         "rgba-regex": {
             "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
+            "resolved": "http://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
             "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM="
         },
         "rimraf": {
@@ -7984,7 +7984,7 @@
         },
         "safe-regex": {
             "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+            "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
             "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
             "requires": {
                 "ret": "~0.1.10"
@@ -8053,7 +8053,7 @@
                 },
                 "os-locale": {
                     "version": "1.4.0",
-                    "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+                    "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
                     "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
                     "requires": {
                         "lcid": "^1.0.0"
@@ -8061,7 +8061,7 @@
                 },
                 "string-width": {
                     "version": "1.0.2",
-                    "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+                    "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
                     "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
                     "requires": {
                         "code-point-at": "^1.0.0",
@@ -8148,7 +8148,7 @@
             "dependencies": {
                 "source-map": {
                     "version": "0.4.4",
-                    "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+                    "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
                     "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
                     "requires": {
                         "amdefine": ">=0.0.4"
@@ -8287,7 +8287,7 @@
         },
         "sha.js": {
             "version": "2.4.11",
-            "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+            "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
             "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
             "requires": {
                 "inherits": "^2.0.1",
@@ -8829,7 +8829,7 @@
         },
         "string_decoder": {
             "version": "1.1.1",
-            "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+            "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
             "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
             "requires": {
                 "safe-buffer": "~5.1.0"
@@ -8853,7 +8853,7 @@
         },
         "strip-eof": {
             "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+            "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
             "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
         },
         "strip-indent": {
@@ -8959,7 +8959,7 @@
         },
         "tar": {
             "version": "2.2.1",
-            "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+            "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
             "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
             "requires": {
                 "block-stream": "*",
@@ -9138,7 +9138,7 @@
         },
         "tty-browserify": {
             "version": "0.0.0",
-            "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+            "resolved": "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
             "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
         },
         "tunnel-agent": {
@@ -9468,7 +9468,7 @@
         },
         "vm-browserify": {
             "version": "0.0.4",
-            "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+            "resolved": "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
             "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
             "requires": {
                 "indexof": "0.0.1"
@@ -9805,7 +9805,7 @@
         },
         "wrap-ansi": {
             "version": "2.1.0",
-            "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+            "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
             "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
             "requires": {
                 "string-width": "^1.0.1",
@@ -9822,7 +9822,7 @@
                 },
                 "string-width": {
                     "version": "1.0.2",
-                    "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+                    "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
                     "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
                     "requires": {
                         "code-point-at": "^1.0.0",

BIN=BIN
public/js/profile.js


BIN=BIN
public/js/status.js


BIN=BIN
public/js/timeline.js


BIN=BIN
public/mix-manifest.json


+ 1 - 1
resources/assets/js/components.js

@@ -13,7 +13,7 @@ Vue.use(VueTimeago, {
   locale: 'en'
 });
 
-pixelfed.readmore = function() {
+pixelfed.readmore = () => {
   $('.read-more').each(function(k,v) {
       let el = $(this);
       let attr = el.attr('data-readmore');

+ 13 - 13
resources/assets/js/components/PostComponent.vue

@@ -45,7 +45,7 @@
           </div>
          </div>
           <div class="col-12 col-md-8 px-0 mx-0">
-              <div class="postPresenterContainer d-none d-flex justify-content-center align-items-center">
+              <div class="postPresenterContainer d-none d-flex justify-content-center align-items-center" v-on:dblclick="likeStatus">
                 <div v-if="status.pf_type === 'photo'" class="w-100">
                   <photo-presenter :status="status" v-on:lightbox="lightbox"></photo-presenter>
                 </div>
@@ -212,7 +212,7 @@
 
     <div v-if="profileLayout == 'moment'" class="momentui">
       <div class="bg-dark mt-md-n4">
-        <div class="container">
+        <div class="container" v-on:dblclick="likeStatus">
               <div class="postPresenterContainer d-none d-flex justify-content-center align-items-center bg-dark">
                 <div v-if="status.pf_type === 'photo'" class="w-100">
                   <photo-presenter :status="status" v-on:lightbox="lightbox"></photo-presenter>
@@ -345,8 +345,8 @@
       </infinite-loading>
     </div>
   </b-modal>
-  <b-modal 
-    id="lightbox" 
+  <b-modal
+    id="lightbox"
     ref="lightboxModal"
     :hide-header="true"
     :hide-footer="true"
@@ -437,11 +437,11 @@ pixelfed.postComponent = {};
 
 export default {
     props: [
-      'status-id', 
-      'status-username', 
-      'status-template', 
-      'status-url', 
-      'status-profile-url', 
+      'status-id',
+      'status-username',
+      'status-template',
+      'status-url',
+      'status-profile-url',
       'status-avatar',
       'status-profile-id',
       'profile-layout'
@@ -732,7 +732,7 @@ export default {
 
       postReply() {
         let self = this;
-        if(this.replyText.length == 0 || 
+        if(this.replyText.length == 0 ||
           this.replyText.trim() == '@'+this.status.account.acct) {
           self.replyText = null;
           $('textarea[name="comment"]').blur();
@@ -769,7 +769,7 @@ export default {
 
       l(e) {
         let len = e.length;
-        if(len < 10) { return e; } 
+        if(len < 10) { return e; }
         return e.substr(0, 10)+'...';
       },
 
@@ -842,7 +842,7 @@ export default {
         if($('body').hasClass('loggedIn') == false) {
           return;
         }
-        
+
         axios.post('/i/like', {
           item: status.id
         }).then(res => {
@@ -900,7 +900,7 @@ export default {
           this.replyText += em + ' ';
           $('textarea[name="comment"]').focus();
         }
-      }, 
+      },
 
       toggleCommentVisibility() {
         if(this.ownerOrAdmin() == false) {

+ 4 - 4
resources/assets/js/components/Profile.vue

@@ -23,7 +23,7 @@
 										</div>
 										<div class="col-7 pl-2">
 											<p class="align-middle">
-												
+
 											<span class="font-weight-ultralight h3 mb-0">{{profile.username}}</span>
 											<span class="float-right mb-0" v-if="!loading && profile.id != user.id && user.hasOwnProperty('id')">
 												<a class="fas fa-cog fa-lg text-muted text-decoration-none" href="#" @click.prevent="visitorMenu"></a>
@@ -57,7 +57,7 @@
 									</span>
 									<span class="pl-4">
 										<a :href="'/users/'+profile.username+'.atom'" class="fas fa-rss fa-lg text-muted text-decoration-none"></a>
-									</span>	
+									</span>
 									<span class="pl-4" v-if="owner && user.hasOwnProperty('id')">
 										<a class="fas fa-cog fa-lg text-muted text-decoration-none" href="/settings/home"></a>
 									</span>
@@ -312,7 +312,7 @@
 							<div class="col-4 text-right mt-2">
 									<span class="d-none d-md-inline-block pl-4">
 										<a :href="'/users/'+profile.username+'.atom'" class="fas fa-rss fa-lg text-muted text-decoration-none"></a>
-									</span>	
+									</span>
 									<span class="pl-md-4 pl-sm-2" v-if="owner">
 										<a class="fas fa-cog fa-lg text-muted text-decoration-none" href="/settings/home"></a>
 									</span>
@@ -983,7 +983,7 @@ export default {
         if(res.data.length < 10) {
 					this.followerMore = false;
 				}
-			})	
+			})
 			this.$refs.followerModal.show();
 		},
 

+ 5 - 5
resources/assets/js/components/Timeline.vue

@@ -87,7 +87,7 @@
 							</div>
 						</div>
 
-						<div class="postPresenterContainer">
+						<div class="postPresenterContainer" v-on:dblclick="likeStatus(status)">
 							<div v-if="status.pf_type === 'photo'" class="w-100">
 								<photo-presenter :status="status" v-on:lightbox="lightbox"></photo-presenter>
 							</div>
@@ -377,8 +377,8 @@
       </div>
     </div>
   </b-modal> -->
-  <b-modal 
-  	id="lightbox" 
+  <b-modal
+  	id="lightbox"
   	ref="lightboxModal"
   	hide-header
   	hide-footer
@@ -636,7 +636,7 @@
 				this.fetchStatusComments(status, '');
 			},
 
-			likeStatus(status, $event) {
+			likeStatus(status) {
 				if($('body').hasClass('loggedIn') == false) {
 					return;
 				}
@@ -750,7 +750,7 @@
 				if(window.confirm('Are you sure you want to delete this post?') == false) {
 					return;
 				}
-				
+
 				axios.post('/i/delete', {
 					type: 'status',
 					item: status.id

+ 2 - 2
resources/assets/js/components/presenter/MixedAlbumPresenter.vue

@@ -18,7 +18,7 @@
 						<source :src="media.url" :type="media.mime">
 					</video>
 
-					<div v-else-if="media.type == 'Image'" slot="img" :class="media.filter_class" v-on:click="$emit('lightbox', media)">
+					<div v-else-if="media.type == 'Image'" slot="img" :class="media.filter_class">
 						<img class="d-block img-fluid w-100" :src="media.url" :alt="media.description" :title="media.description" loading="lazy">
 					</div>
 
@@ -42,7 +42,7 @@
 					<source :src="media.url" :type="media.mime">
 				</video>
 
-				<div v-else-if="media.type == 'Image'" slot="img" :class="media.filter_class" v-on:click="$emit('lightbox', media)">
+				<div v-else-if="media.type == 'Image'" slot="img" :class="media.filter_class">
 					<img class="d-block img-fluid w-100" :src="media.url" :alt="media.description" :title="media.description" loading="lazy">
 				</div>
 

+ 3 - 3
resources/assets/js/components/presenter/PhotoAlbumPresenter.vue

@@ -13,8 +13,8 @@
 				:interval="0"
 			>
 				<b-carousel-slide v-for="(img, index) in status.media_attachments" :key="img.id">
-					<div slot="img" :class="img.filter_class + ' d-block mx-auto text-center'" style="max-height: 600px;" v-on:click="$emit('lightbox', status.media_attachments[index])">
-						<img class="img-fluid" style="max-height: 600px;" :src="img.url" :alt="img.description" :title="img.description" loading="lazy" v-on:click="$emit('lightbox', status.media_attachments[index])">
+					<div slot="img" :class="img.filter_class + ' d-block mx-auto text-center'" style="max-height: 600px;">
+						<img class="img-fluid" style="max-height: 600px;" :src="img.url" :alt="img.description" :title="img.description" loading="lazy">
 					</div>
 				</b-carousel-slide>
 				<span class="badge badge-dark box-shadow" style="position: absolute;top:10px;right:10px;">
@@ -32,7 +32,7 @@
 			:interval="0"
 		>
 			<b-carousel-slide v-for="(img, index) in status.media_attachments" :key="img.id" :alt="img.description" :title="img.description">
-				<div slot="img" :class="img.filter_class + ' d-block mx-auto text-center'" style="max-height: 600px;" v-on:click="$emit('lightbox', status.media_attachments[index])">
+				<div slot="img" :class="img.filter_class + ' d-block mx-auto text-center'" style="max-height: 600px;">
 					<img class="img-fluid" style="max-height: 600px;" :src="img.url" loading="lazy">
 				</div>
 			</b-carousel-slide>

+ 2 - 2
resources/assets/js/components/presenter/PhotoPresenter.vue

@@ -5,13 +5,13 @@
 				<p class="mb-0 lead font-weight-bold">{{ status.spoiler_text ? status.spoiler_text : 'CW / NSFW / Hidden Media'}}</p>
 				<p class="font-weight-light">(click to show)</p>
 			</summary>
-			<div class="max-hide-overflow" v-on:click="$emit('lightbox', status.media_attachments[0])" :class="status.media_attachments[0].filter_class" :alt="status.media_attachments[0].description" :title="status.media_attachments[0].description">
+			<div class="max-hide-overflow" :class="status.media_attachments[0].filter_class" :alt="status.media_attachments[0].description" :title="status.media_attachments[0].description">
 				<img class="card-img-top" :src="status.media_attachments[0].url" loading="lazy">
 			</div>
 		</details>
 	</div>
 	<div v-else>
-		<div :class="status.media_attachments[0].filter_class" v-on:click="$emit('lightbox', status.media_attachments[0])" :alt="status.media_attachments[0].description" :title="status.media_attachments[0].description">
+		<div :class="status.media_attachments[0].filter_class" :alt="status.media_attachments[0].description" :title="status.media_attachments[0].description">
 			<img class="card-img-top" :src="status.media_attachments[0].url" loading="lazy">
 		</div>
 	</div>