Skip to content

Instantly share code, notes, and snippets.

View codigoconjuan's full-sized avatar

Juan Pablo De la torre Valdez codigoconjuan

View GitHub Profile
@codigoconjuan
codigoconjuan / home.php
Last active May 15, 2026 23:47
Vista de Home de CashTrackr Laravel
@extends('layouts.app')
@section('title')
Administrador de Presupuestos impulsado por IA
@endsection
@section('contents')
<section class="relative bg-purple-950 overflow-hidden">
<div class="max-w-7xl mx-auto px-4 py-16">
<div class="grid grid-cols-1 lg:grid-cols-5 gap-8 lg:gap-12 items-center">
@codigoconjuan
codigoconjuan / terminal
Last active May 15, 2026 00:06
Instalar Ambiente de Desarrollo Windows
Expand-Archive -Path "$env:USERPROFILE\Downloads\archivo.zip" -DestinationPath "C:\php"
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\php", "User")
Copy-Item C:\php\php.ini-development C:\php\php.ini
@codigoconjuan
codigoconjuan / ResetPasswordRequest.php
Last active May 15, 2026 14:31
Gist para Resetear el nuevo password
class ResetPasswordRequest extends FormRequest
{
public function messages(): array
{
return [
'token.required' => 'El token de recuperación es obligatorio.',
'email.required' => 'El correo electrónico es obligatorio.',
'email.email' => 'Debes ingresar un correo electrónico válido.',
@codigoconjuan
codigoconjuan / ForgotPasswordRequest.php
Last active May 15, 2026 01:27
Vista y Request para Forgot Password en Laravel
class ForgotPasswordRequest extends FormRequest
{
public function messages(): array
{
return [
'email.required' => 'El correo electrónico es obligatorio.',
'email.email' => 'Ingresa un correo electrónico válido.',
'email.exists' => 'No encontramos una cuenta con ese correo electrónico.',
];
@codigoconjuan
codigoconjuan / UpdatePassword.tsx
Last active May 15, 2026 01:25
Formulario para editar la Contraseña del Usuario
import { route } from "ziggy-js";
export default function UpdatePassword() {
return (
<>
<div className="sm:flex sm:items-center mt-10">
<div className="sm:flex-auto">
<h1 className="font-bold text-4xl">Cambiar Contraseña</h1>
@codigoconjuan
codigoconjuan / UpdateProfile.tsx
Last active May 15, 2026 01:24
Formulario para Actualizar el Perfil del Usuario
import { route } from "ziggy-js";
export default function UpdateProfile() {
return (
<>
<div className="sm:flex sm:items-center mt-10">
<div className="sm:flex-auto">
<h1 className="font-bold text-4xl">Ajustes</h1>
<p className="mt-2 text-xl text-gray-500">Modifica tu información en esta página</p>
@codigoconjuan
codigoconjuan / web.php
Last active May 15, 2026 01:22
Rutas para Settings en Laravel
Route::get('/settings/profile', [UpdateProfileController::class, 'edit'])->name('settings.profile');
Route::put('/settings/profile', [UpdateProfileController::class, 'update'])->name('settings.profile.update');
Route::get('/settings/password', [UpdatePasswordController::class, 'edit'])->name('settings.password');
Route::put('/settings/password', [UpdatePasswordController::class, 'update'])->name('settings.password.update');
@codigoconjuan
codigoconjuan / SubscriptionResume.tsx
Last active May 15, 2026 01:13
Componente para reanudar la suscripción CashTrackr
import { useState } from "react";
export default function SubscriptionResume() {
const [loading, setLoading] = useState(false);
const resumeSubscription = () => {
};
return (
@codigoconjuan
codigoconjuan / SubscriptionCancellation.tsx
Created May 7, 2026 19:27
Componente para Cancelar Suscripción CashTrackr
import { useState } from "react";
export default function SubscriptionCancellation() {
const [loading, setLoading] = useState(false);
const [confirmCancel, setConfirmCancel] = useState(false);
const cancelSubscription = () => {
};
@codigoconjuan
codigoconjuan / SubscriptionDowngrade.tsx
Last active May 15, 2026 01:04
Bloque de Información CashTrackr
export default function SubscriptionDowngrade() {
return (
<div className="rounded-xl bg-indigo-600 p-6 mb-6">
<h3 className="text-2xl font-bold mb-1 text-white">
Estás en el plan Anual
</h3>
<p className="text-white">
Si deseas cambiar a mensual, puedes cancelar tu suscripción
actual. Mantendrás acceso hasta el
y después podrás suscribirte al plan mensual.