index.blade.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. <!DOCTYPE html>
  2. <html lang="{{ app()->getLocale() }}">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <meta name="csrf-token" content="{{ csrf_token() }}">
  8. <meta name="mobile-web-app-capable" content="yes">
  9. <title>{{ config('app.name', 'Laravel') }}</title>
  10. <meta property="og:site_name" content="{{ config('app.name', 'pixelfed') }}">
  11. <meta property="og:title" content="{{ config('app.name', 'pixelfed') }}">
  12. <meta property="og:type" content="article">
  13. <meta property="og:url" content="{{request()->url()}}">
  14. <meta property="og:description" content="Federated Image Sharing">
  15. <meta name="medium" content="image">
  16. <meta name="theme-color" content="#10c5f8">
  17. <meta name="apple-mobile-web-app-capable" content="yes">
  18. <link rel="shortcut icon" type="image/png" href="/img/favicon.png?v=2">
  19. <link rel="apple-touch-icon" type="image/png" href="/img/favicon.png?v=2">
  20. <link href="{{ mix('css/landing.css') }}" rel="stylesheet">
  21. <style type="text/css">
  22. .feature-circle {
  23. display: flex !important;
  24. -webkit-box-pack: center !important;
  25. justify-content: center !important;
  26. -webkit-box-align: center !important;
  27. align-items: center !important;
  28. margin-right: 1rem !important;
  29. background-color: #08d !important;
  30. color: #fff;
  31. border-radius: 50% !important;
  32. width: 60px;
  33. height:60px;
  34. }
  35. .section-spacer {
  36. height: 13vh;
  37. }
  38. </style>
  39. </head>
  40. <body class="">
  41. <main id="content">
  42. <section class="container">
  43. <div class="section-spacer"></div>
  44. <div class="row pt-md-5 mt-5">
  45. <div class="col-12 col-md-6 d-none d-md-block">
  46. <div class="m-my-4">
  47. <p class="display-2 font-weight-bold">Photo Sharing</p>
  48. <p class="h1 font-weight-bold">For Everyone.</p>
  49. </div>
  50. </div>
  51. <div class="col-12 col-md-5 offset-md-1">
  52. <div>
  53. <div class="pt-md-3 d-flex justify-content-center align-items-center">
  54. <img src="/img/pixelfed-icon-color.svg" loading="lazy" width="50px" height="50px">
  55. <span class="font-weight-bold h3 ml-2 pt-2">Pixelfed</span>
  56. </div>
  57. <div class="d-block d-md-none">
  58. <p class="font-weight-bold mb-0 text-center">Photo Sharing. For Everyone</p>
  59. </div>
  60. <div class="card my-4 shadow-none border">
  61. <div class="card-body px-lg-5">
  62. <div class="text-center">
  63. <p class="small text-uppercase font-weight-bold text-muted">Account Login</p>
  64. </div>
  65. <div>
  66. <form class="px-1" method="POST" action="{{ route('login') }}" id="login_form">
  67. @csrf
  68. <div class="form-group row">
  69. <div class="col-md-12">
  70. <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" placeholder="{{__('Email')}}" required autofocus>
  71. @if ($errors->has('email'))
  72. <span class="invalid-feedback">
  73. <strong>{{ $errors->first('email') }}</strong>
  74. </span>
  75. @endif
  76. </div>
  77. </div>
  78. <div class="form-group row">
  79. <div class="col-md-12">
  80. <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" placeholder="{{__('Password')}}" required>
  81. @if ($errors->has('password'))
  82. <span class="invalid-feedback">
  83. <strong>{{ $errors->first('password') }}</strong>
  84. </span>
  85. @endif
  86. </div>
  87. </div>
  88. <div class="form-group row">
  89. <div class="col-md-12">
  90. <div class="checkbox">
  91. <label>
  92. <input type="checkbox" name="remember" {{ old('remember') ? 'checked' : '' }}>
  93. <span class="font-weight-bold small ml-1 text-muted">
  94. {{ __('Remember Me') }}
  95. </span>
  96. </label>
  97. </div>
  98. </div>
  99. </div>
  100. @if(config('captcha.enabled'))
  101. <div class="d-flex justify-content-center mb-3">
  102. {!! Captcha::display() !!}
  103. </div>
  104. @endif
  105. <div class="form-group row mb-0">
  106. <div class="col-md-12">
  107. <button type="submit" class="btn btn-primary btn-block py-0 font-weight-bold text-uppercase">
  108. {{ __('Login') }}
  109. </button>
  110. </div>
  111. </div>
  112. </form>
  113. </div>
  114. </div>
  115. </div>
  116. <div class="card shadow-none border card-body">
  117. <p class="text-center mb-0 font-weight-bold small">
  118. @if(config('pixelfed.open_registration'))
  119. <a href="/register">Register</a>
  120. <span class="px-1">·</span>
  121. @endif
  122. <a href="/password/reset">Password Reset</a>
  123. </p>
  124. </div>
  125. </div>
  126. </div>
  127. </div>
  128. <div class="section-spacer"></div>
  129. <div class="row py-5 mt-5 mb-5">
  130. <div class="col-12 col-md-6 d-none d-md-block">
  131. <div>
  132. <div class="row mt-4 mb-1">
  133. <div class="col-4 mt-2 px-0">
  134. <div class="px-1 shadow-none">
  135. <img src="/_landing/1.jpeg" class="img-fluid" loading="lazy" width="640px" height="640px">
  136. </div>
  137. </div>
  138. <div class="col-4 mt-2 px-0">
  139. <div class="px-1 shadow-none">
  140. <img src="/_landing/2.jpeg" class="img-fluid" loading="lazy" width="640px" height="640px">
  141. </div>
  142. </div>
  143. <div class="col-4 mt-2 px-0">
  144. <div class="px-1 shadow-none">
  145. <img src="/_landing/3.jpeg" class="img-fluid" loading="lazy" width="640px" height="640px">
  146. </div>
  147. </div>
  148. <div class="col-4 mt-2 px-0">
  149. <div class="px-1 shadow-none">
  150. <img src="/_landing/4.jpeg" class="img-fluid" loading="lazy" width="640px" height="640px">
  151. </div>
  152. </div>
  153. <div class="col-4 mt-2 px-0">
  154. <div class="px-1 shadow-none">
  155. <img src="/_landing/5.jpeg" class="img-fluid" loading="lazy" width="640px" height="640px">
  156. </div>
  157. </div>
  158. <div class="col-4 mt-2 px-0">
  159. <div class="px-1 shadow-none">
  160. <img src="/_landing/6.jpeg" class="img-fluid" loading="lazy" width="640px" height="640px">
  161. </div>
  162. </div>
  163. <div class="col-4 mt-2 px-0">
  164. <div class="px-1 shadow-none">
  165. <img src="/_landing/7.jpeg" class="img-fluid" loading="lazy" width="640px" height="640px">
  166. </div>
  167. </div>
  168. <div class="col-4 mt-2 px-0">
  169. <div class="px-1 shadow-none">
  170. <img src="/_landing/8.jpeg" class="img-fluid" loading="lazy" width="640px" height="640px">
  171. </div>
  172. </div>
  173. <div class="col-4 mt-2 px-0">
  174. <div class="px-1 shadow-none">
  175. <img src="/_landing/9.jpeg" class="img-fluid" loading="lazy" width="640px" height="640px">
  176. </div>
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. <div class="col-12 col-md-5 offset-md-1">
  182. <div class="section-spacer"></div>
  183. <div class="mt-5">
  184. <p class="text-center h1 font-weight-bold">Simple. Powerful.</p>
  185. </div>
  186. <div class="mt-5">
  187. <div class="d-flex justify-content-between align-items-center">
  188. <span class="text-center">
  189. <span class="font-weight-bold h1">{{$data['stats']['posts']}}</span>
  190. <span class="d-block text-muted text-uppercase">Posts</span>
  191. </span>
  192. <span class="text-center">
  193. <span class="font-weight-bold h1">{{$data['stats']['likes']}}</span>
  194. <span class="d-block text-muted text-uppercase">Likes</span>
  195. </span>
  196. <span class="text-center">
  197. <span class="font-weight-bold h1">{{$data['stats']['hashtags']}}</span>
  198. <span class="d-block text-muted text-uppercase">Hashtags Used</span>
  199. </span>
  200. </div>
  201. </div>
  202. <div class="mt-5">
  203. <p class="lead text-muted text-center">A free and ethical photo sharing platform.</p>
  204. </div>
  205. </div>
  206. </div>
  207. <div class="row py-5 mb-5">
  208. <div class="col-12 col-md-8 offset-md-2">
  209. <div class="section-spacer"></div>
  210. <div class="mt-5">
  211. <p class="text-center display-4 font-weight-bold">Feature Packed.</p>
  212. </div>
  213. <div class="my-2">
  214. <p class="h4 font-weight-light text-muted text-center">The best for the brightest.</p>
  215. </div>
  216. </div>
  217. </div>
  218. <div class="row pb-5 mb-5">
  219. <div class="col-12 col-md-5 offset-md-1">
  220. <div class="mb-5">
  221. <div class="media">
  222. <div class="feature-circle">
  223. <i class="far fa-images fa-lg"></i>
  224. </div>
  225. <div class="media-body">
  226. <p class="h5 font-weight-bold mt-2 mb-0">Albums</p>
  227. Create an album with up to <span class="font-weight-bold">{{config('pixelfed.max_album_length')}}</span> photos
  228. </div>
  229. </div>
  230. </div>
  231. <div class="mb-5">
  232. <div class="media">
  233. <div class="feature-circle">
  234. <i class="far fa-folder fa-lg"></i>
  235. </div>
  236. <div class="media-body">
  237. <p class="h5 font-weight-bold mt-2 mb-0">Collections</p>
  238. Organize your posts
  239. </div>
  240. </div>
  241. </div>
  242. <div class="mb-5">
  243. <div class="media">
  244. <div class="feature-circle">
  245. <i class="fas fa-image fa-lg"></i>
  246. </div>
  247. <div class="media-body">
  248. <p class="h5 font-weight-bold mt-2 mb-0">Filters</p>
  249. Add a filter to your photos
  250. </div>
  251. </div>
  252. </div>
  253. </div>
  254. <div class="col-12 col-md-5 offset-md-1">
  255. <div class="mb-5">
  256. <div class="media">
  257. <div class="feature-circle">
  258. <i class="far fa-comment fa-lg"></i>
  259. </div>
  260. <div class="media-body">
  261. <p class="h5 font-weight-bold mt-2 mb-0">Comments</p>
  262. Comment on a post, or send a reply
  263. </div>
  264. </div>
  265. </div>
  266. <div class="mb-5">
  267. <div class="media">
  268. <div class="feature-circle">
  269. <i class="far fa-list-alt fa-lg"></i>
  270. </div>
  271. <div class="media-body">
  272. <p class="h5 font-weight-bold mt-2 mb-0">Discover</p>
  273. Explore categories, hashtags and topics
  274. </div>
  275. </div>
  276. </div>
  277. @if(config('instance.stories.enabled'))
  278. <div class="mb-5">
  279. <div class="media">
  280. <div class="feature-circle">
  281. <i class="fas fa-history fa-lg"></i>
  282. </div>
  283. <div class="media-body">
  284. <p class="h5 font-weight-bold mt-2 mb-0">Stories</p>
  285. Share posts that disappear after 24h
  286. </div>
  287. </div>
  288. </div>
  289. @endif
  290. </div>
  291. </div>
  292. </section>
  293. </main>
  294. @include('layouts.partial.footer')
  295. </body>
  296. </html>