this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Kinda fix Chrome Android not showing camera when tapping on camera button

Seems like when both image and video mime type is passed into accept, it won't
trigger open camera. It can only do one type at a time.

+63 -53
+11 -1
src/components/compose.jsx
··· 1846 1846 const input = document.createElement('input'); 1847 1847 return 'capture' in input; 1848 1848 })(); 1849 + const isMobileSafari = 1850 + /iPad|iPhone|iPod/.test(navigator.userAgent) && 1851 + /^((?!chrome|android).)*safari/i.test(navigator.userAgent); 1849 1852 function CameraCaptureInput({ 1850 1853 hidden, 1851 1854 disabled = false, 1852 1855 supportedMimeTypes, 1853 1856 setMediaAttachments, 1854 1857 }) { 1858 + // If not Mobile Safari, only apply image/* 1859 + // Chrome Android doesn't show the camera if image and video combined 1860 + // It also can't switch between photo and video mode like iOS/Safari 1861 + const filteredSupportedMimeTypes = isMobileSafari 1862 + ? supportedMimeTypes 1863 + : supportedMimeTypes?.filter((mimeType) => !/^image\//i.test(mimeType)); 1864 + 1855 1865 return ( 1856 1866 <input 1857 1867 type="file" 1858 1868 hidden={hidden} 1859 - accept={supportedMimeTypes?.join(',')} 1869 + accept={filteredSupportedMimeTypes?.join(',')} 1860 1870 capture="environment" 1861 1871 disabled={disabled} 1862 1872 onChange={(e) => {
+52 -52
src/locales/en.po
··· 108 108 109 109 #: src/components/account-info.jsx:462 110 110 #: src/components/account-info.jsx:1236 111 - #: src/components/compose.jsx:2792 111 + #: src/components/compose.jsx:2802 112 112 #: src/components/media-alt-modal.jsx:55 113 113 #: src/components/media-modal.jsx:363 114 114 #: src/components/status.jsx:1998 ··· 450 450 #: src/components/account-info.jsx:2295 451 451 #: src/components/account-sheet.jsx:38 452 452 #: src/components/compose.jsx:891 453 - #: src/components/compose.jsx:2748 454 - #: src/components/compose.jsx:3228 455 - #: src/components/compose.jsx:3437 456 - #: src/components/compose.jsx:3667 453 + #: src/components/compose.jsx:2758 454 + #: src/components/compose.jsx:3238 455 + #: src/components/compose.jsx:3447 456 + #: src/components/compose.jsx:3677 457 457 #: src/components/drafts.jsx:59 458 458 #: src/components/embed-modal.jsx:13 459 459 #: src/components/generic-accounts.jsx:151 ··· 658 658 #: src/components/compose.jsx:664 659 659 #: src/components/compose.jsx:682 660 660 #: src/components/compose.jsx:1794 661 - #: src/components/compose.jsx:1919 661 + #: src/components/compose.jsx:1929 662 662 msgid "{maxMediaAttachments, plural, one {You can only attach up to 1 file.} other {You can only attach up to # files.}}" 663 663 msgstr "" 664 664 ··· 779 779 msgstr "Posting on <0/>" 780 780 781 781 #: src/components/compose.jsx:1447 782 - #: src/components/compose.jsx:3286 782 + #: src/components/compose.jsx:3296 783 783 #: src/components/shortcuts-settings.jsx:715 784 784 #: src/pages/list.jsx:388 785 785 msgid "Add" ··· 815 815 msgid "Failed to download GIF" 816 816 msgstr "Failed to download GIF" 817 817 818 - #: src/components/compose.jsx:2049 819 - #: src/components/compose.jsx:2126 818 + #: src/components/compose.jsx:2059 819 + #: src/components/compose.jsx:2136 820 820 #: src/components/nav-menu.jsx:244 821 821 msgid "More…" 822 822 msgstr "" 823 823 824 - #: src/components/compose.jsx:2562 824 + #: src/components/compose.jsx:2572 825 825 msgid "Uploaded" 826 826 msgstr "" 827 827 828 - #: src/components/compose.jsx:2575 828 + #: src/components/compose.jsx:2585 829 829 msgid "Image description" 830 830 msgstr "Image description" 831 831 832 - #: src/components/compose.jsx:2576 832 + #: src/components/compose.jsx:2586 833 833 msgid "Video description" 834 834 msgstr "Video description" 835 835 836 - #: src/components/compose.jsx:2577 836 + #: src/components/compose.jsx:2587 837 837 msgid "Audio description" 838 838 msgstr "Audio description" 839 839 ··· 841 841 #. placeholder {0}: prettyBytes( videoSize, ) 842 842 #. placeholder {1}: prettyBytes(imageSizeLimit) 843 843 #. placeholder {1}: prettyBytes(videoSizeLimit) 844 - #: src/components/compose.jsx:2612 845 - #: src/components/compose.jsx:2632 844 + #: src/components/compose.jsx:2622 845 + #: src/components/compose.jsx:2642 846 846 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." 847 847 msgstr "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." 848 848 ··· 850 850 #. placeholder {1}: i18n.number(height) 851 851 #. placeholder {2}: i18n.number(newWidth) 852 852 #. placeholder {3}: i18n.number( newHeight, ) 853 - #: src/components/compose.jsx:2624 854 - #: src/components/compose.jsx:2644 853 + #: src/components/compose.jsx:2634 854 + #: src/components/compose.jsx:2654 855 855 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {0}×{1}px to {2}×{3}px." 856 856 msgstr "Dimension too large. Uploading might encounter issues. Try reduce dimension from {0}×{1}px to {2}×{3}px." 857 857 858 - #: src/components/compose.jsx:2652 858 + #: src/components/compose.jsx:2662 859 859 msgid "Frame rate too high. Uploading might encounter issues." 860 860 msgstr "Frame rate too high. Uploading might encounter issues." 861 861 862 - #: src/components/compose.jsx:2712 863 - #: src/components/compose.jsx:2962 862 + #: src/components/compose.jsx:2722 863 + #: src/components/compose.jsx:2972 864 864 #: src/components/shortcuts-settings.jsx:726 865 865 #: src/pages/catchup.jsx:1081 866 866 #: src/pages/filters.jsx:413 867 867 msgid "Remove" 868 868 msgstr "" 869 869 870 - #: src/components/compose.jsx:2729 870 + #: src/components/compose.jsx:2739 871 871 #: src/compose.jsx:84 872 872 msgid "Error" 873 873 msgstr "" 874 874 875 - #: src/components/compose.jsx:2754 875 + #: src/components/compose.jsx:2764 876 876 msgid "Edit image description" 877 877 msgstr "Edit image description" 878 878 879 - #: src/components/compose.jsx:2755 879 + #: src/components/compose.jsx:2765 880 880 msgid "Edit video description" 881 881 msgstr "Edit video description" 882 882 883 - #: src/components/compose.jsx:2756 883 + #: src/components/compose.jsx:2766 884 884 msgid "Edit audio description" 885 885 msgstr "Edit audio description" 886 886 887 - #: src/components/compose.jsx:2801 888 - #: src/components/compose.jsx:2850 887 + #: src/components/compose.jsx:2811 888 + #: src/components/compose.jsx:2860 889 889 msgid "Generating description. Please wait…" 890 890 msgstr "Generating description. Please wait…" 891 891 892 892 #. placeholder {0}: e.message 893 - #: src/components/compose.jsx:2821 893 + #: src/components/compose.jsx:2831 894 894 msgid "Failed to generate description: {0}" 895 895 msgstr "Failed to generate description: {0}" 896 896 897 - #: src/components/compose.jsx:2822 897 + #: src/components/compose.jsx:2832 898 898 msgid "Failed to generate description" 899 899 msgstr "Failed to generate description" 900 900 901 - #: src/components/compose.jsx:2834 902 - #: src/components/compose.jsx:2840 903 - #: src/components/compose.jsx:2886 901 + #: src/components/compose.jsx:2844 902 + #: src/components/compose.jsx:2850 903 + #: src/components/compose.jsx:2896 904 904 msgid "Generate description…" 905 905 msgstr "" 906 906 907 907 #. placeholder {0}: e?.message ? `: ${e.message}` : '' 908 - #: src/components/compose.jsx:2873 908 + #: src/components/compose.jsx:2883 909 909 msgid "Failed to generate description{0}" 910 910 msgstr "Failed to generate description{0}" 911 911 912 912 #. placeholder {0}: localeCode2Text(lang) 913 - #: src/components/compose.jsx:2888 913 + #: src/components/compose.jsx:2898 914 914 msgid "({0}) <0>— experimental</0>" 915 915 msgstr "" 916 916 917 - #: src/components/compose.jsx:2907 917 + #: src/components/compose.jsx:2917 918 918 msgid "Done" 919 919 msgstr "" 920 920 921 921 #. placeholder {0}: i + 1 922 - #: src/components/compose.jsx:2943 922 + #: src/components/compose.jsx:2953 923 923 msgid "Choice {0}" 924 924 msgstr "Choice {0}" 925 925 926 - #: src/components/compose.jsx:2990 926 + #: src/components/compose.jsx:3000 927 927 msgid "Multiple choices" 928 928 msgstr "" 929 929 930 - #: src/components/compose.jsx:2993 930 + #: src/components/compose.jsx:3003 931 931 msgid "Duration" 932 932 msgstr "" 933 933 934 - #: src/components/compose.jsx:3024 934 + #: src/components/compose.jsx:3034 935 935 msgid "Remove poll" 936 936 msgstr "" 937 937 938 - #: src/components/compose.jsx:3245 938 + #: src/components/compose.jsx:3255 939 939 msgid "Search accounts" 940 940 msgstr "Search accounts" 941 941 942 - #: src/components/compose.jsx:3299 942 + #: src/components/compose.jsx:3309 943 943 #: src/components/generic-accounts.jsx:236 944 944 msgid "Error loading accounts" 945 945 msgstr "" 946 946 947 - #: src/components/compose.jsx:3443 947 + #: src/components/compose.jsx:3453 948 948 msgid "Custom emojis" 949 949 msgstr "" 950 950 951 - #: src/components/compose.jsx:3463 951 + #: src/components/compose.jsx:3473 952 952 msgid "Search emoji" 953 953 msgstr "Search emoji" 954 954 955 - #: src/components/compose.jsx:3494 955 + #: src/components/compose.jsx:3504 956 956 msgid "Error loading custom emojis" 957 957 msgstr "" 958 958 959 - #: src/components/compose.jsx:3505 959 + #: src/components/compose.jsx:3515 960 960 msgid "Recently used" 961 961 msgstr "Recently used" 962 962 963 - #: src/components/compose.jsx:3506 963 + #: src/components/compose.jsx:3516 964 964 msgid "Others" 965 965 msgstr "Others" 966 966 967 967 #. placeholder {0}: i18n.number(emojis.length - max) 968 - #: src/components/compose.jsx:3544 968 + #: src/components/compose.jsx:3554 969 969 msgid "{0} more…" 970 970 msgstr "" 971 971 972 - #: src/components/compose.jsx:3682 972 + #: src/components/compose.jsx:3692 973 973 msgid "Search GIFs" 974 974 msgstr "Search GIFs" 975 975 976 - #: src/components/compose.jsx:3697 976 + #: src/components/compose.jsx:3707 977 977 msgid "Powered by GIPHY" 978 978 msgstr "Powered by GIPHY" 979 979 980 - #: src/components/compose.jsx:3705 980 + #: src/components/compose.jsx:3715 981 981 msgid "Type to search GIFs" 982 982 msgstr "" 983 983 984 - #: src/components/compose.jsx:3803 984 + #: src/components/compose.jsx:3813 985 985 #: src/components/media-modal.jsx:469 986 986 #: src/components/timeline.jsx:927 987 987 msgid "Previous" 988 988 msgstr "" 989 989 990 - #: src/components/compose.jsx:3821 990 + #: src/components/compose.jsx:3831 991 991 #: src/components/media-modal.jsx:488 992 992 #: src/components/timeline.jsx:944 993 993 msgid "Next" 994 994 msgstr "" 995 995 996 - #: src/components/compose.jsx:3838 996 + #: src/components/compose.jsx:3848 997 997 msgid "Error loading GIFs" 998 998 msgstr "" 999 999